W3 Total Cache - Version 0.9.2.6

Version Description

  • Added support for grouping cache entries for easier flushing
  • Added more options for placing minified files on pages. Custom placements using HTML comments.
  • Added CSS inclusion for auto / manual minify. If present its used: <!-- W3TC-include-css -->
  • Added JS inclusion for minify auto mode. If present its used: <!-- W3TC-include-js-head -->,
  • Added JS inclusion for minify manual mode. If present they are used when selecting correspong location in placement dropdown: <!-- W3TC-include-js-head -->, <!-- W3TC-include-js-body-start -->, <!-- W3TC-include-js-body-end -->
  • Added new minification inclusion options, async, defer, extsrc and asyncsrc
  • Added flushing sitemaps
  • Added flushing custom pages
  • Added flush the current blog when flushing in MultiSite
  • Added flushing home page and/or post page if static
  • Added flushing older pages (page/2, page/3) on purge requests
  • Added flushing a limited amount of pagenumbers
  • Added purging caches for deleted blogs in WordPress MultiSite
  • Added uninstall process to the plugin for easier cleanup
  • Added upgrade support that cleans up and removes old cache folders
  • Added message when disk enhanced page caching is not working properly
  • Added custom wp-content name and locations
  • Added CDN feature "Dont use CDN for specific roles"
  • Added "Purge from cache" link on edit post/page pages
  • Added permalink suffixes (.html, .htm etc)
  • Added uploading blogs.dir files when using MultiSite and CDN
  • Added notification about IAM when using Amazon services (SNS, CloudFront, S3 etc)
  • Added 'Don't minify JS files' 'Don't minify CSS files' options for minify
  • Added Access-Control-Allow-Origin support for CDNs
  • Added hooks clean_post_cache and menu changes
  • Added caching JSON mime-type. Other mime-types can be added using array filter 'w3tc_is_cacheable_content_type'
  • Added automatic reloading of config files when APC apc.stat is disabled
  • Added request reload of APC file over HTTP
  • Added priming of post on publish
  • Added single config file (by default) when using WordPress MultiSite
  • Added switch_to_blog() support
  • Added wp_cache_decr, wp_cache_incr support
  • Added wp_cache_switch_to_blog support
  • Added fragment caching functionality that extends the transient caching methods in WordPress core
  • Added network activation and network policy management
  • Added control for comment cookie lifetime
  • Added Go Daddy SUBDOMAIN_DOCUMENT_ROOT directive support
  • Added JSON to mod_deflate configuration
  • Added JavaScript mime-type variations to mod_deflate configuration
  • Added WP-CLI support for purging cache, purging pull CDNs, reloading APC files, clearing APC, deleting pgcache files, and updating browser query string
  • Added .htc mime type
  • Added Rackspace CloudFiles container location selection
  • Added rejected terms in database cache, to allow for deeper database caching capability
  • Added Akamai CDN origin pull support
  • Added system cache purge when apc.stat is disabled
  • Added origin rel canonical support for CDNs
  • Added AT&T origin pull CDN
  • Added full-page mirroring and purging for origin pull CDNs
  • Added compatibility mode improve disk enhanced page caching performance ~20% for users that don't care about interoperability
  • Added nginx example files
  • Added varnish example files
  • Added basic application monitoring support using New Relic
  • Added application monitoring widget using New Relic
  • Added plugin dashboard page to display widgets etc
  • Added purge from cache link to admin bar dropdown while browser posts/pages on front-end
  • Added purge CDN completely link to admin bar dropdown
  • Added CDN SSL checkbox "Disable CDN on SSL page"
  • Added pull CDN support to MultiSite
  • Fixed caching of the "Front Page" and added an option for the same
  • Fixed w3_url_format function was not included error
  • Fixed security vulnerability with file cache: disk basic page caching, database or object caching to disk. CVEs: CVE-2012-6077, CVE-2012-6078, CVE-2012-6079
  • Fixed issue with concurrent writes to single config file
  • Fixed Preview mode and deploy button
  • Fixed varnish purging (See varnish config example file in ini folder)
  • Fixed false positive notification on Page Cache: Disc Enhanced
  • Fixed broken images for feedburner in dashboard on HTTPS sites
  • Fixed minify ID generation causing notices
  • Fixed false positive on minification related to group configuration among other
  • Fixed default wp-content path and CDN uploads when WordPress is installed in directory
  • Fixed pages not flushing when making changes in WordPress Admin
  • Fixed mod_filter being used on unsupported Apache versions
  • Fixed WordPress upgrade issue caused by W3TC remaining active
  • Fixed minify path when using WordPress MultiSite and blogs in sub-directories
  • Fixed user interface for "Dont cache specific roles"
  • Fixed CDN and minify to file for storage
  • Fixed feed_link filters interferring with feed purging
  • Fixed false positive with minify rewrite test and WordPress MultiSite sub-directory mode
  • Fixed WordPress Multisite in sub-directory mode and minify paths
  • Fixed caching posts page when using static home page
  • Fixed object cache not being initialised before getting options
  • Fixed locating document root for minify in certain environments
  • Fixed saving settings if permalinks are turned off
  • Fixed "Install" page displaying rules that is not required
  • Fixed minify cache being empty while page is cached so no minified files are generated, minified files auto generation no longer depend on pages not being cached
  • Fixed unnecessary flushing with SSL, user agents and referrer not being activated
  • Fixed "Purge from Page Cache" not purging varnish or CDN when enabled
  • Fixed CSS minification and relative paths in external files
  • Fixed login / logout and compability with BuddyPress
  • Fixed flushing same posts many times if status is trashed or restored
  • Fixed handling of .html fancy permalinks with nginx
  • Fixed handling of missing xcache opcode cache
  • Fixed Amazon S3 allowing LIST permissions to everyone
  • Fixed handling of .xml mime type
  • Fixed numerous object cache compatibility issues
  • Fixed memcached port support issue
  • Fixed HTTP_HOST not defined warning issue
  • Fixed xdebug not configured halt issue
  • Fixed minified files not being mirrored by push CDNs
  • Fixed uploading to CDNs multiple times even if force overwrite is disabled
  • Improved CloudFlare support: purging, dev mode, minification options, automatic IP range updates, rocket loader feature, security levels
  • Improved support for the Bad Behavior plugin
  • Improved object cache and MultiSite compability
  • Improved flushing behavior with better post and pages detection. To change behavior hook into filter 'w3tc_flushable_post'
  • Improved XML user interface when using Page Cache Disc: Enhanced
  • Improved minify filename path generation
  • Improved minify custom placement usage
  • Improved PHP 5 compability by removing deprecated functionality
  • Improved WP 3.4 and 3.5 compability by removing deprecated functions usage
  • Improved plugin by removing unnecessary ob_starts
  • Improved minify usage by returning old minify files while generating new
  • Improved update procedure by removing need to manually deactivate and reactivate plugin
  • Improved CDN paths and URL generation using both single and multisite installs
  • Improved Admin Bar menu with more flushing actions
  • Improved minify auto by adding support for downloading and combining external files
  • Improved descriptions for various "Do not cache ..." textareas
  • Improved header settings so plugin header settings override WordPress default header where appropriate
  • Improved debug logging by adding a debug folder constant: W3TC_DEBUG_DIR
  • Improved support for WPTouch plugin
  • Improved custom post type support and flushing
  • Improved cache key format and handling
  • Improved minify support on Windows
  • Improved purging functionality for CDN providers
  • Improved compatibility wp-fb-autoconnect plugin
  • Improved support of WordPress installed when in a sub-directory
  • Improved support of non-default WordPress folder setups
  • Improved use of HTTP API and FileSystem API in WordPress. HTTP API usage improves minify and CDN functionality. FileSystem API integration improves activation, deactivation and configuration changes
  • Improved execution time across all caching engines
  • Improved cache miss performance for page caching
  • Improved notification handling
  • Improved cache priming algorithm
  • Improved minify error reporting
  • Improved varnish purging capability
  • Improved memory caching logic and purging speed
  • Improved support for auto minify in more hosting environments
  • Improved support for use of sockets in memcached
  • Improved handling of old settings upon update
  • Improved detection of document root on additional hosting providers
  • Improved handling of eTags
  • Improved browser cache policy options
  • Improved bug submission form implementation
  • Improved NetDNA / MaxCDN support by using their new API
  • Disabled minify if CloudFlare is active
  • Removed PHP 4 support
  • Removed cookie used for user agent groups unless the feature is used
  • Removed cookie used for referrer unless the feature is used
  • Removed duplicate inclusion of JSON library
Download this release

Release Info

Developer fredericktownes
Plugin Icon 128x128 W3 Total Cache
Version 0.9.2.6
Comparing to
See all releases

Code changes from version 0.9.2.5 to 0.9.2.6

Files changed (138) hide show
  1. inc/.htaccess +0 -3
  2. inc/define.php +426 -158
  3. inc/email/index.html +0 -0
  4. inc/email/minify_error_notification.html +1 -1
  5. inc/email/minify_error_notification.php +1 -1
  6. inc/email/support_request.php +0 -0
  7. inc/error.php +0 -0
  8. inc/functions/activation.php +621 -78
  9. inc/functions/compat.php +58 -40
  10. inc/functions/extract.php +44 -0
  11. inc/functions/file.php +104 -0
  12. inc/functions/http.php +21 -0
  13. inc/functions/ip_in_range.php +212 -0
  14. inc/functions/mime.php +0 -0
  15. inc/functions/multisite.php +37 -0
  16. inc/functions/other.php +117 -0
  17. inc/functions/plugin.php +285 -13
  18. inc/functions/rule.php +63 -23
  19. inc/functions/rule_cut.php +31 -0
  20. inc/functions/update.php +63 -0
  21. inc/functions/url.php +1 -1
  22. inc/functions/widgets.php +100 -0
  23. inc/index.html +0 -0
  24. inc/lightbox/cdn_s3_bucket_location.php +1 -1
  25. inc/lightbox/index.html +0 -0
  26. inc/lightbox/minify_recommendations.php +4 -12
  27. inc/lightbox/self_test.php +21 -9
  28. inc/lightbox/support_us.php +8 -8
  29. inc/mime/all.php +0 -0
  30. inc/mime/cssjs.php +7 -2
  31. inc/mime/html.php +0 -0
  32. inc/mime/index.html +0 -0
  33. inc/mime/other.php +1 -0
  34. inc/options/about.php +0 -0
  35. inc/options/browsercache.php +142 -72
  36. inc/options/cdn.php +234 -184
  37. inc/options/cdn/akamai.php +65 -0
  38. inc/options/cdn/att.php +38 -0
  39. inc/options/cdn/azure.php +8 -5
  40. inc/options/cdn/cf.php +16 -6
  41. inc/options/cdn/cf2.php +14 -5
  42. inc/options/cdn/common/cnames.php +10 -7
  43. inc/options/cdn/common/index.html +0 -0
  44. inc/options/cdn/cotendo.php +7 -4
  45. inc/options/cdn/edgecast.php +5 -3
  46. inc/options/cdn/ftp.php +10 -7
  47. inc/options/cdn/index.html +0 -0
  48. inc/options/cdn/mirror.php +1 -1
  49. inc/options/cdn/netdna.php +24 -6
  50. inc/options/cdn/rscf.php +10 -6
  51. inc/options/cdn/s3.php +12 -4
  52. inc/options/common/footer.php +0 -0
  53. inc/options/common/header.php +173 -27
  54. inc/options/common/help.php +0 -0
  55. inc/options/common/index.html +0 -0
  56. inc/options/dashboard.php +62 -0
  57. inc/options/dbcache.php +100 -85
  58. inc/options/enterprise/dbcluster-config.php +32 -0
  59. inc/options/enterprise/dbcluster_general_section.php +8 -0
  60. inc/options/faq.php +0 -0
  61. inc/options/general.php +797 -556
  62. inc/options/index.html +0 -0
  63. inc/options/install.php +24 -12
  64. inc/options/minify.php +305 -236
  65. inc/options/minify/ccjs.php +7 -1
  66. inc/options/minify/ccjs2.php +11 -4
  67. inc/options/minify/css.php +2 -4
  68. inc/options/minify/csstidy.php +12 -21
  69. inc/options/minify/csstidy2.php +9 -5
  70. inc/options/minify/html.php +1 -2
  71. inc/options/minify/htmltidy.php +2 -4
  72. inc/options/minify/htmltidy2.php +4 -1
  73. inc/options/minify/index.html +0 -0
  74. inc/options/minify/js.php +2 -4
  75. inc/options/minify/yuicss2.php +10 -4
  76. inc/options/minify/yuijs.php +3 -6
  77. inc/options/minify/yuijs2.php +14 -4
  78. inc/options/mobile.php +74 -61
  79. inc/options/new_relic.php +171 -0
  80. inc/options/objectcache.php +49 -44
  81. inc/options/pgcache.php +371 -265
  82. inc/options/pro/fragmentcache.php +97 -0
  83. inc/options/pro/fragmentcache_general_section.php +46 -0
  84. inc/options/referrer.php +65 -65
  85. inc/options/support.php +1 -1
  86. inc/options/support/form.php +1 -1
  87. inc/options/support/form/bug_report.php +12 -2
  88. inc/options/support/form/email_support.php +12 -2
  89. inc/options/support/form/index.html +0 -0
  90. inc/options/support/form/linux_config.php +12 -2
  91. inc/options/support/form/new_feature.php +12 -2
  92. inc/options/support/form/phone_support.php +12 -2
  93. inc/options/support/form/plugin_config.php +12 -2
  94. inc/options/support/form/theme_config.php +12 -2
  95. inc/options/support/index.html +0 -0
  96. inc/options/support/payment.php +1 -1
  97. inc/options/support/select.php +1 -1
  98. inc/popup/cdn_export_file.php +2 -3
  99. inc/popup/cdn_export_library.php +2 -3
  100. inc/popup/cdn_import_library.php +2 -3
  101. inc/popup/cdn_purge.php +0 -0
  102. inc/popup/cdn_queue.php +3 -0
  103. inc/popup/cdn_rename_domain.php +2 -3
  104. inc/popup/common/footer.php +0 -0
  105. inc/popup/common/header.php +0 -0
  106. inc/popup/common/index.html +0 -0
  107. inc/popup/index.html +0 -0
  108. inc/popup/pagespeed_results.php +0 -0
  109. inc/widget/index.html +0 -0
  110. inc/widget/latest.php +0 -0
  111. inc/widget/latest_ajax.php +0 -3
  112. inc/widget/latest_control.php +1 -1
  113. inc/widget/latest_news.php +7 -0
  114. inc/widget/latest_news_ajax.php +10 -0
  115. inc/widget/latest_news_control.php +7 -0
  116. inc/widget/new_relic.php +104 -0
  117. inc/widget/pagespeed.php +0 -0
  118. inc/widget/pagespeed_control.php +4 -4
  119. inc/widget/services.php +12 -0
  120. inc/widget/spreadtheword.php +16 -0
  121. index.html +0 -0
  122. ini/.htaccess +0 -3
  123. ini/apc.ini +4 -4
  124. ini/dbcluster-config-sample.php +181 -0
  125. ini/eaccelerator.ini +0 -0
  126. ini/index.html +0 -0
  127. ini/memcache.ini +0 -0
  128. ini/nginx-network-sample-config.conf +31 -0
  129. ini/nginx-standalone-sample-config.conf +22 -0
  130. ini/php.append.ini +0 -0
  131. ini/s3-sample-policy.txt +23 -0
  132. ini/varnish-sample-config.vcl +89 -0
  133. ini/xcache.ini +0 -0
  134. inc/options/faq.xml → languages/faq-en_US.xml +193 -88
  135. languages/faq-premium-en_US.xml +110 -0
  136. lib/.htaccess +0 -3
  137. lib/CF/cacert.pem +3113 -3113
  138. lib/CF/cloudfiles.php +0 -1013
inc/.htaccess DELETED
@@ -1,3 +0,0 @@
1
- Options -Indexes
2
- Order deny,allow
3
- Deny from all
 
 
 
inc/define.php CHANGED
@@ -5,7 +5,7 @@ if (!defined('ABSPATH')) {
5
  }
6
 
7
  define('W3TC', true);
8
- define('W3TC_VERSION', '0.9.2.5');
9
  define('W3TC_POWERED_BY', 'W3 Total Cache/' . W3TC_VERSION);
10
  define('W3TC_EMAIL', 'w3tc@w3-edge.com');
11
  define('W3TC_PAYPAL_URL', 'https://www.paypal.com/cgi-bin/webscr');
@@ -13,8 +13,11 @@ define('W3TC_PAYPAL_BUSINESS', 'w3tc-team@w3-edge.com');
13
  define('W3TC_LINK_URL', 'http://www.w3-edge.com/wordpress-plugins/');
14
  define('W3TC_LINK_NAME', 'WordPress Plugins');
15
  define('W3TC_FEED_URL', 'http://feeds.feedburner.com/W3TOTALCACHE');
16
- define('W3TC_README_URL', 'http://plugins.trac.wordpress.org/browser/w3-total-cache/trunk/readme.txt?format=txt');
 
17
  define('W3TC_SUPPORT_US_TIMEOUT', 2592000);
 
 
18
 
19
  define('W3TC_PHP5', PHP_VERSION >= 5);
20
  define('W3TC_WIN', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'));
@@ -22,6 +25,9 @@ define('W3TC_WIN', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'));
22
  defined('W3TC_DIR') || define('W3TC_DIR', realpath(dirname(__FILE__) . '/..'));
23
  define('W3TC_FILE', 'w3-total-cache/w3-total-cache.php');
24
  define('W3TC_INC_DIR', W3TC_DIR . '/inc');
 
 
 
25
  define('W3TC_LIB_DIR', W3TC_DIR . '/lib');
26
  define('W3TC_LIB_W3_DIR', W3TC_LIB_DIR . '/W3');
27
  define('W3TC_LIB_MINIFY_DIR', W3TC_LIB_DIR . '/Minify');
@@ -29,59 +35,28 @@ define('W3TC_LIB_CF_DIR', W3TC_LIB_DIR . '/CF');
29
  define('W3TC_LIB_CSSTIDY_DIR', W3TC_LIB_DIR . '/CSSTidy');
30
  define('W3TC_LIB_MICROSOFT_DIR', W3TC_LIB_DIR . '/Microsoft');
31
  define('W3TC_LIB_NUSOAP_DIR', W3TC_LIB_DIR . '/Nusoap');
 
 
 
32
  define('W3TC_PLUGINS_DIR', W3TC_DIR . '/plugins');
33
  define('W3TC_INSTALL_DIR', W3TC_DIR . '/wp-content');
34
  define('W3TC_INSTALL_MINIFY_DIR', W3TC_INSTALL_DIR . '/w3tc/min');
 
35
 
36
- define('W3TC_BLOGNAMES_PATH', WP_CONTENT_DIR . '/w3-total-cache-blognames.php');
37
- define('W3TC_BLOGNAME', w3_get_blogname());
38
- define('W3TC_SUFFIX', (W3TC_BLOGNAME != '' ? '-' . W3TC_BLOGNAME : ''));
 
 
 
 
39
 
40
  defined('WP_CONTENT_DIR') || define('WP_CONTENT_DIR', realpath(W3TC_DIR . '/../..'));
41
- define('WP_CONTENT_DIR_PATH', dirname(WP_CONTENT_DIR));
42
- define('WP_CONTENT_DIR_NAME', basename(WP_CONTENT_DIR));
43
- define('W3TC_CONTENT_DIR_NAME', WP_CONTENT_DIR_NAME . '/w3tc' . W3TC_SUFFIX);
44
- define('W3TC_CONTENT_DIR', WP_CONTENT_DIR_PATH . '/' . W3TC_CONTENT_DIR_NAME);
45
- define('W3TC_CONTENT_MINIFY_DIR_NAME', W3TC_CONTENT_DIR_NAME . '/min');
46
- define('W3TC_CONTENT_MINIFY_DIR', WP_CONTENT_DIR_PATH . '/' . W3TC_CONTENT_DIR_NAME . '/min');
47
- define('W3TC_CACHE_FILE_DBCACHE_DIR', W3TC_CONTENT_DIR . '/dbcache');
48
- define('W3TC_CACHE_FILE_OBJECTCACHE_DIR', W3TC_CONTENT_DIR . '/objectcache');
49
- define('W3TC_CACHE_FILE_PGCACHE_DIR', W3TC_CONTENT_DIR . '/pgcache');
50
- define('W3TC_CACHE_FILE_MINIFY_DIR', W3TC_CONTENT_DIR . '/min');
51
- define('W3TC_LOG_DIR', W3TC_CONTENT_DIR . '/log');
52
- define('W3TC_TMP_DIR', W3TC_CONTENT_DIR . '/tmp');
53
- define('W3TC_CONFIG_PATH', WP_CONTENT_DIR . '/w3-total-cache-config' . W3TC_SUFFIX . '.php');
54
- define('W3TC_CONFIG_PREVIEW_PATH', WP_CONTENT_DIR . '/w3-total-cache-config' . W3TC_SUFFIX . '-preview.php');
55
- define('W3TC_CONFIG_MASTER_PATH', WP_CONTENT_DIR . '/w3-total-cache-config.php');
56
- define('W3TC_MINIFY_LOG_FILE', W3TC_LOG_DIR . '/minify.log');
57
  define('W3TC_CDN_COMMAND_UPLOAD', 1);
58
  define('W3TC_CDN_COMMAND_DELETE', 2);
59
  define('W3TC_CDN_COMMAND_PURGE', 3);
60
  define('W3TC_CDN_TABLE_QUEUE', 'w3tc_cdn_queue');
61
- define('W3TC_CDN_LOG_FILE', W3TC_LOG_DIR . '/cdn.log');
62
- define('W3TC_VARNISH_LOG_FILE', W3TC_LOG_DIR . '/varnish.log');
63
-
64
- define('W3TC_MARKER_BEGIN_WORDPRESS', '# BEGIN WordPress');
65
- define('W3TC_MARKER_BEGIN_PGCACHE_CORE', '# BEGIN W3TC Page Cache core');
66
- define('W3TC_MARKER_BEGIN_PGCACHE_CACHE', '# BEGIN W3TC Page Cache cache');
67
- define('W3TC_MARKER_BEGIN_PGCACHE_LEGACY', '# BEGIN W3TC Page Cache');
68
- define('W3TC_MARKER_BEGIN_PGCACHE_WPSC', '# BEGIN WPSuperCache');
69
- define('W3TC_MARKER_BEGIN_BROWSERCACHE_CACHE', '# BEGIN W3TC Browser Cache');
70
- define('W3TC_MARKER_BEGIN_BROWSERCACHE_NO404WP', '# BEGIN W3TC Skip 404 error handling by WordPress for static files');
71
- define('W3TC_MARKER_BEGIN_MINIFY_CORE', '# BEGIN W3TC Minify core');
72
- define('W3TC_MARKER_BEGIN_MINIFY_CACHE', '# BEGIN W3TC Minify cache');
73
- define('W3TC_MARKER_BEGIN_MINIFY_LEGACY', '# BEGIN W3TC Minify');
74
-
75
- define('W3TC_MARKER_END_WORDPRESS', '# END WordPress');
76
- define('W3TC_MARKER_END_PGCACHE_CORE', '# END W3TC Page Cache core');
77
- define('W3TC_MARKER_END_PGCACHE_CACHE', '# END W3TC Page Cache cache');
78
- define('W3TC_MARKER_END_PGCACHE_LEGACY', '# END W3TC Page Cache');
79
- define('W3TC_MARKER_END_PGCACHE_WPSC', '# END WPSuperCache');
80
- define('W3TC_MARKER_END_BROWSERCACHE_CACHE', '# END W3TC Browser Cache');
81
- define('W3TC_MARKER_END_BROWSERCACHE_NO404WP', '# END W3TC Skip 404 error handling by WordPress for static files');
82
- define('W3TC_MARKER_END_MINIFY_CORE', '# END W3TC Minify core');
83
- define('W3TC_MARKER_END_MINIFY_CACHE', '# END W3TC Minify cache');
84
- define('W3TC_MARKER_END_MINIFY_LEGACY', '# END W3TC Minify');
85
 
86
  define('W3TC_INSTALL_FILE_ADVANCED_CACHE', W3TC_INSTALL_DIR . '/advanced-cache.php');
87
  define('W3TC_INSTALL_FILE_DB', W3TC_INSTALL_DIR . '/db.php');
@@ -89,10 +64,14 @@ define('W3TC_INSTALL_FILE_OBJECT_CACHE', W3TC_INSTALL_DIR . '/object-cache.php')
89
 
90
  define('W3TC_ADDIN_FILE_ADVANCED_CACHE', WP_CONTENT_DIR . '/advanced-cache.php');
91
  define('W3TC_ADDIN_FILE_DB', WP_CONTENT_DIR . '/db.php');
 
92
  define('W3TC_ADDIN_FILE_OBJECT_CACHE', WP_CONTENT_DIR . '/object-cache.php');
93
 
94
- require_once W3TC_INC_DIR . '/functions/compat.php';
95
- require_once W3TC_INC_DIR . '/functions/plugin.php';
 
 
 
96
 
97
  @ini_set('pcre.backtrack_limit', 4194304);
98
  @ini_set('pcre.recursion_limit', 4194304);
@@ -128,6 +107,37 @@ function w3_is_xml($content) {
128
  return (stripos($content, '<?xml') === 0 || stripos($content, '<html') === 0 || stripos($content, '<!DOCTYPE') === 0);
129
  }
130
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  /**
132
  * Returns true if it's WPMU
133
  *
@@ -211,22 +221,15 @@ function w3_is_database_error(&$content) {
211
  return (stristr($content, '<title>Database Error</title>') !== false);
212
  }
213
 
214
- /**
215
- * Returns true if preview config exists
216
- *
217
- * @return boolean
218
- */
219
- function w3_is_preview_config() {
220
- return file_exists(W3TC_CONFIG_PREVIEW_PATH);
221
- }
222
-
223
  /**
224
  * Retuns true if preview settings active
225
  *
226
  * @return boolean
227
  */
228
  function w3_is_preview_mode() {
229
- return (w3_is_preview_config() && (defined('WP_ADMIN') || isset($_REQUEST['w3tc_preview']) || (isset($_SERVER['HTTP_REFERER']) && strstr($_SERVER['HTTP_REFERER'], 'w3tc_preview') !== false)));
 
 
230
  }
231
 
232
  /**
@@ -263,7 +266,8 @@ function w3_is_nginx() {
263
  * @return boolean
264
  */
265
  function w3_is_cdn_engine($engine) {
266
- return in_array($engine, array('ftp', 's3', 'cf', 'cf2', 'rscf', 'azure', 'mirror', 'netdna', 'cotendo', 'edgecast'));
 
267
  }
268
 
269
  /**
@@ -273,7 +277,15 @@ function w3_is_cdn_engine($engine) {
273
  * @return bool
274
  */
275
  function w3_is_cdn_mirror($engine) {
276
- return in_array($engine, array('mirror', 'netdna', 'cotendo', 'cf2', 'edgecast'));
 
 
 
 
 
 
 
 
277
  }
278
 
279
  /**
@@ -285,10 +297,6 @@ function w3_is_cdn_mirror($engine) {
285
  function w3_get_domain($host) {
286
  $host = strtolower($host);
287
 
288
- if (strpos($host, 'www.') === 0) {
289
- $host = substr($host, 4);
290
- }
291
-
292
  if (($pos = strpos($host, ':')) !== false) {
293
  $host = substr($host, 0, $pos);
294
  }
@@ -327,114 +335,208 @@ function w3_get_blognames() {
327
  }
328
 
329
  /**
330
- * Load blognames from file
331
  *
332
- * @return array
333
  */
334
- function w3_load_blognames() {
335
- $blognames = include W3TC_BLOGNAMES_PATH;
 
 
 
 
 
 
 
 
336
 
337
- return $blognames;
 
 
 
 
338
  }
339
 
340
  /**
341
- * Save blognames into file
342
- *
343
- * @param string $blognames
344
- * @return boolean
345
  */
346
- function w3_save_blognames($blognames = null) {
347
- if (!$blognames) {
348
- $blognames = w3_get_blognames();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349
  }
 
 
350
 
351
- $strings = array();
352
-
353
- foreach ($blognames as $blogname) {
354
- $strings[] = sprintf("'%s'", addslashes($blogname));
355
- }
 
 
 
 
 
 
 
356
 
357
- $data = sprintf('<?php return array(%s);', implode(', ', $strings));
 
 
358
 
359
- return @file_put_contents(W3TC_BLOGNAMES_PATH, $data);
 
360
  }
361
 
362
  /**
363
- * Detect WPMU blogname
 
364
  *
365
- * @return string
 
366
  */
367
- function w3_get_blogname() {
368
- static $blogname = null;
369
 
370
- if ($blogname === null) {
371
- if (w3_is_network()) {
372
- $host = w3_get_host();
373
- $domain = w3_get_domain($host);
374
 
375
- if (w3_is_subdomain_install()) {
376
- $blogname = $domain;
377
- } else {
378
- $uri = $_SERVER['REQUEST_URI'];
379
- $base_path = w3_get_base_path();
380
 
381
- if ($base_path != '' && strpos($uri, $base_path) === 0) {
382
- $uri = substr_replace($uri, '/', 0, strlen($base_path));
383
- }
384
 
385
- $blogname = w3_get_blogname_from_uri($uri);
 
 
 
 
386
 
387
- if ($blogname != '') {
388
- $blogname = $blogname . '.' . $domain;
389
- } else {
390
- $blogname = $domain;
391
- }
392
- }
393
- } else {
394
- $blogname = '';
395
- }
 
 
 
396
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
397
 
398
- return $blogname;
 
 
 
399
  }
400
 
401
  /**
402
- * Returns blogname from URI
403
  *
404
- * @param string $uri
405
  * @return string
406
  */
407
- function w3_get_blogname_from_uri($uri) {
408
- $blogname = '';
409
- $matches = null;
410
- $uri = strtolower($uri);
411
-
412
- if (preg_match('~^/([a-z0-9-]+)/~', $uri, $matches)) {
413
- if (file_exists(W3TC_BLOGNAMES_PATH)) {
414
- // Get blognames from cache
415
- $blognames = w3_load_blognames();
416
- } elseif (isset($GLOBALS['wpdb'])) {
417
- // Get blognames from DB
418
- $blognames = w3_get_blognames();
419
- } else {
420
- $blognames = array();
421
- }
422
 
423
- if (is_array($blognames) && in_array($matches[1], $blognames)) {
424
- $blogname = $matches[1];
425
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
426
  }
427
 
428
- return $blogname;
429
  }
430
 
431
  /**
432
- * Returns current blog ID
 
 
 
 
433
  *
434
- * @return integer
 
 
435
  */
436
- function w3_get_blog_id() {
437
- return (isset($GLOBALS['blog_id']) ? (int) $GLOBALS['blog_id'] : 0);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
438
  }
439
 
440
  /**
@@ -508,10 +610,19 @@ function w3_get_domain_url_regexp() {
508
  */
509
  function w3_get_home_url() {
510
  static $home_url = null;
511
-
512
  if ($home_url === null) {
513
- $home_url = get_option('home');
514
- $home_url = rtrim($home_url, '/');
 
 
 
 
 
 
 
 
 
515
  }
516
 
517
  return $home_url;
@@ -581,9 +692,13 @@ function w3_get_site_url_ssl() {
581
  */
582
  function w3_get_document_root() {
583
  static $document_root = null;
 
 
584
 
585
  if ($document_root === null) {
586
- if (!empty($_SERVER['SCRIPT_FILENAME'])) {
 
 
587
  $document_root = substr(w3_path($_SERVER['SCRIPT_FILENAME']), 0, -strlen(w3_path($_SERVER['PHP_SELF'])));
588
  } elseif (!empty($_SERVER['PATH_TRANSLATED'])) {
589
  $document_root = substr(w3_path($_SERVER['PATH_TRANSLATED']), 0, -strlen(w3_path($_SERVER['PHP_SELF'])));
@@ -761,7 +876,14 @@ function w3_get_host() {
761
  static $host = null;
762
 
763
  if ($host === null) {
764
- $host = (!empty($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : $_SERVER['HTTP_HOST']);
 
 
 
 
 
 
 
765
  }
766
 
767
  return $host;
@@ -848,7 +970,8 @@ function w3_can_check_rules() {
848
  * @return bool
849
  */
850
  function w3_can_cdn_purge($engine) {
851
- return in_array($engine, array('ftp', 's3', 'cf', 'cf2', 'rscf', 'azure', 'netdna', 'cotendo', 'edgecast'));
 
852
  }
853
 
854
  /**
@@ -861,14 +984,14 @@ function w3_parse_path($path) {
861
  $path = str_replace(array(
862
  '%BLOG_ID%',
863
  '%POST_ID%',
864
- '%BLOGNAME%',
865
  '%HOST%',
866
  '%DOMAIN%',
867
  '%BASE_PATH%'
868
  ), array(
869
  (isset($GLOBALS['blog_id']) ? (int) $GLOBALS['blog_id'] : 0),
870
  (isset($GLOBALS['post_id']) ? (int) $GLOBALS['post_id'] : 0),
871
- w3_get_blogname(),
872
  w3_get_host(),
873
  w3_get_domain(w3_get_host()),
874
  trim(w3_get_base_path(), '/')
@@ -967,7 +1090,7 @@ function w3_translate_file($file) {
967
  * @return string
968
  */
969
  function w3_remove_query($url) {
970
- $url = preg_replace('~[&\?]+(ver=[a-z0-9-_\.]+|[0-9-]+)~i', '', $url);
971
 
972
  return $url;
973
  }
@@ -1027,9 +1150,10 @@ function w3_http_date($time) {
1027
  * @return string
1028
  */
1029
  function w3_redirect($url = '', $params = array()) {
1030
- require_once W3TC_INC_DIR . '/functions/url.php';
1031
 
1032
  $url = w3_url_format($url, $params);
 
1033
 
1034
  @header('Location: ' . $url);
1035
  exit();
@@ -1107,10 +1231,18 @@ function w3_get_engine_name($engine) {
1107
  $engine_name = 'cotendo';
1108
  break;
1109
 
 
 
 
 
1110
  case 'edgecast':
1111
  $engine_name = 'media template procdn / edgecast';
1112
  break;
1113
 
 
 
 
 
1114
  default:
1115
  $engine_name = 'n/a';
1116
  break;
@@ -1212,13 +1344,13 @@ function w3_escape_comment($comment) {
1212
  * @param string $class
1213
  * @return object
1214
  */
1215
- function &w3_instance($class) {
1216
  static $instances = array();
1217
 
1218
  if (!isset($instances[$class])) {
1219
- require_once W3TC_LIB_W3_DIR . '/' .
1220
- str_replace('_', '/', substr($class, 3)) . '.php';
1221
- @$instances[$class] = & new $class();
1222
  }
1223
 
1224
  $v = $instances[$class]; // Don't return reference
@@ -1226,19 +1358,155 @@ function &w3_instance($class) {
1226
  }
1227
 
1228
  /**
1229
- * Loads plugins
1230
  *
1231
- * @return void
1232
  */
1233
- function w3_load_plugins() {
1234
- $dir = @opendir(W3TC_PLUGINS_DIR);
1235
 
1236
- if ($dir) {
1237
- while (($entry = @readdir($dir)) !== false) {
1238
- if (strrchr($entry, '.') === '.php') {
1239
- require_once W3TC_PLUGINS_DIR . '/' . $entry;
1240
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1241
  }
1242
- @closedir($dir);
1243
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1244
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  }
6
 
7
  define('W3TC', true);
8
+ define('W3TC_VERSION', '0.9.2.6');
9
  define('W3TC_POWERED_BY', 'W3 Total Cache/' . W3TC_VERSION);
10
  define('W3TC_EMAIL', 'w3tc@w3-edge.com');
11
  define('W3TC_PAYPAL_URL', 'https://www.paypal.com/cgi-bin/webscr');
13
  define('W3TC_LINK_URL', 'http://www.w3-edge.com/wordpress-plugins/');
14
  define('W3TC_LINK_NAME', 'WordPress Plugins');
15
  define('W3TC_FEED_URL', 'http://feeds.feedburner.com/W3TOTALCACHE');
16
+ define('W3TC_NEWS_FEED_URL', 'http://feeds.w3-edge.com/W3EDGE');
17
+ define('W3TC_README_URL', 'http://plugins.svn.wordpress.org/w3-total-cache/trunk/readme.txt');
18
  define('W3TC_SUPPORT_US_TIMEOUT', 2592000);
19
+ define('W3TC_SUPPORT_REQUEST_URL', 'http://www.w3-edge.com/?w3tc_support_request=1');
20
+ define('NEWRELIC_SIGNUP_URL', 'https://rpm.newrelic.com/signup?product[level]=Standard&product[commitment]=Monthly&subscription[number_of_hosts]=1&partnership_id=295');
21
 
22
  define('W3TC_PHP5', PHP_VERSION >= 5);
23
  define('W3TC_WIN', (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'));
25
  defined('W3TC_DIR') || define('W3TC_DIR', realpath(dirname(__FILE__) . '/..'));
26
  define('W3TC_FILE', 'w3-total-cache/w3-total-cache.php');
27
  define('W3TC_INC_DIR', W3TC_DIR . '/inc');
28
+ define('W3TC_INC_WIDGET_DIR', W3TC_INC_DIR. '/widget');
29
+ define('W3TC_INC_FUNCTIONS_DIR', W3TC_INC_DIR . '/functions');
30
+ define('W3TC_INC_OPTIONS_DIR', W3TC_INC_DIR . '/options');
31
  define('W3TC_LIB_DIR', W3TC_DIR . '/lib');
32
  define('W3TC_LIB_W3_DIR', W3TC_LIB_DIR . '/W3');
33
  define('W3TC_LIB_MINIFY_DIR', W3TC_LIB_DIR . '/Minify');
35
  define('W3TC_LIB_CSSTIDY_DIR', W3TC_LIB_DIR . '/CSSTidy');
36
  define('W3TC_LIB_MICROSOFT_DIR', W3TC_LIB_DIR . '/Microsoft');
37
  define('W3TC_LIB_NUSOAP_DIR', W3TC_LIB_DIR . '/Nusoap');
38
+ define('W3TC_LIB_NETDNA_DIR', W3TC_LIB_DIR . '/NetDNA');
39
+ define('W3TC_LIB_OAUTH_DIR', W3TC_LIB_DIR . '/OAuth');
40
+ define('W3TC_LIB_NEWRELIC_DIR', W3TC_LIB_DIR . '/NewRelic');
41
  define('W3TC_PLUGINS_DIR', W3TC_DIR . '/plugins');
42
  define('W3TC_INSTALL_DIR', W3TC_DIR . '/wp-content');
43
  define('W3TC_INSTALL_MINIFY_DIR', W3TC_INSTALL_DIR . '/w3tc/min');
44
+ define('W3TC_LANGUAGES_DIR', W3TC_DIR . '/languages');
45
 
46
+ define('W3TC_CACHE_DIR', WP_CONTENT_DIR . '/cache');
47
+ define('W3TC_CONFIG_DIR', WP_CONTENT_DIR . '/w3tc-config');
48
+ define('W3TC_CACHE_CONFIG_DIR', W3TC_CACHE_DIR . '/config');
49
+ define('W3TC_CACHE_MINIFY_DIR', W3TC_CACHE_DIR . '/minify');
50
+ define('W3TC_CACHE_PAGE_ENHANCED_DIR', W3TC_CACHE_DIR . '/page_enhanced');
51
+ define('W3TC_CACHE_TMP_DIR', W3TC_CACHE_DIR . '/tmp');
52
+ define('W3TC_CACHE_BLOGMAP_FILENAME', W3TC_CACHE_DIR . '/blogs.php');
53
 
54
  defined('WP_CONTENT_DIR') || define('WP_CONTENT_DIR', realpath(W3TC_DIR . '/../..'));
55
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  define('W3TC_CDN_COMMAND_UPLOAD', 1);
57
  define('W3TC_CDN_COMMAND_DELETE', 2);
58
  define('W3TC_CDN_COMMAND_PURGE', 3);
59
  define('W3TC_CDN_TABLE_QUEUE', 'w3tc_cdn_queue');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
 
61
  define('W3TC_INSTALL_FILE_ADVANCED_CACHE', W3TC_INSTALL_DIR . '/advanced-cache.php');
62
  define('W3TC_INSTALL_FILE_DB', W3TC_INSTALL_DIR . '/db.php');
64
 
65
  define('W3TC_ADDIN_FILE_ADVANCED_CACHE', WP_CONTENT_DIR . '/advanced-cache.php');
66
  define('W3TC_ADDIN_FILE_DB', WP_CONTENT_DIR . '/db.php');
67
+ define('W3TC_FILE_DB_CLUSTER_CONFIG', WP_CONTENT_DIR . '/db-cluster-config.php');
68
  define('W3TC_ADDIN_FILE_OBJECT_CACHE', WP_CONTENT_DIR . '/object-cache.php');
69
 
70
+
71
+ define('W3TC_WP_LOADER', (defined('WP_PLUGIN_DIR') ? WP_PLUGIN_DIR : WP_CONTENT_DIR . '/plugins') . '/w3tc-wp-loader.php');
72
+
73
+ w3_require_once(W3TC_INC_DIR . '/functions/compat.php');
74
+ w3_require_once(W3TC_INC_DIR . '/functions/plugin.php');
75
 
76
  @ini_set('pcre.backtrack_limit', 4194304);
77
  @ini_set('pcre.recursion_limit', 4194304);
107
  return (stripos($content, '<?xml') === 0 || stripos($content, '<html') === 0 || stripos($content, '<!DOCTYPE') === 0);
108
  }
109
 
110
+ /*
111
+ * Returns URI from filename/dirname
112
+ *
113
+ * @return string
114
+ */
115
+ function w3_filename_to_url($filename) {
116
+ // using wp-content instead of document_root as known dir since dirbased
117
+ // multisite wp adds blogname to the path inside site_url
118
+ if (substr($filename, 0, strlen(WP_CONTENT_DIR)) != WP_CONTENT_DIR)
119
+ return '';
120
+ $uri_from_wp_content = substr($filename, strlen(WP_CONTENT_DIR));
121
+
122
+ $site_url_ssl = w3_get_url_ssl(w3_get_home_url());
123
+
124
+ $content_path = trim(substr(WP_CONTENT_DIR, strlen(w3_get_document_root())), '/');
125
+
126
+ $url = $site_url_ssl . '/' . $content_path . $uri_from_wp_content;
127
+
128
+ return $url;
129
+ }
130
+
131
+ /**
132
+ * Returns true if database cluster is used
133
+ *
134
+ * @return boolean
135
+ */
136
+ function w3_is_dbcluster() {
137
+ return defined('W3TC_FILE_DB_CLUSTER_CONFIG') && @file_exists(W3TC_FILE_DB_CLUSTER_CONFIG)
138
+ && defined('W3TC_ENTERPRISE') && W3TC_ENTERPRISE;
139
+ }
140
+
141
  /**
142
  * Returns true if it's WPMU
143
  *
221
  return (stristr($content, '<title>Database Error</title>') !== false);
222
  }
223
 
 
 
 
 
 
 
 
 
 
224
  /**
225
  * Retuns true if preview settings active
226
  *
227
  * @return boolean
228
  */
229
  function w3_is_preview_mode() {
230
+ return (isset($_REQUEST['w3tc_preview']) ||
231
+ (isset($_SERVER['HTTP_REFERER']) &&
232
+ strstr($_SERVER['HTTP_REFERER'], 'w3tc_preview') !== false));
233
  }
234
 
235
  /**
266
  * @return boolean
267
  */
268
  function w3_is_cdn_engine($engine) {
269
+ return in_array($engine, array('ftp', 's3', 'cf', 'cf2', 'rscf', 'azure', 'mirror', 'netdna',
270
+ 'cotendo', 'akamai', 'edgecast', 'att'));
271
  }
272
 
273
  /**
277
  * @return bool
278
  */
279
  function w3_is_cdn_mirror($engine) {
280
+ return in_array($engine, array('mirror', 'netdna', 'cotendo', 'cf2', 'akamai', 'edgecast', 'att'));
281
+ }
282
+
283
+ /**
284
+ * Returns true if CDN has purge all support
285
+ * @param $engine
286
+ */
287
+ function w3_cdn_can_purge_all($engine) {
288
+ return in_array($engine, array('cotendo', 'edgecast', 'att', 'netdna'));
289
  }
290
 
291
  /**
297
  function w3_get_domain($host) {
298
  $host = strtolower($host);
299
 
 
 
 
 
300
  if (($pos = strpos($host, ':')) !== false) {
301
  $host = substr($host, 0, $pos);
302
  }
335
  }
336
 
337
  /**
338
+ * Returns current blog ID
339
  *
340
+ * @return integer
341
  */
342
+ function w3_get_blog_id() {
343
+ global $w3_current_blog_id;
344
+
345
+ if (!is_null($w3_current_blog_id))
346
+ return $w3_current_blog_id;
347
+
348
+ if (!w3_is_network() || is_network_admin()) {
349
+ $w3_current_blog_id = 0;
350
+ return $w3_current_blog_id;
351
+ }
352
 
353
+ $uri = w3_generate_request_uri();
354
+
355
+ $w3_current_blog_id = w3_blogmap_get_blog_id($uri);
356
+
357
+ return $w3_current_blog_id;
358
  }
359
 
360
  /**
361
+ * @return string
 
 
 
362
  */
363
+ function w3_generate_request_uri() {
364
+ $host = w3_get_domain(w3_get_host());
365
+ $site_home_uri = w3_get_base_path();
366
+
367
+ // default path
368
+ $uri = $host . $site_home_uri;
369
+
370
+ if (!w3_is_subdomain_install()) {
371
+ // try subdir blog
372
+ $request_uri = rtrim($_SERVER['REQUEST_URI'], '/');
373
+ $content_path = trim(substr(WP_CONTENT_DIR, strlen(w3_get_site_root())), '/');
374
+ if (substr($request_uri, 1, strlen($content_path)) != $content_path && substr($request_uri, 0, strlen($site_home_uri)) == $site_home_uri) {
375
+ $request_path_in_wp = '/' . substr($request_uri, strlen($site_home_uri));
376
+
377
+ $n = strpos($request_path_in_wp, '/', 1);
378
+ if ($n === false) {
379
+ // case for homepage like /mywp/myblog
380
+ // unfortunately catches also /index.php here and other pages
381
+ // of "default" blog
382
+ $blog_path_in_wp = substr($request_path_in_wp, 1);
383
+ } else
384
+ $blog_path_in_wp = substr($request_path_in_wp, 1, $n);
385
+
386
+ $uri = $host . $site_home_uri . $blog_path_in_wp;
387
+ return $uri;
388
+ }
389
+ return $uri;
390
  }
391
+ return $uri;
392
+ }
393
 
394
+ /**
395
+ * Returns blogmap filename by home url
396
+ *
397
+ * @param string $blog_home_url
398
+ * @return string
399
+ */
400
+ function w3_blogmap_filename($blog_home_url) {
401
+ if (!defined('W3TC_BLOG_LEVELS'))
402
+ return W3TC_CACHE_BLOGMAP_FILENAME;
403
+ else {
404
+ $filename = dirname(W3TC_CACHE_BLOGMAP_FILENAME) . '/' .
405
+ basename(W3TC_CACHE_BLOGMAP_FILENAME, '.php') . '/';
406
 
407
+ $s = md5($blog_home_url);
408
+ for ($n = 0; $n < W3TC_BLOG_LEVELS; $n++)
409
+ $filename .= substr($s, $n, 1) . '/';
410
 
411
+ return $filename . basename(W3TC_CACHE_BLOGMAP_FILENAME);
412
+ }
413
  }
414
 
415
  /**
416
+ * Returns blog_id by home url
417
+ * If database not initialized yet - returns 0
418
  *
419
+ * @param string $blog_home_url
420
+ * @return integer
421
  */
422
+ function w3_blogmap_get_blog_id($blog_home_url) {
 
423
 
424
+ $blog_data = w3_get_blogmap_data($blog_home_url);
425
+ if ($blog_data && !is_int($blog_data))
426
+ return substr($blog_data, 1);
 
427
 
428
+ // we've faced new unknown yet url
 
 
 
 
429
 
430
+ if (isset($GLOBALS['current_blog']))
431
+ return $GLOBALS['current_blog']->blog_id;
 
432
 
433
+ // use master config until data set and
434
+ $GLOBALS['w3tc_blogmap_register_new_item'] = $blog_home_url;
435
+
436
+ return 0;
437
+ }
438
 
439
+ /**
440
+ * @return bool
441
+ */
442
+ function w3_force_master() {
443
+ if (!w3_is_multisite())
444
+ return false;
445
+ $blog_home_url = w3_generate_request_uri();
446
+ $blog_data = w3_get_blogmap_data($blog_home_url);
447
+ if (is_null($blog_data) || is_int($blog_data)) {
448
+ // use master config until data set and
449
+ $GLOBALS['w3tc_blogmap_register_new_item'] = $blog_home_url;
450
+ return true;
451
  }
452
+ return $blog_data[0] == 'm';
453
+ }
454
+
455
+ /**
456
+ * @param $blog_home_url
457
+ * @return null|string
458
+ */
459
+ function w3_get_blogmap_data($blog_home_url) {
460
+ $filename = w3_blogmap_filename($blog_home_url);
461
+
462
+ if (file_exists($filename)) {
463
+ $data = file_get_contents($filename);
464
+ $blog_data = @eval($data);
465
 
466
+ if (is_array($blog_data) && isset($blog_data[$blog_home_url]))
467
+ return $blog_data[$blog_home_url];
468
+ }
469
+ return null;
470
  }
471
 
472
  /**
473
+ * Returns path to section's cache dir
474
  *
475
+ * @param string $section
476
  * @return string
477
  */
478
+ function w3_cache_dir($section) {
479
+ return W3TC_CACHE_DIR . '/' . $section;
480
+ }
 
 
 
 
 
 
 
 
 
 
 
 
481
 
482
+ /**
483
+ * Returns path to blog's cache dir
484
+ *
485
+ * @param string $section
486
+ * @param null|int $blog_id
487
+ * @return string
488
+ */
489
+ function w3_cache_blog_dir($section, $blog_id = null) {
490
+ if (is_null($blog_id))
491
+ $blog_id = w3_get_blog_id();
492
+
493
+ $postfix = sprintf('%06d', $blog_id);
494
+
495
+ if (defined('W3TC_BLOG_LEVELS')) {
496
+ for ($n = 0; $n < W3TC_BLOG_LEVELS; $n++)
497
+ $postfix = substr($postfix, strlen($postfix) - 1 - $n, 1) . '/' .
498
+ $postfix;
499
  }
500
 
501
+ return w3_cache_dir($section) . '/' . $postfix;
502
  }
503
 
504
  /**
505
+ * Return full path to log file for module
506
+ * Path used in priority
507
+ * 1) W3TC_DEBUG_DIR
508
+ * 2) WP_DEBUG_LOG
509
+ * 3) W3TC_CACHE_DIR
510
  *
511
+ * @param $module
512
+ * @param null $blog_id
513
+ * @return string
514
  */
515
+ function w3_debug_log($module, $blog_id = null) {
516
+ if (is_null($blog_id))
517
+ $blog_id = w3_get_blog_id();
518
+
519
+ $postfix = sprintf('%06d', $blog_id);
520
+
521
+ if (defined('W3TC_BLOG_LEVELS')) {
522
+ for ($n = 0; $n < W3TC_BLOG_LEVELS; $n++)
523
+ $postfix = substr($postfix, strlen($postfix) - 1 - $n, 1) . '/' .
524
+ $postfix;
525
+ }
526
+ $from_dir = W3TC_CACHE_DIR;
527
+ if (defined('W3TC_DEBUG_DIR') && W3TC_DEBUG_DIR) {
528
+ $dir_path = W3TC_DEBUG_DIR;
529
+ if (!is_dir(W3TC_DEBUG_DIR))
530
+ $from_dir = dirname(W3TC_DEBUG_DIR);
531
+ } else
532
+ $dir_path = w3_cache_dir('log');
533
+ $filename = $dir_path . '/' . $postfix . '/' . $module . '.log';
534
+ if (!is_dir(dirname($filename))) {
535
+ w3_require_once( W3TC_INC_DIR . '/functions/file.php');
536
+ w3_mkdir_from(dirname($filename), $from_dir);
537
+ }
538
+
539
+ return $filename;
540
  }
541
 
542
  /**
610
  */
611
  function w3_get_home_url() {
612
  static $home_url = null;
613
+
614
  if ($home_url === null) {
615
+ $config = w3_instance('W3_Config');
616
+ if ($config->get_boolean('common.force_master')) {
617
+ $home_url = get_home_url();
618
+ } else {
619
+ // get_option is unusable here, it can cause problem when objCache isn't yet initialized
620
+ // Which is why we save the 'home' option in our ConfigCache
621
+ // We don't just use $config->get_string, because we want the cache to rebuild
622
+ // when 'wordpress.home' is not (yet) present
623
+ $home_url = $config->get_cache_option('wordpress.home');
624
+ $home_url = rtrim($home_url, '/');
625
+ }
626
  }
627
 
628
  return $home_url;
692
  */
693
  function w3_get_document_root() {
694
  static $document_root = null;
695
+ $len = strlen($_SERVER['PHP_SELF']);
696
+ $split = $len/2;
697
 
698
  if ($document_root === null) {
699
+ if (!empty($_SERVER['SCRIPT_FILENAME']) && $_SERVER['SCRIPT_FILENAME'] == $_SERVER['PHP_SELF']) {
700
+ $document_root = w3_get_site_root();
701
+ } elseif (!empty($_SERVER['SCRIPT_FILENAME'])) {
702
  $document_root = substr(w3_path($_SERVER['SCRIPT_FILENAME']), 0, -strlen(w3_path($_SERVER['PHP_SELF'])));
703
  } elseif (!empty($_SERVER['PATH_TRANSLATED'])) {
704
  $document_root = substr(w3_path($_SERVER['PATH_TRANSLATED']), 0, -strlen(w3_path($_SERVER['PHP_SELF'])));
876
  static $host = null;
877
 
878
  if ($host === null) {
879
+ if (!empty($_SERVER['HTTP_X_FORWARDED_HOST'])) {
880
+ $host = $_SERVER['HTTP_X_FORWARDED_HOST'];
881
+ } elseif (!empty($_SERVER['HTTP_HOST'])) {
882
+ // HTTP_HOST sometimes is not set causing warning
883
+ $host = $_SERVER['HTTP_HOST'];
884
+ } else {
885
+ $host = '';
886
+ }
887
  }
888
 
889
  return $host;
970
  * @return bool
971
  */
972
  function w3_can_cdn_purge($engine) {
973
+ return in_array($engine, array('ftp', 's3', 'cf', 'cf2', 'rscf', 'azure', 'netdna', 'cotendo',
974
+ 'edgecast', 'akamai', 'att'));
975
  }
976
 
977
  /**
984
  $path = str_replace(array(
985
  '%BLOG_ID%',
986
  '%POST_ID%',
987
+ '%BLOG_ID%',
988
  '%HOST%',
989
  '%DOMAIN%',
990
  '%BASE_PATH%'
991
  ), array(
992
  (isset($GLOBALS['blog_id']) ? (int) $GLOBALS['blog_id'] : 0),
993
  (isset($GLOBALS['post_id']) ? (int) $GLOBALS['post_id'] : 0),
994
+ w3_get_blog_id(),
995
  w3_get_host(),
996
  w3_get_domain(w3_get_host()),
997
  trim(w3_get_base_path(), '/')
1090
  * @return string
1091
  */
1092
  function w3_remove_query($url) {
1093
+ $url = preg_replace('~[&\?]+(ver=([a-z0-9-_\.]+|[0-9-]+))~i', '', $url);
1094
 
1095
  return $url;
1096
  }
1150
  * @return string
1151
  */
1152
  function w3_redirect($url = '', $params = array()) {
1153
+ w3_require_once(W3TC_INC_DIR . '/functions/url.php');
1154
 
1155
  $url = w3_url_format($url, $params);
1156
+ do_action('w3_redirect');
1157
 
1158
  @header('Location: ' . $url);
1159
  exit();
1231
  $engine_name = 'cotendo';
1232
  break;
1233
 
1234
+ case 'akamai':
1235
+ $engine_name = 'akamai';
1236
+ break;
1237
+
1238
  case 'edgecast':
1239
  $engine_name = 'media template procdn / edgecast';
1240
  break;
1241
 
1242
+ case 'att':
1243
+ $engine_name = 'at&amp;t';
1244
+ break;
1245
+
1246
  default:
1247
  $engine_name = 'n/a';
1248
  break;
1344
  * @param string $class
1345
  * @return object
1346
  */
1347
+ function w3_instance($class) {
1348
  static $instances = array();
1349
 
1350
  if (!isset($instances[$class])) {
1351
+ w3_require_once( W3TC_LIB_W3_DIR . '/' .
1352
+ str_replace('_', '/', substr($class, 3)) . '.php');
1353
+ $instances[$class] = new $class();
1354
  }
1355
 
1356
  $v = $instances[$class]; // Don't return reference
1358
  }
1359
 
1360
  /**
1361
+ * Requires and keeps track of which files has already been loaded.
1362
  *
1363
+ * @param string $path Absolute path to the file
1364
  */
1365
+ function w3_require_once($path) {
1366
+ static $files = array();
1367
 
1368
+ if (!isset($files[$path])) {
1369
+ $files[$path] = 1;
1370
+ require $path;
1371
+ }
1372
+ }
1373
+
1374
+ /**
1375
+ * Detects post ID
1376
+ *
1377
+ * @return integer
1378
+ */
1379
+ function w3_detect_post_id() {
1380
+ global $posts, $comment_post_ID, $post_ID;
1381
+
1382
+ if ($post_ID) {
1383
+ return $post_ID;
1384
+ } elseif ($comment_post_ID) {
1385
+ return $comment_post_ID;
1386
+ } elseif (is_single() || is_page() && count($posts)) {
1387
+ return $posts[0]->ID;
1388
+ } elseif (isset($_REQUEST['p'])) {
1389
+ return (integer) $_REQUEST['p'];
1390
+ }
1391
+
1392
+ return 0;
1393
+ }
1394
+
1395
+ function w3_get_instance_id() {
1396
+ static $instance_id;
1397
+
1398
+ if(!isset($instance_id)) {
1399
+ $config = w3_instance('W3_Config');
1400
+ $instance_id = $config->get_integer('common.instance_id', 0);
1401
+ }
1402
+ return $instance_id;
1403
+ }
1404
+
1405
+
1406
+ /**
1407
+ * Checks if post should be flushed or not. Returns true if it should not be flushed
1408
+ * @param $post
1409
+ * @param $module which cache module to check against (pgcache, varnish, cdncache, dbcache or objectcache)
1410
+ * @param W3_Config $config
1411
+ * @return bool
1412
+ */
1413
+ function w3_is_flushable_post($post, $module, $config) {
1414
+ if (is_numeric($post))
1415
+ $post = get_post($post);
1416
+ $post_status = array('publish');
1417
+ // dont flush when we have post "attachment"
1418
+ // its child of the post and is flushed always when post is published, while not changed in fact
1419
+ $post_type = array('revision', 'attachment');
1420
+ switch($module) {
1421
+ case 'pgcache':
1422
+ case 'varnish':
1423
+ case 'cdncache':
1424
+ if (!$config->get_boolean('pgcache.reject.logged'))
1425
+ $post_status[] = 'private';
1426
+ break;
1427
+ case 'dbcache':
1428
+ if (!$config->get_boolean('dbcache.reject.logged'))
1429
+ $post_status[] = 'private';
1430
+ break;
1431
+ }
1432
+ $flushable = !in_array($post->post_type, $post_type) && in_array($post->post_status, $post_status);
1433
+ return apply_filters('w3tc_flushable_post', $flushable, $post, $module);
1434
+ }
1435
+
1436
+ /**
1437
+ * @param $filename
1438
+ * @param $content
1439
+ * @return bool
1440
+ */
1441
+ function file_put_contents_atomic($filename, $content) {
1442
+
1443
+ $temp = tempnam(W3TC_CACHE_TMP_DIR, 'temp');
1444
+ if (!($f = @fopen($temp, 'wb'))) {
1445
+ $temp = W3TC_CACHE_TMP_DIR . DIRECTORY_SEPARATOR . uniqid('temp');
1446
+ if (!($f = @fopen($temp, 'wb'))) {
1447
+ trigger_error("file_put_contents_atomic() : error writing temporary file '$temp'", E_USER_WARNING);
1448
+ return false;
1449
  }
 
1450
  }
1451
+
1452
+ fwrite($f, $content);
1453
+ fclose($f);
1454
+
1455
+ if (!@rename($temp, $filename)) {
1456
+ @unlink($filename);
1457
+ @rename($temp, $filename);
1458
+ }
1459
+
1460
+ return true;
1461
+
1462
+ }
1463
+ /**
1464
+ * Takes seconds and converts to array('Nh ','Nm ', 'Ns ', 'Nms ') or "Nh Nm Ns Nms"
1465
+ * @param $input
1466
+ * @param bool $string
1467
+ * @return array|string
1468
+ */
1469
+ function w3_convert_secs_to_time($input, $string = true) {
1470
+ $input = (double)$input;
1471
+ $time = array();
1472
+ $msecs = floor($input*1000 % 1000);
1473
+ $seconds = $input % 60;
1474
+ $input = floor($input / 60);
1475
+ $minutes = $input % 60;
1476
+ $input = floor($input / 60);
1477
+ $hours = $input % 60;
1478
+ $input = floor($input / 60);
1479
+ if ($hours)
1480
+ $time[] = sprintf(__('%dh', 'w3-total-cache'), $hours);
1481
+ if ($minutes)
1482
+ $time[] = sprintf(__('%dm', 'w3-total-cache'), $minutes);
1483
+ if ($seconds)
1484
+ $time[] = sprintf(__('%ds', 'w3-total-cache'), $seconds);
1485
+ if ($msecs)
1486
+ $time[] = sprintf(__('%dms', 'w3-total-cache'), $msecs);
1487
+
1488
+ if(empty($time))
1489
+ $time[] = sprintf(__('%dms', 'w3-total-cache'), 0);
1490
+ if ($string)
1491
+ return implode(' ', $time);
1492
+ return $time;
1493
  }
1494
+
1495
+ /**
1496
+ * @return string
1497
+ */
1498
+ function w3_w3tc_release_version() {
1499
+ if (defined('W3TC_ENTERPRISE') && W3TC_ENTERPRISE)
1500
+ return 'enterprise';
1501
+ if (defined('W3TC_PRO') && W3TC_PRO)
1502
+ return 'pro';
1503
+ return 'community';
1504
+ }
1505
+
1506
+ function w3_is_pro() {
1507
+ return defined('W3TC_PRO') && W3TC_PRO;
1508
+ }
1509
+
1510
+ function w3_is_enterprise() {
1511
+ return defined('W3TC_ENTERPRISE') && W3TC_ENTERPRISE;
1512
+ }
inc/email/index.html CHANGED
File without changes
inc/email/minify_error_notification.html CHANGED
@@ -1,7 +1,7 @@
1
  <html>
2
  <head></head>
3
  <body>
4
- <p>Unfortunately an error occurred while creating the minify cache. Please check your settings to ensure your site is working as intended.</p>
5
  <p>Thanks for using W3 Total Cache.</p>
6
  </body>
7
  </html>
1
  <html>
2
  <head></head>
3
  <body>
4
+ <p>Unfortunately, an error occurred while creating the minify cache. Please check your settings to ensure your site is working as intended.</p>
5
  <p>Thanks for using W3 Total Cache.</p>
6
  </body>
7
  </html>
inc/email/minify_error_notification.php CHANGED
@@ -1,7 +1,7 @@
1
  <html>
2
  <head></head>
3
  <body>
4
- <p>Unfortunately an error occurred while creating the minify cache. Please check your settings to ensure your site is working as intended.</p>
5
  <p>Thanks for using W3 Total Cache.</p>
6
  </body>
7
  </html>
1
  <html>
2
  <head></head>
3
  <body>
4
+ <p>Unfortunately, an error occurred while creating the minify cache. Please check your settings to ensure your site is working as intended.</p>
5
  <p>Thanks for using W3 Total Cache.</p>
6
  </body>
7
  </html>
inc/email/support_request.php CHANGED
File without changes
inc/error.php CHANGED
File without changes
inc/functions/activation.php CHANGED
@@ -1,78 +1,621 @@
1
- <?php
2
-
3
- /**
4
- * Deactivate plugin after activation error
5
- *
6
- * @return void
7
- */
8
- function w3_activation_cleanup() {
9
- $active_plugins = (array) get_option('active_plugins');
10
- $active_plugins_network = (array) get_site_option('active_sitewide_plugins');
11
-
12
- // workaround for WPMU deactivation bug
13
- remove_action('deactivate_' . W3TC_FILE, 'deactivate_sitewide_plugin');
14
-
15
- do_action('deactivate_plugin', W3TC_FILE);
16
-
17
- $key = array_search(W3TC_FILE, $active_plugins);
18
-
19
- if ($key !== false) {
20
- array_splice($active_plugins, $key, 1);
21
- }
22
-
23
- unset($active_plugins_network[W3TC_FILE]);
24
-
25
- do_action('deactivate_' . W3TC_FILE);
26
- do_action('deactivated_plugin', W3TC_FILE);
27
-
28
- update_option('active_plugins', $active_plugins);
29
- update_site_option('active_sitewide_plugins', $active_plugins_network);
30
- }
31
-
32
- /**
33
- * W3 activate error
34
- *
35
- * @param string $error
36
- * @return void
37
- */
38
- function w3_activate_error($error) {
39
- w3_activation_cleanup();
40
-
41
- include W3TC_INC_DIR . '/error.php';
42
- exit();
43
- }
44
-
45
- /**
46
- * W3 writable error
47
- *
48
- * @param string $path
49
- * @return string
50
- */
51
- function w3_writable_error($path) {
52
- $reactivate_url = wp_nonce_url('plugins.php?action=activate&plugin=' . W3TC_FILE, 'activate-plugin_' . W3TC_FILE);
53
- $reactivate_button = sprintf('<input type="button" value="re-activate plugin" onclick="top.location.href = \'%s\'" />', addslashes($reactivate_url));
54
-
55
- require_once W3TC_INC_DIR . '/functions/file.php';
56
-
57
- if (w3_check_open_basedir($path)) {
58
- $error = sprintf('<strong>%s</strong> could not be created, please run following command:<br /><strong style="color: #f00;">chmod 777 %s</strong><br />then %s.', $path, (file_exists($path) ? $path : dirname($path)), $reactivate_button);
59
- } else {
60
- $error = sprintf('<strong>%s</strong> could not be created, <strong>open_basedir</strong> restriction in effect, please check your php.ini settings:<br /><strong style="color: #f00;">open_basedir = "%s"</strong><br />then %s.', $path, ini_get('open_basedir'), $reactivate_button);
61
- }
62
-
63
- w3_activate_error($error);
64
- }
65
-
66
- /**
67
- * W3 Network activation error
68
- *
69
- * @return void
70
- */
71
- function w3_network_activate_error() {
72
- w3_activation_cleanup();
73
- wp_redirect(plugins_url('pub/network_activation.php', W3TC_FILE));
74
-
75
- echo '<p><strong>W3 Total Cache Error:</strong> plugin cannot be activated network-wide.</p>';
76
- echo '<p><a href="javascript:history.back(-1);">Back</a>';
77
- exit();
78
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Deactivate plugin after activation error
5
+ *
6
+ * @return void
7
+ */
8
+ function w3_activation_cleanup() {
9
+ $active_plugins = (array) get_option('active_plugins');
10
+ $active_plugins_network = (array) get_site_option('active_sitewide_plugins');
11
+
12
+ // workaround for WPMU deactivation bug
13
+ remove_action('deactivate_' . W3TC_FILE, 'deactivate_sitewide_plugin');
14
+
15
+ do_action('deactivate_plugin', W3TC_FILE);
16
+
17
+ $key = array_search(W3TC_FILE, $active_plugins);
18
+
19
+ if ($key !== false) {
20
+ array_splice($active_plugins, $key, 1);
21
+ }
22
+
23
+ unset($active_plugins_network[W3TC_FILE]);
24
+
25
+ do_action('deactivate_' . W3TC_FILE);
26
+ do_action('deactivated_plugin', W3TC_FILE);
27
+
28
+ update_option('active_plugins', $active_plugins);
29
+ update_site_option('active_sitewide_plugins', $active_plugins_network);
30
+ }
31
+
32
+ /**
33
+ * W3 activate error
34
+ *
35
+ * @param string $error
36
+ * @return void
37
+ */
38
+ function w3_activate_error($error) {
39
+ w3_activation_cleanup();
40
+
41
+ include W3TC_INC_DIR . '/error.php';
42
+ exit();
43
+ }
44
+
45
+ /**
46
+ * Print activation error with repeat button based on exception
47
+ *
48
+ * @param $e
49
+ */
50
+ function w3_activation_error_on_exception($e) {
51
+ $reactivate_url = wp_nonce_url('plugins.php?action=activate&plugin=' . W3TC_FILE, 'activate-plugin_' . W3TC_FILE);
52
+ $reactivate_button = sprintf('<input type="button" value="re-activate plugin" onclick="top.location.href = \'%s\'" />', addslashes($reactivate_url));
53
+
54
+ w3_activate_error(sprintf('%s<br />then %s.', $e->getMessage(), $reactivate_button));
55
+ }
56
+
57
+ /**
58
+ * W3 writable error
59
+ *
60
+ * @param string $path
61
+ * @return string
62
+ */
63
+ function w3_writable_error($path) {
64
+ $reactivate_url = wp_nonce_url('plugins.php?action=activate&plugin=' . W3TC_FILE, 'activate-plugin_' . W3TC_FILE);
65
+ $reactivate_button = sprintf('<input type="button" value="re-activate plugin" onclick="top.location.href = \'%s\'" />', addslashes($reactivate_url));
66
+
67
+ try {
68
+ w3_throw_on_write_error($path);
69
+ } catch (Exception $e) {
70
+ w3_activation_error_on_exception($e);
71
+ }
72
+ }
73
+
74
+ /**
75
+ * W3 error on read
76
+ *
77
+ * @param string $path
78
+ * @throws FileOperationException
79
+ */
80
+ function w3_throw_on_read_error($path) {
81
+ w3_require_once(W3TC_INC_DIR . '/functions/file.php');
82
+
83
+ if (w3_check_open_basedir($path)) {
84
+ $error = sprintf('<strong>%s</strong> could not be read, please run following ' .
85
+ 'command:<br /><strong style="color: #f00;">chmod 777 %s</strong>', $path,
86
+ (file_exists($path) ? $path : dirname($path)));
87
+ } else {
88
+ $error = sprintf('<strong>%s</strong> could not be read, <strong>open_basedir' .
89
+ '</strong> restriction in effect, please check your php.ini settings:<br />' .
90
+ '<strong style="color: #f00;">open_basedir = "%s"</strong>', $path,
91
+ ini_get('open_basedir'));
92
+ }
93
+
94
+ throw new FileOperationException($error, 'read', 'file', $path);
95
+ }
96
+
97
+ /**
98
+ * W3 writable error
99
+ *
100
+ * @param string $path
101
+ * @throws FileOperationException
102
+ */
103
+ function w3_throw_on_write_error($path) {
104
+ w3_require_once(W3TC_INC_DIR . '/functions/file.php');
105
+
106
+ if (w3_check_open_basedir($path)) {
107
+ $error = sprintf('<strong>%s</strong> could not be created, please run following ' .
108
+ 'command:<br /><strong style="color: #f00;">chmod 777 %s</strong>', $path,
109
+ (file_exists($path) ? $path : dirname($path)));
110
+ } else {
111
+ $error = sprintf('<strong>%s</strong> could not be created, <strong>open_basedir' .
112
+ '</strong> restriction in effect, please check your php.ini settings:<br />' .
113
+ '<strong style="color: #f00;">open_basedir = "%s"</strong>', $path,
114
+ ini_get('open_basedir'));
115
+ }
116
+
117
+ throw new FileOperationException($error, 'create', 'file', $path);
118
+ }
119
+
120
+ /**
121
+ * Creates cache folder and extension files.
122
+ * Throws exception on failure.
123
+ *
124
+ * @throws Exception
125
+ */
126
+ function w3_activation_create_required_files() {
127
+ /**
128
+ * Check installation files
129
+ */
130
+ $files = array(
131
+ W3TC_INSTALL_FILE_ADVANCED_CACHE,
132
+ W3TC_INSTALL_FILE_DB,
133
+ W3TC_INSTALL_FILE_OBJECT_CACHE);
134
+
135
+ $nonexistent_files = array();
136
+
137
+ foreach ($files as $file) {
138
+ if (!file_exists($file)) {
139
+ $nonexistent_files[] = $file;
140
+ }
141
+ }
142
+
143
+ if (count($nonexistent_files)) {
144
+ throw new Exception(sprintf('Unfortunately core file(s): (<strong>%s</strong>) ' .
145
+ 'are missing, so activation will fail. Please re-start the installation ' .
146
+ 'process from the beginning.', implode(', ', $nonexistent_files)));
147
+ }
148
+
149
+ $directories = array(
150
+ W3TC_CACHE_DIR,
151
+ W3TC_CONFIG_DIR,
152
+ W3TC_CACHE_CONFIG_DIR,
153
+ W3TC_CACHE_TMP_DIR);
154
+
155
+ foreach ($directories as $d) {
156
+ if (!@is_dir($d)) {
157
+ try{
158
+ w3_wp_create_folder($d, 'direct');
159
+ } catch(Exception $ex) {}
160
+ }
161
+ }
162
+ }
163
+
164
+ /**
165
+ * Copy file if destination does not exists or not equal
166
+ *
167
+ * @param string $source_filename
168
+ * @param string $destination_filename
169
+ * @param string $method Which method to use when creating
170
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
171
+ * @throws FileOperationException
172
+ */
173
+ function w3_copy_if_not_equal($source_filename, $destination_filename, $method = 'direct') {
174
+ if (@file_exists($destination_filename)) {
175
+ $s = fopen($source_filename, 'rb');
176
+ if ($s) {
177
+ $v1 = fread($s, filesize($source_filename));
178
+ fclose($s);
179
+
180
+ $d = fopen($destination_filename, 'rb');
181
+
182
+ if ($d) {
183
+ if (filesize($destination_filename) <= 0)
184
+ $v2 = '';
185
+ else
186
+ $v2 = fread($d, filesize($destination_filename));
187
+
188
+ fclose($d);
189
+
190
+ if ($v1 && $v2 && $v1 == $v2)
191
+ return;
192
+ }
193
+ }
194
+ }
195
+
196
+ w3_wp_copy_file($source_filename, $destination_filename, $method);
197
+ }
198
+
199
+
200
+ /**
201
+ * Copy file using WordPress filesystem functions.
202
+ * @param $source_filename
203
+ * @param $destination_filename
204
+ * @param string $method Which method to use when creating
205
+ * @param string $url Where to redirect after creation
206
+ * @param bool|string $context folder to copy files too
207
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
208
+ * @throws FileOperationException
209
+ */
210
+ function w3_wp_copy_file($source_filename, $destination_filename, $method = '', $url = '', $context = false) {
211
+ w3_wp_request_filesystem_credentials($method, $url, $context);
212
+
213
+ global $wp_filesystem;
214
+ $contents = $wp_filesystem->get_contents($source_filename);
215
+
216
+ if (!$wp_filesystem->put_contents( $destination_filename, $contents, FS_CHMOD_FILE)) {
217
+ throw new FileOperationException('Could not create file ' . $destination_filename, 'create', 'file', $destination_filename);
218
+ }
219
+ }
220
+
221
+ /**
222
+ * @param $folder
223
+ * @param string $method Which method to use when creating
224
+ * @param string $url Where to redirect after creation
225
+ * @param bool|string $context folder to create folder in
226
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
227
+ * @throws FileOperationException
228
+ */
229
+ function w3_wp_create_folder($folder, $method = '', $url = '', $context = false) {
230
+ w3_wp_request_filesystem_credentials($method, $url, $context);
231
+
232
+ global $wp_filesystem;
233
+ if (!$wp_filesystem->mkdir($folder, FS_CHMOD_DIR)) {
234
+ throw new FileOperationException('Could not create folder:' . $folder, 'create', 'folder', $folder);
235
+ }
236
+ }
237
+
238
+
239
+ /**
240
+ * @param $folders
241
+ * @param string $method Which method to use when creating
242
+ * @param string $url Where to redirect after creation
243
+ * @param bool|string $context folder to create folders in
244
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
245
+ * @throws FileOperationException
246
+ */
247
+ function w3_wp_create_folders($folders, $method = '', $url = '', $context = false) {
248
+ w3_wp_request_filesystem_credentials($method, $url, $context);
249
+
250
+ global $wp_filesystem;
251
+
252
+ foreach($folders as $folder) {
253
+ if (!$wp_filesystem->mkdir($folder, FS_CHMOD_DIR)) {
254
+ throw new FileOperationException('Could not create folder: ' . $folder, 'create', 'folder', $folder);
255
+ }
256
+ }
257
+ }
258
+
259
+ /**
260
+ * @param $folders
261
+ * @param string $method Which method to use when creating
262
+ * @param string $url Where to redirect after creation
263
+ * @param bool|string $context path folder where delete folders resides
264
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
265
+ * @throws FileOperationException
266
+ */
267
+ function w3_wp_delete_folders($folders, $method = '', $url = '', $context = false) {
268
+ $delete_folders = array();
269
+ foreach($folders as $folder) {
270
+ if (is_dir($folder) && file_exists($folder))
271
+ $delete_folders[] = $folder;
272
+ }
273
+ if (empty($delete_folders))
274
+ return;
275
+ w3_wp_request_filesystem_credentials($method, $url, $context);
276
+
277
+ global $wp_filesystem;
278
+
279
+ foreach($delete_folders as $folder) {
280
+ w3_rmdir($folder);
281
+ if (file_exists($folder))
282
+ if (!$wp_filesystem->rmdir($folder, FS_CHMOD_DIR)) {
283
+ throw new FileOperationException('Could not delete folder: ' . $folder, 'delete', 'folder', $folder);
284
+ }
285
+ }
286
+ }
287
+
288
+ /**
289
+ * @param $file
290
+ * @param string $method
291
+ * @param string $url
292
+ * @param bool|string $context folder where file to be deleted resides
293
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
294
+ * @throws FileOperationException
295
+ */
296
+ function w3_wp_delete_file($file, $method = '', $url = '', $context = false) {
297
+ if (@unlink($file)) {
298
+ w3_wp_request_filesystem_credentials($method, $url, false, $context = false);
299
+
300
+ global $wp_filesystem;
301
+
302
+ if (file_exists($file) && !$wp_filesystem->delete($file)) {
303
+ throw new FileOperationException('Could not delete file: ' . $file, 'delete', 'file', $file);
304
+ }
305
+ }
306
+ }
307
+
308
+ /**
309
+ * Copy files using WordPress filesystem functions.
310
+ * @param $files
311
+ * @param string $method Which method to use when creating
312
+ * @param string $url Where to redirect after creation
313
+ * @param bool|string $context folder to copy too
314
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
315
+ * @throws FileOperationException
316
+ */
317
+ function w3_wp_copy_files($files, $method = '', $url = '', $context = false) {
318
+ w3_wp_request_filesystem_credentials($method, $url, false, $context);
319
+
320
+ global $wp_filesystem;
321
+ foreach($files as $source_filename => $destination_filename) {
322
+ $contents = $wp_filesystem->get_contents($source_filename);
323
+
324
+ if (!$wp_filesystem->put_contents($destination_filename, $contents, FS_CHMOD_FILE)) {
325
+ throw new FileOperationException('Could not create file: ' . $destination_filename, 'create', 'file', $destination_filename);
326
+ }
327
+ }
328
+ }
329
+
330
+ /**
331
+ * Get WordPress filesystems credentials. Required for WP filesystem usage.
332
+ * @param string $method Which method to use when creating
333
+ * @param string $url Where to redirect after creation
334
+ * @param bool|string $context path to folder that should be have filesystem credentials. If false WP_CONTENT_DIR is assumed
335
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
336
+ */
337
+ function w3_wp_request_filesystem_credentials($method = '', $url = '', $context = false) {
338
+ $success = true;
339
+ ob_start();
340
+ if (false === ($creds = request_filesystem_credentials($url, $method, false, $context, array()))) {
341
+ $success = false;
342
+ }
343
+ $form = ob_get_contents();
344
+ ob_end_clean();
345
+
346
+ ob_start();
347
+ // If first check failed try again and show error message
348
+ if (!WP_Filesystem($creds) && $success) {
349
+ request_filesystem_credentials($url, $method, true, false, array());
350
+ $success = false;
351
+ $form = ob_get_contents();
352
+ }
353
+ ob_end_clean();
354
+
355
+ if (!$success) {
356
+ throw new FilesystemCredentialException('Could not get write credentials', $method, $form);
357
+ }
358
+ }
359
+
360
+ /**
361
+ * @param $add_in_files array with key as source and value as destination
362
+ * @param $cache_folders value is the folder path
363
+ * @param string $method Which method to use when creating
364
+ * @param string $url Where to redirect after creation
365
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
366
+ * @throws FileOperationException
367
+ */
368
+ function w3_create_missing_files_and_folders($add_in_files, $cache_folders, $method = '', $url = '') {
369
+ if (empty($add_in_files) && empty($cache_folders))
370
+ return;
371
+
372
+ w3_wp_request_filesystem_credentials($method, $url);
373
+
374
+ global $wp_filesystem;
375
+
376
+ foreach($cache_folders as $folder) {
377
+ if (!$wp_filesystem->mkdir($folder, FS_CHMOD_DIR)) {
378
+ throw new FileOperationException('Could not create folder:' . $folder, 'create', 'folder', $folder);
379
+ }
380
+ }
381
+ foreach($add_in_files as $source_filename => $destination_filename) {
382
+ $contents = $wp_filesystem->get_contents($source_filename);
383
+
384
+ if (file_exists($destination_filename) && ! $wp_filesystem->delete($destination_filename))
385
+ throw new FileOperationException('Could not delete file: ' . $destination_filename, 'delete', 'file', $destination_filename);
386
+
387
+ if (!$wp_filesystem->put_contents($destination_filename, $contents, FS_CHMOD_FILE)) {
388
+ throw new FileOperationException('Could not create file: ' . $destination_filename, 'create', 'file', $destination_filename);
389
+ }
390
+ }
391
+ }
392
+
393
+ /**
394
+ * Create files
395
+ * @param $files array(from file => to file)
396
+ * @param string $method
397
+ * @param string $url
398
+ * @param bool|string path to folder where files should be created
399
+ * @throws FileOperationException
400
+ */
401
+ function w3_create_files($files, $method = '', $url = '', $context = false) {
402
+ if (empty($files))
403
+ return;
404
+
405
+ w3_wp_request_filesystem_credentials($method, $url, $context);
406
+
407
+ global $wp_filesystem;
408
+
409
+ foreach($files as $source_filename => $destination_filename) {
410
+ $contents = $wp_filesystem->get_contents($source_filename);
411
+
412
+ if (file_exists($destination_filename) && ! $wp_filesystem->delete($destination_filename))
413
+ throw new FileOperationException('Could not delete file: ' . $destination_filename, 'delete', 'file', $destination_filename);
414
+
415
+ if (!$wp_filesystem->put_contents($destination_filename, $contents, FS_CHMOD_FILE)) {
416
+ throw new FileOperationException('Could not create file: ' . $destination_filename, 'create', 'file', $destination_filename);
417
+ }
418
+ }
419
+ }
420
+
421
+ /**
422
+ * Create folders
423
+ * @param $folders array(folderpath1, folderpath2, ...)
424
+ * @param string $method
425
+ * @param string $url
426
+ * @throws FileOperationException
427
+ */
428
+ function w3_create_folders($folders, $method = '', $url = '') {
429
+ if (empty($add_in_files) && empty($folders))
430
+ return;
431
+
432
+ w3_wp_request_filesystem_credentials($method, $url);
433
+
434
+ global $wp_filesystem;
435
+
436
+ foreach($folders as $folder) {
437
+ if (!$wp_filesystem->mkdir($folder, FS_CHMOD_DIR)) {
438
+ throw new FileOperationException('Could not create folder:' . $folder, 'create', 'folder', $folder);
439
+ }
440
+ }
441
+ }
442
+
443
+ /**
444
+ * Tries to write file content
445
+ * @param $filename path to file
446
+ * @param $content data to write
447
+ * @param string $method Which method to use when creating
448
+ * @param string $url Where to redirect after creation
449
+ * @param bool|string $context folder in which to write file
450
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
451
+ * @throws FileOperationException
452
+ * @return true;
453
+ */
454
+ function w3_write_to_file($filename, $content, $method = '', $url = '', $context = false) {
455
+ if (is_writable($filename)) {
456
+ if (@file_put_contents($filename, $content))
457
+ return true;
458
+ w3_wp_request_filesystem_credentials('direct');
459
+ global $wp_filesystem;
460
+ if ($wp_filesystem->put_contents($filename, $content))
461
+ return true;
462
+ }
463
+
464
+ w3_wp_request_filesystem_credentials($method, $url, $context);
465
+ $permissions = array(0644, 0664, 0666);
466
+ global $wp_filesystem;
467
+ if (!$wp_filesystem->put_contents($filename, $content)) {
468
+ foreach ($permissions as $permission) {
469
+ try{
470
+ w3_chmod_file($filename, $permission);
471
+ if ($wp_filesystem->put_contents($filename, $content))
472
+ return true;
473
+ }catch (Exception $ex) {}
474
+ }
475
+ throw new FileOperationException('Could not write to file: ' . $filename, 'write', 'file', $filename);
476
+ }
477
+ return true;
478
+ }
479
+
480
+ /**
481
+ * Tries to read file content
482
+ * @param $filename path to file
483
+ * @param string $method Which method to use when creating
484
+ * @param string $url Where to redirect after creation
485
+ * @param bool|string $context folder to read from
486
+ * @return mixed
487
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
488
+ * @throws FileOperationException
489
+ */
490
+ function w3_read_from_file($filename, $method = '', $url = '', $context = false) {
491
+ w3_wp_request_filesystem_credentials($method, $url, $context);
492
+
493
+ global $wp_filesystem;
494
+ if (!($content = $wp_filesystem->get_contents($filename))) {
495
+ throw new FileOperationException('Could not read file: ' . $filename, 'write', 'file', $filename);
496
+ }
497
+ return $content;
498
+ }
499
+
500
+ /**
501
+ * @param string $dir path to dir
502
+ * @param int $permission
503
+ * @param bool $recursive
504
+ * @param string $method
505
+ * @param string $url
506
+ * @param bool|string $context folder where dir resides to chmod
507
+ * @return bool
508
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
509
+ * @throws FileOperationException
510
+ */
511
+ function w3_chmod_dir($dir, $permission, $recursive = false, $method = '', $url = '', $context = false) {
512
+ if (!is_dir($dir) || !file_exists($dir))
513
+ return false;
514
+ w3_wp_request_filesystem_credentials($method, $url, $context);
515
+
516
+ global $wp_filesystem;
517
+
518
+ if (!$wp_filesystem->chmod($dir, $permission, $recursive)) {
519
+ throw new FileOperationException('Could not chmod dir: ' . $dir, 'chmod', 'dir', $dir);
520
+ }
521
+
522
+ return true;
523
+ }
524
+
525
+ /**
526
+ * @param $file path to file
527
+ * @param $permission
528
+ * @param string $method
529
+ * @param string $url
530
+ * @param bool|string $context
531
+ * @return bool
532
+ * @throws FilesystemCredentialException with S/FTP form if it can't get the required filesystem credentials
533
+ * @throws FileOperationException
534
+ */
535
+ function w3_chmod_file($file, $permission, $method = '', $url = '', $context = false) {
536
+ if (!file_exists($file))
537
+ return false;
538
+ if (@chmod($file, $permission))
539
+ return true;
540
+
541
+ w3_wp_request_filesystem_credentials($method, $url, $context);
542
+
543
+ global $wp_filesystem;
544
+
545
+ if (!$wp_filesystem->chmod($file, $permission)) {
546
+ throw new FileOperationException('Could not chmod file: ' . $file, 'chmod', 'file', $file);
547
+ }
548
+
549
+ return true;
550
+ }
551
+
552
+ /**
553
+ * Creates maintenance mode file
554
+ * @param $time
555
+ */
556
+ function w3_enable_maintenance_mode($time = null) {
557
+ if (is_null($time))
558
+ $time = 'time()';
559
+ w3_write_to_file(w3_get_site_root() . '/.maintenance', "<?php \$upgrading = $time; ?>");
560
+ }
561
+
562
+ /**
563
+ * Deletes maintenance mode file
564
+ */
565
+ function w3_disable_maintenance_mode() {
566
+ w3_wp_delete_file(w3_get_site_root() . '/.maintenance');
567
+ }
568
+
569
+ /**
570
+ * Thrown when the plugin fails to get correct filesystem rights when it tries to modify manipulate filesystem.
571
+ */
572
+ class FilesystemCredentialException extends Exception
573
+ {
574
+ private $method_used;
575
+ private $ftp_form;
576
+
577
+ public function __construct($message, $method_used = 'direct', $ftp_form = '') {
578
+ parent::__construct($message);
579
+ $this->method_used = $method_used;
580
+ $this->ftp_form = $ftp_form;
581
+ }
582
+
583
+ public function method_used() {
584
+ return $this->method_used;
585
+ }
586
+
587
+ public function ftp_form() {
588
+ return $this->ftp_form;
589
+
590
+ }
591
+ }
592
+
593
+ /**
594
+ * Thrown when the plugin fails to read, create, delete files and folders.
595
+ */
596
+ class FileOperationException extends Exception {
597
+ private $operation;
598
+ private $file_type;
599
+ private $filename;
600
+ public function __construct($message, $operation = '', $file_type = '', $filename = '') {
601
+ parent::__construct($message);
602
+ $this->operation = $operation;
603
+ $this->file_type = $file_type;
604
+ $this->filename = $filename;
605
+ }
606
+
607
+ public function getFileType()
608
+ {
609
+ return $this->file_type;
610
+ }
611
+
612
+ public function getFilename()
613
+ {
614
+ return $this->filename;
615
+ }
616
+
617
+ public function getOperation()
618
+ {
619
+ return $this->operation;
620
+ }
621
+ }
inc/functions/compat.php CHANGED
@@ -19,46 +19,6 @@ if (!function_exists('file_put_contents')) {
19
  }
20
  }
21
 
22
- if (!function_exists('json_encode')) {
23
- function json_encode($string) {
24
- global $json;
25
-
26
- if (!is_a($json, 'Services_JSON')) {
27
- require_once W3TC_LIB_DIR . '/JSON.php';
28
- $json = new Services_JSON();
29
- }
30
-
31
- return $json->encodeUnsafe($string);
32
- }
33
- }
34
-
35
- if (!function_exists('json_decode')) {
36
- function json_decode($string, $assoc_array = false) {
37
- global $json;
38
-
39
- if (!is_a($json, 'Services_JSON')) {
40
- require_once W3TC_LIB_DIR . '/JSON.php';
41
- $json = new Services_JSON();
42
- }
43
-
44
- $res = $json->decode($string);
45
-
46
- if ($assoc_array) {
47
- $res = _json_decode_object_helper($res);
48
- }
49
-
50
- return $res;
51
- }
52
-
53
- function _json_decode_object_helper($data) {
54
- if (is_object($data)) {
55
- $data = get_object_vars($data);
56
- }
57
-
58
- return (is_array($data) ? array_map(__FUNCTION__, $data) : $data);
59
- }
60
- }
61
-
62
  if (!function_exists('fnmatch')) {
63
  define('FNM_PATHNAME', 1);
64
  define('FNM_NOESCAPE', 2);
@@ -102,3 +62,61 @@ if (!function_exists('fnmatch')) {
102
  return (boolean) preg_match($pattern, $string);
103
  }
104
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  }
20
  }
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  if (!function_exists('fnmatch')) {
23
  define('FNM_PATHNAME', 1);
24
  define('FNM_NOESCAPE', 2);
62
  return (boolean) preg_match($pattern, $string);
63
  }
64
  }
65
+ function w3tc_get_theme($theme) {
66
+ global $wp_version;
67
+ if (version_compare($wp_version,'3.4', '<'))
68
+ return get_theme($theme);
69
+
70
+ global $wp_themes;
71
+ if ( isset( $wp_themes ) )
72
+ return $wp_themes;
73
+
74
+ $themes = wp_get_themes();
75
+ $wp_themes = array();
76
+
77
+ foreach ( $themes as $theme ) {
78
+ $name = $theme->get('Name');
79
+ if ( isset( $wp_themes[ $name ] ) )
80
+ $wp_themes[ $name . '/' . $theme->get_stylesheet() ] = $theme;
81
+ else
82
+ $wp_themes[ $name ] = $theme;
83
+ }
84
+
85
+ return $wp_themes[$theme];
86
+ }
87
+ function w3tc_get_current_theme_name() {
88
+ global $wp_version;
89
+ if (version_compare($wp_version,'3.4', '>='))
90
+ return wp_get_theme()->get('Name');
91
+ return get_current_theme();
92
+ }
93
+
94
+ function w3tc_get_current_theme() {
95
+ global $wp_version;
96
+ if (version_compare($wp_version,'3.4', '>='))
97
+ return wp_get_theme();
98
+ return get_theme(get_current_theme());
99
+ }
100
+
101
+ function w3tc_get_themes() {
102
+ global $wp_version;
103
+ if (version_compare($wp_version,'3.4', '<'))
104
+ return get_themes();
105
+
106
+ global $wp_themes;
107
+ if ( isset( $wp_themes ) )
108
+ return $wp_themes;
109
+
110
+ $themes = wp_get_themes();
111
+ $wp_themes = array();
112
+
113
+ foreach ( $themes as $theme ) {
114
+ $name = $theme->get('Name');
115
+ if ( isset( $wp_themes[ $name ] ) )
116
+ $wp_themes[ $name . '/' . $theme->get_stylesheet() ] = $theme;
117
+ else
118
+ $wp_themes[ $name ] = $theme;
119
+ }
120
+
121
+ return $wp_themes;
122
+ }
inc/functions/extract.php CHANGED
@@ -20,7 +20,20 @@ function w3_extract_js($content) {
20
 
21
  return $files;
22
  }
 
 
 
 
 
 
 
 
 
 
 
23
 
 
 
24
  /**
25
  * Extract CSS files from content
26
  *
@@ -58,3 +71,34 @@ function w3_extract_css($content) {
58
 
59
  return $files;
60
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
  return $files;
22
  }
23
+ function w3_extract_js2($content) {
24
+ $matches = null;
25
+ $files = array();
26
+
27
+ $content = preg_replace('~<!--.*?-->~s', '', $content);
28
+
29
+ if (preg_match_all('~(<script\s+[^<>]*src=["\']?([^"\']+)["\']?[^<>]*>\s*</script>)~is', $content, $matches)) {
30
+ $files = $matches[1];
31
+ }
32
+
33
+ $files = array_values(array_unique($files));
34
 
35
+ return $files;
36
+ }
37
  /**
38
  * Extract CSS files from content
39
  *
71
 
72
  return $files;
73
  }
74
+
75
+ function w3_extract_css2($content) {
76
+ $matches = null;
77
+ $files = array();
78
+
79
+ $content = preg_replace('~<!--.*?-->~s', '', $content);
80
+
81
+ if (preg_match_all('~<link\s+([^>]+)/?>(.*</link>)?~Uis', $content, $matches, PREG_SET_ORDER)) {
82
+ foreach ($matches as $match) {
83
+ $attrs = array();
84
+ $attr_matches = null;
85
+ if (preg_match_all('~(\w+)=["\']([^"\']*)["\']~', $match[1], $attr_matches, PREG_SET_ORDER)) {
86
+ foreach ($attr_matches as $attr_match) {
87
+ $attrs[$attr_match[1]] = trim($attr_match[2]);
88
+ }
89
+ }
90
+
91
+ if (isset($attrs['href']) && isset($attrs['rel']) && stristr($attrs['rel'], 'stylesheet') !== false && (!isset($attrs['media']) || stristr($attrs['media'], 'print') === false)) {
92
+ $files[] = array($match[0], $attrs['href']);
93
+ }
94
+ }
95
+
96
+ }
97
+
98
+ if (preg_match_all('~@import\s+(url\s*)?\(?["\']?\s*([^"\'\)\s]+)\s*["\']?\)?[^;]*;?~is', $content, $matches, PREG_SET_ORDER)) {
99
+ foreach($matches as $match)
100
+ $files[] = array($match[0],$match[2]);
101
+ }
102
+
103
+ return $files;
104
+ }
inc/functions/file.php CHANGED
@@ -30,6 +30,46 @@ function w3_mkdir($path, $mask = 0777, $curr_path = '') {
30
  return true;
31
  }
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  /**
34
  * Recursive remove dir
35
  *
@@ -133,6 +173,28 @@ function w3_dirname($path) {
133
  return $dirname;
134
  }
135
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  /**
137
  * Returns open basedirs
138
  *
@@ -175,3 +237,45 @@ function w3_check_open_basedir($path) {
175
 
176
  return false;
177
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  return true;
31
  }
32
 
33
+ /**
34
+ * Recursive creates directory from some directory
35
+ * Does not try to create directory before from
36
+ *
37
+ * @param string $path
38
+ * @param string $from_path
39
+ * @param integer $mask
40
+ * @return boolean
41
+ */
42
+ function w3_mkdir_from($path, $from_path = '', $mask = 0777) {
43
+ $path = w3_realpath($path);
44
+
45
+ $from_path = w3_realpath($from_path);
46
+ if (substr($path, 0, strlen($from_path)) != $from_path)
47
+ return false;
48
+
49
+ $path = substr($path, strlen($from_path));
50
+
51
+ $path = trim($path, '/');
52
+ $dirs = explode('/', $path);
53
+
54
+ $curr_path = $from_path;
55
+
56
+ foreach ($dirs as $dir) {
57
+ if ($dir == '') {
58
+ return false;
59
+ }
60
+
61
+ $curr_path .= ($curr_path == '' ? '' : '/') . $dir;
62
+
63
+ if (!@is_dir($curr_path)) {
64
+ if (!@mkdir($curr_path, $mask)) {
65
+ return false;
66
+ }
67
+ }
68
+ }
69
+
70
+ return true;
71
+ }
72
+
73
  /**
74
  * Recursive remove dir
75
  *
173
  return $dirname;
174
  }
175
 
176
+ function w3_make_relative_path($filename, $base_dir) {
177
+ $filename = w3_realpath($filename);
178
+ $base_dir = w3_realpath($base_dir);
179
+
180
+ $filename_parts = explode('/', trim($filename, '/'));
181
+ $base_dir_parts = explode('/', trim($base_dir, '/'));
182
+
183
+ // count number of equal path parts
184
+ for ($equal_number = 0;;$equal_number++) {
185
+ if ($equal_number >= count($filename_parts) ||
186
+ $equal_number >= count($base_dir_parts))
187
+ break;
188
+ if ($filename_parts[$equal_number] != $base_dir_parts[$equal_number])
189
+ break;
190
+ }
191
+
192
+ $relative_dir = str_repeat('../', count($base_dir_parts) - $equal_number);
193
+ $relative_dir .= implode('/', array_slice($filename_parts, $equal_number));
194
+
195
+ return $relative_dir;
196
+ }
197
+
198
  /**
199
  * Returns open basedirs
200
  *
237
 
238
  return false;
239
  }
240
+
241
+ function w3_get_file_permissions($file) {
242
+ if (function_exists('fileperms') && $fileperms = @fileperms($file)) {
243
+ $fileperms = sprintf('0%o', 0777 & $fileperms);
244
+ } else {
245
+ clearstatcache();
246
+ $stat=@stat($file);
247
+ if ($stat)
248
+ $fileperms = sprintf("0%o", 0777 & $stat['mode']);
249
+ else
250
+ $fileperms = 'unknown';
251
+ }
252
+ return $fileperms;
253
+ }
254
+
255
+ function w3_get_file_owner($file = '') {
256
+ $fileowner = $filegroup = 'unknown';
257
+ if ($file) {
258
+ if (function_exists('fileowner') && function_exists('fileowner')) {
259
+ $fileowner = @fileowner($file);
260
+ $filegroup = @filegroup($file);
261
+ if (function_exists('posix_getpwuid') && function_exists('posix_getgrgid')) {
262
+ $fileowner = @posix_getpwuid($fileowner);
263
+ $fileowner = $fileowner['name'];
264
+ $filegroup = @posix_getgrgid($filegroup);
265
+ $filegroup = $filegroup['name'];
266
+ }
267
+ }
268
+ } else {
269
+ if (function_exists('getmyuid') && function_exists('getmygid')) {
270
+ $fileowner = @getmyuid();
271
+ $filegroup = @getmygid();
272
+ if (function_exists('posix_getpwuid') && function_exists('posix_getgrgid')) {
273
+ $fileowner = @posix_getpwuid($fileowner);
274
+ $fileowner = $fileowner['name'];
275
+ $filegroup = @posix_getgrgid($filegroup);
276
+ $filegroup = $filegroup['name'];
277
+ }
278
+ }
279
+ }
280
+ return $fileowner . ':' . $filegroup;
281
+ }
inc/functions/http.php CHANGED
@@ -1,5 +1,20 @@
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  /**
4
  * Sends HTTP request
5
  *
@@ -8,6 +23,12 @@
8
  * @return WP_Error|array
9
  */
10
  function w3_http_request($url, $args = array()) {
 
 
 
 
 
 
11
  $args = array_merge(array(
12
  'user-agent' => W3TC_POWERED_BY
13
  ), $args);
1
  <?php
2
 
3
+ /**
4
+ * Filter handler for use_curl_transport.
5
+ * Workaround to not use curl for extra http methods
6
+ *
7
+ * @param $result boolean
8
+ * @param $args array
9
+ * @return boolean
10
+ */
11
+ function w3_use_curl_transport($result, $args) {
12
+ if (isset($args['method']) && $args['method'] != 'GET' && $args['method'] != 'POST')
13
+ return false;
14
+
15
+ return $result;
16
+ }
17
+
18
  /**
19
  * Sends HTTP request
20
  *
23
  * @return WP_Error|array
24
  */
25
  function w3_http_request($url, $args = array()) {
26
+ static $filter_set = false;
27
+ if (!$filter_set) {
28
+ add_filter('use_curl_transport', 'w3_use_curl_transport', 10, 2);
29
+ $filter_set = true;
30
+ }
31
+
32
  $args = array_merge(array(
33
  'user-agent' => W3TC_POWERED_BY
34
  ), $args);
inc/functions/ip_in_range.php ADDED
@@ -0,0 +1,212 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ * ip_in_range.php - Function to determine if an IP is located in a
4
+ * specific range as specified via several alternative
5
+ * formats.
6
+ *
7
+ * Network ranges can be specified as:
8
+ * 1. Wildcard format: 1.2.3.*
9
+ * 2. CIDR format: 1.2.3/24 OR 1.2.3.4/255.255.255.0
10
+ * 3. Start-End IP format: 1.2.3.0-1.2.3.255
11
+ *
12
+ * Return value BOOLEAN : ip_in_range($ip, $range);
13
+ *
14
+ * Copyright 2008: Paul Gregg <pgregg@pgregg.com>
15
+ * 10 January 2008
16
+ * Version: 1.2
17
+ *
18
+ * Source website: http://www.pgregg.com/projects/php/ip_in_range/
19
+ * Version 1.2
20
+ *
21
+ * This software is Donationware - if you feel you have benefited from
22
+ * the use of this tool then please consider a donation. The value of
23
+ * which is entirely left up to your discretion.
24
+ * http://www.pgregg.com/donate/
25
+ *
26
+ * Please do not remove this header, or source attibution from this file.
27
+ */
28
+
29
+ /*
30
+ * Modified by James Greene <james@cloudflare.com> to include IPV6 support
31
+ * (original version only supported IPV4).
32
+ * 21 May 2012
33
+ */
34
+
35
+
36
+ // decbin32
37
+ // In order to simplify working with IP addresses (in binary) and their
38
+ // netmasks, it is easier to ensure that the binary strings are padded
39
+ // with zeros out to 32 characters - IP addresses are 32 bit numbers
40
+ function w3_decbin32 ($dec) {
41
+ return str_pad(decbin($dec), 32, '0', STR_PAD_LEFT);
42
+ }
43
+
44
+ // ipv4_in_range
45
+ // This function takes 2 arguments, an IP address and a "range" in several
46
+ // different formats.
47
+ // Network ranges can be specified as:
48
+ // 1. Wildcard format: 1.2.3.*
49
+ // 2. CIDR format: 1.2.3/24 OR 1.2.3.4/255.255.255.0
50
+ // 3. Start-End IP format: 1.2.3.0-1.2.3.255
51
+ // The function will return true if the supplied IP is within the range.
52
+ // Note little validation is done on the range inputs - it expects you to
53
+ // use one of the above 3 formats.
54
+ function w3_ipv4_in_range($ip, $range) {
55
+ if (strpos($range, '/') !== false) {
56
+ // $range is in IP/NETMASK format
57
+ list($range, $netmask) = explode('/', $range, 2);
58
+ if (strpos($netmask, '.') !== false) {
59
+ // $netmask is a 255.255.0.0 format
60
+ $netmask = str_replace('*', '0', $netmask);
61
+ $netmask_dec = ip2long($netmask);
62
+ return ( (ip2long($ip) & $netmask_dec) == (ip2long($range) & $netmask_dec) );
63
+ } else {
64
+ // $netmask is a CIDR size block
65
+ // fix the range argument
66
+ $x = explode('.', $range);
67
+ while(count($x)<4) $x[] = '0';
68
+ list($a,$b,$c,$d) = $x;
69
+ $range = sprintf("%u.%u.%u.%u", empty($a)?'0':$a, empty($b)?'0':$b,empty($c)?'0':$c,empty($d)?'0':$d);
70
+ $range_dec = ip2long($range);
71
+ $ip_dec = ip2long($ip);
72
+
73
+ # Strategy 1 - Create the netmask with 'netmask' 1s and then fill it to 32 with 0s
74
+ #$netmask_dec = bindec(str_pad('', $netmask, '1') . str_pad('', 32-$netmask, '0'));
75
+
76
+ # Strategy 2 - Use math to create it
77
+ $wildcard_dec = pow(2, (32-$netmask)) - 1;
78
+ $netmask_dec = ~ $wildcard_dec;
79
+
80
+ return (($ip_dec & $netmask_dec) == ($range_dec & $netmask_dec));
81
+ }
82
+ } else {
83
+ // range might be 255.255.*.* or 1.2.3.0-1.2.3.255
84
+ if (strpos($range, '*') !==false) { // a.b.*.* format
85
+ // Just convert to A-B format by setting * to 0 for A and 255 for B
86
+ $lower = str_replace('*', '0', $range);
87
+ $upper = str_replace('*', '255', $range);
88
+ $range = "$lower-$upper";
89
+ }
90
+
91
+ if (strpos($range, '-')!==false) { // A-B format
92
+ list($lower, $upper) = explode('-', $range, 2);
93
+ $lower_dec = (float)sprintf("%u",ip2long($lower));
94
+ $upper_dec = (float)sprintf("%u",ip2long($upper));
95
+ $ip_dec = (float)sprintf("%u",ip2long($ip));
96
+ return ( ($ip_dec>=$lower_dec) && ($ip_dec<=$upper_dec) );
97
+ }
98
+ return false;
99
+ }
100
+ }
101
+
102
+ function w3_ip2long6($ip) {
103
+ if (substr_count($ip, '::')) {
104
+ $ip = str_replace('::', str_repeat(':0000', 8 - substr_count($ip, ':')) . ':', $ip);
105
+ }
106
+
107
+ $ip = explode(':', $ip);
108
+ $r_ip = '';
109
+ foreach ($ip as $v) {
110
+ $r_ip .= str_pad(base_convert($v, 16, 2), 16, 0, STR_PAD_LEFT);
111
+ }
112
+
113
+ return base_convert($r_ip, 2, 10);
114
+ }
115
+
116
+ // Get the ipv6 full format and return it as a decimal value.
117
+ function w3_get_ipv6_full($ip)
118
+ {
119
+ $pieces = explode ("/", $ip, 2);
120
+ $left_piece = $pieces[0];
121
+ $right_piece = $pieces[1];
122
+
123
+ // Extract out the main IP pieces
124
+ $ip_pieces = explode("::", $left_piece, 2);
125
+ $main_ip_piece = $ip_pieces[0];
126
+ $last_ip_piece = $ip_pieces[1];
127
+
128
+ // Pad out the shorthand entries.
129
+ $main_ip_pieces = explode(":", $main_ip_piece);
130
+ foreach($main_ip_pieces as $key=>$val) {
131
+ $main_ip_pieces[$key] = str_pad($main_ip_pieces[$key], 4, "0", STR_PAD_LEFT);
132
+ }
133
+
134
+ // Check to see if the last IP block (part after ::) is set
135
+ $last_piece = "";
136
+ $size = count($main_ip_pieces);
137
+ if (trim($last_ip_piece) != "") {
138
+ $last_piece = str_pad($last_ip_piece, 4, "0", STR_PAD_LEFT);
139
+
140
+ // Build the full form of the IPV6 address considering the last IP block set
141
+ for ($i = $size; $i < 7; $i++) {
142
+ $main_ip_pieces[$i] = "0000";
143
+ }
144
+ $main_ip_pieces[7] = $last_piece;
145
+ }
146
+ else {
147
+ // Build the full form of the IPV6 address
148
+ for ($i = $size; $i < 8; $i++) {
149
+ $main_ip_pieces[$i] = "0000";
150
+ }
151
+ }
152
+
153
+ // Rebuild the final long form IPV6 address
154
+ $final_ip = implode(":", $main_ip_pieces);
155
+
156
+ return w3_ip2long6($final_ip);
157
+ }
158
+
159
+
160
+ // Determine whether the IPV6 address is within range.
161
+ // $ip is the IPV6 address in decimal format to check if its within the IP range created by the cloudflare IPV6 address, $range_ip.
162
+ // $ip and $range_ip are converted to full IPV6 format.
163
+ // Returns true if the IPV6 address, $ip, is within the range from $range_ip. False otherwise.
164
+ function w3_ipv6_in_range($ip, $range_ip)
165
+ {
166
+ $pieces = explode ("/", $range_ip, 2);
167
+ $left_piece = $pieces[0];
168
+ $right_piece = $pieces[1];
169
+
170
+ // Extract out the main IP pieces
171
+ $ip_pieces = explode("::", $left_piece, 2);
172
+ $main_ip_piece = $ip_pieces[0];
173
+ $last_ip_piece = $ip_pieces[1];
174
+
175
+ // Pad out the shorthand entries.
176
+ $main_ip_pieces = explode(":", $main_ip_piece);
177
+ foreach($main_ip_pieces as $key=>$val) {
178
+ $main_ip_pieces[$key] = str_pad($main_ip_pieces[$key], 4, "0", STR_PAD_LEFT);
179
+ }
180
+
181
+ // Create the first and last pieces that will denote the IPV6 range.
182
+ $first = $main_ip_pieces;
183
+ $last = $main_ip_pieces;
184
+
185
+ // Check to see if the last IP block (part after ::) is set
186
+ $last_piece = "";
187
+ $size = count($main_ip_pieces);
188
+ if (trim($last_ip_piece) != "") {
189
+ $last_piece = str_pad($last_ip_piece, 4, "0", STR_PAD_LEFT);
190
+
191
+ // Build the full form of the IPV6 address considering the last IP block set
192
+ for ($i = $size; $i < 7; $i++) {
193
+ $first[$i] = "0000";
194
+ $last[$i] = "ffff";
195
+ }
196
+ $main_ip_pieces[7] = $last_piece;
197
+ }
198
+ else {
199
+ // Build the full form of the IPV6 address
200
+ for ($i = $size; $i < 8; $i++) {
201
+ $first[$i] = "0000";
202
+ $last[$i] = "ffff";
203
+ }
204
+ }
205
+
206
+ // Rebuild the final long form IPV6 address
207
+ $first = w3_ip2long6(implode(":", $first));
208
+ $last = w3_ip2long6(implode(":", $last));
209
+ $in_range = ($ip >= $first && $ip <= $last);
210
+
211
+ return $in_range;
212
+ }
inc/functions/mime.php CHANGED
File without changes
inc/functions/multisite.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ w3_require_once(W3TC_INC_DIR . '/functions/file.php');
4
+
5
+ /**
6
+ * Registers new blog url in url=>blog mapfile
7
+ */
8
+ function w3_blogmap_register_new_item($blog_home_url, $config) {
9
+ if (!isset($GLOBALS['current_blog']))
10
+ return false;
11
+
12
+ $filename = w3_blogmap_filename($blog_home_url);
13
+
14
+ if (!file_exists($filename))
15
+ $blog_ids = array();
16
+ else {
17
+ $data = file_get_contents($filename);
18
+ $blog_ids = @eval($data);
19
+ if (!is_array($blog_ids))
20
+ $blog_ids = array();
21
+ }
22
+
23
+ if (isset($blog_ids[$blog_home_url]))
24
+ return false;
25
+ $data = $config->get_boolean('common.force_master') ? 'm' : 'c';
26
+ $blog_id = $GLOBALS['current_blog']->blog_id;
27
+
28
+ $blog_ids_strings[] = "'" . $blog_home_url . "' => '" . $data.$blog_id . "'";
29
+ foreach ($blog_ids as $key => $value)
30
+ $blog_ids_strings[] = "'" . $key . "' => '" . $value . "'";
31
+
32
+ $data = sprintf('return array(%s);', implode(', ', $blog_ids_strings));
33
+ if (!is_dir(dirname($filename)))
34
+ w3_mkdir_from(dirname($filename), W3TC_CACHE_DIR);
35
+
36
+ return @file_put_contents($filename, $data);
37
+ }
inc/functions/other.php ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Parses FAQ XML file into array
4
+ *
5
+ * @return array
6
+ */
7
+ function w3_parse_faq() {
8
+ $faq = array();
9
+ $file = W3TC_LANGUAGES_DIR . '/faq-' . get_locale() . '.xml';
10
+ if (!file_exists($file)) {
11
+ $file = W3TC_LANGUAGES_DIR . '/faq-en_US.xml';
12
+ }
13
+ $xml_premium = null;
14
+ if ((defined('W3TC_ENTERPRISE') && W3TC_ENTERPRISE) || (defined('W3TC_PRO') && W3TC_PRO)) {
15
+ $file_premium = W3TC_LANGUAGES_DIR . '/faq-premium-en_US.xml';
16
+ $xml_premium = @file_get_contents($file_premium);
17
+ }
18
+
19
+ $xml = @file_get_contents($file);
20
+
21
+ if ($xml) {
22
+ if (function_exists('xml_parser_create')) {
23
+ $parser = @xml_parser_create('UTF-8');
24
+
25
+ xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
26
+ xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
27
+ xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
28
+ $values = null;
29
+
30
+ $result = xml_parse_into_struct($parser, $xml, $values);
31
+ xml_parser_free($parser);
32
+
33
+ if ($result) {
34
+ $index = 0;
35
+ $current_section = '';
36
+ $current_entry = array();
37
+
38
+ foreach ($values as $value) {
39
+ switch ($value['type']) {
40
+ case 'open':
41
+ if ($value['tag'] === 'section') {
42
+ $current_section = $value['attributes']['name'];
43
+ }
44
+ break;
45
+
46
+ case 'complete':
47
+ switch ($value['tag']) {
48
+ case 'question':
49
+ $current_entry['question'] = $value['value'];
50
+ break;
51
+
52
+ case 'answer':
53
+ $current_entry['answer'] = $value['value'];
54
+ break;
55
+ }
56
+ break;
57
+
58
+ case 'close':
59
+ if ($value['tag'] == 'entry') {
60
+ $current_entry['index'] = ++$index;
61
+ $faq[$current_section][] = $current_entry;
62
+ }
63
+ break;
64
+ }
65
+ }
66
+
67
+ if ($xml_premium) {
68
+ $parser = @xml_parser_create('UTF-8');
69
+
70
+ xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
71
+ xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
72
+ xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
73
+ $values = null;
74
+
75
+ $result = xml_parse_into_struct($parser, $xml_premium, $values);
76
+ xml_parser_free($parser);
77
+
78
+ if ($result) {
79
+ $current_section = '';
80
+ $current_entry = array();
81
+
82
+ foreach ($values as $value) {
83
+ switch ($value['type']) {
84
+ case 'open':
85
+ if ($value['tag'] === 'section') {
86
+ $current_section = $value['attributes']['name'];
87
+ }
88
+ break;
89
+
90
+ case 'complete':
91
+ switch ($value['tag']) {
92
+ case 'question':
93
+ $current_entry['question'] = $value['value'];
94
+ break;
95
+
96
+ case 'answer':
97
+ $current_entry['answer'] = $value['value'];
98
+ break;
99
+ }
100
+ break;
101
+
102
+ case 'close':
103
+ if ($value['tag'] == 'entry') {
104
+ $current_entry['index'] = ++$index;
105
+ $faq[$current_section][] = $current_entry;
106
+ }
107
+ break;
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
114
+ }
115
+
116
+ return $faq;
117
+ }
inc/functions/plugin.php CHANGED
@@ -40,7 +40,7 @@ function w3tc_do_action($action, $value = null) {
40
  * @return boolean
41
  */
42
  function w3tc_pgcache_flush() {
43
- $w3_pgcache = & w3_instance('W3_PgCacheFlush');
44
  return $w3_pgcache->flush();
45
  }
46
 
@@ -51,21 +51,30 @@ function w3tc_pgcache_flush() {
51
  * @return boolean
52
  */
53
  function w3tc_pgcache_flush_post($post_id) {
54
- $w3_pgcache = & w3_instance('W3_PgCacheFlush');
55
 
56
- return $w3_pgcache->flush_post($post_id);
57
  }
58
 
59
  /**
60
- * Shortcut for database cache flush
61
  *
 
62
  * @return boolean
63
  */
64
- function w3tc_dbcache_flush() {
65
- require_once W3TC_LIB_W3_DIR . '/Db.php';
66
 
67
- @$w3_db = & W3_Db::instance();
 
68
 
 
 
 
 
 
 
 
69
  return $w3_db->flush_cache();
70
  }
71
 
@@ -75,7 +84,7 @@ function w3tc_dbcache_flush() {
75
  * @return boolean
76
  */
77
  function w3tc_minify_flush() {
78
- $w3_minify = & w3_instance('W3_Minify');
79
 
80
  return $w3_minify->flush();
81
  }
@@ -86,10 +95,49 @@ function w3tc_minify_flush() {
86
  * @return boolean
87
  */
88
  function w3tc_objectcache_flush() {
89
- $w3_objectcache = & w3_instance('W3_ObjectCache');
90
  return $w3_objectcache->flush();
91
  }
92
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
93
  /**
94
  * Prints script tag for scripts group
95
  *
@@ -97,7 +145,7 @@ function w3tc_objectcache_flush() {
97
  * @retun void
98
  */
99
  function w3tc_minify_script_group($location) {
100
- $w3_plugin_minify = & w3_instance('W3_Plugin_Minify');
101
  $w3_plugin_minify->printed_scripts[] = $location;
102
 
103
  echo $w3_plugin_minify->get_script_group($location);
@@ -110,7 +158,7 @@ function w3tc_minify_script_group($location) {
110
  * @retun void
111
  */
112
  function w3tc_minify_style_group($location) {
113
- $w3_plugin_minify = & w3_instance('W3_Plugin_Minify');
114
  $w3_plugin_minify->printed_styles[] = $location;
115
 
116
  echo $w3_plugin_minify->get_style_group($location);
@@ -124,7 +172,7 @@ function w3tc_minify_style_group($location) {
124
  * @return void
125
  */
126
  function w3tc_minify_script_custom($files, $blocking = true) {
127
- $w3_plugin_minify = & w3_instance('W3_Plugin_Minify');
128
  echo $w3_plugin_minify->get_script_custom($files, $blocking);
129
  }
130
 
@@ -136,6 +184,230 @@ function w3tc_minify_script_custom($files, $blocking = true) {
136
  * @return void
137
  */
138
  function w3tc_minify_style_custom($files, $import = false) {
139
- $w3_plugin_minify = & w3_instance('W3_Plugin_Minify');
140
  echo $w3_plugin_minify->get_style_custom($files, $import);
141
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  * @return boolean
41
  */
42
  function w3tc_pgcache_flush() {
43
+ $w3_pgcache = w3_instance('W3_PgCacheFlush');
44
  return $w3_pgcache->flush();
45
  }
46
 
51
  * @return boolean
52
  */
53
  function w3tc_pgcache_flush_post($post_id) {
54
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
55
 
56
+ return $w3_cacheflush->pgcache_flush_post($post_id);
57
  }
58
 
59
  /**
60
+ * Shortcut for url page cache flush
61
  *
62
+ * @param string $url
63
  * @return boolean
64
  */
65
+ function w3tc_pgcache_flush_url($url) {
66
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
67
 
68
+ return $w3_cacheflush->pgcache_flush_url($url);
69
+ }
70
 
71
+ /**
72
+ * Shortcut for database cache flush
73
+ *
74
+ * @return boolean
75
+ */
76
+ function w3tc_dbcache_flush() {
77
+ $w3_db = w3_instance('W3_DbCache');
78
  return $w3_db->flush_cache();
79
  }
80
 
84
  * @return boolean
85
  */
86
  function w3tc_minify_flush() {
87
+ $w3_minify = w3_instance('W3_Minify');
88
 
89
  return $w3_minify->flush();
90
  }
95
  * @return boolean
96
  */
97
  function w3tc_objectcache_flush() {
98
+ $w3_objectcache = w3_instance('W3_ObjectCache');
99
  return $w3_objectcache->flush();
100
  }
101
 
102
+ /**
103
+ * Shortcut for CDN cache post purge
104
+ * @param $post_id
105
+ * @return mixed
106
+ */
107
+ function w3tc_cdncache_purge_post($post_id) {
108
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
109
+ return $w3_cacheflush->cdncache_purge_post($post_id);
110
+ }
111
+
112
+ /**
113
+ * Shortcut for CDN cache url purge
114
+ * @param string $url
115
+ * @return mixed
116
+ */
117
+ function w3tc_cdncache_purge_url($url) {
118
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
119
+ return $w3_cacheflush->cdncache_purge_url($url);
120
+ }
121
+
122
+ /**
123
+ * Shortcut for CDN cache purge
124
+ * @return mixed
125
+ */
126
+ function w3tc_cdncache_purge() {
127
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
128
+ return $w3_cacheflush->cdncache_purge();
129
+ }
130
+
131
+ /**
132
+ * Shortcut for CDN purge files
133
+ * @param array $files Array consisting of uri paths (i.e wp-content/uploads/image.pnp)
134
+ * @return mixed
135
+ */
136
+ function w3tc_cdn_purge_files($files) {
137
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
138
+ return $w3_cacheflush->cdn_purge_files($files);
139
+ }
140
+
141
  /**
142
  * Prints script tag for scripts group
143
  *
145
  * @retun void
146
  */
147
  function w3tc_minify_script_group($location) {
148
+ $w3_plugin_minify = w3_instance('W3_Plugin_Minify');
149
  $w3_plugin_minify->printed_scripts[] = $location;
150
 
151
  echo $w3_plugin_minify->get_script_group($location);
158
  * @retun void
159
  */
160
  function w3tc_minify_style_group($location) {
161
+ $w3_plugin_minify = w3_instance('W3_Plugin_Minify');
162
  $w3_plugin_minify->printed_styles[] = $location;
163
 
164
  echo $w3_plugin_minify->get_style_group($location);
172
  * @return void
173
  */
174
  function w3tc_minify_script_custom($files, $blocking = true) {
175
+ $w3_plugin_minify = w3_instance('W3_Plugin_Minify');
176
  echo $w3_plugin_minify->get_script_custom($files, $blocking);
177
  }
178
 
184
  * @return void
185
  */
186
  function w3tc_minify_style_custom($files, $import = false) {
187
+ $w3_plugin_minify = w3_instance('W3_Plugin_Minify');
188
  echo $w3_plugin_minify->get_style_custom($files, $import);
189
  }
190
+
191
+ /**
192
+ * @param string $fragment_group
193
+ * @param boolean $global If group is for whole network in MS install
194
+ * @return mixed
195
+ */
196
+ function w3tc_fragmentcache_flush_group($fragment_group, $global = false) {
197
+ $w3_fragmentcache = w3_instance('W3_CacheFlush');
198
+ return $w3_fragmentcache->fragmentcache_flush_group($fragment_group, $global);
199
+ }
200
+
201
+ /**
202
+ * Flush all fragment groups
203
+ * @return mixed
204
+ */
205
+ function w3tc_fragmentcache_flush() {
206
+ $w3_fragmentcache = w3_instance('W3_CacheFlush');
207
+ return $w3_fragmentcache->fragmentcache_flush();
208
+ }
209
+
210
+ /**
211
+ * Register a fragment group and connected actions for current blog
212
+ * @param string $group
213
+ * @param array $actions on which actions group should be flushed
214
+ * @return mixed
215
+ */
216
+ function w3tc_register_fragment_group($group, $actions) {
217
+ $w3_fragmentcache = w3_instance('W3_Pro_Plugin_FragmentCache');
218
+ return $w3_fragmentcache->register_group($group, $actions);
219
+ }
220
+
221
+ /**
222
+ * Register a fragment group for whole network in MS install
223
+ * @param $group
224
+ * @param $actions
225
+ * @return mixed
226
+ */
227
+ function w3tc_register_fragment_global_group($group, $actions) {
228
+ $w3_fragmentcache = w3_instance('W3_Pro_Plugin_FragmentCache');
229
+ return $w3_fragmentcache->register_global_group($group, $actions);
230
+ }
231
+
232
+ /**
233
+ * Shortcut for varnish flush
234
+ *
235
+ * @return boolean
236
+ */
237
+ function w3tc_varnish_flush() {
238
+ $w3_pgcache = w3_instance('W3_CacheFlush');
239
+ return $w3_pgcache->varnish_flush();
240
+ }
241
+
242
+ /**
243
+ * Shortcut for post varnish flush
244
+ *
245
+ * @param integer $post_id
246
+ * @return boolean
247
+ */
248
+ function w3tc_varnish_flush_post($post_id) {
249
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
250
+
251
+ return $w3_cacheflush->varnish_flush_post($post_id);
252
+ }
253
+
254
+ /**
255
+ * Shortcut for url varnish flush
256
+ *
257
+ * @param string $url
258
+ * @return boolean
259
+ */
260
+ function w3tc_varnish_flush_url($url) {
261
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
262
+
263
+ return $w3_cacheflush->varnish_flush_url($url);
264
+ }
265
+
266
+
267
+ /**
268
+ * Deletes files.
269
+ *
270
+ * @param string $mask regular expression matching files to be deleted
271
+ * @param bool $http if delete request should be made over http to current site. Default false.
272
+ * @return mixed
273
+ */
274
+ function w3tc_apc_delete_files_based_on_regex($mask, $http = false) {
275
+ if (!$http) {
276
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
277
+
278
+ return $w3_cacheflush->apc_delete_files_based_on_regex($mask);
279
+ } else {
280
+ $url = WP_PLUGIN_URL . '/' . dirname(W3TC_FILE) . '/pub/apc.php';
281
+ $path = parse_url($url, PHP_URL_PATH);
282
+ $post = array(
283
+ 'method' => 'POST',
284
+ 'timeout' => 45,
285
+ 'redirection' => 5,
286
+ 'httpversion' => '1.0',
287
+ 'blocking' => true,
288
+ 'body' => array( 'nonce' => wp_hash($path), 'command' => 'delete_files', 'regex' => $mask),
289
+ );
290
+ $result = wp_remote_post($url, $post);
291
+ if (is_wp_error($result)) {
292
+ return $result;
293
+ } elseif ($result['response']['code'] != '200') {
294
+ return $result['response']['code'];
295
+ }
296
+
297
+ return true;
298
+ }
299
+ }
300
+
301
+ /**
302
+ * Reloads files.
303
+ * @param string[] $files list of files supports, fullpath, from root, wp-content
304
+ * @param bool $http if delete request should be made over http to current site. Default false.
305
+ * @return mixed
306
+ */
307
+ function w3tc_apc_reload_files($files, $http = false) {
308
+
309
+ if (!$http) {
310
+ $w3_cacheflush = w3_instance('W3_CacheFlush');
311
+
312
+ return $w3_cacheflush->apc_reload_files($files);
313
+ } else {
314
+ $url = WP_PLUGIN_URL . '/' . dirname(W3TC_FILE) . '/pub/apc.php';
315
+ $path = parse_url($url, PHP_URL_PATH);
316
+
317
+ $post = array(
318
+ 'method' => 'POST',
319
+ 'timeout' => 45,
320
+ 'redirection' => 5,
321
+ 'httpversion' => '1.0',
322
+ 'blocking' => true,
323
+ 'body' => array( 'nonce' => wp_hash($path), 'command' => 'reload_files', 'files' => $files),
324
+ );
325
+ $result = wp_remote_post($url, $post);
326
+ if (is_wp_error($result)) {
327
+ return $result;
328
+ } elseif ($result['response']['code'] != '200') {
329
+ return $result['response']['code'];
330
+ }
331
+
332
+ return true;
333
+ }
334
+ }
335
+
336
+ /**
337
+ * Use w3tc_get_themes() to get a list themenames to use with user agent groups
338
+ * @param $group_name
339
+ * @param string $theme the themename default is default theme. For childtheme it should be parentthemename/childthemename
340
+ * @param string $redirect
341
+ * @param array $agents Remember to escape special characters like spaces, dots or dashes with a backslash. Regular expressions are also supported.
342
+ * @param bool $enabled
343
+ */
344
+ function w3tc_save_user_agent_group($group_name, $theme = 'default', $redirect = '', $agents = array(), $enabled = false) {
345
+ /**
346
+ * @var $w3_mobile W3_Mobile
347
+ */
348
+ $w3_mobile = w3_instance('W3_Mobile');
349
+ $w3_mobile->save_group($group_name, $theme, $redirect, $agents, $enabled);
350
+ }
351
+
352
+ /**
353
+ * @param $group
354
+ */
355
+ function w3tc_delete_user_agent_group($group) {
356
+ /**
357
+ * @var $w3_mobile W3_Mobile
358
+ */
359
+ $w3_mobile = w3_instance('W3_Mobile');
360
+ $w3_mobile->delete_group($group);
361
+
362
+ }
363
+
364
+ /**
365
+ * @param $group
366
+ * @return mixed
367
+ */
368
+ function w3tc_get_user_agent_group($group) {
369
+ /**
370
+ * @var $w3_mobile W3_Mobile
371
+ */
372
+ $w3_mobile = w3_instance('W3_Mobile');
373
+ return $w3_mobile->get_group_values($group);
374
+ }
375
+
376
+ /**
377
+ * Use w3tc_get_themes() to get a list themenames to use with referrer groups
378
+ * @param $group_name
379
+ * @param string $theme the themename default is default theme. For childtheme it should be parentthemename/childthemename
380
+ * @param string $redirect
381
+ * @param array $referrers Remember to escape special characters like spaces, dots or dashes with a backslash. Regular expressions are also supported.
382
+ * @param bool $enabled
383
+ */
384
+ function w3tc_save_referrer_group($group_name, $theme = 'default', $redirect = '', $referrers = array(), $enabled = false) {
385
+ /**
386
+ * @var $w3_referrer W3_Referrer
387
+ */
388
+ $w3_referrer = w3_instance('W3_Referrer');
389
+ $w3_referrer->save_group($group_name, $theme, $redirect, $referrers, $enabled);
390
+ }
391
+
392
+ /**
393
+ * @param $group
394
+ */
395
+ function w3tc_delete_referrer_group($group) {
396
+ /**
397
+ * @var $w3_referrer W3_Referrer
398
+ */
399
+ $w3_referrer = w3_instance('W3_Referrer');
400
+ $w3_referrer->delete_group($group);
401
+ }
402
+
403
+ /**
404
+ * @param $group
405
+ * @return mixed
406
+ */
407
+ function w3tc_get_referrer_group($group) {
408
+ /**
409
+ * @var $w3_mobile W3_Referrer
410
+ */
411
+ $w3_referrer = w3_instance('W3_Referrer');
412
+ return $w3_referrer->get_group_values($group);
413
+ }
inc/functions/rule.php CHANGED
@@ -1,5 +1,49 @@
1
  <?php
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  /**
4
  * Check if WP permalink directives exists
5
  *
@@ -15,13 +59,23 @@ function w3_is_permalink_rules() {
15
  return true;
16
  }
17
 
 
 
 
 
 
 
 
 
 
 
18
  /**
19
  * Returns nginx rules path
20
  *
21
  * @return string
22
  */
23
  function w3_get_nginx_rules_path() {
24
- $config = & w3_instance('W3_Config');
25
 
26
  $path = $config->get_string('config.path');
27
 
@@ -50,24 +104,6 @@ function w3_get_pgcache_rules_core_path() {
50
  return false;
51
  }
52
 
53
- /**
54
- * Returns path of pgcache cache rules file
55
- *
56
- * @return string
57
- */
58
- function w3_get_pgcache_rules_cache_path() {
59
- switch (true) {
60
- case w3_is_apache():
61
- case w3_is_litespeed():
62
- return W3TC_CACHE_FILE_PGCACHE_DIR . '/.htaccess';
63
-
64
- case w3_is_nginx():
65
- return w3_get_nginx_rules_path();
66
- }
67
-
68
- return false;
69
- }
70
-
71
  /**
72
  * Returns path of browsercache cache rules file
73
  *
@@ -113,7 +149,7 @@ function w3_get_minify_rules_core_path() {
113
  switch (true) {
114
  case w3_is_apache():
115
  case w3_is_litespeed():
116
- return W3TC_CACHE_FILE_MINIFY_DIR . '/.htaccess';
117
 
118
  case w3_is_nginx():
119
  return w3_get_nginx_rules_path();
@@ -131,7 +167,7 @@ function w3_get_minify_rules_cache_path() {
131
  switch (true) {
132
  case w3_is_apache():
133
  case w3_is_litespeed():
134
- return W3TC_CACHE_FILE_MINIFY_DIR . '/.htaccess';
135
 
136
  case w3_is_nginx():
137
  return w3_get_nginx_rules_path();
@@ -141,7 +177,7 @@ function w3_get_minify_rules_cache_path() {
141
  }
142
 
143
  /**
144
- * Returns path of minify rules file
145
  *
146
  * @return string
147
  */
@@ -158,6 +194,10 @@ function w3_get_cdn_rules_path() {
158
  return false;
159
  }
160
 
 
 
 
 
161
  /**
162
  * Returns true if we can modify rules
163
  *
@@ -166,7 +206,7 @@ function w3_get_cdn_rules_path() {
166
  */
167
  function w3_can_modify_rules($path) {
168
  if (w3_is_network()) {
169
- if (w3_is_apache() || w3_is_litespeed()) {
170
  switch ($path) {
171
  case w3_get_pgcache_rules_cache_path():
172
  case w3_get_minify_rules_core_path():
1
  <?php
2
 
3
+ w3_require_once(W3TC_INC_DIR . '/functions/rule_cut.php');
4
+
5
+ define('W3TC_MARKER_BEGIN_WORDPRESS', '# BEGIN WordPress');
6
+ define('W3TC_MARKER_BEGIN_PGCACHE_CORE', '# BEGIN W3TC Page Cache core');
7
+ define('W3TC_MARKER_BEGIN_PGCACHE_CACHE', '# BEGIN W3TC Page Cache cache');
8
+ define('W3TC_MARKER_BEGIN_PGCACHE_LEGACY', '# BEGIN W3TC Page Cache');
9
+ define('W3TC_MARKER_BEGIN_PGCACHE_WPSC', '# BEGIN WPSuperCache');
10
+ define('W3TC_MARKER_BEGIN_BROWSERCACHE_CACHE', '# BEGIN W3TC Browser Cache');
11
+ define('W3TC_MARKER_BEGIN_BROWSERCACHE_NO404WP', '# BEGIN W3TC Skip 404 error handling by WordPress for static files');
12
+ define('W3TC_MARKER_BEGIN_MINIFY_CORE', '# BEGIN W3TC Minify core');
13
+ define('W3TC_MARKER_BEGIN_MINIFY_CACHE', '# BEGIN W3TC Minify cache');
14
+ define('W3TC_MARKER_BEGIN_MINIFY_LEGACY', '# BEGIN W3TC Minify');
15
+ define('W3TC_MARKER_BEGIN_CDN', '# BEGIN W3TC CDN');
16
+ define('W3TC_MARKER_BEGIN_NEW_RELIC_CORE', '# BEGIN W3TC New Relic core');
17
+
18
+
19
+ define('W3TC_MARKER_END_WORDPRESS', '# END WordPress');
20
+ define('W3TC_MARKER_END_PGCACHE_CORE', '# END W3TC Page Cache core');
21
+ define('W3TC_MARKER_END_PGCACHE_CACHE', '# END W3TC Page Cache cache');
22
+ define('W3TC_MARKER_END_PGCACHE_LEGACY', '# END W3TC Page Cache');
23
+ define('W3TC_MARKER_END_PGCACHE_WPSC', '# END WPSuperCache');
24
+ define('W3TC_MARKER_END_BROWSERCACHE_CACHE', '# END W3TC Browser Cache');
25
+ define('W3TC_MARKER_END_BROWSERCACHE_NO404WP', '# END W3TC Skip 404 error handling by WordPress for static files');
26
+ define('W3TC_MARKER_END_MINIFY_CORE', '# END W3TC Minify core');
27
+ define('W3TC_MARKER_END_MINIFY_CACHE', '# END W3TC Minify cache');
28
+ define('W3TC_MARKER_END_MINIFY_LEGACY', '# END W3TC Minify');
29
+ define('W3TC_MARKER_END_CDN', '# END W3TC CDN');
30
+ define('W3TC_MARKER_END_NEW_RELIC_CORE', '# END W3TC New Relic core');
31
+
32
+
33
+ /*
34
+ * Returns URI from filename/dirname
35
+ * Used for rules mainly since is not usable for regular URI,
36
+ * because wordpress adds blogname to uri making it uncompatible with
37
+ * directory structure
38
+ *
39
+ * @return string
40
+ */
41
+ function w3_filename_to_uri($filename) {
42
+ $document_root = w3_get_document_root();
43
+
44
+ return substr($filename, strlen($document_root));
45
+ }
46
+
47
  /**
48
  * Check if WP permalink directives exists
49
  *
59
  return true;
60
  }
61
 
62
+ /**
63
+ * Removes empty elements
64
+ */
65
+ function w3_array_trim(&$a) {
66
+ for ($n = count($a) - 1; $n >= 0; $n--) {
67
+ if (empty($a[$n]))
68
+ array_splice($a, $n, 1);
69
+ }
70
+ }
71
+
72
  /**
73
  * Returns nginx rules path
74
  *
75
  * @return string
76
  */
77
  function w3_get_nginx_rules_path() {
78
+ $config = w3_instance('W3_Config');
79
 
80
  $path = $config->get_string('config.path');
81
 
104
  return false;
105
  }
106
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  /**
108
  * Returns path of browsercache cache rules file
109
  *
149
  switch (true) {
150
  case w3_is_apache():
151
  case w3_is_litespeed():
152
+ return W3TC_CACHE_MINIFY_DIR . '/.htaccess';
153
 
154
  case w3_is_nginx():
155
  return w3_get_nginx_rules_path();
167
  switch (true) {
168
  case w3_is_apache():
169
  case w3_is_litespeed():
170
+ return W3TC_CACHE_MINIFY_DIR . '/.htaccess';
171
 
172
  case w3_is_nginx():
173
  return w3_get_nginx_rules_path();
177
  }
178
 
179
  /**
180
+ * Returns path of CDN rules file
181
  *
182
  * @return string
183
  */
194
  return false;
195
  }
196
 
197
+ function w3_get_new_relic_rules_core_path() {
198
+ return w3_get_pgcache_rules_core_path();
199
+ }
200
+
201
  /**
202
  * Returns true if we can modify rules
203
  *
206
  */
207
  function w3_can_modify_rules($path) {
208
  if (w3_is_network()) {
209
+ if (w3_is_apache() || w3_is_litespeed() || w3_is_nginx()) {
210
  switch ($path) {
211
  case w3_get_pgcache_rules_cache_path():
212
  case w3_get_minify_rules_core_path():
inc/functions/rule_cut.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Returns path of pgcache cache rules file
5
+ * Moved to separate file to not load rule.php for each disk enhanced request
6
+ *
7
+ * @return string
8
+ */
9
+ function w3_get_pgcache_rules_cache_path() {
10
+ switch (true) {
11
+ case w3_is_apache():
12
+ case w3_is_litespeed():
13
+ if (w3_is_network()) {
14
+ $url = w3_get_home_url();
15
+ $match = null;
16
+ if (preg_match('~http(s)?://(.+?)(/)?$~', $url, $match)) {
17
+ $home_path = $match[2];
18
+
19
+ return W3TC_CACHE_PAGE_ENHANCED_DIR . '/' .
20
+ $home_path . '/.htaccess';
21
+ }
22
+ }
23
+
24
+ return W3TC_CACHE_PAGE_ENHANCED_DIR . '/.htaccess';
25
+
26
+ case w3_is_nginx():
27
+ return w3_get_nginx_rules_path();
28
+ }
29
+
30
+ return false;
31
+ }
inc/functions/update.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ w3_require_once(W3TC_INC_DIR . '/functions/file.php');
3
+
4
+ /**
5
+ * Removes old legacy folders. User gets a note about manual removal if the function can't delete all in 20 seconds.
6
+ */
7
+ function w3_remove_old_folders() {
8
+ $config_admin = w3_instance('W3_ConfigAdmin');
9
+ $old_folders = w3_find_old_folders();
10
+ if ($old_folders) {
11
+ $config_admin->set('notes.remove_w3tc',true);
12
+ $config_admin->save();
13
+
14
+ @set_time_limit(20);
15
+ foreach ($old_folders as $old_folder)
16
+ w3_rmdir($old_folder);
17
+
18
+ $config_admin->set('notes.remove_w3tc',false);
19
+ $config_admin->save();
20
+ }
21
+ }
22
+
23
+ /**
24
+ * Finds and returns a list of old legacy folders.
25
+ * @return array
26
+ */
27
+ function w3_find_old_folders(){
28
+ $dir = @opendir(WP_CONTENT_DIR);
29
+ $include = 'w3tc*';
30
+ $exclude = 'w3tc-config';
31
+ $folders = array();
32
+ if ($dir) {
33
+ while (($entry = @readdir($dir)) !== false) {
34
+ if ($entry == '.' || $entry == '..') {
35
+ continue;
36
+ }
37
+
38
+ if (fnmatch($exclude, basename($entry))) {
39
+ continue;
40
+ }
41
+ if (fnmatch($include, basename($entry))) {
42
+ @closedir($dir);
43
+ $folders[] = WP_CONTENT_DIR . DIRECTORY_SEPARATOR . $entry;
44
+ }
45
+ }
46
+
47
+ @closedir($dir);
48
+ }
49
+ return $folders;
50
+ }
51
+
52
+ /**
53
+ * Updates the plugin from older version.
54
+ */
55
+ function w3_run_legacy_update() {
56
+ w3_require_once(W3TC_LIB_W3_DIR . '/ConfigWriter.php');
57
+ $writer = new W3_ConfigWriter(w3_get_blog_id(), w3_is_preview_mode());
58
+ $writer->import_legacy_config_and_save();
59
+
60
+ // Only remove folders when master blog is running.
61
+ if (w3_get_blog_id() == 0)
62
+ w3_remove_old_folders();
63
+ }
inc/functions/url.php CHANGED
@@ -100,4 +100,4 @@ function w3_url_query($params = array(), $skip_empty = false, $separator = '&')
100
  }
101
 
102
  return $str;
103
- }
100
  }
101
 
102
  return $str;
103
+ }
inc/functions/widgets.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Registers dashboard widgets.
5
+ *
6
+ * Handles POST data, sets up filters.
7
+ *
8
+ * @since 0.9.2.6
9
+ */
10
+ function w3tc_dashboard_setup() {
11
+ global $w3tc_registered_widgets, $w3tc_registered_widget_controls, $w3tc_dashboard_control_callbacks;
12
+ $w3tc_dashboard_control_callbacks = array();
13
+ $screen = get_current_screen();
14
+
15
+ $update = false;
16
+ $widget_options = get_option( 'w3tc_dashboard_widget_options' );
17
+ if ( !$widget_options || !is_array($widget_options) )
18
+ $widget_options = array();
19
+
20
+ // Hook to register new widgets
21
+ // Filter widget order
22
+ if ( is_network_admin() ) {
23
+ do_action( 'w3tc_network_dashboard_setup' );
24
+ $dashboard_widgets = apply_filters( 'w3tc_network_dashboard_widgets', array() );
25
+ } else {
26
+ do_action( 'w3tc_dashboard_setup' );
27
+ $dashboard_widgets = apply_filters( 'w3tc_dashboard_widgets', array() );
28
+ }
29
+
30
+ foreach ( $dashboard_widgets as $widget_id ) {
31
+ $name = empty( $w3tc_registered_widgets[$widget_id]['all_link'] ) ? $w3tc_registered_widgets[$widget_id]['name'] : $w3tc_registered_widgets[$widget_id]['name'] . " <a href='{$w3tc_registered_widgets[$widget_id]['all_link']}' class='edit-box open-box'>" . __('View all') . '</a>';
32
+ w3tc_add_dashboard_widget( $widget_id, $name, $w3tc_registered_widgets[$widget_id]['callback'], $w3tc_registered_widget_controls[$widget_id]['callback'] );
33
+ }
34
+
35
+ if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget_id']) ) {
36
+ check_admin_referer( 'edit-dashboard-widget_' . $_POST['widget_id'], 'dashboard-widget-nonce' );
37
+ ob_start(); // hack - but the same hack wp-admin/widgets.php uses
38
+ w3tc_dashboard_trigger_widget_control( $_POST['widget_id'] );
39
+ ob_end_clean();
40
+ }
41
+
42
+ if ( $update )
43
+ update_option( 'w3tc_dashboard_widget_options', $widget_options );
44
+
45
+ do_action('do_meta_boxes', $screen->id, 'normal', '');
46
+ do_action('do_meta_boxes', $screen->id, 'side', '');
47
+ }
48
+
49
+ function w3tc_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null,$location = 'normal' , $title_image = '' ) {
50
+ $screen = get_current_screen();
51
+ global $w3tc_dashboard_control_callbacks;
52
+ if ($title_image && $title_image != 'div')
53
+ $widget_name = '<img class="' . $widget_id . '" src="' . esc_attr($title_image) . '" />'.$widget_name;
54
+ else if ($title_image == 'div')
55
+ $widget_name = '<div class="w3_widget_logo"></div>' . $widget_name;
56
+
57
+ if ( $control_callback && current_user_can( 'edit_dashboard' ) && is_callable( $control_callback ) ) {
58
+ $w3tc_dashboard_control_callbacks[$widget_id] = $control_callback;
59
+ if ( isset( $_GET['edit'] ) && $widget_id == $_GET['edit'] ) {
60
+ list($url) = explode( '#', add_query_arg( 'edit', false ), 2 );
61
+ $widget_name .= ' <span class="postbox-title-action"><a href="' . esc_url( $url ) . '">' . __( 'Cancel' ) . '</a></span>';
62
+ $callback = '_w3tc_dashboard_control_callback';
63
+ } else {
64
+ list($url) = explode( '#', add_query_arg( 'edit', $widget_id ), 2 );
65
+ $widget_name .= ' <span class="postbox-title-action"><a href="' . esc_url( "$url#$widget_id" ) . '" class="edit-box open-box">' . __( 'Configure' ) . '</a></span>';
66
+ }
67
+ }
68
+
69
+ $side_widgets = array();
70
+
71
+ $priority = 'core';
72
+
73
+ add_meta_box( $widget_id, $widget_name, $callback, $screen, $location, $priority );
74
+ }
75
+
76
+
77
+ /* Dashboard Widgets Controls */
78
+ function _w3tc_dashboard_control_callback( $dashboard, $meta_box ) {
79
+ echo '<form action="" method="post" class="dashboard-widget-control-form">';
80
+ w3tc_dashboard_trigger_widget_control( $meta_box['id'] );
81
+ wp_nonce_field( 'edit-dashboard-widget_' . $meta_box['id'], 'dashboard-widget-nonce' );
82
+ echo '<input type="hidden" name="widget_id" value="' . esc_attr($meta_box['id']) . '" />';
83
+ submit_button( __('Submit') );
84
+ echo '</form>';
85
+ }
86
+
87
+ /**
88
+ * Calls widget control callback.
89
+ *
90
+ * @since 0.9.2.6
91
+ *
92
+ * @param int|bool $widget_control_id Registered Widget ID.
93
+ */
94
+ function w3tc_dashboard_trigger_widget_control( $widget_control_id = false ) {
95
+ global $w3tc_dashboard_control_callbacks;
96
+
97
+ if ( is_scalar($widget_control_id) && $widget_control_id && isset($w3tc_dashboard_control_callbacks[$widget_control_id]) && is_callable($w3tc_dashboard_control_callbacks[$widget_control_id]) ) {
98
+ call_user_func( $w3tc_dashboard_control_callbacks[$widget_control_id], '', array( 'id' => $widget_control_id, 'callback' => $w3tc_dashboard_control_callbacks[$widget_control_id] ) );
99
+ }
100
+ }
inc/index.html CHANGED
File without changes
inc/lightbox/cdn_s3_bucket_location.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <h3>Select bucket location</h3>
3
 
4
  <p>
5
  <label>Location:
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <h3>Select bucket location:</h3>
3
 
4
  <p>
5
  <label>Location:
inc/lightbox/index.html CHANGED
File without changes
inc/lightbox/minify_recommendations.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <h3>Minify Help Wizard</h3>
3
 
4
  <p>
5
  To get started with minify, we've identified the following external CSS and JS objects in the
@@ -13,7 +13,6 @@
13
 
14
  <div id="recom_container">
15
  <h4 style="margin-top: 0;">JavaScript:</h4>
16
-
17
  <?php if (count($js_groups)) :?>
18
  <ul id="recom_js_files" class="minify-files">
19
  <?php $index = 0; foreach ($js_groups as $js_group => $js_files): ?>
@@ -45,16 +44,9 @@
45
  <td>
46
  <?php $selected = (isset($locations_js[$js_group][$js_file]) ? $locations_js[$js_group][$js_file] : ''); ?>
47
  <select name="recom_js_location">
48
- <optgroup label="Blocking:">
49
- <option value="include"<?php selected($selected, 'include'); ?>>Embed in &lt;head&gt;</option>
50
- <option value="include-body"<?php selected($selected, 'include-body'); ?>>Embed after &lt;body&gt;</option>
51
- <option value="include-footer"<?php selected($selected, 'include-footer'); ?>>Embed before &lt;/body&gt;</option>
52
- </optgroup>
53
- <optgroup label="Non-Blocking:">
54
- <option value="include-nb"<?php selected($selected, 'include-nb'); ?>>Embed in &lt;head&gt;</option>
55
- <option value="include-body-nb"<?php selected($selected, 'include-body-nb'); ?>>Embed after &lt;body&gt;</option>
56
- <option value="include-footer-nb"<?php selected($selected, 'include-footer-nb'); ?>>Embed before &lt;/body&gt;</option>
57
- </optgroup>
58
  </select>
59
  </td>
60
  <td>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <h3>Minify: Help Wizard</h3>
3
 
4
  <p>
5
  To get started with minify, we've identified the following external CSS and JS objects in the
13
 
14
  <div id="recom_container">
15
  <h4 style="margin-top: 0;">JavaScript:</h4>
 
16
  <?php if (count($js_groups)) :?>
17
  <ul id="recom_js_files" class="minify-files">
18
  <?php $index = 0; foreach ($js_groups as $js_group => $js_files): ?>
44
  <td>
45
  <?php $selected = (isset($locations_js[$js_group][$js_file]) ? $locations_js[$js_group][$js_file] : ''); ?>
46
  <select name="recom_js_location">
47
+ <option value="include"<?php selected($selected, 'include'); ?>>Embed in &lt;head&gt;</option>
48
+ <option value="include-body"<?php selected($selected, 'include-body'); ?>>Embed after &lt;body&gt;</option>
49
+ <option value="include-footer"<?php selected($selected, 'include-footer'); ?>>Embed before &lt;/body&gt;</option>
 
 
 
 
 
 
 
50
  </select>
51
  </td>
52
  <td>
inc/lightbox/self_test.php CHANGED
@@ -3,8 +3,8 @@
3
  if (!defined('W3TC'))
4
  die();
5
 
6
- require_once W3TC_INC_DIR . '/functions/file.php';
7
- require_once W3TC_INC_DIR . '/functions/rule.php';
8
 
9
  ?>
10
  <h3>Compatibility Test</h3>
@@ -13,10 +13,10 @@ require_once W3TC_INC_DIR . '/functions/rule.php';
13
  <legend>Legend</legend>
14
 
15
  <p>
16
- <code>Installed</code>: Functionality will work properly<br />
17
- <code>Not detected</code>: May be installed, but cannot be automatically confirmed<br />
18
  <code>Ok</code>: Current value is acceptable.<br />
19
- <code>Yes/No</code>: The value was successful detected.
20
  </p>
21
  </fieldset>
22
 
@@ -62,7 +62,7 @@ require_once W3TC_INC_DIR . '/functions/rule.php';
62
  <?php else: ?>
63
  <code>Not installed</code>
64
  <?php endif; ?>
65
- <span class="w3tc-self-test-hint">(required for Self-hosted (FTP) CDN support)</span>
66
  </li>
67
 
68
  <li>
@@ -138,7 +138,7 @@ require_once W3TC_INC_DIR . '/functions/rule.php';
138
  <?php else: ?>
139
  <code>Not installed</code>
140
  <?php endif; ?>
141
- <span class="w3tc-self-test-hint">(required for CDN support)</span>
142
  </li>
143
 
144
  <li>
@@ -150,7 +150,7 @@ require_once W3TC_INC_DIR . '/functions/rule.php';
150
  <?php else: ?>
151
  <code>Not installed</code>
152
  <?php endif; ?>
153
- <span class="w3tc-self-test-hint">(required for NetDNA purge support)</span>
154
  </li>
155
 
156
  <li>
@@ -215,11 +215,23 @@ require_once W3TC_INC_DIR . '/functions/rule.php';
215
  <?php else: ?>
216
  <code>Not detected</code>
217
  <?php endif; ?>
218
- <span class="w3tc-self-test-hint">(required for Page Cache (enhanced mode) and Browser Cache)</span>
219
  </li>
220
  <?php endforeach; ?>
221
  <?php endif; ?>
222
  </ul>
 
 
 
 
 
 
 
 
 
 
 
 
223
 
224
  <h4>WordPress Resources</h4>
225
 
3
  if (!defined('W3TC'))
4
  die();
5
 
6
+ w3_require_once(W3TC_INC_DIR . '/functions/file.php');
7
+ w3_require_once(W3TC_INC_DIR . '/functions/rule.php');
8
 
9
  ?>
10
  <h3>Compatibility Test</h3>
13
  <legend>Legend</legend>
14
 
15
  <p>
16
+ <code>Installed</code>: Functionality will work properly.<br />
17
+ <code>Not detected</code>: May be installed, but cannot be automatically confirmed.<br />
18
  <code>Ok</code>: Current value is acceptable.<br />
19
+ <code>Yes / No</code>: The value was successful detected.
20
  </p>
21
  </fieldset>
22
 
62
  <?php else: ?>
63
  <code>Not installed</code>
64
  <?php endif; ?>
65
+ <span class="w3tc-self-test-hint">(required for Self-hosted (<acronym title="File Transfer Protocol">FTP</acronym>) <acronym title="Content Delivery Network">CDN</acronym> support)</span>
66
  </li>
67
 
68
  <li>
138
  <?php else: ?>
139
  <code>Not installed</code>
140
  <?php endif; ?>
141
+ <span class="w3tc-self-test-hint">(required for <acronym title="Content Delivery Network">CDN</acronym> support)</span>
142
  </li>
143
 
144
  <li>
150
  <?php else: ?>
151
  <code>Not installed</code>
152
  <?php endif; ?>
153
+ <span class="w3tc-self-test-hint">(required for NetDNA / MaxCDN <acronym title="Content Delivery Network">CDN</acronym> purge support)</span>
154
  </li>
155
 
156
  <li>
215
  <?php else: ?>
216
  <code>Not detected</code>
217
  <?php endif; ?>
218
+ <span class="w3tc-self-test-hint">(required for disk enhanced Page Cache and Browser Cache)</span>
219
  </li>
220
  <?php endforeach; ?>
221
  <?php endif; ?>
222
  </ul>
223
+ <?php $additional_checks = apply_filters('w3tc_compatibility_test', __return_empty_array());
224
+ if ($additional_checks):?>
225
+ <h4><?php _e('Additional modules','w3-total-cache')?></h4>
226
+ <ul>
227
+ <?php
228
+ foreach($additional_checks as $check)
229
+ echo '<li>', $check, '</li>';
230
+ ?>
231
+ </ul>
232
+ <?php
233
+ endif;
234
+ ?>
235
 
236
  <h4>WordPress Resources</h4>
237
 
inc/lightbox/support_us.php CHANGED
@@ -1,29 +1,29 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <h3>Support Us</h3>
3
 
4
- <p>We noticed you've been using W3 Total cache for at least 30 days, would you like to help us improve WordPress?</p>
5
 
6
  <form action="admin.php?page=<?php echo $this->_page; ?>&amp;w3tc_save_support_us" method="post">
7
  <p>
8
  <label>
9
  Link to us:
10
  <select name="support" class="select-support-type">
11
- <option value="">select one</option>
12
  <?php foreach ($supports as $support_id => $support_name): ?>
13
  <option value="<?php echo $support_id; ?>"<?php echo selected($this->_config->get_string('common.support'), $support_id); ?>><?php echo htmlspecialchars($support_name); ?></option>
14
  <?php endforeach; ?>
15
  </select>
16
- </label>, tell your friends with a <input type="button" class="button button-tweet" value="tweet" />
17
  (<input type="hidden" name="tweeted" value="0" /><label><input type="checkbox" name="tweeted" value="1"<?php checked($this->_config->get_boolean('common.tweeted', true)); ?> /> I've tweeted</label>)
18
- and give us a great <input type="button" class="button button-rating" value="rating" />.
19
  </p>
20
 
21
  <div style="text-align: center;">
22
- <h3>THANK YOU!</h3>
23
  <p>
24
  <?php echo $this->nonce_field('w3tc'); ?>
25
- <input type="submit" class="button-primary" value="Save and close"> or
26
- <?php echo $this->button_hide_note('Don\'t show this message again', 'support_us'); ?>
27
  </p>
28
  </div>
29
  </form>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <h3>Support Us, It's Free!</h3>
3
 
4
+ <p>We noticed you've been using W3 Total cache for at least 30 days, please help us improe WordPress:</p>
5
 
6
  <form action="admin.php?page=<?php echo $this->_page; ?>&amp;w3tc_save_support_us" method="post">
7
  <p>
8
  <label>
9
  Link to us:
10
  <select name="support" class="select-support-type">
11
+ <option value="">select location</option>
12
  <?php foreach ($supports as $support_id => $support_name): ?>
13
  <option value="<?php echo $support_id; ?>"<?php echo selected($this->_config->get_string('common.support'), $support_id); ?>><?php echo htmlspecialchars($support_name); ?></option>
14
  <?php endforeach; ?>
15
  </select>
16
+ </label>, <input type="button" class="button button-tweet" value="tell your friends" /> with a tweet
17
  (<input type="hidden" name="tweeted" value="0" /><label><input type="checkbox" name="tweeted" value="1"<?php checked($this->_config->get_boolean('common.tweeted', true)); ?> /> I've tweeted</label>)
18
+ and login to wordpress.org to give us a great <input type="button" class="button button-rating" value="rating" />.
19
  </p>
20
 
21
  <div style="text-align: center;">
22
+ <h3>Thanks in advance!</h3>
23
  <p>
24
  <?php echo $this->nonce_field('w3tc'); ?>
25
+ <input type="submit" class="button-primary" value="Save &amp; close"> or
26
+ <?php echo $this->button_hide_note('Don\'t show this prompt again', 'support_us'); ?>
27
  </p>
28
  </div>
29
  </form>
inc/mime/all.php CHANGED
File without changes
inc/mime/cssjs.php CHANGED
@@ -5,6 +5,11 @@
5
  */
6
  return array(
7
  'css' => 'text/css',
 
 
 
8
  'js' => 'application/x-javascript',
9
- 'htc' => 'text/x-component'
10
- );
 
 
5
  */
6
  return array(
7
  'css' => 'text/css',
8
+ 'htc' => 'text/x-component',
9
+
10
+ //JS - varieties
11
  'js' => 'application/x-javascript',
12
+ 'js2' => 'application/javascript',
13
+ 'js3' => 'text/javascript',
14
+ 'js4' => 'text/x-js',
15
+ );
inc/mime/html.php CHANGED
File without changes
inc/mime/index.html CHANGED
File without changes
inc/mime/other.php CHANGED
@@ -16,6 +16,7 @@ return array(
16
  'gz|gzip' => 'application/x-gzip',
17
  'ico' => 'image/x-icon',
18
  'jpg|jpeg|jpe' => 'image/jpeg',
 
19
  'mdb' => 'application/vnd.ms-access',
20
  'mid|midi' => 'audio/midi',
21
  'mov|qt' => 'video/quicktime',
16
  'gz|gzip' => 'application/x-gzip',
17
  'ico' => 'image/x-icon',
18
  'jpg|jpeg|jpe' => 'image/jpeg',
19
+ 'json' => 'application/json',
20
  'mdb' => 'application/vnd.ms-access',
21
  'mid|midi' => 'audio/midi',
22
  'mov|qt' => 'video/quicktime',
inc/options/about.php CHANGED
File without changes
inc/options/browsercache.php CHANGED
@@ -1,66 +1,102 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
 
4
- <p>
5
- Browser caching is currently <span class="w3tc-<?php if ($browsercache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
6
- </p>
7
-
 
 
 
 
 
8
  <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
9
  <div class="metabox-holder">
10
- <?php echo $this->postbox_header('General'); ?>
11
  <p>Specify global browser cache policy.</p>
12
 
13
  <table class="form-table">
 
14
  <tr>
15
  <th colspan="2">
16
- <label><input id="browsercache_expires" type="checkbox" name="expires" value="1"<?php checked($browsercache_expires, true); ?> /> Set expires header</label>
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  <br /><span class="description">Set the expires header to encourage browser caching of files.</span>
18
  </th>
19
  </tr>
20
  <tr>
21
  <th colspan="2">
22
- <label><input id="browsercache_cache_control" type="checkbox" name="cache_control" value="1"<?php checked($browsercache_cache_control, true); ?> /> Set cache control header</label>
 
23
  <br /><span class="description">Set pragma and cache-control headers to encourage browser caching of files.</span>
24
  </th>
25
  </tr>
26
  <tr>
27
  <th colspan="2">
28
- <label><input id="browsercache_etag" type="checkbox" name="etag" value="1"<?php checked($browsercache_etag, true); ?> /> Set entity tag (eTag)</label>
 
 
29
  <br /><span class="description">Set the Etag header to encourage browser caching of files.</span>
30
  </th>
31
  </tr>
32
  <tr>
33
  <th colspan="2">
34
- <label><input id="browsercache_w3tc" type="checkbox" name="w3tc" value="1"<?php checked($browsercache_w3tc, true); ?> /> Set W3 Total Cache header</label>
 
35
  <br /><span class="description">Set this header to assist in identifying optimized files.</span>
36
  </th>
37
  </tr>
38
  <tr>
39
  <th colspan="2">
40
- <label><input id="browsercache_compression" type="checkbox" name="compression"<?php checked($browsercache_compression, true); ?> value="1" /> Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> (gzip) compression</label>
 
 
41
  <br /><span class="description">Reduce the download time for text-based files.</span>
42
  </th>
43
  </tr>
44
  <tr>
45
  <th colspan="2">
46
- <label><input id="browsercache_replace" type="checkbox" name="replace" value="1"<?php checked($browsercache_replace, true); ?> /> Prevent caching of objects after settings change</label>
 
 
47
  <br /><span class="description">Whenever settings are changed, a new query string will be generated and appended to objects allowing the new policy to be applied.</span>
48
  </th>
49
  </tr>
50
  <tr>
51
  <th colspan="2">
52
- <input type="hidden" name="browsercache.no404wp" value="0" />
53
- <label><input type="checkbox" name="browsercache.no404wp" value="1"<?php checked($this->_config->get_boolean('browsercache.no404wp'), true); ?><?php if (!w3_can_check_rules()): ?> disabled="disabled"<?php endif; ?> /> Do not process 404 errors for static objects with WordPress</label>
 
 
 
 
 
 
 
54
  <br /><span class="description">Reduce server load by allowing the web server to handle 404 (not found) errors for static files (images etc).</span>
55
  </th>
56
  </tr>
57
- <tr>
58
- <th><label for="browsercache_no404wp_exceptions">404 error exception list:</label></th>
59
- <td>
60
- <textarea id="browsercache_no404wp_exceptions" name="browsercache.no404wp.exceptions" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('browsercache.no404wp.exceptions'))); ?></textarea><br />
61
- <span class="description">Never process 404 (not found) events for the specified files.</span>
62
- </td>
63
- </tr>
 
 
64
  </table>
65
 
66
  <p class="submit">
@@ -69,14 +105,21 @@
69
  </p>
70
  <?php echo $this->postbox_footer(); ?>
71
 
72
- <?php echo $this->postbox_header('<acronym title="Cascading Style Sheet">CSS</acronym> &amp; <acronym title="JavaScript">JS</acronym>'); ?>
73
  <p>Specify browser cache policy for Cascading Style Sheets and JavaScript files.</p>
74
 
75
  <table class="form-table">
 
 
 
 
 
 
 
 
76
  <tr>
77
  <th colspan="2">
78
- <input type="hidden" name="browsercache.cssjs.expires" value="0" />
79
- <label><input class="browsercache_expires" type="checkbox" name="browsercache.cssjs.expires" value="1"<?php checked($this->_config->get_boolean('browsercache.cssjs.expires'), true); ?> /> Set expires header</label>
80
  <br /><span class="description">Set the expires header to encourage browser caching of files.</span>
81
  </th>
82
  </tr>
@@ -85,59 +128,65 @@
85
  <label for="browsercache_cssjs_lifetime">Expires header lifetime:</label>
86
  </th>
87
  <td>
88
- <input id="browsercache_cssjs_lifetime" type="text" name="browsercache.cssjs.lifetime" value="<?php echo $this->_config->get_integer('browsercache.cssjs.lifetime'); ?>" size="8" /> seconds
 
 
89
  </td>
90
  </tr>
91
  <tr>
92
  <th colspan="2">
93
- <input type="hidden" name="browsercache.cssjs.cache.control" value="0" />
94
- <label><input class="browsercache_cache_control" type="checkbox" name="browsercache.cssjs.cache.control" value="1"<?php checked($this->_config->get_boolean('browsercache.cssjs.cache.control'), true); ?> /> Set cache control header</label>
95
  <br /><span class="description">Set pragma and cache-control headers to encourage browser caching of files.</span>
96
  </th>
97
  </tr>
98
  <tr>
99
- <th>
100
  <label for="browsercache_cssjs_cache_policy">Cache Control policy:</label>
101
- </th>
102
  <td>
103
- <select id="browsercache_cssjs_cache_policy" name="browsercache.cssjs.cache.policy">
 
 
104
  <?php $value = $this->_config->get_string('browsercache.cssjs.cache.policy'); ?>
105
  <option value="cache"<?php selected($value, 'cache'); ?>>cache ("public")</option>
 
106
  <option value="cache_validation"<?php selected($value, 'cache_validation'); ?>>cache with validation ("public, must-revalidate, proxy-revalidate")</option>
 
107
  <option value="cache_noproxy"<?php selected($value, 'cache_noproxy'); ?>>cache without proxy ("private, must-revalidate")</option>
108
- <option value="cache_maxage"<?php selected($value, 'cache_maxage'); ?>>cache with max-age ("max-age=EXPIRES_SECONDS, public, must-revalidate, proxy-revalidate")</option>
109
  <option value="no_cache"<?php selected($value, 'no_cache'); ?>>no-cache ("max-age=0, private, no-store, no-cache, must-revalidate")</option>
110
  </select>
111
  </td>
112
  </tr>
113
  <tr>
114
  <th colspan="2">
115
- <input type="hidden" name="browsercache.cssjs.etag" value="0" />
116
- <label><input class="browsercache_etag" type="checkbox" name="browsercache.cssjs.etag" value="1"<?php checked($this->_config->get_boolean('browsercache.cssjs.etag'), true); ?> /> Set entity tag (eTag)</label>
117
  <br /><span class="description">Set the Etag header to encourage browser caching of files.</span>
118
  </th>
119
  </tr>
120
  <tr>
121
  <th colspan="2">
122
- <input type="hidden" name="browsercache.cssjs.w3tc" value="0" />
123
- <label><input class="browsercache_w3tc" type="checkbox" name="browsercache.cssjs.w3tc" value="1"<?php checked($this->_config->get_boolean('browsercache.cssjs.w3tc'), true); ?> /> Set W3 Total Cache header</label>
124
  <br /><span class="description">Set this header to assist in identifying optimized files.</span>
125
  </th>
126
  </tr>
127
  <tr>
128
  <th colspan="2">
129
- <input type="hidden" name="browsercache.cssjs.compression" value="0" />
130
- <label><input class="browsercache_compression" type="checkbox" name="browsercache.cssjs.compression" value="1"<?php checked($this->_config->get_boolean('browsercache.cssjs.compression'), true); ?> /> Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> (gzip) compression</label>
131
  <br /><span class="description">Reduce the download time for text-based files.</span>
132
  </th>
133
  </tr>
134
  <tr>
135
  <th colspan="2">
136
- <input type="hidden" name="browsercache.cssjs.replace" value="0" />
137
- <label><input class="browsercache_replace" type="checkbox" name="browsercache.cssjs.replace" value="1"<?php checked($this->_config->get_boolean('browsercache.cssjs.replace'), true); ?> /> Prevent caching of objects after settings change</label>
138
  <br /><span class="description">Whenever settings are changed, a new query string will be generated and appended to objects allowing the new policy to be applied.</span>
139
  </th>
140
  </tr>
 
 
 
 
 
 
141
  </table>
142
 
143
  <p class="submit">
@@ -146,14 +195,21 @@
146
  </p>
147
  <?php echo $this->postbox_footer(); ?>
148
 
149
- <?php echo $this->postbox_header('<acronym title="Hypertext Markup Language">HTML</acronym> &amp; <acronym title="Extensible Markup Language">XML</acronym>'); ?>
150
  <p>Specify browser cache policy for posts, pages, feeds and text-based files.</p>
151
 
152
  <table class="form-table">
 
 
 
 
 
 
 
 
153
  <tr>
154
  <th colspan="2">
155
- <input type="hidden" name="browsercache.html.expires" value="0" />
156
- <label><input class="browsercache_expires" type="checkbox" name="browsercache.html.expires" value="1"<?php checked($this->_config->get_boolean('browsercache.html.expires'), true); ?> /> Set expires header</label>
157
  <br /><span class="description">Set the expires header to encourage browser caching of files.</span>
158
  </th>
159
  </tr>
@@ -162,49 +218,50 @@
162
  <label for="browsercache_html_lifetime">Expires header lifetime:</label>
163
  </th>
164
  <td>
165
- <input id="browsercache_html_lifetime" type="text" name="browsercache.html.lifetime" value="<?php echo $this->_config->get_integer('browsercache.html.lifetime'); ?>" size="8" /> seconds
 
 
 
166
  </td>
167
  </tr>
168
  <tr>
169
  <th colspan="2">
170
- <input type="hidden" name="browsercache.html.cache.control" value="0" />
171
- <label><input class="browsercache_cache_control" type="checkbox" name="browsercache.html.cache.control" value="1"<?php checked($this->_config->get_boolean('browsercache.html.cache.control'), true); ?> /> Set cache control header</label>
172
  <br /><span class="description">Set pragma and cache-control headers to encourage browser caching of files.</span>
173
  </th>
174
  </tr>
175
  <tr>
176
- <th>
177
  <label for="browsercache_html_cache_policy">Cache Control policy:</label>
178
- </th>
179
  <td>
180
- <select id="browsercache_html_cache_policy" name="browsercache.html.cache.policy">
 
181
  <?php $value = $this->_config->get_string('browsercache.html.cache.policy'); ?>
182
  <option value="cache"<?php selected($value, 'cache'); ?>>cache ("public")</option>
 
183
  <option value="cache_validation"<?php selected($value, 'cache_validation'); ?>>cache with validation ("public, must-revalidate, proxy-revalidate")</option>
 
184
  <option value="cache_noproxy"<?php selected($value, 'cache_noproxy'); ?>>cache without proxy ("private, must-revalidate")</option>
185
- <option value="cache_maxage"<?php selected($value, 'cache_maxage'); ?>>cache with max-age ("max-age=EXPIRES_SECONDS, public, must-revalidate, proxy-revalidate")</option>
186
  <option value="no_cache"<?php selected($value, 'no_cache'); ?>>no-cache ("max-age=0, private, no-store, no-cache, must-revalidate")</option>
187
  </select>
188
  </td>
189
  </tr>
190
  <tr>
191
  <th colspan="2">
192
- <input type="hidden" name="browsercache.html.etag" value="0" />
193
- <label><input class="browsercache_etag" type="checkbox" name="browsercache.html.etag" value="1"<?php checked($this->_config->get_boolean('browsercache.html.etag'), true); ?> /> Set entity tag (eTag)</label>
194
  <br /><span class="description">Set the Etag header to encourage browser caching of files.</span>
195
  </th>
196
  </tr>
197
  <tr>
198
  <th colspan="2">
199
- <input type="hidden" name="browsercache.html.w3tc" value="0" />
200
- <label><input class="browsercache_w3tc" type="checkbox" name="browsercache.html.w3tc" value="1"<?php checked($this->_config->get_boolean('browsercache.html.w3tc'), true); ?> /> Set W3 Total Cache header</label>
201
  <br /><span class="description">Set this header to assist in identifying optimized files.</span>
202
  </th>
203
  </tr>
204
  <tr>
205
  <th colspan="2">
206
- <input type="hidden" name="browsercache.html.compression" value="0" />
207
- <label><input class="browsercache_compression" type="checkbox" name="browsercache.html.compression" value="1"<?php checked($this->_config->get_boolean('browsercache.html.compression'), true); ?> /> Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> (gzip) compression</label>
208
  <br /><span class="description">Reduce the download time for text-based files.</span>
209
  </th>
210
  </tr>
@@ -216,12 +273,19 @@
216
  </p>
217
  <?php echo $this->postbox_footer(); ?>
218
 
219
- <?php echo $this->postbox_header('Media &amp; Other Files'); ?>
220
  <table class="form-table">
 
221
  <tr>
222
  <th colspan="2">
223
- <input type="hidden" name="browsercache.other.expires" value="0" />
224
- <label><input class="browsercache_expires" type="checkbox" name="browsercache.other.expires" value="1"<?php checked($this->_config->get_boolean('browsercache.other.expires'), true); ?> /> Set expires header</label>
 
 
 
 
 
 
225
  <br /><span class="description">Set the expires header to encourage browser caching of files.</span>
226
  </th>
227
  </tr>
@@ -230,59 +294,65 @@
230
  <label for="browsercache_other_lifetime">Expires header lifetime:</label>
231
  </th>
232
  <td>
233
- <input id="browsercache_other_lifetime" type="text" name="browsercache.other.lifetime" value="<?php echo $this->_config->get_integer('browsercache.other.lifetime'); ?>" size="8" /> seconds
 
 
234
  </td>
235
  </tr>
236
  <tr>
237
  <th colspan="2">
238
- <input type="hidden" name="browsercache.other.cache.control" value="0" />
239
- <label><input class="browsercache_cache_control" type="checkbox" name="browsercache.other.cache.control" value="1"<?php checked($this->_config->get_boolean('browsercache.other.cache.control'), true); ?> /> Set cache control header</label>
240
  <br /><span class="description">Set pragma and cache-control headers to encourage browser caching of files.</span>
241
  </th>
242
  </tr>
243
  <tr>
244
- <th>
245
  <label for="browsercache_other_cache_policy">Cache Control policy:</label>
246
- </th>
247
  <td>
248
- <select id="browsercache_other_cache_policy" name="browsercache.other.cache.policy">
 
 
249
  <?php $value = $this->_config->get_string('browsercache.other.cache.policy'); ?>
250
  <option value="cache"<?php selected($value, 'cache'); ?>>cache ("public")</option>
 
251
  <option value="cache_validation"<?php selected($value, 'cache_validation'); ?>>cache with validation ("public, must-revalidate, proxy-revalidate")</option>
 
252
  <option value="cache_noproxy"<?php selected($value, 'cache_noproxy'); ?>>cache without proxy ("private, must-revalidate")</option>
253
- <option value="cache_maxage"<?php selected($value, 'cache_maxage'); ?>>cache with max-age ("max-age=EXPIRES_SECONDS, public, must-revalidate, proxy-revalidate")</option>
254
  <option value="no_cache"<?php selected($value, 'no_cache'); ?>>no-cache ("max-age=0, private, no-store, no-cache, must-revalidate")</option>
255
  </select>
256
  </td>
257
  </tr>
258
  <tr>
259
  <th colspan="2">
260
- <input type="hidden" name="browsercache.other.etag" value="0" />
261
- <label><input class="browsercache_etag" type="checkbox" name="browsercache.other.etag" value="1"<?php checked($this->_config->get_boolean('browsercache.other.etag'), true); ?> /> Set entity tag (eTag)</label>
262
  <br /><span class="description">Set the Etag header to encourage browser caching of files.</span>
263
  </th>
264
  </tr>
265
  <tr>
266
  <th colspan="2">
267
- <input type="hidden" name="browsercache.other.w3tc" value="0" />
268
- <label><input class="browsercache_w3tc" type="checkbox" name="browsercache.other.w3tc" value="1"<?php checked($this->_config->get_boolean('browsercache.other.w3tc'), true); ?> /> Set W3 Total Cache header</label>
269
  <br /><span class="description">Set this header to assist in identifying optimized files.</span>
270
  </th>
271
  </tr>
272
  <tr>
273
  <th colspan="2">
274
- <input type="hidden" name="browsercache.other.compression" value="0" />
275
- <label><input class="browsercache_compression" type="checkbox" name="browsercache.other.compression" value="1"<?php checked($this->_config->get_boolean('browsercache.other.compression'), true); ?> /> Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> (gzip) compression</label>
276
  <br /><span class="description">Reduce the download time for text-based files.</span>
277
  </th>
278
  </tr>
279
  <tr>
280
  <th colspan="2">
281
- <input type="hidden" name="browsercache.other.replace" value="0" />
282
- <label><input class="browsercache_replace" type="checkbox" name="browsercache.other.replace" value="1"<?php checked($this->_config->get_boolean('browsercache.other.replace'), true); ?> /> Prevent caching of objects after settings change</label>
283
  <br /><span class="description">Whenever settings are changed, a new query string will be generated and appended to objects allowing the new policy to be applied.</span>
284
  </th>
285
  </tr>
 
 
 
 
 
 
286
  </table>
287
 
288
  <p class="submit">
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
 
4
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
5
+ <p>
6
+ Browser caching is currently <span class="w3tc-<?php if ($browsercache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
7
+ </p>
8
+ <p>
9
+ <?php echo $this->nonce_field('w3tc'); ?>
10
+ <input type="submit" name="w3tc_flush_browser_cache" value="Update media query string" <?php disabled(! ($browsercache_enabled && $browsercache_update_media_qs)) ?> class="button" /> to make existing file modifications visible to visitors with a primed cache.
11
+ </p>
12
+ </form>
13
  <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
14
  <div class="metabox-holder">
15
+ <?php echo $this->postbox_header('General', '', 'general'); ?>
16
  <p>Specify global browser cache policy.</p>
17
 
18
  <table class="form-table">
19
+ <?php if (!w3_is_nginx()): ?>
20
  <tr>
21
  <th colspan="2">
22
+ <label>
23
+ <input id="browsercache_last_modified" type="checkbox" name="expires"
24
+ <?php $this->sealing_disabled('browsercache') ?>
25
+ value="1"<?php checked($browsercache_last_modified, true); ?> /> Set Last-Modified header</label>
26
+ <br /><span class="description">Set the Last-Modified header to enable 304 Not Modified response.</span>
27
+ </th>
28
+ </tr>
29
+ <?php endif; ?>
30
+ <tr>
31
+ <th colspan="2">
32
+ <label>
33
+ <input id="browsercache_expires" type="checkbox" name="expires"
34
+ <?php $this->sealing_disabled('browsercache') ?>
35
+ value="1"<?php checked($browsercache_expires, true); ?> /> Set expires header</label>
36
  <br /><span class="description">Set the expires header to encourage browser caching of files.</span>
37
  </th>
38
  </tr>
39
  <tr>
40
  <th colspan="2">
41
+ <label><input id="browsercache_cache_control" type="checkbox"
42
+ <?php $this->sealing_disabled('browsercache') ?> name="cache_control" value="1"<?php checked($browsercache_cache_control, true); ?> /> Set cache control header</label>
43
  <br /><span class="description">Set pragma and cache-control headers to encourage browser caching of files.</span>
44
  </th>
45
  </tr>
46
  <tr>
47
  <th colspan="2">
48
+ <label><input id="browsercache_etag" type="checkbox"
49
+ <?php $this->sealing_disabled('browsercache') ?>
50
+ name="etag" value="1"<?php checked($browsercache_etag, true); ?> /> Set entity tag (eTag)</label>
51
  <br /><span class="description">Set the Etag header to encourage browser caching of files.</span>
52
  </th>
53
  </tr>
54
  <tr>
55
  <th colspan="2">
56
+ <label><input id="browsercache_w3tc" type="checkbox" name="w3tc"
57
+ <?php $this->sealing_disabled('browsercache') ?> value="1"<?php checked($browsercache_w3tc, true); ?> /> Set W3 Total Cache header</label>
58
  <br /><span class="description">Set this header to assist in identifying optimized files.</span>
59
  </th>
60
  </tr>
61
  <tr>
62
  <th colspan="2">
63
+ <label><input id="browsercache_compression" type="checkbox"
64
+ <?php $this->sealing_disabled('browsercache') ?>
65
+ name="compression"<?php checked($browsercache_compression, true); ?> value="1" /> Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> (gzip) compression</label>
66
  <br /><span class="description">Reduce the download time for text-based files.</span>
67
  </th>
68
  </tr>
69
  <tr>
70
  <th colspan="2">
71
+ <label><input id="browsercache_replace" type="checkbox"
72
+ <?php $this->sealing_disabled('browsercache') ?>
73
+ name="replace" value="1"<?php checked($browsercache_replace, true); ?> /> Prevent caching of objects after settings change</label>
74
  <br /><span class="description">Whenever settings are changed, a new query string will be generated and appended to objects allowing the new policy to be applied.</span>
75
  </th>
76
  </tr>
77
  <tr>
78
  <th colspan="2">
79
+ <label><input id="browsercache_nocookies" type="checkbox"
80
+ <?php $this->sealing_disabled('browsercache') ?>
81
+ name="nocookies" value="1"<?php checked($browsercache_nocookies, true); ?> /> Disable cookies for static files</label>
82
+ <br /><span class="description">Removes Set-Cookie header for responses.</span>
83
+ </th>
84
+ </tr>
85
+ <tr>
86
+ <th colspan="2">
87
+ <?php $this->checkbox('browsercache.no404wp', !w3_can_check_rules()) ?> Do not process 404 errors for static objects with WordPress</label>
88
  <br /><span class="description">Reduce server load by allowing the web server to handle 404 (not found) errors for static files (images etc).</span>
89
  </th>
90
  </tr>
91
+ <tr>
92
+ <th><label for="browsercache_no404wp_exceptions">404 error exception list:</label></th>
93
+ <td>
94
+ <textarea id="browsercache_no404wp_exceptions"
95
+ <?php $this->sealing_disabled('browsercache') ?>
96
+ name="browsercache.no404wp.exceptions" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('browsercache.no404wp.exceptions'))); ?></textarea><br />
97
+ <span class="description">Never process 404 (not found) events for the specified files.</span>
98
+ </td>
99
+ </tr>
100
  </table>
101
 
102
  <p class="submit">
105
  </p>
106
  <?php echo $this->postbox_footer(); ?>
107
 
108
+ <?php echo $this->postbox_header('<acronym title="Cascading Style Sheet">CSS</acronym> &amp; <acronym title="JavaScript">JS</acronym>', '', 'css_js'); ?>
109
  <p>Specify browser cache policy for Cascading Style Sheets and JavaScript files.</p>
110
 
111
  <table class="form-table">
112
+ <?php if (!w3_is_nginx()): ?>
113
+ <tr>
114
+ <th colspan="2">
115
+ <?php $this->checkbox('browsercache.cssjs.last_modified') ?> Set Last-Modified header</label>
116
+ <br /><span class="description">Set the Last-Modified header to enable 304 Not Modified response.</span>
117
+ </th>
118
+ </tr>
119
+ <?php endif; ?>
120
  <tr>
121
  <th colspan="2">
122
+ <?php $this->checkbox('browsercache.cssjs.expires') ?> Set expires header</label>
 
123
  <br /><span class="description">Set the expires header to encourage browser caching of files.</span>
124
  </th>
125
  </tr>
128
  <label for="browsercache_cssjs_lifetime">Expires header lifetime:</label>
129
  </th>
130
  <td>
131
+ <input id="browsercache_cssjs_lifetime" type="text"
132
+ <?php $this->sealing_disabled('browsercache') ?>
133
+ name="browsercache.cssjs.lifetime" value="<?php echo $this->_config->get_integer('browsercache.cssjs.lifetime'); ?>" size="8" /> seconds
134
  </td>
135
  </tr>
136
  <tr>
137
  <th colspan="2">
138
+ <?php $this->checkbox('browsercache.cssjs.cache.control') ?> Set cache control header</label>
 
139
  <br /><span class="description">Set pragma and cache-control headers to encourage browser caching of files.</span>
140
  </th>
141
  </tr>
142
  <tr>
143
+ <th>
144
  <label for="browsercache_cssjs_cache_policy">Cache Control policy:</label>
145
+ </th>
146
  <td>
147
+ <select id="browsercache_cssjs_cache_policy"
148
+ <?php $this->sealing_disabled('browsercache') ?>
149
+ name="browsercache.cssjs.cache.policy">
150
  <?php $value = $this->_config->get_string('browsercache.cssjs.cache.policy'); ?>
151
  <option value="cache"<?php selected($value, 'cache'); ?>>cache ("public")</option>
152
+ <option value="cache_public_maxage"<?php selected($value, 'cache_public_maxage'); ?>>cache with max-age ("public, max-age=EXPIRES_SECONDS")</option>
153
  <option value="cache_validation"<?php selected($value, 'cache_validation'); ?>>cache with validation ("public, must-revalidate, proxy-revalidate")</option>
154
+ <option value="cache_maxage"<?php selected($value, 'cache_maxage'); ?>>cache with max-age and validation ("max-age=EXPIRES_SECONDS, public, must-revalidate, proxy-revalidate")</option>
155
  <option value="cache_noproxy"<?php selected($value, 'cache_noproxy'); ?>>cache without proxy ("private, must-revalidate")</option>
 
156
  <option value="no_cache"<?php selected($value, 'no_cache'); ?>>no-cache ("max-age=0, private, no-store, no-cache, must-revalidate")</option>
157
  </select>
158
  </td>
159
  </tr>
160
  <tr>
161
  <th colspan="2">
162
+ <?php $this->checkbox('browsercache.cssjs.etag') ?> Set entity tag (eTag)</label>
 
163
  <br /><span class="description">Set the Etag header to encourage browser caching of files.</span>
164
  </th>
165
  </tr>
166
  <tr>
167
  <th colspan="2">
168
+ <?php $this->checkbox('browsercache.cssjs.w3tc') ?> Set W3 Total Cache header</label>
 
169
  <br /><span class="description">Set this header to assist in identifying optimized files.</span>
170
  </th>
171
  </tr>
172
  <tr>
173
  <th colspan="2">
174
+ <?php $this->checkbox('browsercache.cssjs.compression') ?> Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> (gzip) compression</label>
 
175
  <br /><span class="description">Reduce the download time for text-based files.</span>
176
  </th>
177
  </tr>
178
  <tr>
179
  <th colspan="2">
180
+ <?php $this->checkbox('browsercache.cssjs.replace') ?> Prevent caching of objects after settings change</label>
 
181
  <br /><span class="description">Whenever settings are changed, a new query string will be generated and appended to objects allowing the new policy to be applied.</span>
182
  </th>
183
  </tr>
184
+ <tr>
185
+ <th colspan="2">
186
+ <?php $this->checkbox('browsercache.cssjs.nocookies') ?> Disable cookies for static files</label>
187
+ <br /><span class="description">Removes Set-Cookie header for responses.</span>
188
+ </th>
189
+ </tr>
190
  </table>
191
 
192
  <p class="submit">
195
  </p>
196
  <?php echo $this->postbox_footer(); ?>
197
 
198
+ <?php echo $this->postbox_header('<acronym title="Hypertext Markup Language">HTML</acronym> &amp; <acronym title="Extensible Markup Language">XML</acronym>', '', 'html_xml'); ?>
199
  <p>Specify browser cache policy for posts, pages, feeds and text-based files.</p>
200
 
201
  <table class="form-table">
202
+ <?php if (!w3_is_nginx()): ?>
203
+ <tr>
204
+ <th colspan="2">
205
+ <?php $this->checkbox('browsercache.html.last_modified') ?> Set Last-Modified header</label>
206
+ <br /><span class="description">Set the Last-Modified header to enable 304 Not Modified response.</span>
207
+ </th>
208
+ </tr>
209
+ <?php endif; ?>
210
  <tr>
211
  <th colspan="2">
212
+ <?php $this->checkbox('browsercache.html.expires') ?> Set expires header</label>
 
213
  <br /><span class="description">Set the expires header to encourage browser caching of files.</span>
214
  </th>
215
  </tr>
218
  <label for="browsercache_html_lifetime">Expires header lifetime:</label>
219
  </th>
220
  <td>
221
+ <input id="browsercache_html_lifetime" type="text"
222
+ name="browsercache.html.lifetime"
223
+ <?php $this->sealing_disabled('browsercache') ?>
224
+ value="<?php echo $this->_config->get_integer('browsercache.html.lifetime'); ?>" size="8" /> seconds
225
  </td>
226
  </tr>
227
  <tr>
228
  <th colspan="2">
229
+ <?php $this->checkbox('browsercache.html.cache.control') ?> Set cache control header</label>
 
230
  <br /><span class="description">Set pragma and cache-control headers to encourage browser caching of files.</span>
231
  </th>
232
  </tr>
233
  <tr>
234
+ <th>
235
  <label for="browsercache_html_cache_policy">Cache Control policy:</label>
236
+ </th>
237
  <td>
238
+ <select id="browsercache_html_cache_policy" name="browsercache.html.cache.policy"
239
+ <?php $this->sealing_disabled('browsercache') ?>>
240
  <?php $value = $this->_config->get_string('browsercache.html.cache.policy'); ?>
241
  <option value="cache"<?php selected($value, 'cache'); ?>>cache ("public")</option>
242
+ <option value="cache_public_maxage"<?php selected($value, 'cache_public_maxage'); ?>>cache with max-age ("public, max-age=EXPIRES_SECONDS")</option>
243
  <option value="cache_validation"<?php selected($value, 'cache_validation'); ?>>cache with validation ("public, must-revalidate, proxy-revalidate")</option>
244
+ <option value="cache_maxage"<?php selected($value, 'cache_maxage'); ?>>cache with max-age and validation ("max-age=EXPIRES_SECONDS, public, must-revalidate, proxy-revalidate")</option>
245
  <option value="cache_noproxy"<?php selected($value, 'cache_noproxy'); ?>>cache without proxy ("private, must-revalidate")</option>
 
246
  <option value="no_cache"<?php selected($value, 'no_cache'); ?>>no-cache ("max-age=0, private, no-store, no-cache, must-revalidate")</option>
247
  </select>
248
  </td>
249
  </tr>
250
  <tr>
251
  <th colspan="2">
252
+ <?php $this->checkbox('browsercache.html.etag') ?> Set entity tag (eTag)</label>
 
253
  <br /><span class="description">Set the Etag header to encourage browser caching of files.</span>
254
  </th>
255
  </tr>
256
  <tr>
257
  <th colspan="2">
258
+ <?php $this->checkbox('browsercache.html.w3tc') ?> Set W3 Total Cache header</label>
 
259
  <br /><span class="description">Set this header to assist in identifying optimized files.</span>
260
  </th>
261
  </tr>
262
  <tr>
263
  <th colspan="2">
264
+ <?php $this->checkbox('browsercache.html.compression') ?> Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> (gzip) compression</label>
 
265
  <br /><span class="description">Reduce the download time for text-based files.</span>
266
  </th>
267
  </tr>
273
  </p>
274
  <?php echo $this->postbox_footer(); ?>
275
 
276
+ <?php echo $this->postbox_header('Media &amp; Other Files', '', 'media'); ?>
277
  <table class="form-table">
278
+ <?php if (!w3_is_nginx()): ?>
279
  <tr>
280
  <th colspan="2">
281
+ <?php $this->checkbox('browsercache.other.last_modified') ?> Set Last-Modified header</label>
282
+ <br /><span class="description">Set the Last-Modified header to enable 304 Not Modified response.</span>
283
+ </th>
284
+ </tr>
285
+ <?php endif; ?>
286
+ <tr>
287
+ <th colspan="2">
288
+ <?php $this->checkbox('browsercache.other.expires') ?> Set expires header</label>
289
  <br /><span class="description">Set the expires header to encourage browser caching of files.</span>
290
  </th>
291
  </tr>
294
  <label for="browsercache_other_lifetime">Expires header lifetime:</label>
295
  </th>
296
  <td>
297
+ <input id="browsercache_other_lifetime" type="text"
298
+ <?php $this->sealing_disabled('browsercache') ?>
299
+ name="browsercache.other.lifetime" value="<?php echo $this->_config->get_integer('browsercache.other.lifetime'); ?>" size="8" /> seconds
300
  </td>
301
  </tr>
302
  <tr>
303
  <th colspan="2">
304
+ <?php $this->checkbox('browsercache.other.cache.control') ?> Set cache control header</label>
 
305
  <br /><span class="description">Set pragma and cache-control headers to encourage browser caching of files.</span>
306
  </th>
307
  </tr>
308
  <tr>
309
+ <th>
310
  <label for="browsercache_other_cache_policy">Cache Control policy:</label>
311
+ </th>
312
  <td>
313
+ <select id="browsercache_other_cache_policy"
314
+ <?php $this->sealing_disabled('browsercache') ?>
315
+ name="browsercache.other.cache.policy">
316
  <?php $value = $this->_config->get_string('browsercache.other.cache.policy'); ?>
317
  <option value="cache"<?php selected($value, 'cache'); ?>>cache ("public")</option>
318
+ <option value="cache_public_maxage"<?php selected($value, 'cache_public_maxage'); ?>>cache with max-age ("public, max-age=EXPIRES_SECONDS")</option>
319
  <option value="cache_validation"<?php selected($value, 'cache_validation'); ?>>cache with validation ("public, must-revalidate, proxy-revalidate")</option>
320
+ <option value="cache_maxage"<?php selected($value, 'cache_maxage'); ?>>cache with max-age and validation ("max-age=EXPIRES_SECONDS, public, must-revalidate, proxy-revalidate")</option>
321
  <option value="cache_noproxy"<?php selected($value, 'cache_noproxy'); ?>>cache without proxy ("private, must-revalidate")</option>
 
322
  <option value="no_cache"<?php selected($value, 'no_cache'); ?>>no-cache ("max-age=0, private, no-store, no-cache, must-revalidate")</option>
323
  </select>
324
  </td>
325
  </tr>
326
  <tr>
327
  <th colspan="2">
328
+ <?php $this->checkbox('browsercache.other.etag') ?> Set entity tag (eTag)</label>
 
329
  <br /><span class="description">Set the Etag header to encourage browser caching of files.</span>
330
  </th>
331
  </tr>
332
  <tr>
333
  <th colspan="2">
334
+ <?php $this->checkbox('browsercache.other.w3tc') ?> Set W3 Total Cache header</label>
 
335
  <br /><span class="description">Set this header to assist in identifying optimized files.</span>
336
  </th>
337
  </tr>
338
  <tr>
339
  <th colspan="2">
340
+ <?php $this->checkbox('browsercache.other.compression') ?> Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> (gzip) compression</label>
 
341
  <br /><span class="description">Reduce the download time for text-based files.</span>
342
  </th>
343
  </tr>
344
  <tr>
345
  <th colspan="2">
346
+ <?php $this->checkbox('browsercache.other.replace') ?> Prevent caching of objects after settings change</label>
 
347
  <br /><span class="description">Whenever settings are changed, a new query string will be generated and appended to objects allowing the new policy to be applied.</span>
348
  </th>
349
  </tr>
350
+ <tr>
351
+ <th colspan="2">
352
+ <?php $this->checkbox('browsercache.other.nocookies') ?> Disable cookies for static files</label>
353
+ <br /><span class="description">Removes Set-Cookie header for responses.</span>
354
+ </th>
355
+ </tr>
356
  </table>
357
 
358
  <p class="submit">
inc/options/cdn.php CHANGED
@@ -2,250 +2,300 @@
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
 
4
  <p>
5
- Content Delivery Network support via
6
- <strong><?php echo w3_get_engine_name($this->_config->get_string('cdn.engine')); ?></strong>
7
- is currently <span class="w3tc-<?php if ($cdn_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
8
  </p>
9
-
 
10
  <?php if ($cdn_mirror): ?>
11
- <p>
12
- Maximize <acronym title="Content Delivery Network">CDN</acronym> usage by <input id="cdn_rename_domain" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="modify attachment URLs" /> or
13
- <input id="cdn_import_library" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="importing attachments into the Media Library" />.
14
  <?php if (w3_can_cdn_purge($cdn_engine)): ?>
15
- <input id="cdn_purge" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Purge" /> objects from the <acronym title="Content Delivery Network">CDN</acronym> using this tool.
 
 
 
 
 
 
16
  <?php endif; ?>
17
- </p>
18
  <?php else: ?>
19
- <p>
20
- Prepare the <acronym title="Content Delivery Network">CDN</acronym> by:
21
- <input id="cdn_import_library" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="importing attachments into the Media Library" />.
22
- Check <input id="cdn_queue" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="unsuccessful file transfers" /> if some objects appear to be missing.
23
  <?php if (w3_can_cdn_purge($cdn_engine)): ?>
24
  <input id="cdn_purge" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Purge" /> objects from the <acronym title="Content Delivery Network">CDN</acronym> if needed.
25
  <?php endif; ?>
26
- <input id="cdn_rename_domain" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Modify attachment URLs" /> if the domain name of your site has ever changed.
27
- </p>
28
  <?php endif; ?>
29
-
 
 
 
 
 
30
  <form id="cdn_form" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
31
  <div class="metabox-holder">
32
- <?php echo $this->postbox_header('General'); ?>
33
  <table class="form-table">
34
  <tr>
35
  <th<?php if ($cdn_mirror): ?> colspan="2"<?php else: ?> style="width: 300px;"<?php endif; ?>>
36
- <input type="hidden" name="cdn.uploads.enable" value="0" />
37
- <label><input type="checkbox" name="cdn.uploads.enable" value="1"<?php checked($this->_config->get_boolean('cdn.uploads.enable'), true); ?> /> Host attachments</label><br />
38
  <span class="description">If checked, all attachments will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
39
  </th>
40
  <?php if (! $cdn_mirror): ?>
41
  <td>
42
- <input id="cdn_export_library" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload attachments" />
43
  </td>
44
  <?php endif; ?>
45
  </tr>
46
- <tr>
47
- <th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
48
- <input type="hidden" name="cdn.includes.enable" value="0" />
49
- <label><input type="checkbox" name="cdn.includes.enable" value="1"<?php checked($this->_config->get_boolean('cdn.includes.enable'), true); ?> /> Host wp-includes/ files</label><br />
50
- <span class="description">If checked, WordPress static core file types specified in the "wp-includes file types to upload" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
51
- </th>
52
- <?php if (! $cdn_mirror): ?>
53
- <td>
54
- <input class="button cdn_export {type: 'includes', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload includes files" />
55
- </td>
56
- <?php endif; ?>
57
- </tr>
58
- <tr>
59
- <th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
60
- <input type="hidden" name="cdn.theme.enable" value="0" />
61
- <label><input type="checkbox" name="cdn.theme.enable" value="1"<?php checked($this->_config->get_boolean('cdn.theme.enable'), true); ?> /> Host theme files</label><br />
62
- <span class="description">If checked, all theme file types specified in the "theme file types to upload" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
63
- </th>
64
- <?php if (! $cdn_mirror): ?>
65
- <td>
66
- <input class="button cdn_export {type: 'theme', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload theme files" />
67
- </td>
68
- <?php endif; ?>
69
- </tr>
70
- <tr>
71
- <th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
72
- <input type="hidden" name="cdn.minify.enable" value="0"<?php if (!$minify_enabled): ?> disabled="disabled"<?php endif; ?> />
73
- <label><input type="checkbox" name="cdn.minify.enable" value="1"<?php checked($this->_config->get_boolean('cdn.minify.enable'), true); ?><?php if (!$minify_enabled): ?> disabled="disabled"<?php endif; ?> /> Host minified <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files</label><br />
74
- <span class="description">If checked, minified <acronym>CSS</acronym> and <acronym>JS</acronym> files will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
75
- </th>
76
- <?php if (! $cdn_mirror): ?>
77
- <td>
78
- <input class="button cdn_export {type: 'minify', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload minify files"<?php if (!$minify_enabled): ?> disabled="disabled"<?php endif; ?> />
79
- </td>
80
- <?php endif; ?>
81
- </tr>
82
- <tr>
83
- <th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
84
- <input type="hidden" name="cdn.custom.enable" value="0" />
85
- <label><input type="checkbox" name="cdn.custom.enable" value="1"<?php checked($this->_config->get_boolean('cdn.custom.enable'), true); ?> /> Host custom files</label><br />
86
- <span class="description">If checked, any file names or paths specified in the "custom file list" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
87
- </th>
88
- <?php if (! $cdn_mirror): ?>
89
- <td>
90
- <input class="button cdn_export {type: 'custom', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload custom files" />
91
- </td>
92
- <?php endif; ?>
93
- </tr>
94
- <?php if (! $cdn_mirror): ?>
95
- <tr>
96
- <th colspan="2">
97
- <input type="hidden" name="cdn.force.rewrite" value="0" />
98
- <label><input type="checkbox" name="cdn.force.rewrite" value="1"<?php checked($this->_config->get_boolean('cdn.force.rewrite'), true); ?> /> Force over-writing of existing files</label><br />
99
- <span class="description">If modified files are not always detected and replaced, use this option to over-write them.</span>
100
- </th>
101
- </tr>
102
- <?php endif; ?>
103
- <tr>
104
- <th colspan="2">
105
- <input type="hidden" name="cdn.import.external" value="0" />
106
- <label><input type="checkbox" name="cdn.import.external" value="1"<?php checked($this->_config->get_boolean('cdn.import.external'), true); ?> /> Import external media library attachments</label><br />
107
- <span class="description">Download attachments hosted elsewhere into your media library and deliver them via <acronym title="Content Delivery Network">CDN</acronym>.</span>
108
- </th>
109
- </tr>
 
 
 
 
 
 
 
 
110
  </table>
 
111
 
112
  <p class="submit">
113
  <?php echo $this->nonce_field('w3tc'); ?>
114
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
115
  </p>
116
- <?php echo $this->postbox_footer(); ?>
117
 
118
- <?php echo $this->postbox_header('Configuration'); ?>
119
  <table class="form-table">
120
- <?php
121
  if (w3_is_cdn_engine($cdn_engine)) {
122
  include W3TC_INC_DIR . '/options/cdn/' . $cdn_engine . '.php';
123
- }
124
- ?>
125
  </table>
126
 
127
  <p class="submit">
128
  <?php echo $this->nonce_field('w3tc'); ?>
129
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
130
  </p>
131
- <?php echo $this->postbox_footer(); ?>
132
 
133
- <?php echo $this->postbox_header('Advanced'); ?>
134
  <table class="form-table">
135
  <tr>
136
  <th colspan="2">
137
- <input type="hidden" name="cdn.reject.admins" value="0" />
138
- <label><input type="checkbox" name="cdn.reject.admins" value="1"<?php checked($this->_config->get_boolean('cdn.reject.admins'), true); ?> /> Don't replace <acronym title="Uniform Resource Indicator">URL</acronym>s for logged in administrators</label><br />
139
- <span class="description">Authenticated administrators will use the origin server exclusively when this option is selected.</span>
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  </th>
141
  </tr>
142
- <?php if (! $cdn_mirror): ?>
143
  <tr>
144
  <th colspan="2">
145
- <input type="hidden" name="minify.upload" value="0"<?php if ($this->_config->get_boolean('minify.auto')): ?> disabled="disabled"<?php endif; ?> />
146
- <label><input type="checkbox" name="minify.upload" value="1"<?php checked($this->_config->get_boolean('minify.upload'), true); ?><?php if ($this->_config->get_boolean('minify.auto')): ?> disabled="disabled"<?php endif; ?> /> Automatically upload minify files</label><br />
147
  <span class="description">If <acronym title="Content Delivery Network">CDN</acronym> is enabled (and not using the origin pull method), your minified files will be automatically uploaded.</span>
148
  </th>
149
  </tr>
150
- <tr>
151
- <th colspan="2">
152
- <input type="hidden" name="cdn.autoupload.enabled" value="0" />
153
- <label><input type="checkbox" name="cdn.autoupload.enabled" value="1"<?php checked($this->_config->get_boolean('cdn.autoupload.enabled'), true); ?> /> Export changed files automatically</label><br />
154
- <span class="description">Automatically attempt to find and upload changed files.</span>
155
- </th>
156
- </tr>
157
  <tr>
158
  <th><label for="cdn_autoupload_interval">Auto upload interval:</label></th>
159
  <td>
160
- <input id="cdn_autoupload_interval" type="text" name="cdn.autoupload.interval" value="<?php echo $this->_config->get_integer('cdn.autoupload.interval'); ?>" size="8" /> seconds<br />
 
 
 
161
  <span class="description">Specify the interval between upload of changed files.</span>
162
  </td>
163
  </tr>
164
- <tr>
165
- <th><label for="cdn_limit_interval">Re-transfer cycle interval:</label></th>
166
- <td>
167
- <input id="cdn_limit_interval" type="text" name="cdn.queue.interval" value="<?php echo htmlspecialchars($this->_config->get_integer('cdn.queue.interval')); ?>" size="10" /> seconds<br />
168
- <span class="description">The number of seconds to wait before upload attempt.</span>
169
- </td>
170
- </tr>
171
- <tr>
172
- <th><label for="cdn_limit_queue">Re-transfer cycle limit:</label></th>
173
- <td>
174
- <input id="cdn_limit_queue" type="text" name="cdn.queue.limit" value="<?php echo htmlspecialchars($this->_config->get_integer('cdn.queue.limit')); ?>" size="10" /><br />
175
- <span class="description">Number of files processed per upload attempt.</span>
176
- </td>
177
- </tr>
178
- <?php endif; ?>
179
- <tr>
180
- <th style="width: 300px;"><label for="cdn_includes_files">wp-includes file types to upload:</label></th>
181
- <td>
182
- <input id="cdn_includes_files" type="text" name="cdn.includes.files" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.includes.files')); ?>" size="100" /><br />
183
- <span class="description">Specify the file types within the WordPress core to host with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
184
- </td>
185
- </tr>
186
- <tr>
187
- <th><label for="cdn_theme_files">Theme file types to upload:</label></th>
188
- <td>
189
- <input id="cdn_theme_files" type="text" name="cdn.theme.files" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.theme.files')); ?>" size="100" /><br />
190
- <span class="description">Specify the file types in the active theme to host with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
191
- </td>
192
- </tr>
193
- <tr>
194
- <th><label for="cdn_import_files">File types to import:</label></th>
195
- <td>
196
- <input id="cdn_import_files" type="text" name="cdn.import.files" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.import.files')); ?>" size="100" /><br />
197
- <span class="description">Automatically import files hosted with 3rd parties of these types (if used in your posts / pages) to your media library.</span>
198
- </td>
199
- </tr>
200
- <tr>
201
- <th><label for="cdn_custom_files">Custom file list:</label></th>
202
- <td>
203
- <textarea id="cdn_custom_files" name="cdn.custom.files" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.custom.files'))); ?></textarea><br />
204
- <span class="description">Specify any files outside of theme or other common directories to host with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
205
- </td>
206
- </tr>
207
- <tr>
208
- <th><label for="cdn_reject_ua">Rejected user agents:</label></th>
209
- <td>
210
- <textarea id="cdn_reject_ua" name="cdn.reject.ua" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.reject.ua'))); ?></textarea><br />
211
- <span class="description">Specify user agents that should not access files hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
212
- </td>
213
- </tr>
214
- <tr>
215
- <th><label for="cdn_reject_files">Rejected files:</label></th>
216
- <td>
217
- <textarea id="cdn_reject_files" name="cdn.reject.files" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.reject.files'))); ?></textarea><br />
218
- <span class="description">Specify the path of files that should not use the <acronym title="Content Delivery Network">CDN</acronym>.</span>
219
- </td>
220
- </tr>
221
- <tr>
222
- <th colspan="2">
223
- <input type="hidden" name="set_cookie_domain_old" value="<?php echo (int) $set_cookie_domain; ?>" />
224
- <input type="hidden" name="set_cookie_domain_new" value="0" />
225
- <label><input type="checkbox" name="set_cookie_domain_new" value="1"<?php checked($set_cookie_domain, true); ?> /> Set cookie domain to &quot;<?php echo htmlspecialchars($cookie_domain); ?>&quot;</label>
226
- <br /><span class="description">If using subdomain for <acronym title="Content Delivery Network">CDN</acronym> functionality, this setting helps prevent new users from sending cookies in requests to the <acronym title="Content Delivery Network">CDN</acronym> subdomain.</span>
227
- </th>
228
- </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  </table>
230
 
231
  <p class="submit">
232
  <?php echo $this->nonce_field('w3tc'); ?>
233
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
234
  </p>
235
- <?php echo $this->postbox_footer(); ?>
236
 
237
- <?php echo $this->postbox_header('Note(s):'); ?>
238
  <table class="form-table">
239
- <tr>
240
- <th colspan="2">
241
- <ul>
242
- <li>If using Amazon Web Services or Self-Hosted <acronym title="Content Delivery Network">CDN</acronym> types, enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression in the "Media &amp; Other Files" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
243
- </ul>
244
- </th>
245
- </tr>
246
  </table>
247
- <?php echo $this->postbox_footer(); ?>
 
248
  </div>
249
  </form>
250
-
251
  <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
 
4
  <p>
5
+ Content Delivery Network support via
6
+ <strong><?php echo w3_get_engine_name($this->_config->get_string('cdn.engine')); ?></strong>
7
+ is currently <span class="w3tc-<?php if ($cdn_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
8
  </p>
9
+ <form id="w3tc_cdn" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
10
+ <p>
11
  <?php if ($cdn_mirror): ?>
12
+ Maximize <acronym title="Content Delivery Network">CDN</acronym> usage by <input id="cdn_rename_domain" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="modify attachment URLs" /> or
13
+ <input id="cdn_import_library" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="importing attachments into the Media Library" />.
 
14
  <?php if (w3_can_cdn_purge($cdn_engine)): ?>
15
+ <input id="cdn_purge" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Purge" /> objects from the <acronym title="Content Delivery Network">CDN</acronym> using this tool
16
+ <?php endif; ?>
17
+ <?php if ($cdn_mirror_purge_all): ?>
18
+ or <input class="button" type="submit" name="w3tc_flush_cdn" value="purge CDN completely" />
19
+ <?php endif; ?>
20
+ <?php if (w3_can_cdn_purge($cdn_engine)): ?>
21
+ .
22
  <?php endif; ?>
 
23
  <?php else: ?>
24
+ Prepare the <acronym title="Content Delivery Network">CDN</acronym> by:
25
+ <input id="cdn_import_library" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="importing attachments into the Media Library" />.
26
+ Check <input id="cdn_queue" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="unsuccessful file transfers" /> if some objects appear to be missing.
 
27
  <?php if (w3_can_cdn_purge($cdn_engine)): ?>
28
  <input id="cdn_purge" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Purge" /> objects from the <acronym title="Content Delivery Network">CDN</acronym> if needed.
29
  <?php endif; ?>
30
+ <input id="cdn_rename_domain" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Modify attachment URLs" /> if the domain name of your site has ever changed.
 
31
  <?php endif; ?>
32
+ <?php echo $this->nonce_field('w3tc'); ?>
33
+ <?php if ((!$this->_config_admin->get_boolean('common.visible_by_master_only') || (is_super_admin() && (!w3_force_master() || is_network_admin())))): ?>
34
+ <input type="submit" name="w3tc_flush_browser_cache" value="Update media query string" <?php disabled(! ($browsercache_enabled && $browsercache_update_media_qs)) ?> class="button" /> to make existing file modififications visible to visitors with a primed cache.
35
+ <?php endif ?>
36
+ </p>
37
+ </form>
38
  <form id="cdn_form" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
39
  <div class="metabox-holder">
40
+ <?php echo $this->postbox_header('General', '', 'general'); ?>
41
  <table class="form-table">
42
  <tr>
43
  <th<?php if ($cdn_mirror): ?> colspan="2"<?php else: ?> style="width: 300px;"<?php endif; ?>>
44
+ <?php $this->checkbox('cdn.uploads.enable') ?> Host attachments</label><br />
 
45
  <span class="description">If checked, all attachments will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
46
  </th>
47
  <?php if (! $cdn_mirror): ?>
48
  <td>
49
+ <input id="cdn_export_library" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload attachments" />
50
  </td>
51
  <?php endif; ?>
52
  </tr>
53
+ <tr>
54
+ <th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
55
+ <?php $this->checkbox('cdn.includes.enable') ?> Host wp-includes/ files</label><br />
56
+ <span class="description">If checked, WordPress static core file types specified in the "wp-includes file types to upload" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
57
+ </th>
58
+ <?php if (! $cdn_mirror): ?>
59
+ <td>
60
+ <input class="button cdn_export {type: 'includes', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload includes files" />
61
+ </td>
62
+ <?php endif; ?>
63
+ </tr>
64
+ <tr>
65
+ <th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
66
+ <?php $this->checkbox('cdn.theme.enable') ?> Host theme files</label><br />
67
+ <span class="description">If checked, all theme file types specified in the "theme file types to upload" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
68
+ </th>
69
+ <?php if (! $cdn_mirror): ?>
70
+ <td>
71
+ <input class="button cdn_export {type: 'theme', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload theme files" />
72
+ </td>
73
+ <?php endif; ?>
74
+ </tr>
75
+ <tr>
76
+ <th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
77
+ <?php $this->checkbox('cdn.minify.enable', !$minify_enabled) ?> Host minified <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files</label><br />
78
+ <span class="description">If checked, minified <acronym>CSS</acronym> and <acronym>JS</acronym> files will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
79
+ </th>
80
+ <?php if (! $cdn_mirror): ?>
81
+ <td>
82
+ <input class="button cdn_export {type: 'minify', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload minify files"<?php if (!$minify_enabled): ?> disabled="disabled"<?php endif; ?> />
83
+ </td>
84
+ <?php endif; ?>
85
+ </tr>
86
+ <tr>
87
+ <th<?php if ($cdn_mirror): ?> colspan="2"<?php endif; ?>>
88
+ <?php $this->checkbox('cdn.custom.enable') ?> Host custom files</label><br />
89
+ <span class="description">If checked, any file names or paths specified in the "custom file list" field below will be hosted with the <acronym title="Content Delivery Network">CDN</acronym>. Supports regular expression (See <a href="<?php echo network_admin_url('admin.php?page=w3tc_faq#q82')?>">FAQ</a>)</span>
90
+ </th>
91
+ <?php if (! $cdn_mirror): ?>
92
+ <td>
93
+ <input class="button cdn_export {type: 'custom', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Upload custom files" />
94
+ </td>
95
+ <?php endif; ?>
96
+ </tr>
97
+ <?php if (! $cdn_mirror): ?>
98
+ <tr>
99
+ <th colspan="2">
100
+ <?php $this->checkbox('cdn.force.rewrite') ?> Force over-writing of existing files</label><br />
101
+ <span class="description">If modified files are not always detected and replaced, use this option to over-write them.</span>
102
+ </th>
103
+ </tr>
104
+ <?php endif; ?>
105
+ <tr>
106
+ <th colspan="2">
107
+ <?php $this->checkbox('cdn.import.external') ?> Import external media library attachments</label><br />
108
+ <span class="description">Download attachments hosted elsewhere into your media library and deliver them via <acronym title="Content Delivery Network">CDN</acronym>.</span>
109
+ </th>
110
+ </tr>
111
+ <tr>
112
+ <th colspan="2">
113
+ <?php $this->checkbox('cdncache.enabled', !$cdn_supports_full_page_mirroring) ?> Enable mirroring of pages</label><br/>
114
+ <span class="description"> Enabling this option allows the <acronym title="Content Delivery Network">CDN</acronym> to handle requests for unauthenticated pages thereby reducing the traffic load on the origin server(s). Purge policies are set on the <a href="<?php echo network_admin_url('admin.php?page=w3tc_pgcache#purge_policy') ?>">Page Cache settings</a> tab.</span>
115
+ </th>
116
+ </tr>
117
+ <?php if ($cdn_supports_header): ?>
118
+ <tr>
119
+ <th colspan="2">
120
+ <?php $this->checkbox('cdn.canonical_header') ?> Add canonical header</label><br />
121
+ <span class="description">Adds canonical <acronym title="Hypertext Transfer Protocol">HTTP</acronym> header to assets files.</span>
122
+ </th>
123
+ </tr>
124
+ <?php endif; ?>
125
  </table>
126
+ <?php if ((!$this->_config_admin->get_boolean('common.visible_by_master_only') || (is_super_admin() && (!w3_force_master() || is_network_admin())))): ?>
127
 
128
  <p class="submit">
129
  <?php echo $this->nonce_field('w3tc'); ?>
130
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
131
  </p>
132
+ <?php echo $this->postbox_footer(); ?>
133
 
134
+ <?php echo $this->postbox_header('Configuration', '', 'configuration'); ?>
135
  <table class="form-table">
136
+ <?php
137
  if (w3_is_cdn_engine($cdn_engine)) {
138
  include W3TC_INC_DIR . '/options/cdn/' . $cdn_engine . '.php';
139
+ }
140
+ ?>
141
  </table>
142
 
143
  <p class="submit">
144
  <?php echo $this->nonce_field('w3tc'); ?>
145
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
146
  </p>
147
+ <?php echo $this->postbox_footer(); ?>
148
 
149
+ <?php echo $this->postbox_header('Advanced', '', 'advanced'); ?>
150
  <table class="form-table">
151
  <tr>
152
  <th colspan="2">
153
+ <?php $this->checkbox('cdn.reject.ssl') ?> <?php _e('Disable <acronym title="Content Delivery Network">CDN</acronym> on <acronym title="Secure Sockets Layer">SSL</acronym> pages', 'w3-total-cache') ?></label>
154
+ </th>
155
+ </tr>
156
+ <tr>
157
+ <th colspan="2">
158
+ <?php $this->checkbox('cdn.reject.logged_roles') ?> Don't replace <acronym title="Uniform Resource Indicator">URL</acronym>s for following user roles</label><br />
159
+ <span class="description">Select user roles that will use the origin server exclusively:</span>
160
+
161
+ <div id="cdn_reject_roles">
162
+ <?php $saved_roles = $this->_config->get_array('cdn.reject.roles'); ?>
163
+ <input type="hidden" name="cdn.reject.roles" value="" /><br />
164
+ <?php foreach( get_editable_roles() as $role_name => $role_data ) : ?>
165
+ <input type="checkbox" name="cdn.reject.roles[]" value="<?php echo $role_name ?>" <?php checked( in_array( $role_name, $saved_roles ) ) ?> id="role_<?php echo $role_name ?>" />
166
+ <label for="role_<?php echo $role_name ?>"><?php echo $role_data['name'] ?></label>
167
+ <?php endforeach; ?>
168
+ </div>
169
  </th>
170
  </tr>
171
+ <?php if (! $cdn_mirror): ?>
172
  <tr>
173
  <th colspan="2">
174
+ <?php $this->checkbox('minify.upload', $this->_config->get_boolean('minify.auto')) ?> Automatically upload minify files</label><br />
 
175
  <span class="description">If <acronym title="Content Delivery Network">CDN</acronym> is enabled (and not using the origin pull method), your minified files will be automatically uploaded.</span>
176
  </th>
177
  </tr>
178
+ <tr>
179
+ <th colspan="2">
180
+ <?php $this->checkbox('cdn.autoupload.enabled') ?> Export changed files automatically</label><br />
181
+ <span class="description">Automatically attempt to find and upload changed files.</span>
182
+ </th>
183
+ </tr>
 
184
  <tr>
185
  <th><label for="cdn_autoupload_interval">Auto upload interval:</label></th>
186
  <td>
187
+ <input id="cdn_autoupload_interval" type="text"
188
+ name="cdn.autoupload.interval"
189
+ <?php $this->sealing_disabled('cdn') ?>
190
+ value="<?php echo $this->_config->get_integer('cdn.autoupload.interval'); ?>" size="8" /> seconds<br />
191
  <span class="description">Specify the interval between upload of changed files.</span>
192
  </td>
193
  </tr>
194
+ <tr>
195
+ <th><label for="cdn_limit_interval">Re-transfer cycle interval:</label></th>
196
+ <td>
197
+ <input id="cdn_limit_interval" type="text"
198
+ <?php $this->sealing_disabled('cdn') ?>
199
+ name="cdn.queue.interval" value="<?php echo htmlspecialchars($this->_config->get_integer('cdn.queue.interval')); ?>" size="10" /> seconds<br />
200
+ <span class="description">The number of seconds to wait before upload attempt.</span>
201
+ </td>
202
+ </tr>
203
+ <tr>
204
+ <th><label for="cdn_limit_queue">Re-transfer cycle limit:</label></th>
205
+ <td>
206
+ <input id="cdn_limit_queue" type="text"
207
+ <?php $this->sealing_disabled('cdn') ?>
208
+ name="cdn.queue.limit" value="<?php echo htmlspecialchars($this->_config->get_integer('cdn.queue.limit')); ?>" size="10" /><br />
209
+ <span class="description">Number of files processed per upload attempt.</span>
210
+ </td>
211
+ </tr>
212
+ <?php endif; ?>
213
+ <tr>
214
+ <th style="width: 300px;"><label for="cdn_includes_files">wp-includes file types to upload:</label></th>
215
+ <td>
216
+ <input id="cdn_includes_files" type="text"
217
+ <?php $this->sealing_disabled('cdn') ?>
218
+ name="cdn.includes.files" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.includes.files')); ?>" size="100" /><br />
219
+ <span class="description">Specify the file types within the WordPress core to host with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
220
+ </td>
221
+ </tr>
222
+ <tr>
223
+ <th><label for="cdn_theme_files">Theme file types to upload:</label></th>
224
+ <td>
225
+ <input id="cdn_theme_files" type="text" name="cdn.theme.files"
226
+ <?php $this->sealing_disabled('cdn') ?>
227
+ value="<?php echo htmlspecialchars($this->_config->get_string('cdn.theme.files')); ?>" size="100" /><br />
228
+ <span class="description">Specify the file types in the active theme to host with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
229
+ </td>
230
+ </tr>
231
+ <tr>
232
+ <th><label for="cdn_import_files">File types to import:</label></th>
233
+ <td>
234
+ <input id="cdn_import_files" type="text" name="cdn.import.files"
235
+ <?php $this->sealing_disabled('cdn') ?>
236
+ value="<?php echo htmlspecialchars($this->_config->get_string('cdn.import.files')); ?>" size="100" /><br />
237
+ <span class="description">Automatically import files hosted with 3rd parties of these types (if used in your posts / pages) to your media library.</span>
238
+ </td>
239
+ </tr>
240
+ <tr>
241
+ <th><label for="cdn_custom_files">Custom file list:</label></th>
242
+ <td>
243
+ <textarea id="cdn_custom_files" name="cdn.custom.files"
244
+ <?php $this->sealing_disabled('cdn') ?> cols="40"
245
+ rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.custom.files'))); ?></textarea><br />
246
+ <span class="description">Specify any files outside of theme or other common directories to host with the <acronym title="Content Delivery Network">CDN</acronym>.
247
+ <?php if (w3_is_network()): ?>
248
+ <br />
249
+ To upload files in blogs.dir for current blog write wp-content/&lt;currentblog&gt;/.
250
+ <?php endif ?>
251
+ </span>
252
+ </td>
253
+ </tr>
254
+ <tr>
255
+ <th><label for="cdn_reject_ua">Rejected user agents:</label></th>
256
+ <td>
257
+ <textarea id="cdn_reject_ua" name="cdn.reject.ua" cols="40"
258
+ <?php $this->sealing_disabled('cdn') ?> rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.reject.ua'))); ?></textarea><br />
259
+ <span class="description">Specify user agents that should not access files hosted with the <acronym title="Content Delivery Network">CDN</acronym>.</span>
260
+ </td>
261
+ </tr>
262
+ <tr>
263
+ <th><label for="cdn_reject_files">Rejected files:</label></th>
264
+ <td>
265
+ <textarea id="cdn_reject_files" name="cdn.reject.files"
266
+ <?php $this->sealing_disabled('cdn') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.reject.files'))); ?></textarea><br />
267
+ <span class="description">Specify the path of files that should not use the <acronym title="Content Delivery Network">CDN</acronym>.</span>
268
+ </td>
269
+ </tr>
270
+ <tr>
271
+ <th colspan="2">
272
+ <input type="hidden" name="set_cookie_domain_old" value="<?php echo (int) $set_cookie_domain; ?>" />
273
+ <input type="hidden" name="set_cookie_domain_new" value="0" />
274
+ <label><input type="checkbox" name="set_cookie_domain_new"
275
+ <?php $this->sealing_disabled('cdn') ?> value="1"<?php checked($set_cookie_domain, true); ?> /> Set cookie domain to &quot;<?php echo htmlspecialchars($cookie_domain); ?>&quot;</label>
276
+ <br /><span class="description">If using subdomain for <acronym title="Content Delivery Network">CDN</acronym> functionality, this setting helps prevent new users from sending cookies in requests to the <acronym title="Content Delivery Network">CDN</acronym> subdomain.</span>
277
+ </th>
278
+ </tr>
279
  </table>
280
 
281
  <p class="submit">
282
  <?php echo $this->nonce_field('w3tc'); ?>
283
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
284
  </p>
285
+ <?php echo $this->postbox_footer(); ?>
286
 
287
+ <?php echo $this->postbox_header('Note(s):', '', 'notes'); ?>
288
  <table class="form-table">
289
+ <tr>
290
+ <th colspan="2">
291
+ <ul>
292
+ <li>If using Amazon Web Services or Self-Hosted <acronym title="Content Delivery Network">CDN</acronym> types, enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression in the "Media &amp; Other Files" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
293
+ </ul>
294
+ </th>
295
+ </tr>
296
  </table>
297
+ <?php endif ?>
298
+ <?php echo $this->postbox_footer(); ?>
299
  </div>
300
  </form>
 
301
  <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
inc/options/cdn/akamai.php ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <tr>
3
+ <th style="width: 300px;"><label for="cdn_akamai_username">Username:</label></th>
4
+ <td>
5
+ <input id="cdn_akamai_username" class="w3tc-ignore-change" type="text"
6
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.akamai.username" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.akamai.username')); ?>" size="60" />
7
+ </td>
8
+ </tr>
9
+ <tr>
10
+ <th><label for="cdn_akamai_password">Password:</label></th>
11
+ <td>
12
+ <input id="cdn_akamai_password" class="w3tc-ignore-change"
13
+ <?php $this->sealing_disabled('cdn') ?> type="password" name="cdn.akamai.password" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.akamai.password')); ?>" size="60" />
14
+ </td>
15
+ </tr>
16
+ <tr>
17
+ <th><label for="cdn_akamai_email_notification">Email notification:</label></th>
18
+ <td>
19
+ <textarea id="cdn_akamai_email_notification" name="cdn.akamai.email_notification"
20
+ <?php $this->sealing_disabled('cdn') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.akamai.email_notification'))); ?></textarea>
21
+ <br />
22
+ <span class="description">Specify email addresses for completed removal notifications. One email per line.</span>
23
+ </td>
24
+ </tr>
25
+ <tr>
26
+ <th><label for="cdn_akamai_zone">Domain to purge:</label></th>
27
+ <td>
28
+ <select id="cdn_akamai_zone" name="cdn.akamai.zone">
29
+ <option value="production" <?php selected($this->_config->get_string('cdn.akamai.zone'), 'production'); ?>>Production</option>
30
+ <option value="staging" <?php selected($this->_config->get_string('cdn.akamai.zone'), 'staging'); ?>>Staging</option>
31
+ </select>
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <th><label for="cdn_akamai_action">Purge action:</label></th>
36
+ <td>
37
+ <select id="cdn_akamai_action" name="cdn.akamai.action">
38
+ <option value="invalidate" <?php selected($this->_config->get_string('cdn.akamai.action'), 'invalidate'); ?>>Invalidate</option>
39
+ <option value="remove" <?php selected($this->_config->get_string('cdn.akamai.action'), 'remove'); ?>>Remove</option>
40
+ </select>
41
+ </td>
42
+ </tr>
43
+ <tr>
44
+ <th><label for="cdn_akamai_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
45
+ <td>
46
+ <select id="cdn_akamai_ssl" name="cdn.akamai.ssl" <?php $this->sealing_disabled('cdn') ?>>
47
+ <option value="auto"<?php selected($this->_config->get_string('cdn.akamai.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
48
+ <option value="enabled"<?php selected($this->_config->get_string('cdn.akamai.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
49
+ <option value="disabled"<?php selected($this->_config->get_string('cdn.akamai.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
50
+ </select>
51
+ <br /><span class="description">Some <acronym>CDN</acronym> providers may or may not support <acronym title="Secure Sockets Layer">SSL</acronym>, contact your vendor for more information.</span>
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <th>Replace site's hostname with:</th>
56
+ <td>
57
+ <?php $cnames = $this->_config->get_array('cdn.akamai.domain'); include W3TC_INC_DIR . '/options/cdn/common/cnames.php'; ?>
58
+ <br /><span class="description">Enter the hostname provided by your <acronym>CDN</acronym> provider, this value will replace your site's hostname in the <acronym title="Hypertext Markup Language">HTML</acronym>.</span>
59
+ </td>
60
+ </tr>
61
+ <tr>
62
+ <th colspan="2">
63
+ <input id="cdn_test" class="button {type: 'akamai', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test akamai" /> <span id="cdn_test_status" class="w3tc-status w3tc-process"></span>
64
+ </th>
65
+ </tr>
inc/options/cdn/att.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <tr>
3
+ <th style="width: 300px;"><label for="cdn_att_account">Account #:</label></th>
4
+ <td>
5
+ <input id="cdn_att_account" class="w3tc-ignore-change" type="text"
6
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.att.account" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.att.account')); ?>" size="60" />
7
+ </td>
8
+ </tr>
9
+ <tr>
10
+ <th><label for="cdn_att_token">Token:</th>
11
+ <td>
12
+ <input id="cdn_att_token" class="w3tc-ignore-change" type="password"
13
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.att.token" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.att.token')); ?>" size="60" />
14
+ </td>
15
+ </tr>
16
+ <tr>
17
+ <th><label for="cdn_att_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
18
+ <td>
19
+ <select id="cdn_att_ssl" name="cdn.att.ssl" <?php $this->sealing_disabled('cdn') ?>>
20
+ <option value="auto"<?php selected($this->_config->get_string('cdn.att.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
21
+ <option value="enabled"<?php selected($this->_config->get_string('cdn.att.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
22
+ <option value="disabled"<?php selected($this->_config->get_string('cdn.att.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
23
+ </select>
24
+ <br /><span class="description">Some <acronym>CDN</acronym> providers may or may not support <acronym title="Secure Sockets Layer">SSL</acronym>, contact your vendor for more information.</span>
25
+ </td>
26
+ </tr>
27
+ <tr>
28
+ <th>Replace site's hostname with:</th>
29
+ <td>
30
+ <?php $cnames = $this->_config->get_array('cdn.att.domain'); include W3TC_INC_DIR . '/options/cdn/common/cnames.php'; ?>
31
+ <br /><span class="description">Enter the hostname provided by your <acronym>CDN</acronym> provider, this value will replace your site's hostname in the <acronym title="Hypertext Markup Language">HTML</acronym>.</span>
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <th colspan="2">
36
+ <input id="cdn_test" class="button {type: 'att', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test AT&T" /> <span id="cdn_test_status" class="w3tc-status w3tc-process"></span>
37
+ </th>
38
+ </tr>
inc/options/cdn/azure.php CHANGED
@@ -2,27 +2,30 @@
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_azure_user">Account name:</label></th>
4
  <td>
5
- <input id="cdn_azure_user" class="w3tc-ignore-change" type="text" name="cdn.azure.user" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.azure.user')); ?>" size="30" />
 
6
  </td>
7
  </tr>
8
  <tr>
9
  <th><label for="cdn_azure_key">Account key:</label></th>
10
  <td>
11
- <input id="cdn_azure_key" class="w3tc-ignore-change" type="password" name="cdn.azure.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.azure.key')); ?>" size="60" />
 
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_azure_container">Container:</label></th>
16
  <td>
17
- <input id="cdn_azure_container" type="text" name="cdn.azure.container" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.azure.container')); ?>" size="30" />
18
- <input id="cdn_create_container" class="button {type: 'azure', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create container" />
 
19
  <span id="cdn_create_container_status" class="w3tc-status w3tc-process"></span>
20
  </td>
21
  </tr>
22
  <tr>
23
  <th><label for="cdn_s3_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
24
  <td>
25
- <select id="cdn_s3_ssl" name="cdn.s3.ssl">
26
  <option value="auto"<?php selected($this->_config->get_string('cdn.azure.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
27
  <option value="enabled"<?php selected($this->_config->get_string('cdn.azure.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
28
  <option value="disabled"<?php selected($this->_config->get_string('cdn.azure.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_azure_user">Account name:</label></th>
4
  <td>
5
+ <input id="cdn_azure_user" class="w3tc-ignore-change" type="text"
6
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.azure.user" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.azure.user')); ?>" size="30" />
7
  </td>
8
  </tr>
9
  <tr>
10
  <th><label for="cdn_azure_key">Account key:</label></th>
11
  <td>
12
+ <input id="cdn_azure_key" class="w3tc-ignore-change"
13
+ <?php $this->sealing_disabled('cdn') ?> type="password" name="cdn.azure.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.azure.key')); ?>" size="60" />
14
  </td>
15
  </tr>
16
  <tr>
17
  <th><label for="cdn_azure_container">Container:</label></th>
18
  <td>
19
+ <input id="cdn_azure_container" type="text"
20
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.azure.container" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.azure.container')); ?>" size="30" />
21
+ <input id="cdn_create_container" <?php $this->sealing_disabled('cdn') ?> class="button {type: 'azure', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create container" />
22
  <span id="cdn_create_container_status" class="w3tc-status w3tc-process"></span>
23
  </td>
24
  </tr>
25
  <tr>
26
  <th><label for="cdn_s3_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
27
  <td>
28
+ <select id="cdn_s3_ssl" name="cdn.s3.ssl" <?php $this->sealing_disabled('cdn') ?>>
29
  <option value="auto"<?php selected($this->_config->get_string('cdn.azure.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
30
  <option value="enabled"<?php selected($this->_config->get_string('cdn.azure.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
31
  <option value="disabled"<?php selected($this->_config->get_string('cdn.azure.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
inc/options/cdn/cf.php CHANGED
@@ -1,27 +1,36 @@
1
  <?php if (!defined('W3TC')) die(); ?>
 
 
 
 
 
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_cf_key">Access key ID:</label></th>
4
  <td>
5
- <input id="cdn_cf_key" class="w3tc-ignore-change" type="text" name="cdn.cf.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf.key')); ?>" size="30" />
 
6
  </td>
7
  </tr>
8
  <tr>
9
  <th><label for="cdn_cf_secret">Secret key:</label></th>
10
  <td>
11
- <input id="cdn_cf_secret" class="w3tc-ignore-change" type="password" name="cdn.cf.secret" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf.secret')); ?>" size="60" />
 
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_cf_bucket">Bucket:</label></th>
16
  <td>
17
- <input id="cdn_cf_bucket" type="text" name="cdn.cf.bucket" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf.bucket')); ?>" size="30" />
18
- <input class="button button-cdn-cf-bucket-location cdn_cf {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create bucket &amp; distribution" />
 
 
19
  </td>
20
  </tr>
21
  <tr>
22
  <th><label for="cdn_cf_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
23
  <td>
24
- <select id="cdn_cf_ssl" name="cdn.cf.ssl">
25
  <option value="auto"<?php selected($this->_config->get_string('cdn.cf.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
26
  <option value="enabled"<?php selected($this->_config->get_string('cdn.cf.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
27
  <option value="disabled"<?php selected($this->_config->get_string('cdn.cf.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
@@ -32,7 +41,8 @@
32
  <tr>
33
  <th><label for="cdn_cf_id">Replace site's hostname with:</label></th>
34
  <td>
35
- <input id="cdn_cf_id" type="text" name="cdn.cf.id" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf.id')); ?>" size="18" style="text-align: right;" />.cloudfront.net or CNAME:
 
36
  <?php $cnames = $this->_config->get_array('cdn.cf.cname'); include W3TC_INC_DIR . '/options/cdn/common/cnames.php'; ?>
37
  <br /><span class="description">If you have already added a <a href="http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?CNAMEs.html" target="_blank">CNAME</a> to your <acronym title="Domain Name System">DNS</acronym> Zone, enter it here.</span>
38
  </td>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <tr>
3
+ <th colspan="2">
4
+ <span class="description">We recommend that you use <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccessPolicyLanguage_KeyConcepts.html" target="_blank"><acronym title="AWS Identity and Access Management">IAM</acronym></a> to create a new policy for <acronym title="Amazon Web Services">AWS</acronym> services that have limited permissions. A helpful tool: <a href="​http://awspolicygen.s3.amazonaws.com/policygen.html" target="_blank">AWS Policy Generator</a></span>
5
+ </th>
6
+ </tr>
7
  <tr>
8
  <th style="width: 300px;"><label for="cdn_cf_key">Access key ID:</label></th>
9
  <td>
10
+ <input id="cdn_cf_key" class="w3tc-ignore-change" type="text"
11
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.cf.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf.key')); ?>" size="30" />
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_cf_secret">Secret key:</label></th>
16
  <td>
17
+ <input id="cdn_cf_secret" class="w3tc-ignore-change" type="password"
18
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.cf.secret" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf.secret')); ?>" size="60" />
19
  </td>
20
  </tr>
21
  <tr>
22
  <th><label for="cdn_cf_bucket">Bucket:</label></th>
23
  <td>
24
+ <input id="cdn_cf_bucket" type="text" name="cdn.cf.bucket"
25
+ <?php $this->sealing_disabled('cdn') ?> value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf.bucket')); ?>" size="30" />
26
+ <input class="button button-cdn-cf-bucket-location cdn_cf {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}"
27
+ <?php $this->sealing_disabled('cdn') ?> type="button" value="Create bucket &amp; distribution" />
28
  </td>
29
  </tr>
30
  <tr>
31
  <th><label for="cdn_cf_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
32
  <td>
33
+ <select id="cdn_cf_ssl" name="cdn.cf.ssl" <?php $this->sealing_disabled('cdn') ?>>
34
  <option value="auto"<?php selected($this->_config->get_string('cdn.cf.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
35
  <option value="enabled"<?php selected($this->_config->get_string('cdn.cf.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
36
  <option value="disabled"<?php selected($this->_config->get_string('cdn.cf.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
41
  <tr>
42
  <th><label for="cdn_cf_id">Replace site's hostname with:</label></th>
43
  <td>
44
+ <input id="cdn_cf_id" type="text" name="cdn.cf.id"
45
+ <?php $this->sealing_disabled('cdn') ?> value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf.id')); ?>" size="18" style="text-align: right;" />.cloudfront.net or CNAME:
46
  <?php $cnames = $this->_config->get_array('cdn.cf.cname'); include W3TC_INC_DIR . '/options/cdn/common/cnames.php'; ?>
47
  <br /><span class="description">If you have already added a <a href="http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?CNAMEs.html" target="_blank">CNAME</a> to your <acronym title="Domain Name System">DNS</acronym> Zone, enter it here.</span>
48
  </td>
inc/options/cdn/cf2.php CHANGED
@@ -1,28 +1,36 @@
1
  <?php if (!defined('W3TC')) die(); ?>
 
 
 
 
 
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_cf2_key">Access key ID:</label></th>
4
  <td>
5
- <input id="cdn_cf2_key" class="w3tc-ignore-change" type="text" name="cdn.cf2.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf2.key')); ?>" size="30" />
 
6
  </td>
7
  </tr>
8
  <tr>
9
  <th><label for="cdn_cf2_secret">Secret key:</label></th>
10
  <td>
11
- <input id="cdn_cf2_secret" class="w3tc-ignore-change" type="password" name="cdn.cf2.secret" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf2.secret')); ?>" size="60" />
 
12
  </td>
13
  </tr>
14
  <tr>
15
  <th>Origin:</th>
16
  <td>
17
  <?php echo w3_get_host(); ?>
18
- <input id="cdn_create_container" class="button {type: 'cf2', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create distribution" />
 
19
  <span id="cdn_create_container_status" class="w3tc-status w3tc-process"></span>
20
  </td>
21
  </tr>
22
  <tr>
23
  <th><label for="cdn_cf2_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
24
  <td>
25
- <select id="cdn_cf2_ssl" name="cdn.cf2.ssl">
26
  <option value="auto"<?php selected($this->_config->get_string('cdn.cf2.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
27
  <option value="enabled"<?php selected($this->_config->get_string('cdn.cf2.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
28
  <option value="disabled"<?php selected($this->_config->get_string('cdn.cf2.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
@@ -33,7 +41,8 @@
33
  <tr>
34
  <th><label for="cdn_cf2_id">Replace site's hostname with:</label></th>
35
  <td>
36
- <input id="cdn_cf2_id" type="text" name="cdn.cf2.id" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf2.id')); ?>" size="18" style="text-align: right;" />.cloudfront.net or CNAME:
 
37
  <?php $cnames = $this->_config->get_array('cdn.cf2.cname'); include W3TC_INC_DIR . '/options/cdn/common/cnames.php'; ?>
38
  <br /><span class="description">If you have already added a <a href="http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?CNAMEs.html" target="_blank">CNAME</a> to your <acronym title="Domain Name System">DNS</acronym> Zone, enter it here.</span>
39
  </td>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <tr>
3
+ <th colspan="2">
4
+ <span class="description">We recommend that you use <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccessPolicyLanguage_KeyConcepts.html" target="_blank"><acronym title="AWS Identity and Access Management">IAM</acronym></a> to create a new policy for <acronym title="Amazon Web Services">AWS</acronym> services that have limited permissions. A helpful tool: <a href="​http://awspolicygen.s3.amazonaws.com/policygen.html" target="_blank">AWS Policy Generator</a></span>
5
+ </th>
6
+ </tr>
7
  <tr>
8
  <th style="width: 300px;"><label for="cdn_cf2_key">Access key ID:</label></th>
9
  <td>
10
+ <input id="cdn_cf2_key" class="w3tc-ignore-change" type="text"
11
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.cf2.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf2.key')); ?>" size="30" />
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_cf2_secret">Secret key:</label></th>
16
  <td>
17
+ <input id="cdn_cf2_secret" class="w3tc-ignore-change"
18
+ <?php $this->sealing_disabled('cdn') ?> type="password" name="cdn.cf2.secret" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf2.secret')); ?>" size="60" />
19
  </td>
20
  </tr>
21
  <tr>
22
  <th>Origin:</th>
23
  <td>
24
  <?php echo w3_get_host(); ?>
25
+ <input id="cdn_create_container"
26
+ <?php $this->sealing_disabled('cdn') ?> class="button {type: 'cf2', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create distribution" />
27
  <span id="cdn_create_container_status" class="w3tc-status w3tc-process"></span>
28
  </td>
29
  </tr>
30
  <tr>
31
  <th><label for="cdn_cf2_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
32
  <td>
33
+ <select id="cdn_cf2_ssl" name="cdn.cf2.ssl" <?php $this->sealing_disabled('cdn') ?>>
34
  <option value="auto"<?php selected($this->_config->get_string('cdn.cf2.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
35
  <option value="enabled"<?php selected($this->_config->get_string('cdn.cf2.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
36
  <option value="disabled"<?php selected($this->_config->get_string('cdn.cf2.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
41
  <tr>
42
  <th><label for="cdn_cf2_id">Replace site's hostname with:</label></th>
43
  <td>
44
+ <input id="cdn_cf2_id" type="text" name="cdn.cf2.id"
45
+ <?php $this->sealing_disabled('cdn') ?> value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cf2.id')); ?>" size="18" style="text-align: right;" />.cloudfront.net or CNAME:
46
  <?php $cnames = $this->_config->get_array('cdn.cf2.cname'); include W3TC_INC_DIR . '/options/cdn/common/cnames.php'; ?>
47
  <br /><span class="description">If you have already added a <a href="http://docs.amazonwebservices.com/AmazonCloudFront/latest/DeveloperGuide/index.html?CNAMEs.html" target="_blank">CNAME</a> to your <acronym title="Domain Name System">DNS</acronym> Zone, enter it here.</span>
48
  </td>
inc/options/cdn/common/cnames.php CHANGED
@@ -13,19 +13,19 @@ foreach ($cnames as $index => $cname):
13
  if ($count > 1):
14
  switch ($index):
15
  case 0:
16
- $label = '(reserved for <acronym title="Cascading Style Sheet">CSS</acronym>)';
17
  break;
18
 
19
  case 1:
20
- $label = '(reserved for <acronym title="JavaScript">JS</acronym> in <head>)';
21
  break;
22
 
23
  case 2:
24
- $label = '(reserved for <acronym title="JavaScript">JS</acronym> after <body>)';
25
  break;
26
 
27
  case 3:
28
- $label = '(reserved for <acronym title="JavaScript">JS</acronym> before </body>)';
29
  break;
30
 
31
  default:
@@ -35,10 +35,13 @@ foreach ($cnames as $index => $cname):
35
  endif;
36
  ?>
37
  <li>
38
- <input type="text" name="cdn_cnames[]" value="<?php echo htmlspecialchars($cname); ?>" size="60" />
39
- <input class="button cdn_cname_delete" type="button" value="Delete"<?php if (!$index): ?> style="display: none;"<?php endif; ?> />
 
 
40
  <span><?php echo htmlspecialchars($label); ?></span>
41
  </li>
42
  <?php endforeach; ?>
43
  </ol>
44
- <input id="cdn_cname_add" class="button" type="button" value="Add CNAME" />
 
13
  if ($count > 1):
14
  switch ($index):
15
  case 0:
16
+ $label = '(reserved for CSS)';
17
  break;
18
 
19
  case 1:
20
+ $label = '(reserved for JS in <head>)';
21
  break;
22
 
23
  case 2:
24
+ $label = '(reserved for JS after <body>)';
25
  break;
26
 
27
  case 3:
28
+ $label = '(reserved for JS before </body>)';
29
  break;
30
 
31
  default:
35
  endif;
36
  ?>
37
  <li>
38
+ <input type="text" name="cdn_cnames[]"
39
+ <?php $this->sealing_disabled('cdn') ?> value="<?php echo htmlspecialchars($cname); ?>" size="60" />
40
+ <input class="button cdn_cname_delete" type="button"
41
+ <?php $this->sealing_disabled('cdn') ?> value="Delete"<?php if (!$index): ?> style="display: none;"<?php endif; ?> />
42
  <span><?php echo htmlspecialchars($label); ?></span>
43
  </li>
44
  <?php endforeach; ?>
45
  </ol>
46
+ <input id="cdn_cname_add" class="button" type="button" value="Add CNAME"
47
+ <?php $this->sealing_disabled('cdn') ?> />
inc/options/cdn/common/index.html CHANGED
File without changes
inc/options/cdn/cotendo.php CHANGED
@@ -2,25 +2,28 @@
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_cotendo_username">Username:</label></th>
4
  <td>
5
- <input id="cdn_cotendo_username" class="w3tc-ignore-change" type="text" name="cdn.cotendo.username" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cotendo.username')); ?>" size="60" />
 
6
  </td>
7
  </tr>
8
  <tr>
9
  <th><label for="cdn_cotendo_password">Password:</label></th>
10
  <td>
11
- <input id="cdn_cotendo_password" class="w3tc-ignore-change" type="password" name="cdn.cotendo.password" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cotendo.password')); ?>" size="60" />
 
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_cotendo_zones">Zones to purge:</label></th>
16
  <td>
17
- <textarea id="cdn_cotendo_zones" name="cdn.cotendo.zones" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.cotendo.zones'))); ?></textarea>
 
18
  </td>
19
  </tr>
20
  <tr>
21
  <th><label for="cdn_cotendo_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
22
  <td>
23
- <select id="cdn_cotendo_ssl" name="cdn.cotendo.ssl">
24
  <option value="auto"<?php selected($this->_config->get_string('cdn.cotendo.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
25
  <option value="enabled"<?php selected($this->_config->get_string('cdn.cotendo.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
26
  <option value="disabled"<?php selected($this->_config->get_string('cdn.cotendo.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_cotendo_username">Username:</label></th>
4
  <td>
5
+ <input id="cdn_cotendo_username" class="w3tc-ignore-change" type="text"
6
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.cotendo.username" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cotendo.username')); ?>" size="60" />
7
  </td>
8
  </tr>
9
  <tr>
10
  <th><label for="cdn_cotendo_password">Password:</label></th>
11
  <td>
12
+ <input id="cdn_cotendo_password" class="w3tc-ignore-change"
13
+ <?php $this->sealing_disabled('cdn') ?> type="password" name="cdn.cotendo.password" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.cotendo.password')); ?>" size="60" />
14
  </td>
15
  </tr>
16
  <tr>
17
  <th><label for="cdn_cotendo_zones">Zones to purge:</label></th>
18
  <td>
19
+ <textarea id="cdn_cotendo_zones" name="cdn.cotendo.zones"
20
+ <?php $this->sealing_disabled('cdn') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('cdn.cotendo.zones'))); ?></textarea>
21
  </td>
22
  </tr>
23
  <tr>
24
  <th><label for="cdn_cotendo_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
25
  <td>
26
+ <select id="cdn_cotendo_ssl" name="cdn.cotendo.ssl" <?php $this->sealing_disabled('cdn') ?>>
27
  <option value="auto"<?php selected($this->_config->get_string('cdn.cotendo.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
28
  <option value="enabled"<?php selected($this->_config->get_string('cdn.cotendo.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
29
  <option value="disabled"<?php selected($this->_config->get_string('cdn.cotendo.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
inc/options/cdn/edgecast.php CHANGED
@@ -2,19 +2,21 @@
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_edgecast_account">Account #:</label></th>
4
  <td>
5
- <input id="cdn_edgecast_account" class="w3tc-ignore-change" type="text" name="cdn.edgecast.account" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.edgecast.account')); ?>" size="60" />
 
6
  </td>
7
  </tr>
8
  <tr>
9
  <th><label for="cdn_edgecast_token">Token:</th>
10
  <td>
11
- <input id="cdn_edgecast_token" class="w3tc-ignore-change" type="password" name="cdn.edgecast.token" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.edgecast.token')); ?>" size="60" />
 
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_edgecast_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
16
  <td>
17
- <select id="cdn_edgecast_ssl" name="cdn.edgecast.ssl">
18
  <option value="auto"<?php selected($this->_config->get_string('cdn.edgecast.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
19
  <option value="enabled"<?php selected($this->_config->get_string('cdn.edgecast.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
20
  <option value="disabled"<?php selected($this->_config->get_string('cdn.edgecast.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_edgecast_account">Account #:</label></th>
4
  <td>
5
+ <input id="cdn_edgecast_account" class="w3tc-ignore-change" type="text"
6
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.edgecast.account" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.edgecast.account')); ?>" size="60" />
7
  </td>
8
  </tr>
9
  <tr>
10
  <th><label for="cdn_edgecast_token">Token:</th>
11
  <td>
12
+ <input id="cdn_edgecast_token" class="w3tc-ignore-change" type="password"
13
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.edgecast.token" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.edgecast.token')); ?>" size="60" />
14
  </td>
15
  </tr>
16
  <tr>
17
  <th><label for="cdn_edgecast_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
18
  <td>
19
+ <select id="cdn_edgecast_ssl" name="cdn.edgecast.ssl" <?php $this->sealing_disabled('cdn') ?>>
20
  <option value="auto"<?php selected($this->_config->get_string('cdn.edgecast.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
21
  <option value="enabled"<?php selected($this->_config->get_string('cdn.edgecast.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
22
  <option value="disabled"<?php selected($this->_config->get_string('cdn.edgecast.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
inc/options/cdn/ftp.php CHANGED
@@ -1,41 +1,44 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
  <th colspan="2">
4
- <input type="hidden" name="cdn.ftp.pasv" value="0" />
5
- <label><input id="cdn_ftp_pasv" type="checkbox" name="cdn.ftp.pasv" value="1"<?php checked($this->_config->get_boolean('cdn.ftp.pasv'), true); ?> /> Use passive <acronym title="File Transfer Protocol">FTP</acronym> mode</label><br />
6
  <span class="description">Enable this option only if there are connectivity issues, otherwise it's not recommended.</span>
7
  </th>
8
  </tr>
9
  <tr>
10
  <th style="width: 300px;"><label for="cdn_ftp_host"><acronym title="File Transfer Protocol">FTP</acronym> hostname:</label></th>
11
  <td>
12
- <input id="cdn_ftp_host" type="text" name="cdn.ftp.host" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.ftp.host')); ?>" size="30" /><br />
 
13
  <span class="description">Specify the server's address, e.g.: "ftp.domain.com". Try "127.0.0.1" if using a sub-domain on the same server as your site.</span>
14
  </td>
15
  </tr>
16
  <tr>
17
  <th><label for="cdn_ftp_user"><acronym title="File Transfer Protocol">FTP</acronym> username:</label></th>
18
  <td>
19
- <input id="cdn_ftp_user" class="w3tc-ignore-change" type="text" name="cdn.ftp.user" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.ftp.user')); ?>" size="30" />
 
20
  </td>
21
  </tr>
22
  <tr>
23
  <th><label for="cdn_ftp_pass"><acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
24
  <td>
25
- <input id="cdn_ftp_pass" class="w3tc-ignore-change" type="password" name="cdn.ftp.pass" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.ftp.pass')); ?>" size="30" />
 
26
  </td>
27
  </tr>
28
  <tr>
29
  <th><label for="cdn_ftp_path"><acronym title="File Transfer Protocol">FTP</acronym> path:</label></th>
30
  <td>
31
- <input id="cdn_ftp_path" type="text" name="cdn.ftp.path" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.ftp.path')); ?>" size="30" /><br />
 
32
  <span class="description">Specify the directory where files must be uploaded to be accessible in a web browser (the document root).</span>
33
  </td>
34
  </tr>
35
  <tr>
36
  <th><label for="cdn_ftp_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
37
  <td>
38
- <select id="cdn_ftp_ssl" name="cdn.ftp.ssl">
39
  <option value="auto"<?php selected($this->_config->get_string('cdn.ftp.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
40
  <option value="enabled"<?php selected($this->_config->get_string('cdn.ftp.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
41
  <option value="disabled"<?php selected($this->_config->get_string('cdn.ftp.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
  <th colspan="2">
4
+ <?php $this->checkbox('cdn.ftp.pasv') ?> Use passive <acronym title="File Transfer Protocol">FTP</acronym> mode</label><br />
 
5
  <span class="description">Enable this option only if there are connectivity issues, otherwise it's not recommended.</span>
6
  </th>
7
  </tr>
8
  <tr>
9
  <th style="width: 300px;"><label for="cdn_ftp_host"><acronym title="File Transfer Protocol">FTP</acronym> hostname:</label></th>
10
  <td>
11
+ <input id="cdn_ftp_host" type="text" name="cdn.ftp.host"
12
+ <?php $this->sealing_disabled('cdn') ?> value="<?php echo htmlspecialchars($this->_config->get_string('cdn.ftp.host')); ?>" size="30" /><br />
13
  <span class="description">Specify the server's address, e.g.: "ftp.domain.com". Try "127.0.0.1" if using a sub-domain on the same server as your site.</span>
14
  </td>
15
  </tr>
16
  <tr>
17
  <th><label for="cdn_ftp_user"><acronym title="File Transfer Protocol">FTP</acronym> username:</label></th>
18
  <td>
19
+ <input id="cdn_ftp_user" class="w3tc-ignore-change" type="text"
20
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.ftp.user" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.ftp.user')); ?>" size="30" />
21
  </td>
22
  </tr>
23
  <tr>
24
  <th><label for="cdn_ftp_pass"><acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
25
  <td>
26
+ <input id="cdn_ftp_pass" class="w3tc-ignore-change"
27
+ <?php $this->sealing_disabled('cdn') ?> type="password" name="cdn.ftp.pass" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.ftp.pass')); ?>" size="30" />
28
  </td>
29
  </tr>
30
  <tr>
31
  <th><label for="cdn_ftp_path"><acronym title="File Transfer Protocol">FTP</acronym> path:</label></th>
32
  <td>
33
+ <input id="cdn_ftp_path" type="text" name="cdn.ftp.path"
34
+ <?php $this->sealing_disabled('cdn') ?> value="<?php echo htmlspecialchars($this->_config->get_string('cdn.ftp.path')); ?>" size="30" /><br />
35
  <span class="description">Specify the directory where files must be uploaded to be accessible in a web browser (the document root).</span>
36
  </td>
37
  </tr>
38
  <tr>
39
  <th><label for="cdn_ftp_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
40
  <td>
41
+ <select id="cdn_ftp_ssl" name="cdn.ftp.ssl" <?php $this->sealing_disabled('cdn') ?>>
42
  <option value="auto"<?php selected($this->_config->get_string('cdn.ftp.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
43
  <option value="enabled"<?php selected($this->_config->get_string('cdn.ftp.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
44
  <option value="disabled"<?php selected($this->_config->get_string('cdn.ftp.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
inc/options/cdn/index.html CHANGED
File without changes
inc/options/cdn/mirror.php CHANGED
@@ -2,7 +2,7 @@
2
  <tr>
3
  <th><label for="cdn_mirror_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
4
  <td>
5
- <select id="cdn_mirror_ssl" name="cdn.mirror.ssl">
6
  <option value="auto"<?php selected($this->_config->get_string('cdn.mirror.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
7
  <option value="enabled"<?php selected($this->_config->get_string('cdn.mirror.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
8
  <option value="disabled"<?php selected($this->_config->get_string('cdn.mirror.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
2
  <tr>
3
  <th><label for="cdn_mirror_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
4
  <td>
5
+ <select id="cdn_mirror_ssl" name="cdn.mirror.ssl" <?php $this->sealing_disabled('cdn') ?>>
6
  <option value="auto"<?php selected($this->_config->get_string('cdn.mirror.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
7
  <option value="enabled"<?php selected($this->_config->get_string('cdn.mirror.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
8
  <option value="disabled"<?php selected($this->_config->get_string('cdn.mirror.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
inc/options/cdn/netdna.php CHANGED
@@ -1,20 +1,38 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
- <th style="width: 300px;"><label for="cdn_netdna_apiid"><acronym title="Application Programming Interface">API</acronym> ID:</label></th>
4
  <td>
5
- <input id="cdn_netdna_apiid" class="w3tc-ignore-change" type="text" name="cdn.netdna.apiid" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.netdna.apiid')); ?>" size="60" />
 
 
 
6
  </td>
7
  </tr>
8
  <tr>
9
- <th><label for="cdn_netdna_apikey"><acronym title="Application Programming Interface">API</acronym> key:</label></th>
10
  <td>
11
- <input id="cdn_netdna_apikey" class="w3tc-ignore-change" type="password" name="cdn.netdna.apikey" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.netdna.apikey')); ?>" size="60" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_netdna_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
16
  <td>
17
- <select id="cdn_netdna_ssl" name="cdn.netdna.ssl">
18
  <option value="auto"<?php selected($this->_config->get_string('cdn.netdna.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
19
  <option value="enabled"<?php selected($this->_config->get_string('cdn.netdna.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
20
  <option value="disabled"<?php selected($this->_config->get_string('cdn.netdna.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
@@ -31,6 +49,6 @@
31
  </tr>
32
  <tr>
33
  <th colspan="2">
34
- <input id="cdn_test" class="button {type: 'netdna', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test NetDNA" /> <span id="cdn_test_status" class="w3tc-status w3tc-process"></span>
35
  </th>
36
  </tr>
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
+ <th style="width: 300px;"><label>Specify account credentials:</label></th>
4
  <td>
5
+ <a id="cdn_netdna_oauth" class="button" href="https://cp.netdna.com/account/api/create" target="_blank">I have NetDNA</a>
6
+ <a id="cdn_maxcdn_oauth" class="button" href="https://cp.maxcdn.com/account/api/create" target="_blank">I have MaxCDN</a>
7
+ <br />
8
+ <span class="description">Click the button above for your provider, then log in, create an <acronym title="Application Programming Interface">API</acronym> key, and enter the details below.</span>
9
  </td>
10
  </tr>
11
  <tr>
12
+ <th style="width: 300px;"><label for="cdn_netdna_alias">Alias:</label></th>
13
  <td>
14
+ <input id="cdn_netdna_alias" class="w3tc-ignore-change" type="text"
15
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.netdna.alias" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.netdna.alias')); ?>" size="60" />
16
+ </td>
17
+ </tr>
18
+ <tr>
19
+ <th style="width: 300px;"><label for="cdn_netdna_consumerkey">Consumer Key:</label></th>
20
+ <td>
21
+ <input id="cdn_netdna_consumerkey" class="w3tc-ignore-change" type="text"
22
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.netdna.consumerkey" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.netdna.consumerkey')); ?>" size="60" />
23
+ </td>
24
+ </tr>
25
+ <tr>
26
+ <th><label for="cdn_netdna_consumersecret">Consumer Secret:</label></th>
27
+ <td>
28
+ <input id="cdn_netdna_consumersecret" class="w3tc-ignore-change"
29
+ <?php $this->sealing_disabled('cdn') ?> type="password" name="cdn.netdna.consumersecret" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.netdna.consumersecret')); ?>" size="60" />
30
  </td>
31
  </tr>
32
  <tr>
33
  <th><label for="cdn_netdna_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
34
  <td>
35
+ <select id="cdn_netdna_ssl" name="cdn.netdna.ssl" <?php $this->sealing_disabled('cdn') ?>>
36
  <option value="auto"<?php selected($this->_config->get_string('cdn.netdna.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
37
  <option value="enabled"<?php selected($this->_config->get_string('cdn.netdna.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
38
  <option value="disabled"<?php selected($this->_config->get_string('cdn.netdna.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
49
  </tr>
50
  <tr>
51
  <th colspan="2">
52
+ <input id="cdn_test" class="button {type: 'netdna', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test NetDNA / MaxCDN" /> <span id="cdn_test_status" class="w3tc-status w3tc-process"></span>
53
  </th>
54
  </tr>
inc/options/cdn/rscf.php CHANGED
@@ -2,19 +2,21 @@
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_rscf_user">Username:</label></th>
4
  <td>
5
- <input id="cdn_rscf_user" class="w3tc-ignore-change" type="text" name="cdn.rscf.user" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.rscf.user')); ?>" size="30" />
 
6
  </td>
7
  </tr>
8
  <tr>
9
  <th><label for="cdn_rscf_key"><acronym title="Application Programming Interface">API</acronym> key:</label></th>
10
  <td>
11
- <input id="cdn_rscf_key" class="w3tc-ignore-change" type="password" name="cdn.rscf.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.rscf.key')); ?>" size="60" />
 
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_rscf_location">Location:</label></th>
16
  <td>
17
- <select id="cdn_rscf_location" name="cdn.rscf.location">
18
  <option value="us"<?php echo selected($this->_config->get_string('cdn.rscf.location'), 'us'); ?>>US</option>
19
  <option value="uk"<?php echo selected($this->_config->get_string('cdn.rscf.location'), 'uk'); ?>>UK</option>
20
  </select>
@@ -23,15 +25,17 @@
23
  <tr>
24
  <th><label for="cdn_rscf_container">Container:</label></th>
25
  <td>
26
- <input id="cdn_rscf_container" type="text" name="cdn.rscf.container" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.rscf.container')); ?>" size="30" />
27
- <input id="cdn_create_container" class="button {type: 'rscf', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create container" />
 
 
28
  <span id="cdn_create_container_status" class="w3tc-status w3tc-process"></span>
29
  </td>
30
  </tr>
31
  <tr>
32
  <th><label for="cdn_rscf_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
33
  <td>
34
- <select id="cdn_rscf_ssl" name="cdn.rscf.ssl">
35
  <option value="auto"<?php selected($this->_config->get_string('cdn.rscf.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
36
  <option value="enabled"<?php selected($this->_config->get_string('cdn.rscf.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
37
  <option value="disabled"<?php selected($this->_config->get_string('cdn.rscf.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_rscf_user">Username:</label></th>
4
  <td>
5
+ <input id="cdn_rscf_user" class="w3tc-ignore-change" type="text"
6
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.rscf.user" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.rscf.user')); ?>" size="30" />
7
  </td>
8
  </tr>
9
  <tr>
10
  <th><label for="cdn_rscf_key"><acronym title="Application Programming Interface">API</acronym> key:</label></th>
11
  <td>
12
+ <input id="cdn_rscf_key" class="w3tc-ignore-change" type="password"
13
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.rscf.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.rscf.key')); ?>" size="60" />
14
  </td>
15
  </tr>
16
  <tr>
17
  <th><label for="cdn_rscf_location">Location:</label></th>
18
  <td>
19
+ <select id="cdn_rscf_location" name="cdn.rscf.location" <?php $this->sealing_disabled('cdn') ?>>
20
  <option value="us"<?php echo selected($this->_config->get_string('cdn.rscf.location'), 'us'); ?>>US</option>
21
  <option value="uk"<?php echo selected($this->_config->get_string('cdn.rscf.location'), 'uk'); ?>>UK</option>
22
  </select>
25
  <tr>
26
  <th><label for="cdn_rscf_container">Container:</label></th>
27
  <td>
28
+ <input id="cdn_rscf_container" type="text" name="cdn.rscf.container"
29
+ <?php $this->sealing_disabled('cdn') ?> value="<?php echo htmlspecialchars($this->_config->get_string('cdn.rscf.container')); ?>" size="30" />
30
+ <input id="cdn_create_container"
31
+ <?php $this->sealing_disabled('cdn') ?> class="button {type: 'rscf', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create container" />
32
  <span id="cdn_create_container_status" class="w3tc-status w3tc-process"></span>
33
  </td>
34
  </tr>
35
  <tr>
36
  <th><label for="cdn_rscf_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
37
  <td>
38
+ <select id="cdn_rscf_ssl" name="cdn.rscf.ssl" <?php $this->sealing_disabled('cdn') ?>>
39
  <option value="auto"<?php selected($this->_config->get_string('cdn.rscf.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
40
  <option value="enabled"<?php selected($this->_config->get_string('cdn.rscf.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
41
  <option value="disabled"<?php selected($this->_config->get_string('cdn.rscf.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
inc/options/cdn/s3.php CHANGED
@@ -1,27 +1,35 @@
1
  <?php if (!defined('W3TC')) die(); ?>
 
 
 
 
 
2
  <tr>
3
  <th style="width: 300px;"><label for="cdn_s3_key">Access key ID:</label></th>
4
  <td>
5
- <input id="cdn_s3_key" class="w3tc-ignore-change" type="text" name="cdn.s3.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.s3.key')); ?>" size="30" />
 
6
  </td>
7
  </tr>
8
  <tr>
9
  <th><label for="cdn_s3_secret">Secret key:</label></th>
10
  <td>
11
- <input id="cdn_s3_secret" class="w3tc-ignore-change" type="password" name="cdn.s3.secret" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.s3.secret')); ?>" size="60" />
 
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_s3_bucket">Bucket:</label></th>
16
  <td>
17
- <input id="cdn_s3_bucket" type="text" name="cdn.s3.bucket" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.s3.bucket')); ?>" size="30" />
 
18
  <input class="button button-cdn-s3-bucket-location cdn_s3 {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create bucket" />
19
  </td>
20
  </tr>
21
  <tr>
22
  <th><label for="cdn_s3_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
23
  <td>
24
- <select id="cdn_s3_ssl" name="cdn.s3.ssl">
25
  <option value="auto"<?php selected($this->_config->get_string('cdn.s3.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
26
  <option value="enabled"<?php selected($this->_config->get_string('cdn.s3.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
27
  <option value="disabled"<?php selected($this->_config->get_string('cdn.s3.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <tr>
3
+ <th colspan="2">
4
+ <span class="description">We recommend that you use <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccessPolicyLanguage_KeyConcepts.html" target="_blank"><acronym title="AWS Identity and Access Management">IAM</acronym></a> to create a new policy for <acronym title="Amazon Web Services">AWS</acronym> services that have limited permissions. A helpful tool: <a href="​http://awspolicygen.s3.amazonaws.com/policygen.html" target="_blank">AWS Policy Generator</a></span>
5
+ </th>
6
+ </tr>
7
  <tr>
8
  <th style="width: 300px;"><label for="cdn_s3_key">Access key ID:</label></th>
9
  <td>
10
+ <input id="cdn_s3_key" class="w3tc-ignore-change" type="text"
11
+ <?php $this->sealing_disabled('cdn') ?> name="cdn.s3.key" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.s3.key')); ?>" size="30" />
12
  </td>
13
  </tr>
14
  <tr>
15
  <th><label for="cdn_s3_secret">Secret key:</label></th>
16
  <td>
17
+ <input id="cdn_s3_secret" class="w3tc-ignore-change"
18
+ <?php $this->sealing_disabled('cdn') ?> type="password" name="cdn.s3.secret" value="<?php echo htmlspecialchars($this->_config->get_string('cdn.s3.secret')); ?>" size="60" />
19
  </td>
20
  </tr>
21
  <tr>
22
  <th><label for="cdn_s3_bucket">Bucket:</label></th>
23
  <td>
24
+ <input id="cdn_s3_bucket" type="text" name="cdn.s3.bucket"
25
+ <?php $this->sealing_disabled('cdn') ?> value="<?php echo htmlspecialchars($this->_config->get_string('cdn.s3.bucket')); ?>" size="30" />
26
  <input class="button button-cdn-s3-bucket-location cdn_s3 {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Create bucket" />
27
  </td>
28
  </tr>
29
  <tr>
30
  <th><label for="cdn_s3_ssl"><acronym title="Secure Sockets Layer">SSL</acronym> support:</label></th>
31
  <td>
32
+ <select id="cdn_s3_ssl" name="cdn.s3.ssl" <?php $this->sealing_disabled('cdn') ?>>
33
  <option value="auto"<?php selected($this->_config->get_string('cdn.s3.ssl'), 'auto'); ?>>Auto (determine connection type automatically)</option>
34
  <option value="enabled"<?php selected($this->_config->get_string('cdn.s3.ssl'), 'enabled'); ?>>Enabled (always use SSL)</option>
35
  <option value="disabled"<?php selected($this->_config->get_string('cdn.s3.ssl'), 'disabled'); ?>>Disabled (always use HTTP)</option>
inc/options/common/footer.php CHANGED
File without changes
inc/options/common/header.php CHANGED
@@ -9,38 +9,184 @@ jQuery(function($) {
9
  <?php endif; ?>
10
 
11
  <div class="wrap" id="w3tc">
12
- <?php screen_icon('w3tc-logo'); ?>
13
 
14
- <h2>W3 Total Cache <span>by W3 EDGE <sup>&reg;</sup></span></h2>
 
 
 
 
15
 
16
- <?php foreach ($this->_errors as $error): ?>
17
  <div class="error">
18
- <p><?php echo $error; ?></p>
 
 
 
 
 
 
 
 
 
 
 
 
19
  </div>
20
- <?php endforeach; ?>
21
 
22
- <?php foreach ($this->_notes as $note): ?>
23
- <div class="updated fade">
24
- <p><?php echo $note; ?></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  </div>
26
  <?php endforeach; ?>
27
 
28
- <p id="w3tc-options-menu">
29
- <a href="?page=w3tc_general"<?php if ($this->_page == 'w3tc_general'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>General</a> |
30
- <a href="?page=w3tc_pgcache"<?php if ($this->_page == 'w3tc_pgcache'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>Page Cache</a> |
31
- <?php if (W3TC_PHP5): ?>
32
- <a href="?page=w3tc_minify"<?php if ($this->_page == 'w3tc_minify'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>Minify</a> |
33
- <?php else: ?>
34
- Minify |
35
- <?php endif; ?>
36
- <a href="?page=w3tc_dbcache"<?php if ($this->_page == 'w3tc_dbcache'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>Database Cache</a> |
37
- <a href="?page=w3tc_objectcache"<?php if ($this->_page == 'w3tc_objectcache'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>Object Cache</a> |
38
- <a href="?page=w3tc_browsercache"<?php if ($this->_page == 'w3tc_browsercache'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>Browser Cache</a> |
39
- <a href="?page=w3tc_mobile"<?php if ($this->_page == 'w3tc_mobile'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>User Agent Groups</a> |
40
- <a href="?page=w3tc_referrer"<?php if ($this->_page == 'w3tc_referrer'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>Referrer Groups</a> |
41
- <a href="?page=w3tc_cdn"<?php if ($this->_page == 'w3tc_cdn'): ?> class="w3tc-options-menu-selected"<?php endif; ?>><acronym title="Content Delivery Network">CDN</acronym></a> |
42
- <a href="?page=w3tc_faq"<?php if ($this->_page == 'w3tc_faq'): ?> class="w3tc-options-menu-selected"<?php endif; ?>><acronym title="Frequently Asked Questions">FAQ</acronym></a> |
43
- <a href="?page=w3tc_support"<?php if ($this->_page == 'w3tc_support'): ?> class="w3tc-options-menu-selected"<?php endif; ?> style="color: red;">Support</a> |
44
- <a href="?page=w3tc_install"<?php if ($this->_page == 'w3tc_install'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>Install</a> |
45
- <a href="?page=w3tc_about"<?php if ($this->_page == 'w3tc_about'): ?> class="w3tc-options-menu-selected"<?php endif; ?>>About</a>
46
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  <?php endif; ?>
10
 
11
  <div class="wrap" id="w3tc">
12
+ <h2 class="logo">W3 Total Cache <span>by W3 EDGE <sup>&reg;</sup></span></h2>
13
 
14
+ <?php foreach ($this->_errors as $error): ?>
15
+ <div class="error">
16
+ <p><?php echo $error; ?></p>
17
+ </div>
18
+ <?php endforeach; ?>
19
 
20
+ <?php if ($this->_rule_errors_autoinstall != ''): ?>
21
  <div class="error">
22
+ <p>
23
+ The following configuration changes are needed to ensure optimal performance:<br />
24
+ <ul style="padding-left: 20px">
25
+ <?php foreach ($this->_rule_errors as $error): ?>
26
+ <li><?php echo $error[0]; ?></li>
27
+ <?php endforeach; ?>
28
+ </ul>
29
+ </p>
30
+ <p>
31
+ If permission allow this can be done automatically, by clicking here:
32
+ <?php echo $this->_rule_errors_autoinstall ?>.
33
+ <?php echo $this->_rule_errors_hide ?>
34
+ </p>
35
  </div>
36
+ <?php endif; ?>
37
 
38
+ <?php if ($this->_rule_errors_root): ?>
39
+ <div class="error">
40
+ <p>
41
+ The following configuration changes are needed to ensure optimal performance:<br />
42
+ <ul style="padding-left: 20px">
43
+ <?php foreach ($this->_rule_errors_root as $error): ?>
44
+ <li><?php echo $error; ?></li>
45
+ <?php endforeach; ?>
46
+ </ul>
47
+ </p>
48
+ <?php if (isset($this->_ftp_form) && ($this->_use_ftp_form || $this->_rule_errors_root)): ?>
49
+ <p>
50
+ If permission allow this can be done using the <a href="#ftp_upload_form">FTP form</a> below. <?php echo $this->_rule_errors_root_hide; ?>
51
+ </p>
52
+ <?php endif ?>
53
+ </div>
54
+ <?php endif ?>
55
+
56
+ <?php if (isset($this->_ftp_form) && ($this->_use_ftp_form || $this->_rule_errors_root)): ?>
57
+ <div id="ftp_upload_form">
58
+ <?php echo $this->_ftp_form ?>
59
+ </div>
60
+ <?php endif; ?>
61
+
62
+ <?php foreach ($this->_notes as $note): ?>
63
+ <div class="updated fade">
64
+ <p><?php echo $note; ?></p>
65
  </div>
66
  <?php endforeach; ?>
67
 
68
+ <?php if (!$this->_config_admin->get_boolean('common.visible_by_master_only') || (is_super_admin() &&
69
+ (!w3_force_master() || is_network_admin()))): ?>
70
+ <p id="w3tc-options-menu">
71
+ <?php
72
+ switch ($this->_page){
73
+ case 'w3tc_general':
74
+ ?>
75
+ Jump to:
76
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
77
+ <a href="#general">General</a> |
78
+ <a href="#page_cache">Page Cache</a> |
79
+ <a href="#minify">Minify</a> |
80
+ <a href="#database_cache">Database Cache</a> |
81
+ <a href="#object_cache">Object Cache</a> |
82
+ <?php if (w3_is_pro() || w3_is_enterprise()): ?>
83
+ <a href="#fragment_cache">Fragment Cache</a> |
84
+ <?php endif; ?>
85
+ <a href="#browser_cache">Browser Cache</a> |
86
+ <a href="#cdn"><acronym title="Content Delivery Network">CDN</acronym></a> |
87
+ <a href="#varnish">Varnish</a> |
88
+ <?php if (w3_is_enterprise()): ?>
89
+ <a href="#amazon_sns">Amazon <acronym title="Simple Notification Service">SNS</acronym></a> |
90
+ <?php endif; ?>
91
+ <a href="#cloudflare">Cloudflare</a> |
92
+ <a href="#monitoring">Monitoring</a> |
93
+ <a href="#miscellaneous">Miscellaneous</a> |
94
+ <a href="#debug">Debug</a> |
95
+ <a href="#settings">Import / Export Settings</a>
96
+ <?php
97
+ break;
98
+ ?>
99
+ <?php
100
+ case 'w3tc_pgcache':
101
+ ?>
102
+ Jump to:
103
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
104
+ <a href="#general">General</a> |
105
+ <a href="#advanced">Advanced</a> |
106
+ <a href="#cache_preload">Cache Preload</a> |
107
+ <a href="#purge_policy">Purge Policy</a> |
108
+ <a href="#notes">Note(s)</a>
109
+ <?php
110
+ break;
111
+ ?>
112
+ <?php
113
+ case 'w3tc_minify':
114
+ ?>
115
+ Jump to:
116
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
117
+ <a href="#general">General</a> |
118
+ <a href="#html_xml"><acronym title="Hypertext Markup Language">HTML</acronym> &amp; <acronym title="eXtensible Markup Language">XML</acronym></a> |
119
+ <a href="#js"><acronym title="JavaScript">JS</acronym></a> |
120
+ <a href="#css"><acronym title="Cascading Style Sheet">CSS</acronym></a> |
121
+ <a href="#advanced">Advanced</a> |
122
+ <a href="#notes">Note(s)</a>
123
+ <?php
124
+ break;
125
+ ?>
126
+ <?php
127
+ case 'w3tc_dbcache':
128
+ ?>
129
+ Jump to:
130
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
131
+ <a href="#general">General</a> |
132
+ <a href="#advanced">Advanced</a>
133
+ <?php
134
+ break;
135
+ ?>
136
+ <?php
137
+ case 'w3tc_objectcache':
138
+ ?>
139
+ Jump to:
140
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
141
+ <a href="#advanced">Advanced</a>
142
+ <?php
143
+ break;
144
+ ?>
145
+ <?php
146
+ case 'w3tc_browsercache':
147
+ ?>
148
+ Jump to:
149
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
150
+ <a href="#general">General</a> |
151
+ <a href="#css_js"><acronym title="Cascading Style Sheet">CSS</acronym> &amp; <acronym title="JavaScript">JS</acronym></a> |
152
+ <a href="#html_xml"><acronym title="Hypertext Markup Language">HTML</acronym> &amp; <acronym title="eXtensible Markup Language">XML</acronym></a> |
153
+ <a href="#media">Media</a>
154
+ <?php
155
+ break;
156
+ ?>
157
+ <?php
158
+ case 'w3tc_mobile':
159
+ ?>
160
+ Jump to:
161
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
162
+ <a href="#manage">Manage User Agent Groups</a>
163
+ <?php
164
+ break;
165
+ ?>
166
+ <?php
167
+ case 'w3tc_referrer':
168
+ ?>
169
+ Jump to:
170
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
171
+ <a href="#manage">Manage Referrer Groups</a>
172
+ <?php
173
+ break;
174
+ ?>
175
+ <?php
176
+ case 'w3tc_cdn':
177
+ ?>
178
+ Jump to:
179
+ <a href="#toplevel_page_w3tc_general">Main Menu</a> |
180
+ <a href="#general">General</a> |
181
+ <a href="#configuration">Configuration</a> |
182
+ <a href="#advanced">Advanced</a> |
183
+ <a href="#notes">Note(s)</a>
184
+ <?php
185
+ break;
186
+ ?>
187
+
188
+ <?php
189
+ }
190
+ ?>
191
+ </p>
192
+ <?php endif ?>
inc/options/common/help.php CHANGED
File without changes
inc/options/common/index.html CHANGED
File without changes
inc/options/dashboard.php ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
+
4
+ <p>
5
+ <?php echo sprintf(__('The plugin is currently <span class="w3tc-%s">%s</span> in <strong>%s</strong> mode.', 'w3-total-cache')
6
+ , $enabled ? "enabled" : "disabled"
7
+ , $enabled ? __('enabled', 'w3-total-cache') : __('disabled', 'w3-total-cache')
8
+ , w3_w3tc_release_version());
9
+ ?>
10
+ </p>
11
+
12
+ <form id="w3tc_dashboard" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
13
+ <p>
14
+ Perform a
15
+ <input type="button" class="button button-self-test {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" value="<?php _e('compatibility check', 'w3-total-cache') ?>" />,
16
+ <?php echo $this->nonce_field('w3tc'); ?>
17
+ <input id="flush_all" class="button" type="submit" name="w3tc_flush_all" value="<?php _e('empty all caches', 'w3-total-cache') ?>"<?php if (! $can_empty_memcache && ! $can_empty_opcode && ! $can_empty_file && ! $can_empty_cloudflare && ! $can_empty_varnish): ?> disabled="disabled"<?php endif; ?> /> <?php _e('at once or', 'w3-total-cache') ?>
18
+ <?php if ($can_empty_cloudflare): ?>
19
+ <input id="flush_all_except_cf" class="button" type="submit" name="w3tc_flush_all_except_cf" value="<?php _e('empty all caches except CloudFlare', 'w3-total-cache') ?>"<?php if (! $can_empty_memcache && ! $can_empty_opcode && ! $can_empty_file && ! $can_empty_cloudflare && ! $can_empty_varnish): ?> disabled="disabled"<?php endif; ?> /> <?php _e('at once or', 'w3-total-cache') ?>
20
+ <?php endif; ?>
21
+ <input class="button" type="submit" name="w3tc_flush_memcached" value="<?php _e('empty only the memcached cache(s)', 'w3-total-cache') ?>"<?php if (! $can_empty_memcache): ?> disabled="disabled"<?php endif; ?> /> <?php _e('or', 'w3-total-cache') ?>
22
+ <input class="button" type="submit" name="w3tc_flush_opcode" value="<?php _e('empty only the opcode cache', 'w3-total-cache') ?>"<?php if (! $can_empty_opcode): ?> disabled="disabled"<?php endif; ?> /> <?php _e('or', 'w3-total-cache') ?>
23
+ <?php if ($can_empty_apc_system): ?>
24
+ <input class="button" type="submit" name="w3tc_flush_apc_system" value="<?php _e('empty only the APC system cache', 'w3-total-cache') ?>"<?php if (! $can_empty_apc_system): ?> disabled="disabled"<?php endif; ?> /> <?php _e('or', 'w3-total-cache') ?>
25
+ <?php endif ?>
26
+ <input class="button" type="submit" name="w3tc_flush_file" value="<?php _e('empty only the disk cache(s)', 'w3-total-cache') ?>"<?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> /> <?php _e('or', 'w3-total-cache') ?>
27
+ <?php if ($cdn_mirror_purge && $cdn_enabled): ?>
28
+ <input class="button" type="submit" name="w3tc_flush_cdn" value="<?php _e('purge CDN completely', 'w3-total-cache') ?>" /> <?php _e('or', 'w3-total-cache') ?>
29
+ <?php endif; ?>
30
+ <input type="submit" name="w3tc_flush_browser_cache" value="<?php _e('update Media Query String', 'w3-total-cache') ?>" <?php disabled(! ($browsercache_enabled && $browsercache_update_media_qs)) ?> class="button" />.
31
+ </p>
32
+ </form>
33
+
34
+ <div id="w3tc-dashboard-widgets" class="clearfix widefat metabox-holder">
35
+ <?php $screen = get_current_screen();
36
+ ?>
37
+ <div id="postbox-container-left" style="float: left;">
38
+ <div class="content">
39
+ <div id="dashboard-text" style="display:inline-block;">
40
+ <h1><?php _e('Dashboard', 'w3-total-cache')?></h1>
41
+ <p>Thanks for choosing W3TC as your Web Performance Optimization (WPO) framework. The dashboard provides at-a-glance insight into key performance indicators for your site(s). Feel free to <a href="admin.php?page=w3tc_support&amp;request_type=new_feature">make suggestions</a> about the kinds of statistics you would like to see here using the support form. We're already working on: CDN stats, cache stats per module, Cloud Flare stats and much more.</p>
42
+ </div>
43
+ <div id='postbox-container-1' class='postbox-container'>
44
+ <?php do_meta_boxes( $screen->id, 'top', '' ); ?>
45
+ </div>
46
+ <?php do_meta_boxes( $screen->id, 'normal', '' ); ?>
47
+ </div>
48
+ </div>
49
+ <div id="postbox-container-right">
50
+ <div id='postbox-container-3' class='postbox-container' style="width: 100%;">
51
+ <?php do_meta_boxes( $screen->id, 'side', '' ); ?>
52
+ </div>
53
+ </div>
54
+ <div style="clear:both"></div>
55
+
56
+ <?php
57
+ wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
58
+ wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false );
59
+ ?>
60
+ </div>
61
+
62
+ <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
inc/options/dbcache.php CHANGED
@@ -1,86 +1,101 @@
1
- <?php if (!defined('W3TC')) die(); ?>
2
- <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
-
4
- <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
5
- <p>
6
- Database caching via
7
- <strong><?php echo w3_get_engine_name($this->_config->get_string('dbcache.engine')); ?></strong>
8
- is currently <span class="w3tc-<?php if ($dbcache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
9
- </p>
10
- <p>
11
- To rebuild the database cache use the
12
- <?php echo $this->nonce_field('w3tc'); ?>
13
- <input type="submit" name="w3tc_flush_dbcache" value="empty cache"<?php if (! $dbcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
14
- operation.
15
- </p>
16
- </form>
17
-
18
- <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
19
- <div class="metabox-holder">
20
- <?php echo $this->postbox_header('General'); ?>
21
- <table class="form-table">
22
- <tr>
23
- <th>
24
- <input type="hidden" name="dbcache.reject.logged" value="0" />
25
- <label><input type="checkbox" name="dbcache.reject.logged" value="1"<?php checked($this->_config->get_boolean('dbcache.reject.logged'), true); ?> /> Don't cache queries for logged in users</label>
26
- <br /><span class="description">Enabling this option is recommended to maintain default WordPress behavior.</span>
27
- </th>
28
- </tr>
29
- </table>
30
-
31
- <p class="submit">
32
- <?php echo $this->nonce_field('w3tc'); ?>
33
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
34
- </p>
35
- <?php echo $this->postbox_footer(); ?>
36
-
37
- <?php echo $this->postbox_header('Advanced'); ?>
38
- <table class="form-table">
39
- <?php if ($this->_config->get_string('dbcache.engine') == 'memcached'): ?>
40
- <tr>
41
- <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
42
- <td>
43
- <input id="memcached_servers" type="text" name="dbcache.memcached.servers" value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('dbcache.memcached.servers'))); ?>" size="100" />
44
- <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test" />
45
- <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
46
- <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
47
- </td>
48
- </tr>
49
- <?php endif; ?>
50
- <tr>
51
- <th style="width: 250px;"><label for="dbcache_lifetime">Maximum lifetime of cache objects:</label></th>
52
- <td><input id="dbcache_lifetime" type="text" name="dbcache.lifetime" value="<?php echo $this->_config->get_integer('dbcache.lifetime'); ?>" size="8" /> seconds
53
- <br /><span class="description">Determines the natural expiration time of unchanged cache items. The higher the value, the larger the cache.</span>
54
- </td>
55
- </tr>
56
- <tr>
57
- <th><label for="dbcache_file_gc">Garbage collection interval:</label></th>
58
- <td><input id="dbcache_file_gc" type="text" name="dbcache.file.gc" value="<?php echo $this->_config->get_integer('dbcache.file.gc'); ?>" size="8" /> seconds
59
- <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
60
- </td>
61
- </tr>
62
- <tr>
63
- <th><label for="dbcache_reject_uri">Never cache the following pages:</label></th>
64
- <td>
65
- <textarea id="dbcache_reject_uri" name="dbcache.reject.uri" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('dbcache.reject.uri'))); ?></textarea><br />
66
- <span class="description">Always ignore the specified pages / directories.</span>
67
- </td>
68
- </tr>
69
- <tr>
70
- <th><label for="dbcache_reject_sql">Ignored query stems:</label></th>
71
- <td>
72
- <textarea id="dbcache_reject_sql" name="dbcache.reject.sql" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('dbcache.reject.sql'))); ?></textarea><br />
73
- <span class="description">Do not cache queries that contain these terms. Any entered prefix (set in wp-config.php) will be replaced with current database prefix (default: wp_). Query stems can be identified using debug mode.</span>
74
- </td>
75
- </tr>
76
- </table>
77
-
78
- <p class="submit">
79
- <?php echo $this->nonce_field('w3tc'); ?>
80
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
81
- </p>
82
- <?php echo $this->postbox_footer(); ?>
83
- </div>
84
- </form>
85
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
+
4
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
5
+ <p>
6
+ Database caching via
7
+ <strong><?php echo w3_get_engine_name($this->_config->get_string('dbcache.engine')); ?></strong>
8
+ is currently <span class="w3tc-<?php if ($dbcache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
9
+ </p>
10
+ <p>
11
+ To rebuild the database cache use the
12
+ <?php echo $this->nonce_field('w3tc'); ?>
13
+ <input type="submit" name="w3tc_flush_dbcache" value="empty cache"<?php if (! $dbcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
14
+ operation.
15
+ </p>
16
+ </form>
17
+
18
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
19
+ <div class="metabox-holder">
20
+ <?php echo $this->postbox_header('General', '', 'general'); ?>
21
+ <table class="form-table">
22
+ <tr>
23
+ <th>
24
+ <?php $this->checkbox('dbcache.reject.logged') ?> Don't cache queries for logged in users</label>
25
+ <br /><span class="description">Enabling this option is recommended to maintain default WordPress behavior.</span>
26
+ </th>
27
+ </tr>
28
+ </table>
29
+
30
+ <p class="submit">
31
+ <?php echo $this->nonce_field('w3tc'); ?>
32
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
33
+ </p>
34
+ <?php echo $this->postbox_footer(); ?>
35
+
36
+ <?php echo $this->postbox_header('Advanced', '', 'advanced'); ?>
37
+ <table class="form-table">
38
+ <?php if ($this->_config->get_string('dbcache.engine') == 'memcached'): ?>
39
+ <tr>
40
+ <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
41
+ <td>
42
+ <input id="memcached_servers" type="text"
43
+ <?php $this->sealing_disabled('dbcache') ?> name="dbcache.memcached.servers" value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('dbcache.memcached.servers'))); ?>" size="100" />
44
+ <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test" />
45
+ <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
46
+ <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
47
+ </td>
48
+ </tr>
49
+ <?php endif; ?>
50
+ <tr>
51
+ <th style="width: 250px;"><label for="dbcache_lifetime">Maximum lifetime of cache objects:</label></th>
52
+ <td>
53
+ <input id="dbcache_lifetime" type="text" name="dbcache.lifetime"
54
+ <?php $this->sealing_disabled('dbcache') ?>
55
+ value="<?php echo $this->_config->get_integer('dbcache.lifetime'); ?>" size="8" /> seconds
56
+ <br /><span class="description">Determines the natural expiration time of unchanged cache items. The higher the value, the larger the cache.</span>
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <th><label for="dbcache_file_gc">Garbage collection interval:</label></th>
61
+ <td>
62
+ <input id="dbcache_file_gc" type="text" name="dbcache.file.gc"
63
+ <?php $this->sealing_disabled('dbcache') ?> value="<?php echo $this->_config->get_integer('dbcache.file.gc'); ?>" size="8" /> seconds
64
+ <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
65
+ </td>
66
+ </tr>
67
+ <tr>
68
+ <th><label for="dbcache_reject_uri">Never cache the following pages:</label></th>
69
+ <td>
70
+ <textarea id="dbcache_reject_uri" name="dbcache.reject.uri"
71
+ <?php $this->sealing_disabled('dbcache') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('dbcache.reject.uri'))); ?></textarea><br />
72
+ <span class="description">Always ignore the specified pages / directories. Supports regular expression (See <a href="<?php echo network_admin_url('admin.php?page=w3tc_faq#q82')?>">FAQ</a>).</span>
73
+ </td>
74
+ </tr>
75
+ <tr>
76
+ <th><label for="dbcache_reject_sql">Ignored query stems:</label></th>
77
+ <td>
78
+ <textarea id="dbcache_reject_sql" name="dbcache.reject.sql"
79
+ <?php $this->sealing_disabled('dbcache') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('dbcache.reject.sql'))); ?></textarea><br />
80
+ <span class="description">Do not cache queries that contain these terms. Any entered prefix (set in wp-config.php) will be replaced with current database prefix (default: wp_). Query stems can be identified using debug mode.</span>
81
+ </td>
82
+ </tr>
83
+ <tr>
84
+ <th><label for="dbcache_reject_words">Reject query words:</label></th>
85
+ <td>
86
+ <textarea id="dbcache_reject_words" name="dbcache.reject.words"
87
+ <?php $this->sealing_disabled('dbcache') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('dbcache.reject.words'))); ?></textarea><br />
88
+ <span class="description">Do not cache queries that contain these words or regular expressions.</span>
89
+ </td>
90
+ </tr>
91
+ </table>
92
+
93
+ <p class="submit">
94
+ <?php echo $this->nonce_field('w3tc'); ?>
95
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
96
+ </p>
97
+ <?php echo $this->postbox_footer(); ?>
98
+ </div>
99
+ </form>
100
+
101
  <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
inc/options/enterprise/dbcluster-config.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
+
4
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
5
+ <div class="metabox-holder">
6
+ <?php echo $this->postbox_header('Database Cluster Configuration File'); ?>
7
+ <table class="form-table">
8
+ <tr>
9
+ <th>
10
+ <textarea cols="70" rows="25" style="width: 100%"
11
+ name="newcontent" id="newcontent"
12
+ tabindex="1"><?php echo htmlspecialchars($content); ?></textarea><br />
13
+ <br />
14
+ <span class="description">
15
+ Note: Changes will have immediate effect on your database
16
+ configuration. If the application stops working creating the
17
+ settings file, edit or remove this configuration file manually
18
+ at <strong>/wp-content/db-cluster-config.php</strong>.
19
+ </span>
20
+ </th>
21
+ </tr>
22
+ </table>
23
+
24
+ <p class="submit">
25
+ <?php echo $this->nonce_field('w3tc'); ?>
26
+ <input type="submit" name="w3tc_dbcluster_config_save" class="w3tc-button-save button-primary" value="Save configuration file" />
27
+ </p>
28
+ <?php echo $this->postbox_footer(); ?>
29
+ </div>
30
+ </form>
31
+
32
+ <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
inc/options/enterprise/dbcluster_general_section.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <tr>
2
+ <th><label for="w3tc_dbcluster_config">Database cluster:</th>
3
+ <td>
4
+ <input type="submit" id="w3tc_dbcluster_config" name="w3tc_dbcluster_config" class="button"
5
+ value="<?php echo (w3_is_dbcluster() ? 'Edit Database Cluster Configuration' : 'Enable database cluster'); ?>" /><br />
6
+ <span class="description">Create db-cluster-config.php file with your database cluster configuration to enable it.</span>
7
+ </td>
8
+ </tr>
inc/options/faq.php CHANGED
File without changes
inc/options/general.php CHANGED
@@ -1,557 +1,798 @@
1
- <?php if (!defined('W3TC')) die(); ?>
2
- <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
-
4
- <p>
5
- The plugin is currently <span class="w3tc-<?php if ($enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>. If an option is disabled it means that either your current installation is not compatible or software installation is required.
6
- </p>
7
-
8
- <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
9
- <p>
10
- Perform a
11
- <input type="button" class="button button-self-test {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" value="compatibility check" />,
12
- <?php echo $this->nonce_field('w3tc'); ?>
13
- <input class="button" type="submit" name="w3tc_flush_all" value="empty all caches"<?php if (! $can_empty_memcache && ! $can_empty_opcode && ! $can_empty_file): ?> disabled="disabled"<?php endif; ?> /> at once or
14
- <input class="button" type="submit" name="w3tc_flush_memcached" value="empty only the memcached cache(s)"<?php if (! $can_empty_memcache): ?> disabled="disabled"<?php endif; ?> /> or
15
- <input class="button" type="submit" name="w3tc_flush_opcode" value="empty only the opcode cache"<?php if (! $can_empty_opcode): ?> disabled="disabled"<?php endif; ?> /> or
16
- <input class="button" type="submit" name="w3tc_flush_file" value="empty only the disk cache(s)"<?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> />.
17
- </p>
18
- </form>
19
-
20
- <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
21
- <div class="metabox-holder">
22
- <?php echo $this->postbox_header('General'); ?>
23
- <table class="form-table">
24
- <tr>
25
- <th colspan="2">
26
- <label>
27
- <input id="enabled" type="checkbox" name="enabled" value="1"<?php checked($enabled_checkbox, true); ?> />
28
- Toggle all caching types on or off at once.
29
- </label>
30
- </th>
31
- </tr>
32
- <tr>
33
- <th>Preview Mode:</th>
34
- <td>
35
- <?php echo $this->nonce_field('w3tc'); ?>
36
- <?php if ($preview): ?>
37
- <input type="hidden" name="preview" value="0" />
38
- <input type="submit" name="w3tc_preview_save" class="button-primary" value="Disable" />
39
- <?php echo $this->button_link('Preview', w3_get_home_url() . '/?w3tc_preview=1', true); ?>
40
- <?php echo $this->button_link('Deploy', sprintf('admin.php?page=%s&w3tc_preview_deploy', $this->_page)); ?>
41
- <?php else: ?>
42
- <input type="hidden" name="preview" value="1" />
43
- <input type="submit" name="w3tc_preview_save" class="button-primary" value="Enable" />
44
- <?php endif; ?>
45
- <br /><span class="description">Use preview mode to test configuration scenarios prior to releasing them (deploy) on the actual site.</span>
46
- </td>
47
- </tr>
48
- </table>
49
-
50
- <p class="submit">
51
- <?php echo $this->nonce_field('w3tc'); ?>
52
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
53
- </p>
54
- <?php echo $this->postbox_footer(); ?>
55
-
56
- <?php echo $this->postbox_header('Page Cache'); ?>
57
- <p>Enable page caching to decrease the response time of your site.</p>
58
-
59
- <table class="form-table">
60
- <tr>
61
- <th>Page Cache:</th>
62
- <td>
63
- <input type="hidden" name="pgcache.enabled" value="0" />
64
- <label><input class="enabled" type="checkbox" name="pgcache.enabled" value="1"<?php checked($pgcache_enabled, true); ?> />&nbsp;<strong>Enable</strong></label>
65
- <br /><span class="description">Caching pages will reduce the response time of your site and increase the scale of your web server.</span>
66
- </td>
67
- </tr>
68
- <tr>
69
- <th>Page Cache Method:</th>
70
- <td>
71
- <select name="pgcache.engine">
72
- <optgroup label="Shared Server (disk enhanced is best):">
73
- <option value="file"<?php selected($this->_config->get_string('pgcache.engine'), 'file'); ?>>Disk: Basic</option>
74
- <option value="file_generic"<?php selected($this->_config->get_string('pgcache.engine'), 'file_generic'); ?><?php if (! $check_rules): ?> disabled="disabled"<?php endif; ?>>Disk: Enhanced</option>
75
- </optgroup>
76
- <optgroup label="Dedicated / Virtual Server:">
77
- <option value="apc"<?php selected($this->_config->get_string('pgcache.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
78
- <option value="eaccelerator"<?php selected($this->_config->get_string('pgcache.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
79
- <option value="xcache"<?php selected($this->_config->get_string('pgcache.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
80
- <option value="wincache"<?php selected($this->_config->get_string('pgcache.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
81
- </optgroup>
82
- <optgroup label="Multiple Servers:">
83
- <option value="memcached"<?php selected($this->_config->get_string('pgcache.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
84
- </optgroup>
85
- </select>
86
- </td>
87
- </tr>
88
- </table>
89
-
90
- <p class="submit">
91
- <?php echo $this->nonce_field('w3tc'); ?>
92
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
93
- <input type="submit" name="w3tc_flush_pgcache" value="Empty cache"<?php if (! $pgcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
94
- </p>
95
- <?php echo $this->postbox_footer(); ?>
96
-
97
- <?php echo $this->postbox_header('Minify'); ?>
98
- <p>Reduce load time by decreasing the size and number of <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files. Automatically remove unncessary data from <acronym title="Cascading Style Sheet">CSS</acronym>, <acronym title="JavaScript">JS</acronym>, feed, page and post <acronym title="Hypertext Markup Language">HTML</acronym>.</p>
99
-
100
- <table class="form-table">
101
- <tr>
102
- <th>Minify:</th>
103
- <td>
104
- <input type="hidden" name="minify.enabled" value="0"<?php if (! W3TC_PHP5): ?> disabled="disabled"<?php endif; ?> />
105
- <label><input class="enabled" type="checkbox" name="minify.enabled" value="1"<?php checked($minify_enabled, true); ?><?php if (! W3TC_PHP5): ?> disabled="disabled"<?php endif; ?> />&nbsp;<strong>Enable</strong></label>
106
- <br /><span class="description">Minification can decrease file size of <acronym title="Hypertext Markup Language">HTML</acronym>, <acronym title="Cascading Style Sheet">CSS</acronym>, <acronym title="JavaScript">JS</acronym> and feeds respectively by ~10% on average.</span>
107
- </td>
108
- </tr>
109
- <tr>
110
- <th>Minify mode:</th>
111
- <td>
112
- <label><input type="radio" name="minify.auto" value="1"<?php checked($this->_config->get_boolean('minify.auto'), true); ?><?php if (! W3TC_PHP5): ?> disabled="disabled"<?php endif; ?> /> Auto</label>
113
- <label><input type="radio" name="minify.auto" value="0"<?php checked($this->_config->get_boolean('minify.auto'), false); ?><?php if (! W3TC_PHP5): ?> disabled="disabled"<?php endif; ?> /> Manual</label>
114
- <br /><span class="description">Select manual mode to use fields on the minify settings tab to specify files to be minified, otherwise files will be minified automatically, but will not use the <acronym title="Content Delivery Network">CDN</acronym>.</span>
115
- </td>
116
- </tr>
117
- <tr>
118
- <th>Minify Cache Method:</th>
119
- <td>
120
- <select name="minify.engine"<?php if (! W3TC_PHP5): ?> disabled="disabled"<?php endif; ?>>
121
- <optgroup label="Shared Server (disk is best):">
122
- <option value="file"<?php selected($this->_config->get_string('minify.engine'), 'file'); ?>>Disk</option>
123
- </optgroup>
124
- <optgroup label="Dedicated / Virtual Server:">
125
- <option value="apc"<?php selected($this->_config->get_string('minify.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
126
- <option value="eaccelerator"<?php selected($this->_config->get_string('minify.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
127
- <option value="xcache"<?php selected($this->_config->get_string('minify.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
128
- <option value="wincache"<?php selected($this->_config->get_string('minify.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
129
- </optgroup>
130
- <optgroup label="Multiple Servers:">
131
- <option value="memcached"<?php selected($this->_config->get_string('minify.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
132
- </optgroup>
133
- </select>
134
- </td>
135
- </tr>
136
- <tr>
137
- <th><acronym title="Hypertext Markup Language">HTML</acronym> minifier:</th>
138
- <td>
139
- <select name="minify.html.engine"<?php if (! W3TC_PHP5): ?> disabled="disabled"<?php endif; ?>>
140
- <option value="html"<?php selected($this->_config->get_string('minify.html.engine'), 'html'); ?>>Default</option>
141
- <option value="htmltidy"<?php selected($this->_config->get_string('minify.html.engine'), 'htmltidy'); ?><?php if (! $check_tidy): ?> disabled="disabled"<?php endif; ?>>HTML Tidy</option>
142
- </select>
143
- </td>
144
- </tr>
145
- <tr>
146
- <th><acronym title="JavaScript">JS</acronym> minifier:</th>
147
- <td>
148
- <select name="minify.js.engine"<?php if (! W3TC_PHP5): ?> disabled="disabled"<?php endif; ?>>
149
- <option value="js"<?php selected($this->_config->get_string('minify.js.engine'), 'js'); ?>>JSMin (default)</option>
150
- <option value="yuijs"<?php selected($this->_config->get_string('minify.js.engine'), 'yuijs'); ?>>YUI Compressor</option>
151
- <option value="ccjs"<?php selected($this->_config->get_string('minify.js.engine'), 'ccjs'); ?>>Closure Compiler</option>
152
- </select>
153
- </td>
154
- </tr>
155
- <tr>
156
- <th><acronym title="Cascading Style Sheets">CSS</acronym> minifier:</th>
157
- <td>
158
- <select name="minify.css.engine"<?php if (! W3TC_PHP5): ?> disabled="disabled"<?php endif; ?>>
159
- <option value="css"<?php selected($this->_config->get_string('minify.css.engine'), 'css'); ?>>Default</option>
160
- <option value="yuicss"<?php selected($this->_config->get_string('minify.css.engine'), 'yuicss'); ?>>YUI Compressor</option>
161
- <option value="csstidy"<?php selected($this->_config->get_string('minify.css.engine'), 'csstidy'); ?>>CSS Tidy</option>
162
- </select>
163
- </td>
164
- </tr>
165
- </table>
166
-
167
- <p class="submit">
168
- <?php echo $this->nonce_field('w3tc'); ?>
169
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
170
- <input type="submit" name="w3tc_flush_minify" value="Empty cache"<?php if (! $minify_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
171
- </p>
172
- <?php echo $this->postbox_footer(); ?>
173
-
174
- <?php echo $this->postbox_header('Database Cache'); ?>
175
- <p>Enable database caching to reduce post, page and feed creation time.</p>
176
-
177
- <table class="form-table">
178
- <tr>
179
- <th>Database Cache:</th>
180
- <td>
181
- <input type="hidden" name="dbcache.enabled" value="0" />
182
- <label><input class="enabled" type="checkbox" name="dbcache.enabled" value="1"<?php checked($dbcache_enabled, true); ?> />&nbsp;<strong>Enable</strong></label>
183
- <br /><span class="description">Caching database objects decreases the response time of your site. Best used if object caching is not possible.</span>
184
- </td>
185
- </tr>
186
- <tr>
187
- <th>Database Cache Method:</th>
188
- <td>
189
- <select name="dbcache.engine">
190
- <optgroup label="Shared Server:">
191
- <option value="file"<?php selected($this->_config->get_string('dbcache.engine'), 'file'); ?>>Disk</option>
192
- </optgroup>
193
- <optgroup label="Dedicated / Virtual Server:">
194
- <option value="apc"<?php selected($this->_config->get_string('dbcache.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
195
- <option value="eaccelerator"<?php selected($this->_config->get_string('dbcache.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
196
- <option value="xcache"<?php selected($this->_config->get_string('dbcache.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
197
- <option value="wincache"<?php selected($this->_config->get_string('dbcache.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
198
- </optgroup>
199
- <optgroup label="Multiple Servers:">
200
- <option value="memcached"<?php selected($this->_config->get_string('dbcache.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
201
- </optgroup>
202
- </select>
203
- </td>
204
- </tr>
205
- </table>
206
-
207
- <p class="submit">
208
- <?php echo $this->nonce_field('w3tc'); ?>
209
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
210
- <input type="submit" name="w3tc_flush_dbcache" value="Empty cache"<?php if (! $dbcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
211
- </p>
212
- <?php echo $this->postbox_footer(); ?>
213
-
214
- <?php echo $this->postbox_header('Object Cache'); ?>
215
- <p>Enable object caching to further reduce execution time for common operations.</p>
216
-
217
- <table class="form-table">
218
- <tr>
219
- <th>Object Cache:</th>
220
- <td>
221
- <input type="hidden" name="objectcache.enabled" value="0" />
222
- <label><input class="enabled" type="checkbox" name="objectcache.enabled" value="1"<?php checked($objectcache_enabled, true); ?> />&nbsp;<strong>Enable</strong></label>
223
- <br /><span class="description">Object caching greatly increases performance for highly dynamic sites (that use the Object Cache <acronym title="Application Programming Interface">API</acronym>).</span>
224
- </td>
225
- </tr>
226
- <tr>
227
- <th>Object Cache Method:</th>
228
- <td>
229
- <select name="objectcache.engine">
230
- <optgroup label="Shared Server:">
231
- <option value="file"<?php selected($this->_config->get_string('objectcache.engine'), 'file'); ?>>Disk</option>
232
- </optgroup>
233
- <optgroup label="Dedicated / Virtual Server:">
234
- <option value="apc"<?php selected($this->_config->get_string('objectcache.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
235
- <option value="eaccelerator"<?php selected($this->_config->get_string('objectcache.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
236
- <option value="xcache"<?php selected($this->_config->get_string('objectcache.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
237
- <option value="wincache"<?php selected($this->_config->get_string('objectcache.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
238
- </optgroup>
239
- <optgroup label="Multiple Servers:">
240
- <option value="memcached"<?php selected($this->_config->get_string('objectcache.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
241
- </optgroup>
242
- </select>
243
- </td>
244
- </tr>
245
- </table>
246
-
247
- <p class="submit">
248
- <?php echo $this->nonce_field('w3tc'); ?>
249
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
250
- <input type="submit" name="w3tc_flush_objectcache" value="Empty cache"<?php if (! $objectcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
251
- </p>
252
- <?php echo $this->postbox_footer(); ?>
253
-
254
- <?php echo $this->postbox_header('Browser Cache'); ?>
255
- <p>Reduce server load and decrease response time by using the cache available in site visitor's web browser.</p>
256
-
257
- <table class="form-table">
258
- <tr>
259
- <th>Browser Cache:</th>
260
- <td>
261
- <input type="hidden" name="browsercache.enabled" value="0" />
262
- <label><input class="enabled" type="checkbox" name="browsercache.enabled" value="1"<?php checked($browsercache_enabled, true); ?> />&nbsp;<strong>Enable</strong></label>
263
- <br /><span class="description">Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression and add headers to reduce server load and decrease file load time.</span>
264
- </td>
265
- </tr>
266
- </table>
267
-
268
- <p class="submit">
269
- <?php echo $this->nonce_field('w3tc'); ?>
270
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
271
- </p>
272
- <?php echo $this->postbox_footer(); ?>
273
-
274
- <?php echo $this->postbox_header('<acronym title="Content Delivery Network">CDN</acronym>'); ?>
275
- <p>Host static files with your content delivery network provider to reduce page load time.</p>
276
-
277
- <table class="form-table">
278
- <tr>
279
- <th><acronym title="Content Delivery Network">CDN</acronym>:</th>
280
- <td>
281
- <input type="hidden" name="cdn.enabled" value="0" />
282
- <label><input class="enabled" type="checkbox" name="cdn.enabled" value="1"<?php checked($cdn_enabled, true); ?> />&nbsp;<strong>Enable</strong></label>
283
- <br /><span class="description">Theme files, media library attachments, <acronym title="Cascading Style Sheet">CSS</acronym>, <acronym title="JavaScript">JS</acronym> files etc will appear to load instantly for site visitors.</span>
284
- </td>
285
- </tr>
286
- <tr>
287
- <th><acronym title="Content Delivery Network">CDN</acronym> Type:</th>
288
- <td>
289
- <select name="cdn.engine">
290
- <optgroup label="Origin Pull (mirror is best):">
291
- <option value="cf2"<?php selected($this->_config->get_string('cdn.engine'), 'cf2'); ?><?php if (!W3TC_PHP5 || !$check_curl): ?> disabled="disabled"<?php endif; ?>>Amazon CloudFront</option>
292
- <option value="cotendo"<?php selected($this->_config->get_string('cdn.engine'), 'cotendo'); ?>>Cotendo</option>
293
- <option value="mirror"<?php selected($this->_config->get_string('cdn.engine'), 'mirror'); ?>>Generic Mirror</option>
294
- <option value="edgecast"<?php selected($this->_config->get_string('cdn.engine'), 'edgecast'); ?>>Media Temple ProCDN / EdgeCast</option>
295
- <option value="netdna"<?php selected($this->_config->get_string('cdn.engine'), 'netdna'); ?>>NetDNA / MaxCDN</option>
296
- </optgroup>
297
- <optgroup label="Origin Push:">
298
- <option value="cf"<?php selected($this->_config->get_string('cdn.engine'), 'cf'); ?><?php if (!W3TC_PHP5 || !$check_curl): ?> disabled="disabled"<?php endif; ?>>Amazon CloudFront</option>
299
- <option value="s3"<?php selected($this->_config->get_string('cdn.engine'), 's3'); ?><?php if (!W3TC_PHP5 || !$check_curl): ?> disabled="disabled"<?php endif; ?>>Amazon Simple Storage Service (S3)</option>
300
- <option value="azure"<?php selected($this->_config->get_string('cdn.engine'), 'azure'); ?><?php if (!W3TC_PHP5): ?> disabled="disabled"<?php endif; ?>>Microsoft Azure Storage</option>
301
- <option value="rscf"<?php selected($this->_config->get_string('cdn.engine'), 'rscf'); ?><?php if (!W3TC_PHP5 || !$check_curl): ?> disabled="disabled"<?php endif; ?>>Rackspace Cloud Files</option>
302
- <option value="ftp"<?php selected($this->_config->get_string('cdn.engine'), 'ftp'); ?><?php if (!$check_ftp): ?> disabled="disabled"<?php endif; ?>>Self-hosted / File Transfer Protocol Upload</option>
303
- </optgroup>
304
- </select><br />
305
- <span class="description">Select the <acronym title="Content Delivery Network">CDN</acronym> type you wish to use.</span>
306
- </td>
307
- </tr>
308
- </table>
309
-
310
- <p class="submit">
311
- <?php echo $this->nonce_field('w3tc'); ?>
312
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
313
- <input id="cdn_purge" type="button" value="Purge cache"<?php if (!$cdn_enabled || !w3_can_cdn_purge($this->_config->get_string('cdn.engine'))): ?> disabled="disabled"<?php endif; ?> class="button" />
314
- </p>
315
- <?php echo $this->postbox_footer(); ?>
316
-
317
- <?php echo $this->postbox_header('Varnish'); ?>
318
- <table class="form-table">
319
- <tr>
320
- <th colspan="2">
321
- <input type="hidden" name="varnish.enabled" value="0" />
322
- <label><input class="enabled" type="checkbox" name="varnish.enabled" value="1"<?php checked($varnish_enabled, true); ?> /> Enable varnish cache purging</label><br />
323
- </th>
324
- </tr>
325
- <tr>
326
- <th><label for="pgcache_varnish_servers">Varnish servers:</label></th>
327
- <td>
328
- <textarea id="pgcache_varnish_servers" name="varnish.servers" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('varnish.servers'))); ?></textarea><br />
329
- <span class="description">Specify the IP addresses of your varnish instances above. Your <acronym title="Varnish Configuration Language">VCL</acronym>'s <acronym title="Access Control List">ACL</acronym> must allow this request.</span>
330
- </td>
331
- </tr>
332
- </table>
333
-
334
- <p class="submit">
335
- <?php echo $this->nonce_field('w3tc'); ?>
336
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
337
- </p>
338
- <?php echo $this->postbox_footer(); ?>
339
-
340
- <?php echo $this->postbox_header('Network Performance &amp; Security powered by CloudFlare'); ?>
341
- <p>
342
- CloudFlare protects and accelerates websites. <a href="https://www.cloudflare.com/sign-up.html?affiliate=w3edge&amp;seed_domain=<?php echo w3_get_host(); ?>&amp;email=<?php echo htmlspecialchars($cloudflare_signup_email); ?>&amp;username=<?php echo htmlspecialchars($cloudflare_signup_user); ?>" target="_blank">Sign up now for free</a> to get started,
343
- or if you have an account simply log in to obtain your <acronym title="Application Programming Interface">API</acronym> key from the <a href="https://www.cloudflare.com/my-account.html">account page</a> to enter it below.
344
- Contact the CloudFlare <a href="http://www.cloudflare.com/help.html" target="_blank">support team</a> with any questions.
345
- </p>
346
-
347
- <table class="form-table">
348
- <tr>
349
- <th>CloudFlare:</th>
350
- <td>
351
- <input type="hidden" name="cloudflare.enabled" value="0" />
352
- <label><input class="enabled" type="checkbox" name="cloudflare.enabled" value="1"<?php checked($cloudflare_enabled, true); ?> />&nbsp;<strong>Enable</strong></label>
353
- </td>
354
- </tr>
355
- <tr>
356
- <th><label for="cloudflare_email">CloudFlare account email:</label></th>
357
- <td>
358
- <input id="cloudflare_email" class="w3tc-ignore-change" type="text" name="cloudflare.email" value="<?php echo htmlspecialchars($this->_config->get_string('cloudflare.email')); ?>" size="60" />
359
- </td>
360
- </tr>
361
- <tr>
362
- <th><label for="cloudflare_key"><acronym title="Application Programming Interface">API</acronym> key:</label></th>
363
- <td>
364
- <input id="cloudflare_key" class="w3tc-ignore-change" type="password" name="cloudflare.key" value="<?php echo htmlspecialchars($this->_config->get_string('cloudflare.key')); ?>" size="60" /> (<a href="https://www.cloudflare.com/my-account.html">find it here</a>)
365
- </td>
366
- </tr>
367
- <tr>
368
- <th>Domain:</th>
369
- <td>
370
- <input id="cloudflare_zone" type="text" name="cloudflare.zone" value="<?php echo htmlspecialchars($this->_config->get_string('cloudflare.zone', w3_get_host())); ?>" size="40" />
371
- </td>
372
- </tr>
373
- <tr>
374
- <th>Security level:</th>
375
- <td>
376
- <input type="hidden" name="cloudflare_seclvl_old" value="<?php echo $cloudflare_seclvl; ?>" />
377
- <select name="cloudflare_seclvl_new" class="w3tc-ignore-change">
378
- <?php foreach ($cloudflare_seclvls as $cloudflare_seclvl_key => $cloudflare_seclvl_label): ?>
379
- <option value="<?php echo $cloudflare_seclvl_key; ?>"<?php selected($cloudflare_seclvl, $cloudflare_seclvl_key); ?>><?php echo $cloudflare_seclvl_label; ?></option>
380
- <?php endforeach; ?>
381
- </select>
382
- </td>
383
- </tr>
384
- <tr>
385
- <th>Development mode:</th>
386
- <td>
387
- <input type="hidden" name="cloudflare_devmode_old" value="<?php echo $cloudflare_devmode; ?>" />
388
- <select name="cloudflare_devmode_new" class="w3tc-ignore-change">
389
- <?php foreach ($cloudflare_devmodes as $cloudflare_devmode_key => $cloudflare_devmode_label): ?>
390
- <option value="<?php echo $cloudflare_devmode_key; ?>"<?php selected($cloudflare_devmode, $cloudflare_devmode_key); ?>><?php echo $cloudflare_devmode_label; ?></option>
391
- <?php endforeach; ?>
392
- </select>
393
- <?php if ($cloudflare_devmode_expire): ?>
394
- Will automatically turn off at <?php echo date('m/d/Y H:i:s', $cloudflare_devmode_expire); ?>
395
- <?php endif; ?>
396
- </td>
397
- </tr>
398
- </table>
399
-
400
- <p class="submit">
401
- <?php echo $this->nonce_field('w3tc'); ?>
402
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
403
- <input id="cloudflare_purge_cache" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Purge cache"<?php if (! $cloudflare_enabled): ?> disabled="disabled"<?php endif; ?> />
404
- </p>
405
- <?php echo $this->postbox_footer(); ?>
406
-
407
- <?php echo $this->postbox_header('Support Us'); ?>
408
- <p>We're working to make WordPress better. Please support us, here's how:</p>
409
-
410
- <p>
411
- <label>Link to us in your
412
- <select name="common.support">
413
- <option value="">select one</option>
414
- <?php foreach ($supports as $support_id => $support_name): ?>
415
- <option value="<?php echo $support_id; ?>"<?php selected($support, $support_id); ?>><?php echo htmlspecialchars($support_name); ?></option>
416
- <?php endforeach; ?>
417
- </select>
418
- </label>, tell your friends with a <input type="button" class="button button-tweet" value="tweet" />
419
- (<input type="hidden" name="common.tweeted" value="0" /><label><input type="checkbox" name="common.tweeted" value="1"<?php checked($this->_config->get_boolean('common.tweeted', true)); ?> /> I've tweeted</label>)
420
- and give us a perfect <input type="button" class="button button-rating" value="rating" />.
421
- </p>
422
-
423
- <p>If you want to manually place a link, here is the code:</p>
424
- <p><textarea cols="80" rows="4">Performance Optimization &lt;a href=&quot;http://www.w3-edge.com/wordpress-plugins/&quot; rel=&quot;external&quot;&gt;WordPress Plugins&lt;/a&gt; by W3 EDGE</textarea></p>
425
-
426
- <p class="submit">
427
- <?php echo $this->nonce_field('w3tc'); ?>
428
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
429
- </p>
430
- <?php echo $this->postbox_footer(); ?>
431
- <?php echo $this->postbox_header('Miscellaneous'); ?>
432
- <table class="form-table">
433
- <?php if (w3_is_nginx()): ?>
434
- <tr>
435
- <th>Nginx server configuration file path</th>
436
- <td>
437
- <input type="text" name="config.path" value="<?php echo htmlspecialchars($this->_config->get_string('config.path')); ?>" size="80" />
438
- <br /><span class="description">If empty the default path will be used..</span>
439
- </td>
440
- </tr>
441
- <?php endif; ?>
442
- <tr>
443
- <th colspan="2">
444
- <input type="hidden" name="config.check" value="0" />
445
- <label><input type="checkbox" name="config.check" value="1"<?php checked($this->_config->get_boolean('config.check'), true); ?> /> Verify rewrite rules</label>
446
- <br /><span class="description">Notify of server configuration errors, if this option is disabled, the server configuration for active settings can be found on the <a href="admin.php?page=w3tc_install">install</a> tab.</span>
447
- </th>
448
- </tr>
449
- <tr>
450
- <th colspan="2">
451
- <input type="hidden" name="file_locking" value="0"<?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> />
452
- <label><input type="checkbox" name="file_locking" value="1"<?php checked($file_locking, true); ?><?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> /> Enable file locking</label>
453
- <br /><span class="description">Not recommended for "slow" network-based file systems.</span>
454
- </th>
455
- </tr>
456
- <tr>
457
- <th colspan="2">
458
- <input type="hidden" name="file_nfs" value="0"<?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> />
459
- <label><input type="checkbox" name="file_nfs" value="1"<?php checked($file_nfs, true); ?><?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> /> Optimize disk enhanced page and minify caching for <acronym title="Network File System">NFS</acronym></label>
460
- <br /><span class="description">Try this option if your hosting environment uses a network based file system for a possible performance improvement.</span>
461
- </th>
462
- </tr>
463
- <tr>
464
- <th colspan="2">
465
- <input type="hidden" name="widget.latest.enabled" value="0" />
466
- <label><input type="checkbox" name="widget.latest.enabled" value="1"<?php checked($this->_config->get_boolean('widget.latest.enabled'), true); ?> /> Enable news dashboard widget</label>
467
- <br /><span class="description">Display latest tweets and support tips on the WordPress dashboard.</span>
468
- </th>
469
- </tr>
470
- <tr>
471
- <th colspan="2">
472
- <input type="hidden" name="widget.pagespeed.enabled" value="0" />
473
- <label><input type="checkbox" name="widget.pagespeed.enabled" value="1"<?php checked($this->_config->get_boolean('widget.pagespeed.enabled'), true); ?> /> Enable Google Page Speed dashboard widget</label>
474
- <br /><span class="description">Display Google Page Speed results on the WordPress dashboard.</span>
475
- </th>
476
- </tr>
477
- <tr>
478
- <th><label for="widget_pagespeed_key">Page Speed <acronym title="Application Programming Interface">API</acronym> Key:</label></th>
479
- <td>
480
- <input id="widget_pagespeed_key" type="text" name="widget.pagespeed.key" value="<?php echo $this->_config->get_string('widget.pagespeed.key'); ?>" size="60" /><br />
481
- <span class="description">To acquire an <acronym title="Application Programming Interface">API</acronym> key, visit the <a href="https://code.google.com/apis/console" target="_blank"><acronym title="Application Programming Interface">API</acronym>s Console</a>. Go to the Project Home tab, activate the Page Speed Online <acronym title="Application Programming Interface">API</acronym>, and accept the Terms of Service.
482
- Then go to the <acronym title="Application Programming Interface">API</acronym> Access tab. The <acronym title="Application Programming Interface">API</acronym> key is in the Simple <acronym title="Application Programming Interface">API</acronym> Access section.</span>
483
- </td>
484
- </tr>
485
- </table>
486
-
487
- <p class="submit">
488
- <?php echo $this->nonce_field('w3tc'); ?>
489
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
490
- </p>
491
- <?php echo $this->postbox_footer(); ?>
492
-
493
- <?php echo $this->postbox_header('Debug'); ?>
494
- <p>Detailed information about each cache will be appended in (publicly available) <acronym title="Hypertext Markup Language">HTML</acronym> comments in the page's source code. Performance in this mode will not be optimal, use sparingly and disable when not in use.</p>
495
-
496
- <table class="form-table">
497
- <tr>
498
- <th>Debug Mode:</th>
499
- <td>
500
- <input type="hidden" name="pgcache.debug" value="<?php echo ((!$this->_config->get_boolean('pgcache.enabled') && $this->_config->get_boolean('pgcache.debug')) ? "1" : "0") ?>" />
501
- <input type="hidden" name="minify.debug" value="<?php echo ((!$this->_config->get_boolean('minify.enabled') && $this->_config->get_boolean('minify.debug')) ? "1" : "0") ?>" />
502
- <input type="hidden" name="dbcache.debug" value="<?php echo ((!$this->_config->get_boolean('dbcache.enabled') && $this->_config->get_boolean('dbcache.debug')) ? "1" : "0") ?>" />
503
- <input type="hidden" name="objectcache.debug" value="<?php echo ((!$this->_config->get_boolean('objectcache.enabled') && $this->_config->get_boolean('objectcache.debug')) ? "1" : "0") ?>" />
504
- <input type="hidden" name="cdn.debug" value="<?php echo ((!$this->_config->get_boolean('cdn.enabled') && $this->_config->get_boolean('cdn.debug')) ? "1" : "0") ?>" />
505
- <input type="hidden" name="varnish.debug" value="<?php echo ((!$this->_config->get_boolean('varnish.enabled') && $this->_config->get_boolean('varnish.debug')) ? "1" : "0") ?>" />
506
- <label><input type="checkbox" name="pgcache.debug" value="pgcache"<?php checked($this->_config->get_boolean('pgcache.debug') && $this->_config->get_boolean('pgcache.enabled'), true); ?> <?php if (!$this->_config->get_boolean('pgcache.enabled')): ?> disabled="disabled"<?php endif; ?>/> Page Cache</label><br />
507
- <label><input type="checkbox" name="minify.debug" value="minify"<?php checked($this->_config->get_boolean('minify.debug') && $this->_config->get_boolean('minify.enabled'), true); ?> <?php if (!$this->_config->get_boolean('minify.enabled')): ?> disabled="disabled"<?php endif; ?>/> Minify</label><br />
508
- <label><input type="checkbox" name="dbcache.debug" value="dbcache"<?php checked($this->_config->get_boolean('dbcache.debug') && $this->_config->get_boolean('dbcache.enabled'), true); ?> <?php if (!$this->_config->get_boolean('dbcache.enabled')): ?> disabled="disabled"<?php endif; ?>/> Database Cache</label><br />
509
- <label><input type="checkbox" name="objectcache.debug" value="objectcache"<?php checked($this->_config->get_boolean('objectcache.debug') && $this->_config->get_boolean('objectcache.enabled'), true); ?> <?php if (!$this->_config->get_boolean('objectcache.enabled')): ?> disabled="disabled"<?php endif; ?>/> Object Cache</label><br />
510
- <label><input type="checkbox" name="cdn.debug" value="cdn"<?php checked($this->_config->get_boolean('cdn.debug') && $this->_config->get_boolean('cdn.enabled'), true); ?> <?php if (!$this->_config->get_boolean('cdn.enabled')): ?> disabled="disabled"<?php endif; ?>/> Content Delivery Network</label><br />
511
- <label><input type="checkbox" name="varnish.debug" value="varnish"<?php checked($this->_config->get_boolean('varnish.debug') && $this->_config->get_boolean('varnish.enabled'), true); ?> <?php if (!$this->_config->get_boolean('varnish.enabled')): ?> disabled="disabled"<?php endif; ?>/> Varnish</label><br />
512
- <span class="description">If selected, detailed caching information will be appear at the end of each page in a <acronym title="Hypertext Markup Language">HTML</acronym> comment. View a page's source code to review.</span>
513
- </td>
514
- </tr>
515
- </table>
516
-
517
- <p class="submit">
518
- <?php echo $this->nonce_field('w3tc'); ?>
519
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
520
- </p>
521
- <?php echo $this->postbox_footer(); ?>
522
- </div>
523
- </form>
524
-
525
- <form action="admin.php?page=<?php echo $this->_page; ?>" method="post" enctype="multipart/form-data">
526
- <div class="metabox-holder">
527
- <?php echo $this->postbox_header('Import / Export Settings'); ?>
528
- <?php echo $this->nonce_field('w3tc'); ?>
529
- <table class="form-table">
530
- <tr>
531
- <th>Import configuration:</th>
532
- <td>
533
- <input type="file" name="config_file" />
534
- <input type="submit" name="w3tc_config_import" class="button" value="Upload" />
535
- <br /><span class="description">Upload and replace the active settings file.</span>
536
- </td>
537
- </tr>
538
- <tr>
539
- <th>Export configuration:</th>
540
- <td>
541
- <input type="submit" name="w3tc_config_export" class="button" value="Download" />
542
- <br /><span class="description">Download the active settings file.</span>
543
- </td>
544
- </tr>
545
- <tr>
546
- <th>Reset configuration:</th>
547
- <td>
548
- <input type="submit" name="w3tc_config_reset" class="button" value="Restore Default Settings" />
549
- <br /><span class="description">Revert all settings to the defaults. Any settings staged in preview mode will not be modified.</span>
550
- </td>
551
- </tr>
552
- </table>
553
- <?php echo $this->postbox_footer(); ?>
554
- </div>
555
- </form>
556
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
557
  <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
1
+ <?php if (!defined('W3TC')) die();?>
2
+
3
+ <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
4
+
5
+ <p>
6
+ The plugin is currently <span class="w3tc-<?php if ($enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>. If an option is disabled it means that either your current installation is not compatible or software installation is required.
7
+ </p>
8
+
9
+ <?php if (!$this->_config_admin->get_boolean('common.visible_by_master_only') ||
10
+ (is_super_admin() && (!w3_force_master() || is_network_admin()))): ?>
11
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
12
+ <div class="metabox-holder">
13
+ <?php echo $this->postbox_header('General', '', 'general'); ?>
14
+ <table class="form-table">
15
+ <tr>
16
+ <th colspan="2">
17
+ <label>
18
+ <input id="enabled" type="checkbox" name="enabled" value="1"<?php checked($enabled_checkbox, true); ?> />
19
+ Toggle all caching types on or off (at once)
20
+ </label>
21
+ </th>
22
+ </tr>
23
+ <tr>
24
+ <th>Preview mode:</th>
25
+ <td>
26
+ <?php echo $this->nonce_field('w3tc'); ?>
27
+ <?php if ($this->_config->is_preview()): ?>
28
+ <input type="submit" name="w3tc_preview_disable" class="button-primary" value="Disable" />
29
+ <?php echo $this->button_link('Preview', w3_get_home_url() . '/?w3tc_preview=1', true); ?>
30
+ <?php echo $this->button_link('Deploy', wp_nonce_url(sprintf('admin.php?page=%s&w3tc_preview_deploy', $this->_page), 'w3tc') ); ?>
31
+ <?php else: ?>
32
+ <input type="submit" name="w3tc_preview_enable" class="button-primary" value="Enable" />
33
+ <?php endif; ?>
34
+ <br /><span class="description">Use preview mode to test configuration scenarios prior to releasing them (deploy) on the actual site. Preview mode remains active even after deploying settings until the feature is disabled.</span>
35
+ </td>
36
+ </tr>
37
+ </table>
38
+
39
+ <p class="submit">
40
+ <?php echo $this->nonce_field('w3tc'); ?>
41
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
42
+ </p>
43
+ <?php echo $this->postbox_footer(); ?>
44
+
45
+ <?php echo $this->postbox_header('Page Cache', '', 'page_cache'); ?>
46
+ <p>Enable page caching to decrease the response time of the site.</p>
47
+
48
+ <table class="form-table">
49
+ <tr>
50
+ <th>Page cache:</th>
51
+ <td>
52
+ <?php $this->checkbox('pgcache.enabled'); ?>&nbsp;<strong>Enable</strong></label>
53
+ <br /><span class="description">Caching pages will reduce the response time of your site and increase the scale of your web server.</span>
54
+ </td>
55
+ </tr>
56
+ <tr>
57
+ <th>Page cache method:</th>
58
+ <td>
59
+ <select name="pgcache.engine" <?php $this->sealing_disabled('pgcache') ?>>
60
+ <optgroup label="Shared Server (disk enhanced is best):">
61
+ <option value="file"<?php selected($this->_config->get_string('pgcache.engine'), 'file'); ?>>Disk: Basic</option>
62
+ <option value="file_generic"<?php selected($this->_config->get_string('pgcache.engine'), 'file_generic'); ?><?php if (! $check_rules): ?> disabled="disabled"<?php endif; ?>>Disk: Enhanced</option>
63
+ </optgroup>
64
+ <optgroup label="Dedicated / Virtual Server:">
65
+ <option value="apc"<?php selected($this->_config->get_string('pgcache.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
66
+ <option value="eaccelerator"<?php selected($this->_config->get_string('pgcache.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
67
+ <option value="xcache"<?php selected($this->_config->get_string('pgcache.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
68
+ <option value="wincache"<?php selected($this->_config->get_string('pgcache.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
69
+ </optgroup>
70
+ <optgroup label="Multiple Servers:">
71
+ <option value="memcached"<?php selected($this->_config->get_string('pgcache.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
72
+ </optgroup>
73
+ </select>
74
+ </td>
75
+ </tr>
76
+ <?php if ($this->is_network_and_master()): ?>
77
+ <tr>
78
+ <th>Network policy:</th>
79
+ <td>
80
+ <?php $this->checkbox_admin('pgcache.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
81
+ </td>
82
+ </tr>
83
+ <?php endif; ?>
84
+ </table>
85
+
86
+ <p class="submit">
87
+ <?php echo $this->nonce_field('w3tc'); ?>
88
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
89
+ <input type="submit" name="w3tc_flush_pgcache" value="Empty cache"<?php if (! $pgcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
90
+ </p>
91
+ <?php echo $this->postbox_footer(); ?>
92
+
93
+ <?php echo $this->postbox_header('Minify', '', 'minify'); ?>
94
+ <p>Reduce load time by decreasing the size and number of <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files. Automatically remove unncessary data from <acronym title="Cascading Style Sheet">CSS</acronym>, <acronym title="JavaScript">JS</acronym>, feed, page and post <acronym title="Hypertext Markup Language">HTML</acronym>.</p>
95
+
96
+ <table class="form-table">
97
+ <tr>
98
+ <th>Minify:</th>
99
+ <td>
100
+ <?php $this->checkbox('minify.enabled', $this->_config->get_boolean('cloudflare.enabled') && $cloudflare_minify>0); ?>&nbsp;<strong>Enable</strong></label>
101
+ <?php if ($this->_config->get_boolean('cloudflare.enabled') && $cloudflare_minify>0): ?>
102
+ <br /><span class="description">Minify is disabled because CloudFlare minification is enabled.</span>
103
+ <?php endif ?>
104
+ <br /><span class="description">Minification can decrease file size of <acronym title="Hypertext Markup Language">HTML</acronym>, <acronym title="Cascading Style Sheet">CSS</acronym>, <acronym title="JavaScript">JS</acronym> and feeds respectively by ~10% on average.</span>
105
+ </td>
106
+ </tr>
107
+ <tr>
108
+ <th>Minify mode:</th>
109
+ <td>
110
+ <label><input type="radio" name="minify.auto" value="1"<?php checked($this->_config->get_boolean('minify.auto'), true); $this->sealing_disabled('minify'); ?> /> Auto</label>
111
+ <label><input type="radio" name="minify.auto" value="0"<?php checked($this->_config->get_boolean('minify.auto'), false); $this->sealing_disabled('minify'); ?> /> Manual</label>
112
+ <br /><span class="description">Select manual mode to use fields on the minify settings tab to specify files to be minified, otherwise files will be minified automatically.</span>
113
+ </td>
114
+ </tr>
115
+ <tr>
116
+ <th>Minify cache method:</th>
117
+ <td>
118
+ <select name="minify.engine" <?php $this->sealing_disabled('minify'); ?>>
119
+ <optgroup label="Shared Server (disk is best):">
120
+ <option value="file"<?php selected($this->_config->get_string('minify.engine'), 'file'); ?>>Disk</option>
121
+ </optgroup>
122
+ <optgroup label="Dedicated / Virtual Server:">
123
+ <option value="apc"<?php selected($this->_config->get_string('minify.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
124
+ <option value="eaccelerator"<?php selected($this->_config->get_string('minify.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
125
+ <option value="xcache"<?php selected($this->_config->get_string('minify.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
126
+ <option value="wincache"<?php selected($this->_config->get_string('minify.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
127
+ </optgroup>
128
+ <optgroup label="Multiple Servers:">
129
+ <option value="memcached"<?php selected($this->_config->get_string('minify.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
130
+ </optgroup>
131
+ </select>
132
+ </td>
133
+ </tr>
134
+ <tr>
135
+ <th><acronym title="Hypertext Markup Language">HTML</acronym> minifier:</th>
136
+ <td>
137
+ <select name="minify.html.engine"<?php $this->sealing_disabled('minify'); ?>>
138
+ <option value="html"<?php selected($this->_config->get_string('minify.html.engine'), 'html'); ?>>Default</option>
139
+ <option value="htmltidy"<?php selected($this->_config->get_string('minify.html.engine'), 'htmltidy'); ?><?php if (! $check_tidy): ?> disabled="disabled"<?php endif; ?>>HTML Tidy</option>
140
+ </select>
141
+ </td>
142
+ </tr>
143
+ <tr>
144
+ <th><acronym title="JavaScript">JS</acronym> minifier:</th>
145
+ <td>
146
+ <select name="minify.js.engine"<?php $this->sealing_disabled('minify'); ?>>
147
+ <option value="js"<?php selected($this->_config->get_string('minify.js.engine'), 'js'); ?>>JSMin (default)</option>
148
+ <option value="yuijs"<?php selected($this->_config->get_string('minify.js.engine'), 'yuijs'); ?>>YUI Compressor</option>
149
+ <option value="ccjs"<?php selected($this->_config->get_string('minify.js.engine'), 'ccjs'); ?>>Closure Compiler</option>
150
+ </select>
151
+ </td>
152
+ </tr>
153
+ <tr>
154
+ <th><acronym title="Cascading Style Sheets">CSS</acronym> minifier:</th>
155
+ <td>
156
+ <select name="minify.css.engine"<?php $this->sealing_disabled('minify'); ?>>
157
+ <option value="css"<?php selected($this->_config->get_string('minify.css.engine'), 'css'); ?>>Default</option>
158
+ <option value="yuicss"<?php selected($this->_config->get_string('minify.css.engine'), 'yuicss'); ?>>YUI Compressor</option>
159
+ <option value="csstidy"<?php selected($this->_config->get_string('minify.css.engine'), 'csstidy'); ?>>CSS Tidy</option>
160
+ </select>
161
+ </td>
162
+ </tr>
163
+ <?php if ($this->is_network_and_master()): ?>
164
+ <tr>
165
+ <th>Network policy:</th>
166
+ <td>
167
+ <?php $this->checkbox_admin('minify.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
168
+ </td>
169
+ </tr>
170
+ <?php endif; ?>
171
+ </table>
172
+
173
+ <p class="submit">
174
+ <?php echo $this->nonce_field('w3tc'); ?>
175
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
176
+ <input type="submit" name="w3tc_flush_minify" value="Empty cache"<?php if (! $minify_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
177
+ </p>
178
+ <?php echo $this->postbox_footer(); ?>
179
+
180
+ <?php echo $this->postbox_header('Database Cache', '', 'database_cache'); ?>
181
+ <p>Enable database caching to reduce post, page and feed creation time.</p>
182
+
183
+ <table class="form-table">
184
+ <tr>
185
+ <th>Database Cache:</th>
186
+ <td>
187
+ <?php $this->checkbox('dbcache.enabled') ?>&nbsp;<strong>Enable</strong></label>
188
+ <br /><span class="description">Caching database objects decreases the response time of your site. Best used if object caching is not possible.</span>
189
+ </td>
190
+ </tr>
191
+ <tr>
192
+ <th>Database Cache Method:</th>
193
+ <td>
194
+ <select name="dbcache.engine" <?php $this->sealing_disabled('dbcache'); ?>>
195
+ <optgroup label="Shared Server:">
196
+ <option value="file"<?php selected($this->_config->get_string('dbcache.engine'), 'file'); ?>>Disk</option>
197
+ </optgroup>
198
+ <optgroup label="Dedicated / Virtual Server:">
199
+ <option value="apc"<?php selected($this->_config->get_string('dbcache.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
200
+ <option value="eaccelerator"<?php selected($this->_config->get_string('dbcache.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
201
+ <option value="xcache"<?php selected($this->_config->get_string('dbcache.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
202
+ <option value="wincache"<?php selected($this->_config->get_string('dbcache.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
203
+ </optgroup>
204
+ <optgroup label="Multiple Servers:">
205
+ <option value="memcached"<?php selected($this->_config->get_string('dbcache.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
206
+ </optgroup>
207
+ </select>
208
+ </td>
209
+ </tr>
210
+ <?php if ($this->is_network_and_master()): ?>
211
+ <tr>
212
+ <th>Network policy:</th>
213
+ <td>
214
+ <?php $this->checkbox_admin('dbcache.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
215
+ </td>
216
+ </tr>
217
+ <?php endif; ?>
218
+
219
+ <?php if (w3_is_enterprise() && $this->is_network_and_master()): ?>
220
+ <?php include W3TC_INC_OPTIONS_DIR . '/enterprise/dbcluster_general_section.php' ?>
221
+ <?php endif; ?>
222
+ </table>
223
+
224
+ <p class="submit">
225
+ <?php echo $this->nonce_field('w3tc'); ?>
226
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
227
+ <input type="submit" name="w3tc_flush_dbcache" value="Empty cache"<?php if (! $dbcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
228
+ </p>
229
+ <?php echo $this->postbox_footer(); ?>
230
+
231
+ <?php echo $this->postbox_header('Object Cache', '', 'object_cache'); ?>
232
+ <p>Enable object caching to further reduce execution time for common operations.</p>
233
+
234
+ <table class="form-table">
235
+ <tr>
236
+ <th>Object Cache:</th>
237
+ <td>
238
+ <?php $this->checkbox('objectcache.enabled') ?>&nbsp;<strong>Enable</strong></label>
239
+ <br /><span class="description">Object caching greatly increases performance for highly dynamic sites that use the <a href="http://codex.wordpress.org/Class_Reference/WP_Object_Cache" target="_blank">Object Cache <acronym title="Application Programming Interface">API</acronym></a>.</span>
240
+ </td>
241
+ </tr>
242
+ <tr>
243
+ <th>Object Cache Method:</th>
244
+ <td>
245
+ <select name="objectcache.engine" <?php $this->sealing_disabled('objectcache'); ?>>
246
+ <optgroup label="Shared Server:">
247
+ <option value="file"<?php selected($this->_config->get_string('objectcache.engine'), 'file'); ?>>Disk</option>
248
+ </optgroup>
249
+ <optgroup label="Dedicated / Virtual Server:">
250
+ <option value="apc"<?php selected($this->_config->get_string('objectcache.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
251
+ <option value="eaccelerator"<?php selected($this->_config->get_string('objectcache.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
252
+ <option value="xcache"<?php selected($this->_config->get_string('objectcache.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
253
+ <option value="wincache"<?php selected($this->_config->get_string('objectcache.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
254
+ </optgroup>
255
+ <optgroup label="Multiple Servers:">
256
+ <option value="memcached"<?php selected($this->_config->get_string('objectcache.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
257
+ </optgroup>
258
+ </select>
259
+ </td>
260
+ </tr>
261
+ <?php if ($this->is_network_and_master()): ?>
262
+ <tr>
263
+ <th>Network policy:</th>
264
+ <td>
265
+ <?php $this->checkbox_admin('objectcache.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
266
+ </td>
267
+ </tr>
268
+ <?php endif; ?>
269
+ </table>
270
+
271
+ <p class="submit">
272
+ <?php echo $this->nonce_field('w3tc'); ?>
273
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
274
+ <input type="submit" name="w3tc_flush_objectcache" value="Empty cache"<?php if (! $objectcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
275
+ </p>
276
+ <?php echo $this->postbox_footer(); ?>
277
+ <?php if (w3_is_pro() || w3_is_enterprise()): ?>
278
+ <?php include W3TC_INC_OPTIONS_DIR . '/pro/fragmentcache_general_section.php' ?>
279
+ <?php endif ?>
280
+ <?php echo $this->postbox_header('Browser Cache', '', 'browser_cache'); ?>
281
+ <p>Reduce server load and decrease response time by using the cache available in site visitor's web browser.</p>
282
+
283
+ <table class="form-table">
284
+ <tr>
285
+ <th>Browser Cache:</th>
286
+ <td>
287
+ <?php $this->checkbox('browsercache.enabled') ?>&nbsp;<strong>Enable</strong></label>
288
+ <br /><span class="description">Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression and add headers to reduce server load and decrease file load time.</span>
289
+ </td>
290
+ </tr>
291
+ <?php if ($this->is_network_and_master()): ?>
292
+ <tr>
293
+ <th>Network policy:</th>
294
+ <td>
295
+ <?php $this->checkbox_admin('browsercache.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
296
+ </td>
297
+ </tr>
298
+ <?php endif; ?>
299
+ </table>
300
+
301
+ <p class="submit">
302
+ <?php echo $this->nonce_field('w3tc'); ?>
303
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
304
+ </p>
305
+ <?php echo $this->postbox_footer(); ?>
306
+
307
+ <?php echo $this->postbox_header('<acronym title="Content Delivery Network">CDN</acronym>', '', 'cdn'); ?>
308
+ <p>Host static files with your content delivery network provider to reduce page load time.</p>
309
+
310
+ <table class="form-table">
311
+ <tr>
312
+ <th><acronym title="Content Delivery Network">CDN</acronym>:</th>
313
+ <td>
314
+ <?php $this->checkbox('cdn.enabled'); ?>&nbsp;<strong>Enable</strong></label>
315
+ <br /><span class="description">Theme files, media library attachments, <acronym title="Cascading Style Sheet">CSS</acronym>, <acronym title="JavaScript">JS</acronym> files etc will appear to load instantly for site visitors.</span>
316
+ </td>
317
+ </tr>
318
+ <tr>
319
+ <th><acronym title="Content Delivery Network">CDN</acronym> Type:</th>
320
+ <td>
321
+ <select name="cdn.engine" <?php $this->sealing_disabled('cdn'); ?>>
322
+ <optgroup label="Origin Pull / Mirror (recommended):">
323
+ <option value="akamai"<?php selected($this->_config->get_string('cdn.engine'), 'akamai'); ?>>Akamai</option>
324
+ <option value="cf2"<?php selected($this->_config->get_string('cdn.engine'), 'cf2'); ?><?php if (!W3TC_PHP5 || !$check_curl): ?> disabled="disabled"<?php endif; ?>>Amazon CloudFront</option>
325
+ <option value="cotendo"<?php selected($this->_config->get_string('cdn.engine'), 'cotendo'); ?>>Cotendo (Akamai)</option>
326
+ <option value="att"<?php selected($this->_config->get_string('cdn.engine'), 'att'); ?>>AT&amp;T</option>
327
+ <option value="mirror"<?php selected($this->_config->get_string('cdn.engine'), 'mirror'); ?>>Generic Mirror</option>
328
+ <option value="edgecast"<?php selected($this->_config->get_string('cdn.engine'), 'edgecast'); ?>>Media Temple ProCDN / EdgeCast</option>
329
+ <option value="netdna"<?php selected($this->_config->get_string('cdn.engine'), 'netdna'); ?>>NetDNA / MaxCDN</option>
330
+ </optgroup>
331
+ <optgroup label="Origin Push:">
332
+ <option value="cf"<?php selected($this->_config->get_string('cdn.engine'), 'cf'); ?><?php if (!W3TC_PHP5 || !$check_curl): ?> disabled="disabled"<?php endif; ?>>Amazon CloudFront</option>
333
+ <option value="s3"<?php selected($this->_config->get_string('cdn.engine'), 's3'); ?><?php if (!W3TC_PHP5 || !$check_curl): ?> disabled="disabled"<?php endif; ?>>Amazon Simple Storage Service (S3)</option>
334
+ <option value="azure"<?php selected($this->_config->get_string('cdn.engine'), 'azure'); ?><?php if (!W3TC_PHP5): ?> disabled="disabled"<?php endif; ?>>Microsoft Azure Storage</option>
335
+ <option value="rscf"<?php selected($this->_config->get_string('cdn.engine'), 'rscf'); ?><?php if (!W3TC_PHP5 || !$check_curl): ?> disabled="disabled"<?php endif; ?>>Rackspace Cloud Files</option>
336
+ <option value="ftp"<?php selected($this->_config->get_string('cdn.engine'), 'ftp'); ?><?php if (!$check_ftp): ?> disabled="disabled"<?php endif; ?>>Self-hosted / File Transfer Protocol Upload</option>
337
+ </optgroup>
338
+ </select><br />
339
+ <span class="description">Select the <acronym title="Content Delivery Network">CDN</acronym> type you wish to use.</span>
340
+ </td>
341
+ </tr>
342
+ <?php if ($this->is_network_and_master()): ?>
343
+ <tr>
344
+ <th>Network policy:</th>
345
+ <td>
346
+ <?php $this->checkbox_admin('cdn.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
347
+ </td>
348
+ </tr>
349
+ <?php endif; ?>
350
+ </table>
351
+
352
+ <p class="submit">
353
+ <?php echo $this->nonce_field('w3tc'); ?>
354
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
355
+ <input id="cdn_purge" type="button" value="Purge cache"<?php if (!$cdn_enabled || !w3_can_cdn_purge($this->_config->get_string('cdn.engine'))): ?> disabled="disabled"<?php endif; ?> class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" />
356
+ </p>
357
+ <?php echo $this->postbox_footer(); ?>
358
+
359
+ <?php echo $this->postbox_header('Reverse Proxy', '', 'varnish'); ?>
360
+ <p>Purge policies are set on the <a href="<?php echo network_admin_url('admin.php?page=w3tc_pgcache') ?>">Page Cache settings</a> page.</p>
361
+ <table class="form-table">
362
+ <tr>
363
+ <th colspan="2">
364
+ <?php $this->checkbox('varnish.enabled'); ?> Enable varnish cache purging</label><br />
365
+ </th>
366
+ </tr>
367
+ <tr>
368
+ <th><label for="pgcache_varnish_servers">Varnish servers:</label></th>
369
+ <td>
370
+ <textarea id="pgcache_varnish_servers" name="varnish.servers"
371
+ cols="40" rows="5" <?php $this->sealing_disabled('varnish'); ?>><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('varnish.servers'))); ?></textarea><br />
372
+ <span class="description">Specify the IP addresses of your varnish instances above. The <acronym title="Varnish Configuration Language">VCL</acronym>'s <acronym title="Access Control List">ACL</acronym> must allow this request.</span>
373
+ </td>
374
+ </tr>
375
+ <?php if ($this->is_network_and_master()): ?>
376
+ <tr>
377
+ <th>Network policy:</th>
378
+ <td>
379
+ <?php $this->checkbox_admin('varnish.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
380
+ </td>
381
+ </tr>
382
+ <?php endif; ?>
383
+ </table>
384
+
385
+ <p class="submit">
386
+ <?php echo $this->nonce_field('w3tc'); ?>
387
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
388
+ <input type="submit" name="w3tc_flush_varnish" value="Purge cache"<?php if (! $varnish_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
389
+ </p>
390
+ <?php echo $this->postbox_footer(); ?>
391
+
392
+ <?php if (w3_is_enterprise()): ?>
393
+ <?php echo $this->postbox_header('Amazon <acronym title="Simple Notification Service">SNS</acronym>', '', 'amazon_sns'); ?>
394
+ <table class="form-table">
395
+ <tr>
396
+ <th colspan="2">
397
+ <input type="hidden" name="cluster.messagebus.enabled" value="0" />
398
+ <label><input class="enabled" type="checkbox" name="cluster.messagebus.enabled" value="1"<?php checked($this->_config->get_boolean('cluster.messagebus.enabled'), true); ?> /> Manage the cache purge queue via <acronym title="Simple Notification Service">SNS</acronym></label><br />
399
+ </th>
400
+ </tr>
401
+ <tr>
402
+ <th><label for="cluster_messagebus_sns_region">SNS region:</label></th>
403
+ <td>
404
+ <input id="cluster_messagebus_sns_region"
405
+ class="w3tc-ignore-change" type="text"
406
+ name="cluster.messagebus.sns.region"
407
+ value="<?php echo htmlspecialchars($this->_config->get_string('cluster.messagebus.sns.region')); ?>" size="60" /><br />
408
+ <span class="description">Specify the Amazon SNS service endpoint hostname. If empty, then default "sns.us-east-1.amazonaws.com" will be used.</span>
409
+ </td>
410
+ </tr>
411
+ <tr>
412
+ <th><label for="cluster_messagebus_sns_api_key"><acronym title="Application Programming Interface">API</acronym> key:</label></th>
413
+ <td>
414
+ <input id="cluster_messagebus_sns_api_key"
415
+ class="w3tc-ignore-change" type="text"
416
+ name="cluster.messagebus.sns.api_key"
417
+ value="<?php echo htmlspecialchars($this->_config->get_string('cluster.messagebus.sns.api_key')); ?>" size="60" /><br />
418
+ <span class="description">Specify the <acronym title="Application Programming Interface">API</acronym> Key.</span>
419
+ </td>
420
+ </tr>
421
+ <tr>
422
+ <th><label for="cluster_messagebus_sns_api_secret"><acronym title="Application Programming Interface">API</acronym> secret:</label></th>
423
+ <td>
424
+ <input id="cluster_messagebus_sns_api_secret"
425
+ class="w3tc-ignore-change" type="text"
426
+ name="cluster.messagebus.sns.api_secret"
427
+ value="<?php echo htmlspecialchars($this->_config->get_string('cluster.messagebus.sns.api_secret')); ?>" size="60" /><br />
428
+ <span class="description">Specify the <acronym title="Application Programming Interface">API</acronym> secret.</span>
429
+ </td>
430
+ </tr>
431
+ <?php if ($this->_config->get_string('cluster.messagebus.sns.topic_arn') != ''): ?>
432
+ <tr>
433
+ <th><label>Topic <acronym title="Identification">ID</acronym>:</label></th>
434
+ <td>
435
+ <?php echo htmlspecialchars($this->_config->get_string('cluster.messagebus.sns.topic_arn')); ?>
436
+ </td>
437
+ </tr>
438
+ <?php endif; ?>
439
+ <tr>
440
+ <th><label for="cluster_messagebus_sns_topic_arn_subscribe">Topic:</label></th>
441
+ <td>
442
+ <input id="cluster_messagebus_sns_topic_arn_subscribe"
443
+ class="w3tc-ignore-change" type="text"
444
+ name="cluster_messagebus_sns_topic_arn_subscribe"
445
+ value="" size="60" />
446
+ <input type="submit" name="w3tc_sns_subscribe" class="button"
447
+ value="Subscribe" /><br />
448
+ <span class="description">Subscribe to the <acronym title="Simple Notification Service">SNS</acronym> topic.</span>
449
+ </td>
450
+ </tr>
451
+ </table>
452
+
453
+ <p class="submit">
454
+ <?php echo $this->nonce_field('w3tc'); ?>
455
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
456
+ </p>
457
+ <?php echo $this->postbox_footer(); ?>
458
+ <?php endif; ?>
459
+
460
+ <?php echo $this->postbox_header('Network Performance &amp; Security powered by CloudFlare', '', 'cloudflare'); ?>
461
+ <p>
462
+ CloudFlare protects and accelerates websites. <a href="https://www.cloudflare.com/sign-up.html?affiliate=w3edge&amp;seed_domain=<?php echo w3_get_host(); ?>&amp;email=<?php echo htmlspecialchars($cloudflare_signup_email); ?>&amp;username=<?php echo htmlspecialchars($cloudflare_signup_user); ?>" target="_blank">Sign up now for free</a> to get started,
463
+ or if you have an account simply log in to obtain your <acronym title="Application Programming Interface">API</acronym> key from the <a href="https://www.cloudflare.com/my-account.html">account page</a> to enter it below.
464
+ Contact the CloudFlare <a href="http://www.cloudflare.com/help.html" target="_blank">support team</a> with any questions.
465
+ </p>
466
+
467
+ <table class="form-table">
468
+ <tr>
469
+ <th>CloudFlare:</th>
470
+ <td>
471
+ <?php $this->checkbox('cloudflare.enabled'); ?>&nbsp;<strong>Enable</strong></label>
472
+ </td>
473
+ </tr>
474
+ <tr>
475
+ <th><label for="cloudflare_email">CloudFlare account email:</label></th>
476
+ <td>
477
+ <input id="cloudflare_email" class="w3tc-ignore-change"
478
+ type="text" name="cloudflare.email"
479
+ <?php $this->sealing_disabled('cloudflare'); ?>
480
+ value="<?php echo htmlspecialchars($this->_config->get_string('cloudflare.email')); ?>" size="60" />
481
+ </td>
482
+ </tr>
483
+ <tr>
484
+ <th><label for="cloudflare_key"><acronym title="Application Programming Interface">API</acronym> key:</label></th>
485
+ <td>
486
+ <input id="cloudflare_key" class="w3tc-ignore-change"
487
+ type="password" name="cloudflare.key"
488
+ <?php $this->sealing_disabled('cloudflare'); ?>
489
+ value="<?php echo htmlspecialchars($this->_config->get_string('cloudflare.key')); ?>" size="60" /> (<a href="https://www.cloudflare.com/my-account.html">find it here</a>)
490
+ </td>
491
+ </tr>
492
+ <tr>
493
+ <th>Domain:</th>
494
+ <td>
495
+ <input id="cloudflare_zone" type="text" name="cloudflare.zone"
496
+ <?php $this->sealing_disabled('cloudflare'); ?>
497
+ value="<?php echo htmlspecialchars($this->_config->get_string('cloudflare.zone', w3_get_host())); ?>" size="40" />
498
+ </td>
499
+ </tr>
500
+ <tr>
501
+ <th>Security level:</th>
502
+ <td>
503
+ <input type="hidden" name="cloudflare_sec_lvl_old" value="<?php echo $cloudflare_seclvl; ?>" />
504
+ <select name="cloudflare_sec_lvl_new"
505
+ class="w3tc-ignore-change"
506
+ <?php $this->sealing_disabled('cloudflare'); ?>>
507
+ <?php foreach ($cloudflare_seclvls as $cloudflare_seclvl_key => $cloudflare_seclvl_label): ?>
508
+ <option value="<?php echo $cloudflare_seclvl_key; ?>"<?php selected($cloudflare_seclvl, $cloudflare_seclvl_key); ?>><?php echo $cloudflare_seclvl_label; ?></option>
509
+ <?php endforeach; ?>
510
+ </select>
511
+ </td>
512
+ </tr>
513
+ <tr>
514
+ <th>Rocket Loader:</th>
515
+ <td>
516
+ <input type="hidden" name="cloudflare_async_old" value="<?php echo $cloudflare_rocket_loader; ?>" />
517
+ <select name="cloudflare_async_new"
518
+ class="w3tc-ignore-change"
519
+ <?php $this->sealing_disabled('cloudflare'); ?>>
520
+ <?php foreach ($cloudflare_rocket_loaders as $cloudflare_rocket_loader_key => $cloudflare_rocket_loader_label): ?>
521
+ <option value="<?php echo $cloudflare_rocket_loader_key; ?>"<?php selected($cloudflare_rocket_loader, $cloudflare_rocket_loader_key); ?>><?php echo $cloudflare_rocket_loader_label; ?></option>
522
+ <?php endforeach; ?>
523
+ </select>
524
+ </td>
525
+ </tr>
526
+ <tr>
527
+ <th>Minification:</th>
528
+ <td>
529
+ <input type="hidden" name="cloudflare_minify_old" value="<?php echo $cloudflare_minify; ?>" />
530
+ <select name="cloudflare_minify_new"
531
+ class="w3tc-ignore-change"
532
+ <?php $this->sealing_disabled('cloudflare'); ?>>
533
+ <?php foreach ($cloudflare_minifications as $cloudflare_minify_key => $cloudflare_minify_label): ?>
534
+ <option value="<?php echo $cloudflare_minify_key; ?>"<?php selected($cloudflare_minify, $cloudflare_minify_key); ?>><?php echo $cloudflare_minify_label; ?></option>
535
+ <?php endforeach; ?>
536
+ </select>
537
+ </td>
538
+ </tr>
539
+ <tr>
540
+ <th>Development mode:</th>
541
+ <td>
542
+ <input type="hidden" name="cloudflare_devmode_old" value="<?php echo $cloudflare_devmode; ?>" />
543
+ <select name="cloudflare_devmode_new"
544
+ class="w3tc-ignore-change"
545
+ <?php $this->sealing_disabled('cloudflare'); ?>>
546
+ <?php foreach ($cloudflare_devmodes as $cloudflare_devmode_key => $cloudflare_devmode_label): ?>
547
+ <option value="<?php echo $cloudflare_devmode_key; ?>"<?php selected($cloudflare_devmode, $cloudflare_devmode_key); ?>><?php echo $cloudflare_devmode_label; ?></option>
548
+ <?php endforeach; ?>
549
+ </select>
550
+ <?php if ($cloudflare_devmode_expire): ?>
551
+ Will automatically turn off at <?php echo date('m/d/Y H:i:s', $cloudflare_devmode_expire); ?>
552
+ <?php endif; ?>
553
+ </td>
554
+ </tr>
555
+ <?php if ($this->is_network_and_master()): ?>
556
+ <tr>
557
+ <th>Network policy:</th>
558
+ <td>
559
+ <?php $this->checkbox_admin('cloudflare.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
560
+ </td>
561
+ </tr>
562
+ <?php endif; ?>
563
+ </table>
564
+
565
+ <p class="submit">
566
+ <?php echo $this->nonce_field('w3tc'); ?>
567
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
568
+ <input id="cloudflare_purge_cache" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Purge cache"<?php if (! $cloudflare_enabled): ?> disabled="disabled"<?php endif; ?> />
569
+ </p>
570
+ <?php echo $this->postbox_footer(); ?>
571
+
572
+ <?php echo $this->postbox_header(__('Monitoring', 'w3-total-cache'), '', 'monitoring')?>
573
+ <?php if (!$new_relic_installed): ?>
574
+ <p><?php echo sprintf(__('
575
+ New Relic may not be installed on this server. %s. Visit %s for installation instructions.', 'w3-total-cache')
576
+ , '<a href="' . NEWRELIC_SIGNUP_URL . '" target="_blank">' . __('Sign up for a (free) account', 'w3-total-cache') . '</a>'
577
+ , '<a href="https://newrelic.com/docs/php/new-relic-for-php" target="_blank">New Relic</a>')
578
+ ?>
579
+ </p>
580
+ <?php endif; ?>
581
+ <?php if ($this->_config->get_boolean('newrelic.enabled') && is_array($new_relic_running)):?>
582
+ <p><?php _e('The following errors have occurred:', 'w3-total-cache')?></p>
583
+ <ul>
584
+ <?php foreach($new_relic_running as $cause):?>
585
+ <li><?php echo $cause ?></li>
586
+ <?php endforeach; ?>
587
+ </ul>
588
+ <?php endif ?>
589
+
590
+ <?php if (!$this->is_master() && '' == $this->_config->get_string('newrelic.api_key')): ?>
591
+ <p><span><?php _e('The network administrator has not provided the API Key.', 'w3-total-cache')?></span></p>
592
+ <?php else: ?>
593
+ <table class="form-table">
594
+ <tr>
595
+ <th>
596
+ <label>New Relic:</label>
597
+ </th>
598
+ <td>
599
+ <?php $this->checkbox('newrelic.enabled', false, '', false); ?> <strong><?php _e('Enable', 'w3-total-cache') ?></strong>
600
+ </td>
601
+ </tr>
602
+ <?php if($this->is_master()): ?>
603
+ <tr>
604
+ <th>
605
+ <label for="newrelic_api_key"><acronym title="Application Programming Interface">API</acronym> key:</label>
606
+ </th>
607
+ <td>
608
+ <input id ="newrelic_api_key" name="newrelic.api_key" type="text" value="<?php echo esc_attr($this->_config->get_string('newrelic.api_key'))?>" size="45"/>
609
+ <input id ="newrelic_account_id" name="newrelic.account_id" type="hidden" value="<?php echo esc_attr($this->_config->get_string('newrelic.account_id'))?>" size="10"/>
610
+ <input id="newrelic_verify_api_key" type="button" value="<?php echo sprintf(__('Verify %s', 'w3-total-cache'), 'API Key') ?>"/>
611
+ </td>
612
+ </tr>
613
+ <?php endif ?>
614
+ <tr>
615
+ <th>
616
+ <label><?php _e('Application name:' ,'w3-total-cache') ?></label>
617
+ </th>
618
+ <td>
619
+ <?php if($this->is_master() || !$this->_config->get_boolean('newrelic.use_network_wide_id')): ?>
620
+ <p><?php _e('Obtain application ID via:', 'w3-total-cache')?> <br />
621
+ <label id="lbl_manual" for="manual" ><input id="manual" name="application_id_method" type="radio" title="Manual" value="manual" checked="checked" /><?php _e('Enter application name below:', 'w3-total-cache') ?></label>
622
+ <label for="dropdown"><input id="dropdown" name="application_id_method" type="radio" title="Manual" value="dropdown" /><?php _e('Select from the following list:', 'w3-total-cache') ?></label>
623
+ </p>
624
+ <?php endif ?>
625
+ <div id="newrelic_application_name_textbox_div">
626
+ <input id="newrelic_appname" name="newrelic.appname" type="text" value="<?php esc_attr_e($newrelic_conf_appname)?>" <?php disabled($this->_config->get_boolean('newrelic.use_network_wide_id') && !$this->is_master()) ?>>
627
+ </div>
628
+ <?php if($this->is_master() || !$this->_config->get_boolean('newrelic.use_network_wide_id')): ?>
629
+ <div id="newrelic_application_id_dropdown_div" style="display:none">
630
+ <select id="newrelic_application_id_dropdown" name="newrelic.application_id" <?php disabled($this->_config->get_boolean('newrelic.use_network_wide_id') && !$this->is_master()) ?>>
631
+ <option value=""><?php _e('-- Select Application --', 'w3-total-cache')?></option>
632
+ <?php foreach($newrelic_applications as $id => $name): ?>
633
+ <option value="<?php echo esc_attr($id)?>" <?php echo ($id == $newrelic_application)?'selected="selected"' : '' ?>><?php echo esc_textarea($name) ?></option>
634
+ <?php endforeach; ?>
635
+ </select>
636
+ <?php if (!$this->is_master()): ?>
637
+ <input id ="newrelic_api_key" type="hidden" value="0" />
638
+ <?php endif ?>
639
+ <input id="newrelic_retrieve_applications" type="button" value="Retrieve Applications"/>
640
+ </div>
641
+ <p><span class="description"><?php _e('Note: Changing application name may create a new application in New Relic if no application with that name already exists.', 'w3-total-cache')?></span></p>
642
+ <?php endif;?>
643
+ </td>
644
+ </tr>
645
+ <?php if ($this->is_network_and_master()): ?>
646
+ <tr>
647
+ <th><?php _e('Use above application name and ID for all sites in network:', 'w3-total-cache')?></th>
648
+ <td><?php $this->checkbox('newrelic.use_network_wide_id'); ?></label></td>
649
+ </tr>
650
+ <tr>
651
+ <th><?php _e('Network policy:', 'w3-total-cache') ?></th>
652
+ <td>
653
+ <?php $this->checkbox_admin('newrelic.configuration_sealed', $this->_config->get_boolean('newrelic.use_network_wide_id')); ?> <?php _e('Apply the settings above to the entire network.', 'w3-total-cache') ?></label>
654
+ </td>
655
+ </tr>
656
+ <?php endif; ?>
657
+ </table>
658
+ <p class="submit">
659
+ <?php echo $this->nonce_field('w3tc'); ?>
660
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
661
+ </p>
662
+ <?php endif ?>
663
+ <?php echo $this->postbox_footer(); ?>
664
+
665
+ <?php echo $this->postbox_header('Miscellaneous', '', 'miscellaneous'); ?>
666
+ <table class="form-table">
667
+ <tr>
668
+ <th colspan="2">
669
+ <input type="hidden" name="widget.pagespeed.enabled" value="0" />
670
+ <label><input type="checkbox" name="widget.pagespeed.enabled" value="1"<?php checked($this->_config->get_boolean('widget.pagespeed.enabled'), true); ?> /> Enable Google Page Speed dashboard widget</label>
671
+ <br /><span class="description">Display Google Page Speed results on the WordPress dashboard.</span>
672
+ </th>
673
+ </tr>
674
+ <tr>
675
+ <th><label for="widget_pagespeed_key">Page Speed <acronym title="Application Programming Interface">API</acronym> Key:</label></th>
676
+ <td>
677
+ <input id="widget_pagespeed_key" type="text" name="widget.pagespeed.key" value="<?php echo $this->_config->get_string('widget.pagespeed.key'); ?>" size="60" /><br />
678
+ <span class="description">To acquire an <acronym title="Application Programming Interface">API</acronym> key, visit the <a href="https://code.google.com/apis/console" target="_blank"><acronym title="Application Programming Interface">API</acronym>s Console</a>. Go to the Project Home tab, activate the Page Speed Online <acronym title="Application Programming Interface">API</acronym>, and accept the Terms of Service.
679
+ Then go to the <acronym title="Application Programming Interface">API</acronym> Access tab. The <acronym title="Application Programming Interface">API</acronym> key is in the Simple <acronym title="Application Programming Interface">API</acronym> Access section.</span>
680
+ </td>
681
+ </tr>
682
+ <?php if ($this->is_network_and_master()): ?>
683
+ <tr>
684
+ <th colspan="2">
685
+ <?php $this->checkbox('common.force_master') ?> Use single network configuration file for all sites.</label>
686
+ <br /><span class="description">Only one configuration file for whole network will be created and used. Recommended if all sites have the same configuration.</span>
687
+ </th>
688
+ </tr>
689
+ <tr>
690
+ <th colspan="2">
691
+ <?php $this->checkbox_admin('common.visible_by_master_only') ?> Hide performance settings</label>
692
+ <br /><span class="description">Prevent sites from independently managing their performance settings.</span>
693
+ </th>
694
+ </tr>
695
+ <?php endif; ?>
696
+ <?php if (w3_is_nginx()): ?>
697
+ <tr>
698
+ <th>Nginx server configuration file path</th>
699
+ <td>
700
+ <input type="text" name="config.path" value="<?php echo htmlspecialchars($this->_config->get_string('config.path')); ?>" size="80" />
701
+ <br /><span class="description">If empty the default path will be used..</span>
702
+ </td>
703
+ </tr>
704
+ <?php endif; ?>
705
+ <tr>
706
+ <th colspan="2">
707
+ <input type="hidden" name="config.check" value="0" />
708
+ <label><input type="checkbox" name="config.check" value="1"<?php checked($this->_config->get_boolean('config.check'), true); ?> /> Verify rewrite rules</label>
709
+ <br /><span class="description">Notify of server configuration errors, if this option is disabled, the server configuration for active settings can be found on the <a href="admin.php?page=w3tc_install">install</a> tab.</span>
710
+ </th>
711
+ </tr>
712
+ <tr>
713
+ <th colspan="2">
714
+ <input type="hidden" name="file_locking" value="0"<?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> />
715
+ <label><input type="checkbox" name="file_locking" value="1"<?php checked($file_locking, true); ?><?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> /> Enable file locking</label>
716
+ <br /><span class="description">Not recommended for <acronym title="Network File System">NFS</acronym> systems.</span>
717
+ </th>
718
+ </tr>
719
+ <tr>
720
+ <th colspan="2">
721
+ <input type="hidden" name="file_nfs" value="0"<?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> />
722
+ <label><input type="checkbox" name="file_nfs" value="1"<?php checked($file_nfs, true); ?><?php if (! $can_empty_file): ?> disabled="disabled"<?php endif; ?> /> Optimize disk enhanced page and minify disk caching for <acronym title="Network File System">NFS</acronym></label>
723
+ <br /><span class="description">Try this option if your hosting environment uses a network based file system for a possible performance improvement.</span>
724
+ </th>
725
+ </tr>
726
+ </table>
727
+
728
+ <p class="submit">
729
+ <?php echo $this->nonce_field('w3tc'); ?>
730
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
731
+ </p>
732
+ <?php echo $this->postbox_footer(); ?>
733
+
734
+ <?php echo $this->postbox_header('Debug', '', 'debug'); ?>
735
+ <p>Detailed information about each cache will be appended in (publicly available) <acronym title="Hypertext Markup Language">HTML</acronym> comments in the page's source code. Performance in this mode will not be optimal, use sparingly and disable when not in use.</p>
736
+
737
+ <table class="form-table">
738
+ <tr>
739
+ <th>Debug Mode:</th>
740
+ <td>
741
+ <?php $this->checkbox_debug('pgcache.debug') ?> Page Cache</label><br />
742
+ <?php $this->checkbox_debug('minify.debug') ?> Minify</label><br />
743
+ <?php $this->checkbox_debug('dbcache.debug') ?> Database Cache</label><br />
744
+ <?php $this->checkbox_debug('objectcache.debug') ?> Object Cache</label><br />
745
+ <?php if (w3_is_pro() || w3_is_enterprise()): ?>
746
+ <?php $this->checkbox_debug('fragmentcache.debug') ?> Fragment Cache</label><br />
747
+ <?php endif; ?>
748
+ <?php $this->checkbox_debug('cdn.debug') ?> <acronym title="Content Delivery Network">CDN</acronym></label><br />
749
+ <?php $this->checkbox_debug('varnish.debug') ?> Reverse Proxy</label><br />
750
+ <?php if (w3_is_enterprise()): ?>
751
+ <?php $this->checkbox_debug('cluster.messagebus.debug') ?> Amazon <acronym title="Simple Notification Service">SNS</acronym></label><br />
752
+ <?php endif; ?>
753
+ <span class="description">If selected, detailed caching information will be appear at the end of each page in a <acronym title="Hypertext Markup Language">HTML</acronym> comment. View a page's source code to review.</span>
754
+ </td>
755
+ </tr>
756
+ </table>
757
+
758
+ <p class="submit">
759
+ <?php echo $this->nonce_field('w3tc'); ?>
760
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
761
+ </p>
762
+ <?php echo $this->postbox_footer(); ?>
763
+ </div>
764
+ </form>
765
+
766
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post" enctype="multipart/form-data">
767
+ <div class="metabox-holder">
768
+ <?php echo $this->postbox_header('Import / Export Settings', '', 'settings'); ?>
769
+ <?php echo $this->nonce_field('w3tc'); ?>
770
+ <table class="form-table">
771
+ <tr>
772
+ <th>Import configuration:</th>
773
+ <td>
774
+ <input type="file" name="config_file" />
775
+ <input type="submit" name="w3tc_config_import" class="w3tc-button-save button" value="Upload" />
776
+ <br /><span class="description">Upload and replace the active settings file.</span>
777
+ </td>
778
+ </tr>
779
+ <tr>
780
+ <th>Export configuration:</th>
781
+ <td>
782
+ <input type="submit" name="w3tc_config_export" class="button" value="Download" />
783
+ <br /><span class="description">Download the active settings file.</span>
784
+ </td>
785
+ </tr>
786
+ <tr>
787
+ <th>Reset configuration:</th>
788
+ <td>
789
+ <input type="submit" name="w3tc_config_reset" class="button" value="Restore Default Settings" />
790
+ <br /><span class="description">Revert all settings to the defaults. Any settings staged in preview mode will not be modified.</span>
791
+ </td>
792
+ </tr>
793
+ </table>
794
+ <?php echo $this->postbox_footer(); ?>
795
+ </div>
796
+ </form>
797
+ <?php endif ?>
798
  <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
inc/options/index.html CHANGED
File without changes
inc/options/install.php CHANGED
@@ -7,7 +7,8 @@
7
  Set the permissions of wp-content/ back to 755, e.g.:
8
  <pre class="console"># chmod 755 /var/www/vhosts/domain.com/httpdocs/wp-content/</pre>
9
  </li>
10
- <li>On the "<a href="admin.php?page=w3tc_general">General</a>" tab and select your caching methods for page, database and minify. In most cases, "disk enhanced" mode for page cache, "disk" mode for minify and "disk" mode for database caching are "good" settings.</li>
 
11
  <li><em>Recommended:</em> On the "<a href="admin.php?page=w3tc_minify">Minify</a>" tab all of the recommended settings are preset. Use the help button to simplify discovery of your <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files and groups. Pay close attention to the method and location of your <acronym title="JavaScript">JS</acronym> group embeddings. See the plugin's <a href="admin.php?page=w3tc_faq">FAQ</a> for more information on usage.</li>
12
  <li><em>Recommended:</em> On the "<a href="admin.php?page=w3tc_browsercache">Browser Cache</a>" tab, <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression is enabled by default. Make sure to enable other options to suit your goals.</li>
13
  <li><em>Recommended:</em> If you already have a content delivery network (<acronym title="Content Delivery Network">CDN</acronym>) provider, proceed to the "<a href="admin.php?page=w3tc_cdn">Content Delivery Network</a>" tab and populate the fields and set your preferences. If you do not use the Media Library, you will need to import your images etc into the default locations. Use the Media Library Import Tool on the "Content Delivery Network" tab to perform this task. If you do not have a <acronym title="Content Delivery Network">CDN</acronym> provider, you can still improve your site's performance using the "Self-hosted" method. On your own server, create a subdomain and matching <acronym title="Domain Name System">DNS</acronym> Zone record; e.g. static.domain.com and configure <acronym title="File Transfer Protocol">FTP</acronym> options on the "Content Delivery Network" tab accordingly. Be sure to <acronym title="File Transfer Protocol">FTP</acronym> upload the appropriate files, using the available upload buttons.</li>
@@ -21,17 +22,14 @@
21
  </p>
22
 
23
  <hr />
24
-
25
- <?php if (count($rewrite_rules)): ?>
26
- <h3>Rewrite rules</h3>
27
-
28
- <?php foreach ($rewrite_rules as $path => $rules): ?>
29
- <p><strong><?php echo htmlspecialchars($path); ?>:</strong></p>
30
- <pre class="code"><?php echo htmlspecialchars($rules); ?></pre>
31
- <?php endforeach; ?>
32
-
33
- <hr />
34
- <?php endif; ?>
35
 
36
  <h3>Software Installation for Dedicated / Virtual Dedicated / Multiple Servers (Optional)</h3>
37
 
@@ -250,7 +248,21 @@
250
  <pre class="console"># php -r 'phpinfo();' | grep 'eaccelerator'</pre>
251
  </li>
252
  </ol>
 
253
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  <hr />
255
 
256
  <div class="metabox-holder">
7
  Set the permissions of wp-content/ back to 755, e.g.:
8
  <pre class="console"># chmod 755 /var/www/vhosts/domain.com/httpdocs/wp-content/</pre>
9
  </li>
10
+ <li>On the "<a href="admin.php?page=w3tc_general">General</a>" tab and select your caching methods for page, database and minify. In most cases, "disk enhanced" mode for page cache is a good starting point.</li>
11
+ <li>1. The "Compatibility Mode" option found in the advanced section of the "<a href="admin.php?page=w3tc_pgcache">Page Cache Settings</a>" tab will enable functionality that optimizes the interoperablity of caching with WordPress, is disabled by default, but highly recommended. Years of testing in hundreds of thousands of installations have helped us learn how to make caching behave well with WordPress. The tradeoff is that disk enhanced page cache performance under load tests will be decreased by ~20% at scale.</li>
12
  <li><em>Recommended:</em> On the "<a href="admin.php?page=w3tc_minify">Minify</a>" tab all of the recommended settings are preset. Use the help button to simplify discovery of your <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files and groups. Pay close attention to the method and location of your <acronym title="JavaScript">JS</acronym> group embeddings. See the plugin's <a href="admin.php?page=w3tc_faq">FAQ</a> for more information on usage.</li>
13
  <li><em>Recommended:</em> On the "<a href="admin.php?page=w3tc_browsercache">Browser Cache</a>" tab, <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression is enabled by default. Make sure to enable other options to suit your goals.</li>
14
  <li><em>Recommended:</em> If you already have a content delivery network (<acronym title="Content Delivery Network">CDN</acronym>) provider, proceed to the "<a href="admin.php?page=w3tc_cdn">Content Delivery Network</a>" tab and populate the fields and set your preferences. If you do not use the Media Library, you will need to import your images etc into the default locations. Use the Media Library Import Tool on the "Content Delivery Network" tab to perform this task. If you do not have a <acronym title="Content Delivery Network">CDN</acronym> provider, you can still improve your site's performance using the "Self-hosted" method. On your own server, create a subdomain and matching <acronym title="Domain Name System">DNS</acronym> Zone record; e.g. static.domain.com and configure <acronym title="File Transfer Protocol">FTP</acronym> options on the "Content Delivery Network" tab accordingly. Be sure to <acronym title="File Transfer Protocol">FTP</acronym> upload the appropriate files, using the available upload buttons.</li>
22
  </p>
23
 
24
  <hr />
25
+ <?php if (count($rewrite_rules_descriptors)): ?>
26
+ <h3>Rewrite rules</h3>
27
+ <?php foreach ($rewrite_rules_descriptors as $descriptor): ?>
28
+ <p><strong><?php echo htmlspecialchars($descriptor['filename']); ?>:</strong></p>
29
+ <pre class="code"><?php echo htmlspecialchars($descriptor['content']); ?></pre>
30
+ <?php endforeach; ?>
31
+ <hr />
32
+ <?php endif; ?>
 
 
 
33
 
34
  <h3>Software Installation for Dedicated / Virtual Dedicated / Multiple Servers (Optional)</h3>
35
 
248
  <pre class="console"># php -r 'phpinfo();' | grep 'eaccelerator'</pre>
249
  </li>
250
  </ol>
251
+ <hr />
252
 
253
+ <p id="newrelic"><strong>New Relic Installation:</strong><br /><em>Time required: Mileage varies.</em></p>
254
+ <p>
255
+ Find requirements and installation instructions on New Relic website: <a href="https://newrelic.com/docs/php/new-relic-for-php" target="_blank">Installing New Relic for PHP</a>.
256
+ To see if this server supports New Relic click "compability check" on the <a href="<?php echo admin_url('admin.php?page=w3tc_dashboard')?>">Dashboard tab</a>. Other key resources can be found below:
257
+ </p>
258
+ <ul>
259
+ <li><a href="https://newrelic.com/docs/php/quick-installation-instructions-advanced-users" target="_blank">Quick Installation Instructions (Advanced Users)</a></li>
260
+ <li><a href="https://newrelic.com/docs/php/the-newrelic-install-script" target="_blank">The newrelic-install Script</a></li>
261
+ <li><a href="https://newrelic.com/docs/php/php-agent-installation-redhat-and-centos" target="_blank">Installing with yum or rpm (RedHat, CentOS)</a></li>
262
+ <li><a href="https://newrelic.com/docs/php/php-agent-installation-ubuntu-and-debian" target="_blank">Installing with dpkg or apt (Ubuntu, Debian)</a></li>
263
+ <li><a href="https://newrelic.com/docs/php/php-agent-installation-tar-files" target="_blank">Installing from tar Files (other Linux variants, OpenSolaris, FreeBSD)</a></li>
264
+ <li><a href="https://newrelic.com/docs/php/newrelic-daemon-startup-modes" target="_blank">New Relic Daemon Startup Modes</a></li>
265
+ </ul>
266
  <hr />
267
 
268
  <div class="metabox-holder">
inc/options/minify.php CHANGED
@@ -2,13 +2,13 @@
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
 
4
  <script type="text/javascript">/*<![CDATA[*/
5
- var minify_templates = {};
6
- <?php foreach ($templates as $theme_key => $theme_templates): ?>
7
- minify_templates['<?php echo addslashes($theme_key); ?>'] = {};
8
- <?php foreach ($theme_templates as $theme_template_key => $theme_template_name): ?>
9
- minify_templates['<?php echo addslashes($theme_key); ?>']['<?php echo addslashes($theme_template_key); ?>'] = '<?php echo addslashes($theme_template_name); ?>';
10
- <?php endforeach; ?>
11
- <?php endforeach; ?>
12
  /*]]>*/</script>
13
 
14
  <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
@@ -18,72 +18,67 @@ minify_templates['<?php echo addslashes($theme_key); ?>']['<?php echo addslashes
18
  is currently <span class="w3tc-<?php if ($minify_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
19
  </p>
20
  <p>
21
- To rebuild the minify cache use the
22
  <?php echo $this->nonce_field('w3tc'); ?>
23
  <input type="submit" name="w3tc_flush_minify" value="empty cache"<?php if (! $minify_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
24
- operation.
25
  <?php if (!$auto): ?>
26
- Get minify hints using the
27
  <input type="button" class="button button-minify-recommendations {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" value="help" />
28
- wizard.
29
- <?php endif; ?>
30
  </p>
31
  </form>
32
 
33
  <form id="minify_form" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
34
  <div class="metabox-holder">
35
- <?php echo $this->postbox_header('General'); ?>
36
  <table class="form-table">
37
- <tr>
38
- <th colspan="2">
39
- <input type="hidden" name="minify.rewrite" value="0" />
40
- <label><input type="checkbox" name="minify.rewrite" value="1"<?php checked($this->_config->get_boolean('minify.rewrite'), true); ?><?php if (!w3_can_check_rules()): ?> disabled="disabled"<?php endif; ?> /> Rewrite <acronym title="Uniform Resource Locator">URL</acronym> structure</label><br />
41
- <span class="description">If disabled, <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> embeddings will use GET variables instead of "fancy" links.</span>
42
- </th>
43
- </tr>
44
  <tr>
45
  <th colspan="2">
46
- <input type="hidden" name="minify.reject.logged" value="0" />
47
- <label><input type="checkbox" name="minify.reject.logged" value="1"<?php checked($this->_config->get_boolean('minify.reject.logged'), true); ?> /> Disable minify for logged in users</label><br />
48
- <span class="description">Authenticated users will not recieve minified pages if this option is enabled.</span>
49
  </th>
50
  </tr>
51
- <tr>
52
- <th>
53
- <label for="minify_error_notification">Minify error notification:</label>
54
- </th>
55
- <td>
56
- <select id="minify_error_notification" name="minify.error.notification">
57
- <?php $value = $this->_config->get_string('minify.error.notification'); ?>
58
- <option value=""<?php selected($value, ''); ?>>Disabled</option>
59
- <option value="admin"<?php selected($value, 'admin'); ?>>Admin Notification</option>
60
- <option value="email"<?php selected($value, 'email'); ?>>Email Notification</option>
61
- <option value="admin,email"<?php selected($value, 'admin,email'); ?>>Both Admin &amp; Email Notification</option>
62
- </select>
63
- <br /><span class="description">Notify when minify cache creation errors occur.</span>
64
- </td>
65
- </tr>
 
 
 
 
 
 
 
66
  </table>
67
 
68
  <p class="submit">
69
  <?php echo $this->nonce_field('w3tc'); ?>
70
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
71
  </p>
72
- <?php echo $this->postbox_footer(); ?>
73
 
74
- <?php echo $this->postbox_header('<acronym title="Hypertext Markup Language">HTML</acronym> &amp; <acronym title="eXtensible Markup Language">XML</acronym>'); ?>
75
  <table class="form-table">
76
- <tr>
77
- <th><acronym title="Hypertext Markup Language">HTML</acronym> minify settings:</th>
78
- <td>
79
- <input type="hidden" name="minify.html.enable" value="0" />
80
- <input type="hidden" name="minify.html.inline.css" value="0" />
81
- <input type="hidden" name="minify.html.inline.js" value="0" />
82
- <input type="hidden" name="minify.html.reject.feed" value="0" />
83
- <label><input id="html_enabled" type="checkbox" name="minify.html.enable" value="1"<?php checked($this->_config->get_boolean('minify.html.enable'), true); ?> /> Enable</label><br />
84
- <label><input class="html_enabled" type="checkbox" name="minify.html.inline.css" value="1"<?php checked($this->_config->get_boolean('minify.html.inline.css'), true); ?> /> Inline <acronym title="Cascading Style Sheet">CSS</acronym> minification</label><br />
85
- <label><input class="html_enabled" type="checkbox" name="minify.html.inline.js" value="1"<?php checked($this->_config->get_boolean('minify.html.inline.js'), true); ?> /> Inline <acronym title="JavaScript">JS</acronym> minification</label><br />
86
- <label><input class="html_enabled" type="checkbox" name="minify.html.reject.feed" value="1"<?php checked($this->_config->get_boolean('minify.html.reject.feed'), true); ?> /> Don't minify feeds</label><br />
87
  <?php
88
  $html_engine_file = '';
89
 
@@ -98,12 +93,14 @@ minify_templates['<?php echo addslashes($theme_key); ?>']['<?php echo addslashes
98
  include $html_engine_file;
99
  }
100
  ?>
101
- </td>
102
- </tr>
103
  <tr>
104
  <th><label for="minify_html_comments_ignore">Ignored comment stems:</label></th>
105
  <td>
106
- <textarea id="minify_html_comments_ignore" name="minify.html.comments.ignore" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.html.comments.ignore'))); ?></textarea><br />
 
 
107
  <span class="description">Do not remove comments that contain these terms.</span>
108
  </td>
109
  </tr>
@@ -125,23 +122,57 @@ minify_templates['<?php echo addslashes($theme_key); ?>']['<?php echo addslashes
125
 
126
  <p class="submit">
127
  <?php echo $this->nonce_field('w3tc'); ?>
128
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
129
  </p>
130
- <?php echo $this->postbox_footer(); ?>
131
 
132
- <?php echo $this->postbox_header('<acronym title="JavaScript">JS</acronym>'); ?>
133
  <table class="form-table">
134
  <tr>
135
  <th><acronym title="JavaScript">JS</acronym> minify settings:</th>
136
  <td>
137
- <input type="hidden" name="minify.js.enable" value="0" />
138
- <input type="hidden" name="minify.js.combine.header" value="0" />
139
- <input type="hidden" name="minify.js.combine.body" value="0" />
140
- <input type="hidden" name="minify.js.combine.footer" value="0" />
141
- <label><input id="js_enabled" type="checkbox" name="minify.js.enable" value="1"<?php checked($this->_config->get_boolean('minify.js.enable'), true); ?> /> Enable</label><br />
142
- <label><input class="js_enabled" type="checkbox" name="minify.js.combine.header" value="1"<?php checked($this->_config->get_boolean('minify.js.combine.header'), true); ?> /> Combine only after &lt;head&gt;</label><br />
143
- <label><input class="js_enabled" type="checkbox" name="minify.js.combine.body" value="1"<?php checked($this->_config->get_boolean('minify.js.combine.body'), true); ?> /> Combine only after &lt;body&gt;</label><br />
144
- <label><input class="js_enabled" type="checkbox" name="minify.js.combine.footer" value="1"<?php checked($this->_config->get_boolean('minify.js.combine.footer'), true); ?> /> Combine only before &lt;/body&gt;</label><br />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
  <?php
146
  $js_engine_file = '';
147
 
@@ -175,93 +206,87 @@ minify_templates['<?php echo addslashes($theme_key); ?>']['<?php echo addslashes
175
  }
176
  ?>
177
  <?php if (!$auto): ?>
178
- <tr>
179
- <th><acronym title="JavaScript">JS</acronym> file management:</th>
180
- <td>
181
- <p>
182
- <label>
183
- Theme:
184
- <select id="js_themes" class="js_enabled" name="js_theme">
185
- <?php foreach ($themes as $theme_key => $theme_name): ?>
186
- <option value="<?php echo htmlspecialchars($theme_key); ?>"<?php selected($theme_key, $js_theme); ?>><?php echo htmlspecialchars($theme_name); ?><?php if ($theme_key == $js_theme): ?> (active)<?php endif; ?></option>
187
- <?php endforeach; ?>
188
- </select>
189
- </label>
190
- <br /><span class="description">Files are minified by template. First select the theme to manage, then add scripts used in all templates to the "All Templates" group. Use the menu above to manage scripts unique to a specific template. If necessary drag &amp; drop to resolve dependency issues (due to incorrect order).</span>
191
- </p>
192
- <ul id="js_files" class="minify-files">
 
193
  <?php foreach ($js_groups as $js_theme => $js_templates): if (isset($templates[$js_theme])): ?>
194
- <?php $index = 0; foreach ($js_templates as $js_template => $js_locations): ?>
195
- <?php foreach ((array) $js_locations as $js_location => $js_config): ?>
196
- <?php if (! empty($js_config['files'])): foreach ((array) $js_config['files'] as $js_file): $index++; ?>
197
- <li>
198
- <table>
199
- <tr>
200
- <th>&nbsp;</th>
201
- <th>File URI:</th>
202
- <th>Template:</th>
203
- <th colspan="3">Embed Location:</th>
204
- </tr>
205
- <tr>
206
- <td><?php echo $index; ?>.</td>
207
- <td>
208
- <input class="js_enabled" type="text" name="js_files[<?php echo htmlspecialchars($js_theme); ?>][<?php echo htmlspecialchars($js_template); ?>][<?php echo htmlspecialchars($js_location); ?>][]" value="<?php echo htmlspecialchars($js_file); ?>" size="70" />
209
- </td>
210
- <td>
211
- <select class="js_file_template js_enabled">
212
- <?php foreach ($templates[$js_theme] as $theme_template_key => $theme_template_name): ?>
213
- <option value="<?php echo htmlspecialchars($theme_template_key); ?>"<?php selected($theme_template_key, $js_template); ?>><?php echo htmlspecialchars($theme_template_name); ?></option>
214
- <?php endforeach; ?>
215
- </select>
216
- </td>
217
- <td>
218
- <select class="js_file_location js_enabled">
219
- <optgroup label="Blocking:">
220
- <option value="include"<?php if ($js_location == 'include'): ?> selected="selected"<?php endif; ?>>Embed in &lt;head&gt;</option>
221
- <option value="include-body"<?php if ($js_location == 'include-body'): ?> selected="selected"<?php endif; ?>>Embed after &lt;body&gt;</option>
222
- <option value="include-footer"<?php if ($js_location == 'include-footer'): ?> selected="selected"<?php endif; ?>>Embed before &lt;/body&gt;</option>
223
- </optgroup>
224
- <optgroup label="Non-Blocking:">
225
- <option value="include-nb"<?php if ($js_location == 'include-nb'): ?> selected="selected"<?php endif; ?>>Embed in &lt;head&gt;</option>
226
- <option value="include-body-nb"<?php if ($js_location == 'include-body-nb'): ?> selected="selected"<?php endif; ?>>Embed after &lt;body&gt;</option>
227
- <option value="include-footer-nb"<?php if ($js_location == 'include-footer-nb'): ?> selected="selected"<?php endif; ?>>Embed before &lt;/body&gt;</option>
228
- </optgroup>
229
- </select>
230
- </td>
231
- <td>
232
- <input class="js_file_delete js_enabled button" type="button" value="Delete" />
233
- <input class="js_file_verify js_enabled button" type="button" value="Verify URI" />
234
- </td>
235
- </tr>
236
- </table>
237
- </li>
238
- <?php endforeach; endif; ?>
239
- <?php endforeach; ?>
240
  <?php endforeach; ?>
241
  <?php endif; endforeach; ?>
242
- </ul>
243
  <div id="js_files_empty" class="w3tc-empty" style="display: none;">No <acronym title="JavaScript">JS</acronym> files added</div>
244
  <input id="js_file_add" class="js_enabled button" type="button" value="Add a script" />
245
- </td>
246
- </tr>
247
  <?php endif; ?>
248
  </table>
249
 
250
  <p class="submit">
251
  <?php echo $this->nonce_field('w3tc'); ?>
252
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
253
  </p>
254
- <?php echo $this->postbox_footer(); ?>
255
 
256
- <?php echo $this->postbox_header('<acronym title="Cascading Style Sheet">CSS</acronym>'); ?>
257
  <table class="form-table">
258
- <tr>
259
- <th><acronym title="Cascading Style Sheet">CSS</acronym> minify settings:</th>
260
- <td>
261
- <input type="hidden" name="minify.css.enable" value="0" />
262
- <input type="hidden" name="minify.css.combine" value="0" />
263
- <label><input id="css_enabled" type="checkbox" name="minify.css.enable" value="1"<?php checked($this->_config->get_boolean('minify.css.enable'), true); ?> /> Enable</label><br />
264
- <label><input class="css_enabled" type="checkbox" name="minify.css.combine" value="1"<?php checked($this->_config->get_boolean('minify.css.combine'), true); ?> /> Combine only</label><br />
265
  <?php
266
  $css_engine_file = '';
267
 
@@ -277,12 +302,13 @@ minify_templates['<?php echo addslashes($theme_key); ?>']['<?php echo addslashes
277
  include $css_engine_file;
278
  }
279
  ?>
280
- </td>
281
- </tr>
282
  <tr>
283
  <th><label for="minify_css_import">@import handling:</label></th>
284
  <td>
285
- <select id="minify_css_import" class="css_enabled" name="minify.css.imports">
 
286
  <?php foreach ($css_imports_values as $css_imports_key => $css_imports_value): ?>
287
  <option value="<?php echo $css_imports_key; ?>"<?php selected($css_imports, $css_imports_key); ?>><?php echo $css_imports_value; ?></option>
288
  <?php endforeach; ?>
@@ -305,127 +331,170 @@ minify_templates['<?php echo addslashes($theme_key); ?>']['<?php echo addslashes
305
  }
306
  ?>
307
  <?php if (!$auto): ?>
308
- <tr>
309
- <th><acronym title="Cascading Style Sheet">CSS</acronym> file management:</th>
310
- <td>
311
- <p>
312
- <label>
313
- Theme:
314
- <select id="css_themes" class="css_enabled" name="css_theme">
315
- <?php foreach ($themes as $theme_key => $theme_name): ?>
316
- <option value="<?php echo htmlspecialchars($theme_key); ?>"<?php selected($theme_key, $css_theme); ?>><?php echo htmlspecialchars($theme_name); ?><?php if ($theme_key == $css_theme): ?> (active)<?php endif; ?></option>
317
- <?php endforeach; ?>
318
- </select>
319
- </label>
320
- <br /><span class="description">Files are minified by template. First select the theme to manage, then add style sheets used in all templates to the "All Templates" group. Use the menu above to manage style sheets unique to a specific template. If necessary drag &amp; drop to resolve dependency issues (due to incorrect order).</span>
321
- </p>
322
- <ul id="css_files" class="minify-files">
 
323
  <?php foreach ($css_groups as $css_theme => $css_templates): if (isset($templates[$css_theme])): ?>
324
  <?php $index = 0; foreach ($css_templates as $css_template => $css_locations): ?>
325
- <?php foreach ((array) $css_locations as $css_location => $css_config): ?>
326
- <?php if (! empty($css_config['files'])): foreach ((array) $css_config['files'] as $css_file): $index++; ?>
327
- <li>
328
- <table>
329
- <tr>
330
- <th>&nbsp;</th>
331
- <th>File URI:</th>
332
- <th colspan="2">Template:</th>
333
- </tr>
334
- <tr>
335
- <td><?php echo $index; ?>.</td>
336
- <td>
337
- <input class="css_enabled" type="text" name="css_files[<?php echo htmlspecialchars($css_theme); ?>][<?php echo htmlspecialchars($css_template); ?>][<?php echo htmlspecialchars($css_location); ?>][]" value="<?php echo htmlspecialchars($css_file); ?>" size="70" /><br />
338
- </td>
339
- <td>
340
- <select class="css_file_template css_enabled">
341
- <?php foreach ($templates[$css_theme] as $theme_template_key => $theme_template_name): ?>
342
- <option value="<?php echo htmlspecialchars($theme_template_key); ?>"<?php selected($theme_template_key, $css_template); ?>><?php echo htmlspecialchars($theme_template_name); ?></option>
343
- <?php endforeach; ?>
344
- </select>
345
- </td>
346
- <td>
347
- <input class="css_file_delete css_enabled button" type="button" value="Delete" />
348
- <input class="css_file_verify css_enabled button" type="button" value="Verify URI" />
349
- </td>
350
- </tr>
351
- </table>
352
- </li>
353
- <?php endforeach; endif; ?>
354
- <?php endforeach; ?>
355
- <?php endforeach; ?>
 
 
356
  <?php endif; endforeach; ?>
357
- </ul>
358
  <div id="css_files_empty" class="w3tc-empty" style="display: none;">No <acronym title="Cascading Style Sheet">CSS</acronym> files added</div>
359
- <input id="css_file_add" class="css_enabled button" type="button" value="Add a style sheet" />
360
- </td>
361
- </tr>
362
  <?php endif; ?>
363
  </table>
364
 
365
  <p class="submit">
366
  <?php echo $this->nonce_field('w3tc'); ?>
367
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
368
  </p>
369
  <?php echo $this->postbox_footer(); ?>
370
 
371
- <?php echo $this->postbox_header('Advanced'); ?>
372
  <table class="form-table">
373
- <?php if ($this->_config->get_string('minify.engine') == 'memcached'): ?>
374
- <tr>
375
- <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
376
- <td>
377
- <input id="memcached_servers" type="text" name="minify.memcached.servers" value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('minify.memcached.servers'))); ?>" size="100" />
378
- <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test" />
379
- <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
380
- <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
381
- </td>
382
- </tr>
383
- <?php endif; ?>
384
  <tr>
385
- <th><label for="minify_lifetime">Update external files every:</label></th>
386
- <td><input id="minify_lifetime" type="text" name="minify.lifetime" value="<?php echo $this->_config->get_integer('minify.lifetime'); ?>" size="8" /> seconds<br />
387
- <span class="description">Specify the interval between download and update of external files in the minify cache. Hint: 6 hours is 21600 seconds. 12 hours is 43200 seconds. 24 hours is 86400 seconds.</span></td>
388
- </tr>
389
- <tr>
390
- <th><label for="minify_file_gc">Garbage collection interval:</label></th>
391
- <td><input id="minify_file_gc" type="text" name="minify.file.gc" value="<?php echo $this->_config->get_integer('minify.file.gc'); ?>" size="8"<?php if ($this->_config->get_string('minify.engine') != 'file'): ?> disabled="disabled"<?php endif; ?> /> seconds
392
- <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
393
- </td>
394
- </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
395
  <tr>
396
  <th><label for="minify_reject_uri">Never minify the following pages:</label></th>
397
  <td>
398
- <textarea id="minify_reject_uri" name="minify.reject.uri" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.reject.uri'))); ?></textarea><br />
 
399
  <span class="description">Always ignore the specified pages / directories.</span>
400
  </td>
401
  </tr>
402
- <tr>
403
- <th><label for="minify_reject_ua">Rejected user agents:</label></th>
404
- <td>
405
- <textarea id="minify_reject_ua" name="minify.reject.ua" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.reject.ua'))); ?></textarea><br />
406
- <span class="description">Specify user agents that will never receive minified content.</span>
407
- </td>
408
- </tr>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
409
  </table>
410
 
411
  <p class="submit">
412
  <?php echo $this->nonce_field('w3tc'); ?>
413
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
414
  </p>
415
- <?php echo $this->postbox_footer(); ?>
416
 
417
- <?php echo $this->postbox_header('Note(s):'); ?>
418
  <table class="form-table">
419
- <tr>
420
- <th colspan="2">
421
- <ul>
422
- <li>Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression in the "Cascading Style Sheets &amp; JavaScript" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
423
- <li>The <acronym title="Time to Live">TTL</acronym> of page cache files is set via the "Expires header lifetime" field in the "Cascading Style Sheets &amp; JavaScript" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
424
- </ul>
425
- </th>
426
- </tr>
427
  </table>
428
- <?php echo $this->postbox_footer(); ?>
429
  </div>
430
  </form>
431
 
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
 
4
  <script type="text/javascript">/*<![CDATA[*/
5
+ var minify_templates = {};
6
+ <?php foreach ($templates as $theme_key => $theme_templates): ?>
7
+ minify_templates['<?php echo addslashes($theme_key); ?>'] = {};
8
+ <?php foreach ($theme_templates as $theme_template_key => $theme_template_name): ?>
9
+ minify_templates['<?php echo addslashes($theme_key); ?>']['<?php echo addslashes($theme_template_key); ?>'] = '<?php echo addslashes($theme_template_name); ?>';
10
+ <?php endforeach; ?>
11
+ <?php endforeach; ?>
12
  /*]]>*/</script>
13
 
14
  <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
18
  is currently <span class="w3tc-<?php if ($minify_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
19
  </p>
20
  <p>
21
+ To rebuild the minify cache use the
22
  <?php echo $this->nonce_field('w3tc'); ?>
23
  <input type="submit" name="w3tc_flush_minify" value="empty cache"<?php if (! $minify_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
24
+ operation.
25
  <?php if (!$auto): ?>
26
+ Get minify hints using the
27
  <input type="button" class="button button-minify-recommendations {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" value="help" />
28
+ wizard.
29
+ <?php endif; ?><input type="submit" name="w3tc_flush_browser_cache" value="Update media query string"<?php disabled(! ($browsercache_enabled && $browsercache_update_media_qs)) ?> class="button" /> to make existing file modififications visible to visitors with a primed cache.
30
  </p>
31
  </form>
32
 
33
  <form id="minify_form" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
34
  <div class="metabox-holder">
35
+ <?php echo $this->postbox_header('General', '', 'general'); ?>
36
  <table class="form-table">
 
 
 
 
 
 
 
37
  <tr>
38
  <th colspan="2">
39
+ <?php $this->checkbox('minify.rewrite', !w3_can_check_rules() || $minify_rewrite_disabled) ?> Rewrite <acronym title="Uniform Resource Locator">URL</acronym> structure</label><br />
40
+ <span class="description">If disabled, <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> embeddings will use GET variables instead of "fancy" links.</span>
 
41
  </th>
42
  </tr>
43
+ <tr>
44
+ <th colspan="2">
45
+ <?php $this->checkbox('minify.reject.logged') ?> Disable minify for logged in users</label><br />
46
+ <span class="description">Authenticated users will not receive minified pages if this option is enabled.</span>
47
+ </th>
48
+ </tr>
49
+ <tr>
50
+ <th>
51
+ <label for="minify_error_notification">Minify error notification:</label>
52
+ </th>
53
+ <td>
54
+ <select id="minify_error_notification" name="minify.error.notification"
55
+ <?php $this->sealing_disabled('minify') ?>>
56
+ <?php $value = $this->_config_admin->get_string('minify.error.notification'); ?>
57
+ <option value=""<?php selected($value, ''); ?>>Disabled</option>
58
+ <option value="admin"<?php selected($value, 'admin'); ?>>Admin Notification</option>
59
+ <option value="email"<?php selected($value, 'email'); ?>>Email Notification</option>
60
+ <option value="admin,email"<?php selected($value, 'admin,email'); ?>>Both Admin &amp; Email Notification</option>
61
+ </select>
62
+ <br /><span class="description">Notify when minify cache creation errors occur.</span>
63
+ </td>
64
+ </tr>
65
  </table>
66
 
67
  <p class="submit">
68
  <?php echo $this->nonce_field('w3tc'); ?>
69
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
70
  </p>
71
+ <?php echo $this->postbox_footer(); ?>
72
 
73
+ <?php echo $this->postbox_header('<acronym title="Hypertext Markup Language">HTML</acronym> &amp; <acronym title="eXtensible Markup Language">XML</acronym>', '', 'html_xml'); ?>
74
  <table class="form-table">
75
+ <tr>
76
+ <th><acronym title="Hypertext Markup Language">HTML</acronym> minify settings:</th>
77
+ <td>
78
+ <?php $this->checkbox('minify.html.enable') ?> Enable</label><br />
79
+ <?php $this->checkbox('minify.html.inline.css', false, 'html_') ?> Inline <acronym title="Cascading Style Sheet">CSS</acronym> minification</label><br />
80
+ <?php $this->checkbox('minify.html.inline.js', false, 'html_') ?> Inline <acronym title="JavaScript">JS</acronym> minification</label><br />
81
+ <?php $this->checkbox('minify.html.reject.feed', false, 'html_') ?> Don't minify feeds</label><br />
 
 
 
 
82
  <?php
83
  $html_engine_file = '';
84
 
93
  include $html_engine_file;
94
  }
95
  ?>
96
+ </td>
97
+ </tr>
98
  <tr>
99
  <th><label for="minify_html_comments_ignore">Ignored comment stems:</label></th>
100
  <td>
101
+ <textarea id="minify_html_comments_ignore"
102
+ <?php $this->sealing_disabled('minify') ?>
103
+ name="minify.html.comments.ignore" class="html_enabled" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.html.comments.ignore'))); ?></textarea><br />
104
  <span class="description">Do not remove comments that contain these terms.</span>
105
  </td>
106
  </tr>
122
 
123
  <p class="submit">
124
  <?php echo $this->nonce_field('w3tc'); ?>
125
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
126
  </p>
127
+ <?php echo $this->postbox_footer(); ?>
128
 
129
+ <?php echo $this->postbox_header('<acronym title="JavaScript">JS</acronym>', '', 'js'); ?>
130
  <table class="form-table">
131
  <tr>
132
  <th><acronym title="JavaScript">JS</acronym> minify settings:</th>
133
  <td>
134
+ <?php $this->checkbox('minify.js.enable') ?> Enable</label><br />
135
+ <fieldset><legend>Operations in areas:</legend>
136
+ <p>
137
+ <span>Embed type:</span>
138
+ </p>
139
+ <span class="oia-desc">Before <span class="html-tag">&lt;/head&gt;</span></span>
140
+ <?php $this->radio('minify.js.combine.header', false, false, 'js_') ?> Minify </label> <?php $this->radio('minify.js.combine.header', true, false, 'js_') ?> Combine only</label>
141
+ <select id="js_use_type_header" name="minify.js.header.embed_type" class="js_enabled">
142
+ <option value="blocking" <?php selected('blocking' ,$this->_config->get_string('minify.js.header.embed_type')) ?>>Default (blocking)</option>
143
+ <option value="nb-js" <?php selected('nb-js' ,$this->_config->get_string('minify.js.header.embed_type')) ?>>Non-blocking using JS</option>
144
+ <option value="nb-async" <?php selected('nb-async' ,$this->_config->get_string('minify.js.header.embed_type')) ?>>Non-blocking using "async"</option>
145
+ <option value="nb-defer" <?php selected('nb-defer' ,$this->_config->get_string('minify.js.header.embed_type')) ?>>Non-blocking using "defer"</option>
146
+ <?php if (!$auto): ?>
147
+ <option value="extsrc" <?php selected('extsrc' ,$this->_config->get_string('minify.js.header.embed_type')) ?>>Non-blocking using "extsrc"</option>
148
+ <option value="asyncsrc" <?php selected('asyncsrc' ,$this->_config->get_string('minify.js.header.embed_type')) ?>>Non-blocking using "asyncsrc"</option>
149
+ <?php endif; ?>
150
+ </select>
151
+ <?php if (!$auto): ?>
152
+ <br />
153
+ <span class="oia-desc">After <span class="html-tag">&lt;body&gt;</span></span>
154
+ <?php $this->radio('minify.js.combine.body', false, $auto, 'js_') ?> Minify </label> <?php $this->radio('minify.js.combine.body', true) ?> Combine only</label>
155
+ <select id="js_use_type_body" name="minify.js.body.embed_type" class="js_enabled">
156
+ <option value="blocking" <?php selected('blocking' ,$this->_config->get_string('minify.js.body.embed_type')) ?>>Default (blocking)</option>
157
+ <option value="nb-js" <?php selected('nb-js' ,$this->_config->get_string('minify.js.body.embed_type')) ?>>Non-blocking using JS</option>
158
+ <option value="nb-async" <?php selected('nb-async' ,$this->_config->get_string('minify.js.body.embed_type')) ?>>Non-blocking using "async"</option>
159
+ <option value="nb-defer" <?php selected('nb-defer' ,$this->_config->get_string('minify.js.body.embed_type')) ?>>Non-blocking using "defer"</option>
160
+ <option value="extsrc" <?php selected('extsrc' ,$this->_config->get_string('minify.js.body.embed_type')) ?>>Non-blocking using "extsrc"</option>
161
+ <option value="asyncsrc" <?php selected('asyncsrc' ,$this->_config->get_string('minify.js.body.embed_type')) ?>>Non-blocking using "asyncsrc"</option>
162
+ </select>
163
+ <br />
164
+ <span class="oia-desc">Before <span class="html-tag">&lt;/body&gt;</span></span>
165
+ <?php $this->radio('minify.js.combine.footer', false, $auto, 'js_') ?> Minify </label> <?php $this->radio('minify.js.combine.footer', true) ?> Combine only</label>
166
+ <select id="js_use_type_footer" name="minify.js.footer.embed_type" class="js_enabled">
167
+ <option value="blocking" <?php selected('blocking' ,$this->_config->get_string('minify.js.footer.embed_type')) ?>>Default (blocking)</option>
168
+ <option value="nb-js" <?php selected('nb-js' ,$this->_config->get_string('minify.js.footer.embed_type')) ?>>Non-blocking using JS</option>
169
+ <option value="nb-async" <?php selected('nb-async' ,$this->_config->get_string('minify.js.footer.embed_type')) ?>>Non-blocking using "async"</option>
170
+ <option value="nb-defer" <?php selected('nb-defer' ,$this->_config->get_string('minify.js.footer.embed_type')) ?>>Non-blocking using "defer"</option>
171
+ <option value="extsrc" <?php selected('extsrc' ,$this->_config->get_string('minify.js.footer.embed_type')) ?>>Non-blocking using "extsrc"</option>
172
+ <option value="asyncsrc" <?php selected('asyncsrc' ,$this->_config->get_string('minify.js.footer.embed_type')) ?>>Non-blocking using "asyncsrc"</option>
173
+ </select>
174
+ <?php endif; ?>
175
+ </fieldset>
176
  <?php
177
  $js_engine_file = '';
178
 
206
  }
207
  ?>
208
  <?php if (!$auto): ?>
209
+ <tr>
210
+ <th><acronym title="JavaScript">JS</acronym> file management:</th>
211
+ <td>
212
+ <p>
213
+ <label>
214
+ Theme:
215
+ <select id="js_themes" class="js_enabled" name="js_theme"
216
+ <?php $this->sealing_disabled('minify') ?>>
217
+ <?php foreach ($themes as $theme_key => $theme_name): ?>
218
+ <option value="<?php echo htmlspecialchars($theme_key); ?>"<?php selected($theme_key, $js_theme); ?>><?php echo htmlspecialchars($theme_name); ?><?php if ($theme_key == $js_theme): ?> (active)<?php endif; ?></option>
219
+ <?php endforeach; ?>
220
+ </select>
221
+ </label>
222
+ <br /><span class="description">Files are minified by template. First select the theme to manage, then add scripts used in all templates to the "All Templates" group. Use the menu above to manage scripts unique to a specific template. If necessary drag &amp; drop to resolve dependency issues (due to incorrect order).</span>
223
+ </p>
224
+ <ul id="js_files" class="minify-files">
225
  <?php foreach ($js_groups as $js_theme => $js_templates): if (isset($templates[$js_theme])): ?>
226
+ <?php $index = 0; foreach ($js_templates as $js_template => $js_locations): ?>
227
+ <?php foreach ((array) $js_locations as $js_location => $js_config): ?>
228
+ <?php if (! empty($js_config['files'])): foreach ((array) $js_config['files'] as $js_file): $index++; ?>
229
+ <li>
230
+ <table>
231
+ <tr>
232
+ <th>&nbsp;</th>
233
+ <th>File URI:</th>
234
+ <th>Template:</th>
235
+ <th colspan="3">Embed Location:</th>
236
+ </tr>
237
+ <tr>
238
+ <td><?php echo $index; ?>.</td>
239
+ <td>
240
+ <input class="js_enabled" type="text"
241
+ <?php $this->sealing_disabled('minify') ?>
242
+ name="js_files[<?php echo htmlspecialchars($js_theme); ?>][<?php echo htmlspecialchars($js_template); ?>][<?php echo htmlspecialchars($js_location); ?>][]" value="<?php echo htmlspecialchars($js_file); ?>" size="70" />
243
+ </td>
244
+ <td>
245
+ <select class="js_file_template js_enabled" <?php $this->sealing_disabled('minify') ?>>
246
+ <?php foreach ($templates[$js_theme] as $theme_template_key => $theme_template_name): ?>
247
+ <option value="<?php echo htmlspecialchars($theme_template_key); ?>"<?php selected($theme_template_key, $js_template); ?>><?php echo htmlspecialchars($theme_template_name); ?></option>
248
+ <?php endforeach; ?>
249
+ </select>
250
+ </td>
251
+ <td>
252
+ <select class="js_file_location js_enabled" <?php $this->sealing_disabled('minify') ?>>
253
+ <option value="include" <?php selected($js_location,'include') ?>>Embed in &lt;head&gt;</option>
254
+ <option value="include-body" <?php selected($js_location, 'include-body') ?>>Embed after &lt;body&gt;</option>
255
+ <option value="include-footer" <?php selected($js_location, 'include-footer') ?>>Embed before &lt;/body&gt;</option>
256
+ </select>
257
+ </td>
258
+ <td>
259
+ <input class="js_file_delete js_enabled button" type="button" value="Delete" />
260
+ <input class="js_file_verify js_enabled button" type="button" value="Verify URI" />
261
+ </td>
262
+ </tr>
263
+ </table>
264
+ </li>
265
+ <?php endforeach; endif; ?>
266
+ <?php endforeach; ?>
 
 
 
 
 
267
  <?php endforeach; ?>
268
  <?php endif; endforeach; ?>
269
+ </ul>
270
  <div id="js_files_empty" class="w3tc-empty" style="display: none;">No <acronym title="JavaScript">JS</acronym> files added</div>
271
  <input id="js_file_add" class="js_enabled button" type="button" value="Add a script" />
272
+ </td>
273
+ </tr>
274
  <?php endif; ?>
275
  </table>
276
 
277
  <p class="submit">
278
  <?php echo $this->nonce_field('w3tc'); ?>
279
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
280
  </p>
281
+ <?php echo $this->postbox_footer(); ?>
282
 
283
+ <?php echo $this->postbox_header('<acronym title="Cascading Style Sheet">CSS</acronym>', '', 'css'); ?>
284
  <table class="form-table">
285
+ <tr>
286
+ <th><acronym title="Cascading Style Sheet">CSS</acronym> minify settings:</th>
287
+ <td>
288
+ <?php $this->checkbox('minify.css.enable') ?> Enable</label><br />
289
+ <?php $this->checkbox('minify.css.combine', false, 'css_') ?> Combine only</label><br />
 
 
290
  <?php
291
  $css_engine_file = '';
292
 
302
  include $css_engine_file;
303
  }
304
  ?>
305
+ </td>
306
+ </tr>
307
  <tr>
308
  <th><label for="minify_css_import">@import handling:</label></th>
309
  <td>
310
+ <select id="minify_css_import" class="css_enabled" name="minify.css.imports"
311
+ <?php $this->sealing_disabled('minify') ?>>
312
  <?php foreach ($css_imports_values as $css_imports_key => $css_imports_value): ?>
313
  <option value="<?php echo $css_imports_key; ?>"<?php selected($css_imports, $css_imports_key); ?>><?php echo $css_imports_value; ?></option>
314
  <?php endforeach; ?>
331
  }
332
  ?>
333
  <?php if (!$auto): ?>
334
+ <tr>
335
+ <th><acronym title="Cascading Style Sheet">CSS</acronym> file management:</th>
336
+ <td>
337
+ <p>
338
+ <label>
339
+ Theme:
340
+ <select id="css_themes" class="css_enabled" name="css_theme"
341
+ <?php $this->sealing_disabled('minify') ?>>
342
+ <?php foreach ($themes as $theme_key => $theme_name): ?>
343
+ <option value="<?php echo htmlspecialchars($theme_key); ?>"<?php selected($theme_key, $css_theme); ?>><?php echo htmlspecialchars($theme_name); ?><?php if ($theme_key == $css_theme): ?> (active)<?php endif; ?></option>
344
+ <?php endforeach; ?>
345
+ </select>
346
+ </label>
347
+ <br /><span class="description">Files are minified by template. First select the theme to manage, then add style sheets used in all templates to the "All Templates" group. Use the menu above to manage style sheets unique to a specific template. If necessary drag &amp; drop to resolve dependency issues (due to incorrect order).</span>
348
+ </p>
349
+ <ul id="css_files" class="minify-files">
350
  <?php foreach ($css_groups as $css_theme => $css_templates): if (isset($templates[$css_theme])): ?>
351
  <?php $index = 0; foreach ($css_templates as $css_template => $css_locations): ?>
352
+ <?php foreach ((array) $css_locations as $css_location => $css_config): ?>
353
+ <?php if (! empty($css_config['files'])): foreach ((array) $css_config['files'] as $css_file): $index++; ?>
354
+ <li>
355
+ <table>
356
+ <tr>
357
+ <th>&nbsp;</th>
358
+ <th>File URI:</th>
359
+ <th colspan="2">Template:</th>
360
+ </tr>
361
+ <tr>
362
+ <td><?php echo $index; ?>.</td>
363
+ <td>
364
+ <input class="css_enabled" type="text"
365
+ <?php $this->sealing_disabled('minify') ?>
366
+ name="css_files[<?php echo htmlspecialchars($css_theme); ?>][<?php echo htmlspecialchars($css_template); ?>][<?php echo htmlspecialchars($css_location); ?>][]" value="<?php echo htmlspecialchars($css_file); ?>" size="70" /><br />
367
+ </td>
368
+ <td>
369
+ <select class="css_file_template css_enabled" <?php $this->sealing_disabled('minify') ?>>
370
+ <?php foreach ($templates[$css_theme] as $theme_template_key => $theme_template_name): ?>
371
+ <option value="<?php echo htmlspecialchars($theme_template_key); ?>"<?php selected($theme_template_key, $css_template); ?>><?php echo htmlspecialchars($theme_template_name); ?></option>
372
+ <?php endforeach; ?>
373
+ </select>
374
+ </td>
375
+ <td>
376
+ <input class="css_file_delete css_enabled button" type="button" value="Delete" />
377
+ <input class="css_file_verify css_enabled button" type="button" value="Verify URI" />
378
+ </td>
379
+ </tr>
380
+ </table>
381
+ </li>
382
+ <?php endforeach; endif; ?>
383
+ <?php endforeach; ?>
384
+ <?php endforeach; ?>
385
  <?php endif; endforeach; ?>
386
+ </ul>
387
  <div id="css_files_empty" class="w3tc-empty" style="display: none;">No <acronym title="Cascading Style Sheet">CSS</acronym> files added</div>
388
+ <input id="css_file_add" class="css_enabled button" type="button" value="Add a style sheet" />
389
+ </td>
390
+ </tr>
391
  <?php endif; ?>
392
  </table>
393
 
394
  <p class="submit">
395
  <?php echo $this->nonce_field('w3tc'); ?>
396
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
397
  </p>
398
  <?php echo $this->postbox_footer(); ?>
399
 
400
+ <?php echo $this->postbox_header('Advanced', '', 'advanced'); ?>
401
  <table class="form-table">
402
+ <?php if ($this->_config->get_string('minify.engine') == 'memcached'): ?>
 
 
 
 
 
 
 
 
 
 
403
  <tr>
404
+ <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
405
+ <td>
406
+ <input id="memcached_servers" type="text"
407
+ <?php $this->sealing_disabled('minify') ?>
408
+ name="minify.memcached.servers" value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('minify.memcached.servers'))); ?>" size="100" />
409
+ <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}"
410
+ type="button" value="Test" />
411
+ <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
412
+ <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
413
+ </td>
414
+ </tr>
415
+ <?php endif; ?>
416
+ <tr>
417
+ <th><label for="minify_lifetime">Update external files every:</label></th>
418
+ <td>
419
+ <input id="minify_lifetime" type="text" name="minify.lifetime"
420
+ <?php $this->sealing_disabled('minify') ?>
421
+ value="<?php echo $this->_config->get_integer('minify.lifetime'); ?>" size="8" /> seconds<br />
422
+ <span class="description">Specify the interval between download and update of external files in the minify cache. Hint: 6 hours is 21600 seconds. 12 hours is 43200 seconds. 24 hours is 86400 seconds.</span>
423
+ </td>
424
+ </tr>
425
+ <tr>
426
+ <th><label for="minify_file_gc">Garbage collection interval:</label></th>
427
+ <td>
428
+ <input id="minify_file_gc" type="text" name="minify.file.gc"
429
+ <?php $this->sealing_disabled('minify') ?>
430
+ value="<?php echo $this->_config->get_integer('minify.file.gc'); ?>" size="8"<?php if ($this->_config->get_string('minify.engine') != 'file'): ?> disabled="disabled"<?php endif; ?> /> seconds
431
+ <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
432
+ </td>
433
+ </tr>
434
  <tr>
435
  <th><label for="minify_reject_uri">Never minify the following pages:</label></th>
436
  <td>
437
+ <textarea id="minify_reject_uri" name="minify.reject.uri"
438
+ <?php $this->sealing_disabled('minify') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.reject.uri'))); ?></textarea><br />
439
  <span class="description">Always ignore the specified pages / directories.</span>
440
  </td>
441
  </tr>
442
+ <tr>
443
+ <th><label for="minify_reject_files_js">Never minify the following JS files:</label></th>
444
+ <td>
445
+ <textarea id="minify_reject_files_js" name="minify.reject.files.js"
446
+ <?php $this->sealing_disabled('minify') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.reject.files.js'))); ?></textarea><br />
447
+ <span class="description">Always ignore the specified JS files.</span>
448
+ </td>
449
+ </tr>
450
+ <tr>
451
+ <th><label for="minify_reject_files_css">Never minify the following CSS files:</label></th>
452
+ <td>
453
+ <textarea id="minify_reject_files_css" name="minify.reject.files.css"
454
+ <?php $this->sealing_disabled('minify') ?> cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.reject.files.css'))); ?></textarea><br />
455
+ <span class="description">Always ignore the specified CSS files.</span>
456
+ </td>
457
+ </tr>
458
+ <tr>
459
+ <th><label for="minify_reject_ua">Rejected user agents:</label></th>
460
+ <td>
461
+ <textarea id="minify_reject_ua" name="minify.reject.ua"
462
+ <?php $this->sealing_disabled('minify') ?>
463
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.reject.ua'))); ?></textarea><br />
464
+ <span class="description">Specify user agents that will never receive minified content.</span>
465
+ </td>
466
+ </tr>
467
+ <?php if ($auto): ?>
468
+ <tr>
469
+ <th><label for="minify_cache_files">Include external files/libaries:</label></th>
470
+ <td>
471
+ <textarea id="minify_cache_files" name="minify.cache.files"
472
+ <?php $this->sealing_disabled('minify') ?>
473
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('minify.cache.files'))); ?></textarea><br />
474
+ <span class="description">Specify external files/libraries that should be combined.</span>
475
+ </td>
476
+ </tr>
477
+ <?php endif; ?>
478
  </table>
479
 
480
  <p class="submit">
481
  <?php echo $this->nonce_field('w3tc'); ?>
482
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
483
  </p>
484
+ <?php echo $this->postbox_footer(); ?>
485
 
486
+ <?php echo $this->postbox_header('Note(s):', '', 'notes'); ?>
487
  <table class="form-table">
488
+ <tr>
489
+ <th colspan="2">
490
+ <ul>
491
+ <li>Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression in the "Cascading Style Sheets &amp; JavaScript" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
492
+ <li>The <acronym title="Time to Live">TTL</acronym> of page cache files is set via the "Expires header lifetime" field in the "Cascading Style Sheets &amp; JavaScript" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
493
+ </ul>
494
+ </th>
495
+ </tr>
496
  </table>
497
+ <?php echo $this->postbox_footer(); ?>
498
  </div>
499
  </form>
500
 
inc/options/minify/ccjs.php CHANGED
@@ -1,3 +1,9 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <input type="hidden" name="minify.ccjs.options.formatting" value="" />
3
- <label><input class="js_enabled" type="checkbox" name="minify.ccjs.options.formatting" value="pretty_print"<?php checked($this->_config->get_string('minify.ccjs.options.formatting'), 'pretty_print'); ?> /> Pretty print</label><br />
 
 
 
 
 
 
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <input type="hidden" name="minify.ccjs.options.formatting" value="" />
3
+ <label>
4
+ <input class="js_enabled" type="checkbox" name="minify.ccjs.options.formatting"
5
+ value="pretty_print"
6
+ <?php checked($this->_config->get_string('minify.ccjs.options.formatting'), 'pretty_print'); ?>
7
+ <?php $this->sealing_disabled('minify') ?> /> Pretty print
8
+ </label>
9
+ <br />
inc/options/minify/ccjs2.php CHANGED
@@ -14,23 +14,30 @@ $compilation_level = $this->_config->get_string('minify.ccjs.options.compilation
14
  ?>
15
  <tr>
16
  <th><label for="minify_ccjs_path_java">Path to JAVA executable:</label></th>
17
- <td><input id="minify_ccjs_path_java" class="js_enabled" type="text" name="minify.ccjs.path.java" value="<?php echo htmlspecialchars($this->_config->get_string('minify.ccjs.path.java')); ?>" size="60" /></td>
 
 
 
18
  </tr>
19
  <tr>
20
  <th><label for="minify_ccjs_path_jar">Path to JAR file:</label></th>
21
- <td><input id="minify_ccjs_path_jar" class="js_enabled" type="text" name="minify.ccjs.path.jar" value="<?php echo htmlspecialchars($this->_config->get_string('minify.ccjs.path.jar')); ?>" size="60" /></td>
 
 
 
22
  </tr>
23
  <tr>
24
  <th>&nbsp;</th>
25
  <td>
26
- <input class="minifier_test button {type: 'ccjs', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test Closure Compiler" />
27
  <span class="minifier_test_status w3tc-status w3tc-process"></span>
28
  </td>
29
  </tr>
30
  <tr>
31
  <th><label for="minify_ccjs_options_compilation_level">Compilation level:</label></th>
32
  <td>
33
- <select id="minify_ccjs_options_compilation_level" class="js_enabled" name="minify.ccjs.options.compilation_level">
 
34
  <?php foreach ($compilation_levels as $compilation_level_key => $compilation_level_name): ?>
35
  <option value="<?php echo $compilation_level_key; ?>"<?php selected($compilation_level, $compilation_level_key); ?>><?php echo $compilation_level_name; ?></option>
36
  <?php endforeach; ?>
14
  ?>
15
  <tr>
16
  <th><label for="minify_ccjs_path_java">Path to JAVA executable:</label></th>
17
+ <td>
18
+ <input id="minify_ccjs_path_java" class="js_enabled" type="text"
19
+ <?php $this->sealing_disabled('minify') ?> name="minify.ccjs.path.java" value="<?php echo htmlspecialchars($this->_config->get_string('minify.ccjs.path.java')); ?>" size="60" />
20
+ </td>
21
  </tr>
22
  <tr>
23
  <th><label for="minify_ccjs_path_jar">Path to JAR file:</label></th>
24
+ <td>
25
+ <input id="minify_ccjs_path_jar" class="js_enabled" type="text"
26
+ <?php $this->sealing_disabled('minify') ?> name="minify.ccjs.path.jar" value="<?php echo htmlspecialchars($this->_config->get_string('minify.ccjs.path.jar')); ?>" size="60" />
27
+ </td>
28
  </tr>
29
  <tr>
30
  <th>&nbsp;</th>
31
  <td>
32
+ <input class="minifier_test js_enabled button {type: 'ccjs', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test Closure Compiler" />
33
  <span class="minifier_test_status w3tc-status w3tc-process"></span>
34
  </td>
35
  </tr>
36
  <tr>
37
  <th><label for="minify_ccjs_options_compilation_level">Compilation level:</label></th>
38
  <td>
39
+ <select id="minify_ccjs_options_compilation_level" class="js_enabled" name="minify.ccjs.options.compilation_level"
40
+ <?php $this->sealing_disabled('minify') ?>>
41
  <?php foreach ($compilation_levels as $compilation_level_key => $compilation_level_name): ?>
42
  <option value="<?php echo $compilation_level_key; ?>"<?php selected($compilation_level, $compilation_level_key); ?>><?php echo $compilation_level_name; ?></option>
43
  <?php endforeach; ?>
inc/options/minify/css.php CHANGED
@@ -1,5 +1,3 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <input type="hidden" name="minify.css.strip.comments" value="0" />
3
- <input type="hidden" name="minify.css.strip.crlf" value="0" />
4
- <label><input class="css_enabled" type="checkbox" name="minify.css.strip.comments" value="1"<?php checked($this->_config->get_boolean('minify.css.strip.comments'), true); ?> /> Preserved comment removal (not applied when combine only is active)</label><br />
5
- <label><input class="css_enabled" type="checkbox" name="minify.css.strip.crlf" value="1"<?php checked($this->_config->get_boolean('minify.css.strip.crlf'), true); ?> /> Line break removal (not applied when combine only is active)</label><br />
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php $this->checkbox('minify.css.strip.comments', false, 'css_') ?> Preserved comment removal (not applied when combine only is active)</label><br />
3
+ <?php $this->checkbox('minify.css.strip.crlf', false, 'css_') ?> Line break removal (not applied when combine only is active)</label><br />
 
 
inc/options/minify/csstidy.php CHANGED
@@ -12,28 +12,19 @@ $css_levels = array(
12
 
13
  $css_level = $this->_config->get_string('minify.csstidy.options.css_level');
14
  ?>
15
- <input type="hidden" name="minify.csstidy.options.remove_bslash" value="0" />
16
- <input type="hidden" name="minify.csstidy.options.compress_colors" value="0" />
17
- <input type="hidden" name="minify.csstidy.options.compress_font-weight" value="0" />
18
- <input type="hidden" name="minify.csstidy.options.lowercase_s" value="0" />
19
- <input type="hidden" name="minify.csstidy.options.remove_last_;" value="0" />
20
- <input type="hidden" name="minify.csstidy.options.sort_properties" value="0" />
21
- <input type="hidden" name="minify.csstidy.options.sort_selectors" value="0" />
22
- <input type="hidden" name="minify.csstidy.options.discard_invalid_properties" value="0" />
23
- <input type="hidden" name="minify.csstidy.options.preserve_css" value="0" />
24
- <input type="hidden" name="minify.csstidy.options.timestamp" value="0" />
25
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.remove_bslash" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.remove_bslash'), true); ?> /> Remove unnecessary backslashes</label><br />
26
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.compress_colors" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.compress_colors'), true); ?> /> Compress colors</label><br />
27
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.compress_font-weight" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.compress_font-weight'), true); ?> /> Compress font-weight</label><br />
28
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.lowercase_s" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.lowercase_s'), true); ?> /> Lowercase selectors</label><br />
29
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.remove_last_;" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.remove_last_;'), true); ?> /> Remove last ;</label><br />
30
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.sort_properties" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.sort_properties'), true); ?> /> Sort Properties</label><br />
31
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.sort_selectors" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.sort_selectors'), true); ?> /> Sort Selectors (caution)</label><br />
32
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.discard_invalid_properties" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.discard_invalid_properties'), true); ?> /> Discard invalid properties</label>
33
- <select class="css_enabled" name="minify.csstidy.options.css_level">
34
  <?php foreach($css_levels as $_css_level): ?>
35
  <option value="<?php echo $_css_level; ?>"<?php selected($css_level, $_css_level); ?>><?php echo $_css_level; ?></option>
36
  <?php endforeach; ?>
37
  </select><br />
38
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.preserve_css" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.preserve_css'), true); ?> /> Preserve CSS</label><br />
39
- <label><input class="css_enabled" type="checkbox" name="minify.csstidy.options.timestamp" value="1"<?php checked($this->_config->get_boolean('minify.csstidy.options.timestamp'), true); ?> /> Add timestamp</label><br />
12
 
13
  $css_level = $this->_config->get_string('minify.csstidy.options.css_level');
14
  ?>
15
+ <?php $this->checkbox('minify.csstidy.options.remove_bslash', false, 'css_') ?> Remove unnecessary backslashes</label><br />
16
+ <?php $this->checkbox('minify.csstidy.options.compress_colors', false, 'css_') ?> Compress colors</label><br />
17
+ <?php $this->checkbox('minify.csstidy.options.compress_font-weight', false, 'css_') ?> Compress font-weight</label><br />
18
+ <?php $this->checkbox('minify.csstidy.options.lowercase_s', false, 'css_') ?> Lowercase selectors</label><br />
19
+ <?php $this->checkbox('minify.csstidy.options.remove_last_;', false, 'css_') ?> Remove last ;</label><br />
20
+ <?php $this->checkbox('minify.csstidy.options.sort_properties', false, 'css_') ?> Sort Properties</label><br />
21
+ <?php $this->checkbox('minify.csstidy.options.sort_selectors', false, 'css_') ?> Sort Selectors (caution)</label><br />
22
+ <?php $this->checkbox('minify.csstidy.options.discard_invalid_properties', false, 'css_') ?> Discard invalid properties</label>
23
+ <select class="css_enabled" name="minify.csstidy.options.css_level"
24
+ <?php $this->sealing_disabled('minify') ?>>
 
 
 
 
 
 
 
 
 
25
  <?php foreach($css_levels as $_css_level): ?>
26
  <option value="<?php echo $_css_level; ?>"<?php selected($css_level, $_css_level); ?>><?php echo $_css_level; ?></option>
27
  <?php endforeach; ?>
28
  </select><br />
29
+ <?php $this->checkbox('minify.csstidy.options.preserve_css', false, 'css_') ?> Preserve CSS</label><br />
30
+ <?php $this->checkbox('minify.csstidy.options.timestamp', false, 'css_') ?> Add timestamp</label><br />
inc/options/minify/csstidy2.php CHANGED
@@ -37,7 +37,8 @@ $merge_selectors = $this->_config->get_integer('minify.csstidy.options.merge_sel
37
  <tr>
38
  <th><label for="minify_csstidy_options_template">Compression:</label></th>
39
  <td>
40
- <select id="minify_csstidy_options_template" class="css_enabled" name="minify.csstidy.options.template">
 
41
  <?php foreach ($csstidy_templates as $csstidy_template_key => $csstidy_template_name): ?>
42
  <option value="<?php echo $csstidy_template_key; ?>"<?php selected($csstidy_template, $csstidy_template_key); ?>><?php echo $csstidy_template_name; ?></option>
43
  <?php endforeach; ?>
@@ -45,9 +46,10 @@ $merge_selectors = $this->_config->get_integer('minify.csstidy.options.merge_sel
45
  </td>
46
  </tr>
47
  <tr>
48
- <th><label for="minify_csstidy_options_optimise_shorthands">Optimise shorthands:</label></th>
49
  <td>
50
- <select id="minify_csstidy_options_optimise_shorthands" class="css_enabled" name="minify.csstidy.options.optimise_shorthands">
 
51
  <?php foreach ($optimise_shorthands_values as $optimise_shorthands_key => $optimise_shorthands_name): ?>
52
  <option value="<?php echo $optimise_shorthands_key; ?>"<?php selected($optimise_shorthands, $optimise_shorthands_key); ?>><?php echo $optimise_shorthands_name; ?></option>
53
  <?php endforeach; ?>
@@ -57,7 +59,8 @@ $merge_selectors = $this->_config->get_integer('minify.csstidy.options.merge_sel
57
  <tr>
58
  <th><label for="minify_csstidy_options_case_properties">Case for properties:</label></th>
59
  <td>
60
- <select id="minify_csstidy_options_case_properties" class="css_enabled" name="minify.csstidy.options.case_properties">
 
61
  <?php foreach ($case_properties_values as $case_properties_key => $case_properties_name): ?>
62
  <option value="<?php echo $case_properties_key; ?>"<?php selected($case_properties, $case_properties_key); ?>><?php echo $case_properties_name; ?></option>
63
  <?php endforeach; ?>
@@ -67,7 +70,8 @@ $merge_selectors = $this->_config->get_integer('minify.csstidy.options.merge_sel
67
  <tr>
68
  <th><label for="minify_csstidy_options_merge_selectors">Regroup selectors:</label></th>
69
  <td>
70
- <select id="minify_csstidy_options_merge_selectors" class="css_enabled" name="minify.csstidy.options.merge_selectors">
 
71
  <?php foreach ($merge_selectors_values as $merge_selectors_key => $merge_selectors_name): ?>
72
  <option value="<?php echo $merge_selectors_key; ?>"<?php selected($merge_selectors, $merge_selectors_key); ?>><?php echo $merge_selectors_name; ?></option>
73
  <?php endforeach; ?>
37
  <tr>
38
  <th><label for="minify_csstidy_options_template">Compression:</label></th>
39
  <td>
40
+ <select id="minify_csstidy_options_template" class="css_enabled" name="minify.csstidy.options.template"
41
+ <?php $this->sealing_disabled('minify') ?>>
42
  <?php foreach ($csstidy_templates as $csstidy_template_key => $csstidy_template_name): ?>
43
  <option value="<?php echo $csstidy_template_key; ?>"<?php selected($csstidy_template, $csstidy_template_key); ?>><?php echo $csstidy_template_name; ?></option>
44
  <?php endforeach; ?>
46
  </td>
47
  </tr>
48
  <tr>
49
+ <th><label for="minify_csstidy_options_optimise_shorthands">Optimize shorthands:</label></th>
50
  <td>
51
+ <select id="minify_csstidy_options_optimise_shorthands" class="css_enabled"
52
+ <?php $this->sealing_disabled('minify') ?> name="minify.csstidy.options.optimise_shorthands">
53
  <?php foreach ($optimise_shorthands_values as $optimise_shorthands_key => $optimise_shorthands_name): ?>
54
  <option value="<?php echo $optimise_shorthands_key; ?>"<?php selected($optimise_shorthands, $optimise_shorthands_key); ?>><?php echo $optimise_shorthands_name; ?></option>
55
  <?php endforeach; ?>
59
  <tr>
60
  <th><label for="minify_csstidy_options_case_properties">Case for properties:</label></th>
61
  <td>
62
+ <select id="minify_csstidy_options_case_properties" class="css_enabled"
63
+ <?php $this->sealing_disabled('minify') ?> name="minify.csstidy.options.case_properties">
64
  <?php foreach ($case_properties_values as $case_properties_key => $case_properties_name): ?>
65
  <option value="<?php echo $case_properties_key; ?>"<?php selected($case_properties, $case_properties_key); ?>><?php echo $case_properties_name; ?></option>
66
  <?php endforeach; ?>
70
  <tr>
71
  <th><label for="minify_csstidy_options_merge_selectors">Regroup selectors:</label></th>
72
  <td>
73
+ <select id="minify_csstidy_options_merge_selectors" class="css_enabled"
74
+ <?php $this->sealing_disabled('minify') ?> name="minify.csstidy.options.merge_selectors">
75
  <?php foreach ($merge_selectors_values as $merge_selectors_key => $merge_selectors_name): ?>
76
  <option value="<?php echo $merge_selectors_key; ?>"<?php selected($merge_selectors, $merge_selectors_key); ?>><?php echo $merge_selectors_name; ?></option>
77
  <?php endforeach; ?>
inc/options/minify/html.php CHANGED
@@ -1,3 +1,2 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <input type="hidden" name="minify.html.strip.crlf" value="0" />
3
- <label><input class="html_enabled" type="checkbox" name="minify.html.strip.crlf" value="1"<?php checked($this->_config->get_boolean('minify.html.strip.crlf'), true); ?> /> Line break removal</label><br />
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php $this->checkbox('minify.html.strip.crlf', false, 'html_') ?> Line break removal</label><br />
 
inc/options/minify/htmltidy.php CHANGED
@@ -1,5 +1,3 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <input type="hidden" name="minify.htmltidy.options.clean" value="0" />
3
- <input type="hidden" name="minify.htmltidy.options.hide-comments" value="0" />
4
- <label><input class="html_enabled" type="checkbox" name="minify.htmltidy.options.clean" value="1"<?php checked($this->_config->get_boolean('minify.htmltidy.options.clean'), true); ?> /> Clean</label><br />
5
- <label><input class="html_enabled" type="checkbox" name="minify.htmltidy.options.hide-comments" value="1"<?php checked($this->_config->get_boolean('minify.htmltidy.options.hide-comments'), true); ?> /> Hide comments</label><br />
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php $this->checkbox('minify.htmltidy.options.clean', false, 'html_') ?> Clean</label><br />
3
+ <?php $this->checkbox('minify.htmltidy.options.hide-comments', false, 'html_') ?> Hide comments</label><br />
 
 
inc/options/minify/htmltidy2.php CHANGED
@@ -1,5 +1,8 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
  <th><label for="minify_htmltidy_options_wrap">Wrap after:</label></th>
4
- <td><input id="minify_htmltidy_options_wrap" class="html_enabled" type="text" name="minify.htmltidy.options.wrap" value="<?php echo htmlspecialchars($this->_config->get_integer('minify.htmltidy.options.wrap')); ?>" size="8" style="text-align: right;" /> symbols (set to 0 to disable)</td>
 
 
 
5
  </tr>
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
  <th><label for="minify_htmltidy_options_wrap">Wrap after:</label></th>
4
+ <td>
5
+ <input id="minify_htmltidy_options_wrap" class="html_enabled" type="text"
6
+ <?php $this->sealing_disabled('minify') ?> name="minify.htmltidy.options.wrap" value="<?php echo htmlspecialchars($this->_config->get_integer('minify.htmltidy.options.wrap')); ?>" size="8" style="text-align: right;" /> symbols (set to 0 to disable)
7
+ </td>
8
  </tr>
inc/options/minify/index.html CHANGED
File without changes
inc/options/minify/js.php CHANGED
@@ -1,5 +1,3 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <input type="hidden" name="minify.js.strip.comments" value="0" />
3
- <input type="hidden" name="minify.js.strip.crlf" value="0" />
4
- <label><input class="js_enabled" type="checkbox" name="minify.js.strip.comments" value="1"<?php checked($this->_config->get_boolean('minify.js.strip.comments'), true); ?> /> Preserved comment removal (not applied when combine only is active)</label><br />
5
- <label><input class="js_enabled" type="checkbox" name="minify.js.strip.crlf" value="1"<?php checked($this->_config->get_boolean('minify.js.strip.crlf'), true); ?> /> Line break removal (not safe, not applied when combine only is active)</label><br />
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php $this->checkbox('minify.js.strip.comments', false, 'js_') ?> Preserved comment removal (not applied when combine only is active)</label><br />
3
+ <?php $this->checkbox('minify.js.strip.crlf', false, 'js_') ?> Line break removal (not safe, not applied when combine only is active)</label><br />
 
 
inc/options/minify/yuicss2.php CHANGED
@@ -1,20 +1,26 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
  <th><label for="minify_yuicss_path_java">Path to JAVA executable:</label></th>
4
- <td><input class="css_enabled" id="minify_yuicss_path_java" type="text" name="minify.yuicss.path.java" value="<?php echo htmlspecialchars($this->_config->get_string('minify.yuicss.path.java')); ?>" size="100" /></td>
 
 
5
  </tr>
6
  <tr>
7
  <th><label for="minify_yuicss_path_jar">Path to JAR file:</label></th>
8
- <td><input class="css_enabled" id="minify_yuicss_path_jar" type="text" name="minify.yuicss.path.jar" value="<?php echo htmlspecialchars($this->_config->get_string('minify.yuicss.path.jar')); ?>" size="100" /></td>
 
 
9
  </tr>
10
  <tr>
11
  <th>&nbsp;</th>
12
  <td>
13
- <input class="minifier_test button {type: 'yuicss', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test YUI Compressor" />
14
  <span class="minifier_test_status w3tc-status w3tc-process"></span>
15
  </td>
16
  </tr>
17
  <tr>
18
  <th><label for="minify_yuicss_options_line-break">Line break after:</label></th>
19
- <td><input class="css_enabled" id="minify_yuicss_options_line-break" type="text" name="minify.yuicss.options.line-break" value="<?php echo htmlspecialchars($this->_config->get_integer('minify.yuicss.options.line-break')); ?>" size="8" style="text-align: right;" /> symbols (set to 0 to disable)</td>
 
 
20
  </tr>
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
  <th><label for="minify_yuicss_path_java">Path to JAVA executable:</label></th>
4
+ <td>
5
+ <input class="css_enabled" id="minify_yuicss_path_java" type="text"
6
+ <?php $this->sealing_disabled('minify') ?> name="minify.yuicss.path.java" value="<?php echo htmlspecialchars($this->_config->get_string('minify.yuicss.path.java')); ?>" size="100" /></td>
7
  </tr>
8
  <tr>
9
  <th><label for="minify_yuicss_path_jar">Path to JAR file:</label></th>
10
+ <td>
11
+ <input class="css_enabled" id="minify_yuicss_path_jar" type="text"
12
+ <?php $this->sealing_disabled('minify') ?> name="minify.yuicss.path.jar" value="<?php echo htmlspecialchars($this->_config->get_string('minify.yuicss.path.jar')); ?>" size="100" /></td>
13
  </tr>
14
  <tr>
15
  <th>&nbsp;</th>
16
  <td>
17
+ <input class="minifier_test button css_enabled {type: 'yuicss', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test YUI Compressor" />
18
  <span class="minifier_test_status w3tc-status w3tc-process"></span>
19
  </td>
20
  </tr>
21
  <tr>
22
  <th><label for="minify_yuicss_options_line-break">Line break after:</label></th>
23
+ <td>
24
+ <input class="css_enabled" id="minify_yuicss_options_line-break"
25
+ <?php $this->sealing_disabled('minify') ?> type="text" name="minify.yuicss.options.line-break" value="<?php echo htmlspecialchars($this->_config->get_integer('minify.yuicss.options.line-break')); ?>" size="8" style="text-align: right;" /> symbols (set to 0 to disable)</td>
26
  </tr>
inc/options/minify/yuijs.php CHANGED
@@ -1,7 +1,4 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <input type="hidden" name="minify.yuijs.options.nomunge" value="0" />
3
- <input type="hidden" name="minify.yuijs.options.preserve-semi" value="0" />
4
- <input type="hidden" name="minify.yuijs.options.disable-optimizations" value="0" />
5
- <label><input class="js_enabled" type="checkbox" name="minify.yuijs.options.nomunge" value="1"<?php checked($this->_config->get_boolean('minify.yuijs.options.nomunge'), true); ?> /> Minify only, do not obfuscate local symbols</label><br />
6
- <label><input class="js_enabled" type="checkbox" name="minify.yuijs.options.preserve-semi" value="1"<?php checked($this->_config->get_boolean('minify.yuijs.options.preserve-semi'), true); ?> /> Preserve unnecessary semicolons</label><br />
7
- <label><input class="js_enabled" type="checkbox" name="minify.yuijs.options.disable-optimizations" value="1"<?php checked($this->_config->get_boolean('minify.yuijs.options.disable-optimizations'), true); ?> /> Disable all the built-in micro optimizations</label><br />
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php $this->checkbox('minify.yuijs.options.nomunge', false, 'js_') ?> Minify only, do not obfuscate local symbols</label><br />
3
+ <?php $this->checkbox('minify.yuijs.options.preserve-semi', false, 'js_') ?> Preserve unnecessary semicolons</label><br />
4
+ <?php $this->checkbox('minify.yuijs.options.disable-optimizations', false, 'js_') ?> Disable all the built-in micro optimizations</label><br />
 
 
 
inc/options/minify/yuijs2.php CHANGED
@@ -1,20 +1,30 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
  <th><label for="minify_yuijs_path_java">Path to JAVA executable:</label></th>
4
- <td><input id="minify_yuijs_path_java" class="js_enabled" type="text" name="minify.yuijs.path.java" value="<?php echo htmlspecialchars($this->_config->get_string('minify.yuijs.path.java')); ?>" size="100" /></td>
 
 
 
5
  </tr>
6
  <tr>
7
  <th><label for="minify_yuijs_path_jar">Path to JAR file:</label></th>
8
- <td><input id="minify_yuijs_path_jar" class="js_enabled" type="text" name="minify.yuijs.path.jar" value="<?php echo htmlspecialchars($this->_config->get_string('minify.yuijs.path.jar')); ?>" size="100" /></td>
 
 
 
9
  </tr>
10
  <tr>
11
  <th>&nbsp;</th>
12
  <td>
13
- <input class="minifier_test button {type: 'yuijs', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test YUI Compressor" />
14
  <span class="minifier_test_status w3tc-status w3tc-process"></span>
15
  </td>
16
  </tr>
17
  <tr>
18
  <th><label for="minify_yuijs_options_line-break">Line break after:</label></th>
19
- <td><input id="minify_yuijs_options_line-break" class="js_enabled" type="text" name="minify.yuijs.options.line-break" value="<?php echo htmlspecialchars($this->_config->get_integer('minify.yuijs.options.line-break')); ?>" size="8" style="text-align: right;" /> symbols (set to 0 to disable)</td>
 
 
 
 
20
  </tr>
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <tr>
3
  <th><label for="minify_yuijs_path_java">Path to JAVA executable:</label></th>
4
+ <td>
5
+ <input id="minify_yuijs_path_java" class="js_enabled" type="text"
6
+ <?php $this->sealing_disabled('minify') ?> name="minify.yuijs.path.java" value="<?php echo htmlspecialchars($this->_config->get_string('minify.yuijs.path.java')); ?>" size="100" />
7
+ </td>
8
  </tr>
9
  <tr>
10
  <th><label for="minify_yuijs_path_jar">Path to JAR file:</label></th>
11
+ <td>
12
+ <input id="minify_yuijs_path_jar" class="js_enabled" type="text"
13
+ <?php $this->sealing_disabled('minify') ?> name="minify.yuijs.path.jar" value="<?php echo htmlspecialchars($this->_config->get_string('minify.yuijs.path.jar')); ?>" size="100" />
14
+ </td>
15
  </tr>
16
  <tr>
17
  <th>&nbsp;</th>
18
  <td>
19
+ <input class="minifier_test button js_enabled {type: 'yuijs', nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test YUI Compressor" />
20
  <span class="minifier_test_status w3tc-status w3tc-process"></span>
21
  </td>
22
  </tr>
23
  <tr>
24
  <th><label for="minify_yuijs_options_line-break">Line break after:</label></th>
25
+ <td>
26
+ <input id="minify_yuijs_options_line-break" class="js_enabled"
27
+ type="text" <?php $this->sealing_disabled('minify') ?>
28
+ name="minify.yuijs.options.line-break" value="<?php echo htmlspecialchars($this->_config->get_integer('minify.yuijs.options.line-break')); ?>" size="8" style="text-align: right;" /> symbols (set to 0 to disable)
29
+ </td>
30
  </tr>
inc/options/mobile.php CHANGED
@@ -14,75 +14,88 @@ mobile_themes['<?php echo addslashes($theme_key); ?>'] = '<?php echo addslashes(
14
 
15
  <form id="mobile_form" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
16
  <div class="metabox-holder">
17
- <?php echo $this->postbox_header('Manage User Agent Groups'); ?>
18
- <p>
19
- <input id="mobile_add" type="button" class="button" value="Create a group" /> of user agents by specifying names in the user agents field. Assign a set of user agents to use a specific theme, redirect them to another domain or if an existing mobile plugin is active, create user agent groups to ensure that a unique cache is created for each user agent group. Drag and drop groups into order (if needed) to determine their priority (top -&gt; down).
20
- </p>
21
 
22
- <ul id="mobile_groups">
23
- <?php $index = 0; foreach ($groups as $group => $group_config): $index++; ?>
24
- <li id="mobile_group_<?php echo htmlspecialchars($group); ?>">
25
  <table class="form-table">
26
- <tr>
27
- <th>
28
- Group name:
29
- </th>
30
- <td>
31
- <span class="mobile_group_number"><?php echo $index; ?>.</span> <span class="mobile_group"><?php echo htmlspecialchars($group); ?></span> <input type="button" class="button mobile_delete" value="Delete group" />
32
- </td>
33
- </tr>
34
- <tr>
35
- <th>
36
- <label for="mobile_groups_<?php echo htmlspecialchars($group); ?>_enabled">Enabled:</label>
37
- </th>
38
- <td>
39
- <input type="hidden" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][enabled]" value="0" />
40
- <input id="mobile_groups_<?php echo htmlspecialchars($group); ?>_enabled" type="checkbox" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][enabled]" value="1"<?php checked($group_config['enabled'], true); ?> />
41
- </td>
42
- </tr>
43
- <tr>
44
- <th>
45
- <label for="mobile_groups_<?php echo htmlspecialchars($group); ?>_theme">Theme:</label>
46
- </th>
47
- <td>
48
- <select id="mobile_groups_<?php echo htmlspecialchars($group); ?>_theme" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][theme]">
49
- <option value="">-- Pass-through --</option>
50
- <?php foreach ($themes as $theme_key => $theme_name): ?>
51
- <option value="<?php echo htmlspecialchars($theme_key); ?>"<?php selected($theme_key, $group_config['theme']); ?>><?php echo htmlspecialchars($theme_name); ?></option>
52
- <?php endforeach; ?>
53
- </select>
54
- <br /><span class="description">Assign this group of user agents to a specific theme. Selecting "Pass-through" allows any plugin(s) (e.g. mobile plugins) to properly handle requests for these user agents. If the "redirect users to" field is not empty, this setting is ignored.</span>
55
- </td>
56
- </tr>
57
- <tr>
58
- <th>
59
- <label for="mobile_groups_<?php echo htmlspecialchars($group); ?>_redirect">Redirect users to:</label>
60
- </th>
61
- <td>
62
- <input id="mobile_groups_<?php echo htmlspecialchars($group); ?>_redirect" type="text" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][redirect]" value="<?php echo htmlspecialchars($group_config['redirect']); ?>" size="60" />
63
- <br /><span class="description">A 302 redirect is used to send this group of users to another hostname (domain); recommended if a 3rd party service provides a mobile version of your site.</span>
64
- </td>
65
- </tr>
66
- <tr>
67
- <th>
68
- <label for="mobile_groups_<?php echo htmlspecialchars($group); ?>_agents">User agents:</label>
69
- </th>
70
- <td>
71
- <textarea id="mobile_groups_<?php echo htmlspecialchars($group); ?>_agents" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][agents]" rows="10" cols="50"><?php echo htmlspecialchars(implode("\r\n", (array) $group_config['agents'])); ?></textarea>
72
- <br /><span class="description">Specify the user agents for this group. Remember to escape special characters like spaces, dots or dashes with a backslash. Regular expressions are also supported.</span>
73
- </td>
74
- </tr>
75
  </table>
76
  </li>
77
- <?php endforeach; ?>
78
- </ul>
79
- <div id="mobile_groups_empty" style="display: none;">No groups added. All user agents recieve the same page and minify cache results.</div>
80
 
81
  <p class="submit">
82
  <?php echo $this->nonce_field('w3tc'); ?>
83
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
84
  </p>
85
- <?php echo $this->postbox_footer(); ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  </div>
87
  </form>
88
 
14
 
15
  <form id="mobile_form" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
16
  <div class="metabox-holder">
17
+ <?php echo $this->postbox_header('Manage User Agent Groups', '', 'manage'); ?>
18
+ <p>
19
+ <input id="mobile_add" type="button" class="button" value="Create a group" /> of user agents by specifying names in the user agents field. Assign a set of user agents to use a specific theme, redirect them to another domain or if an existing mobile plugin is active, create user agent groups to ensure that a unique cache is created for each user agent group. Drag and drop groups into order (if needed) to determine their priority (top -&gt; down).
20
+ </p>
21
 
22
+ <ul id="mobile_groups">
23
+ <?php $index = 0; foreach ($groups as $group => $group_config): $index++; ?>
24
+ <li id="mobile_group_<?php echo htmlspecialchars($group); ?>">
25
  <table class="form-table">
26
+ <tr>
27
+ <th>
28
+ Group name:
29
+ </th>
30
+ <td>
31
+ <span class="mobile_group_number"><?php echo $index; ?>.</span> <span class="mobile_group"><?php echo htmlspecialchars($group); ?></span> <input type="button" class="button mobile_delete" value="Delete group" />
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <th>
36
+ <label for="mobile_groups_<?php echo htmlspecialchars($group); ?>_enabled">Enabled:</label>
37
+ </th>
38
+ <td>
39
+ <input type="hidden" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][enabled]" value="0" />
40
+ <input id="mobile_groups_<?php echo htmlspecialchars($group); ?>_enabled" type="checkbox" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][enabled]" value="1"<?php checked($group_config['enabled'], true); ?> />
41
+ </td>
42
+ </tr>
43
+ <tr>
44
+ <th>
45
+ <label for="mobile_groups_<?php echo htmlspecialchars($group); ?>_theme">Theme:</label>
46
+ </th>
47
+ <td>
48
+ <select id="mobile_groups_<?php echo htmlspecialchars($group); ?>_theme" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][theme]">
49
+ <option value="">-- Pass-through --</option>
50
+ <?php foreach ($themes as $theme_key => $theme_name): ?>
51
+ <option value="<?php echo htmlspecialchars($theme_key); ?>"<?php selected($theme_key, $group_config['theme']); ?>><?php echo htmlspecialchars($theme_name); ?></option>
52
+ <?php endforeach; ?>
53
+ </select>
54
+ <br /><span class="description">Assign this group of user agents to a specific theme. Selecting "Pass-through" allows any plugin(s) (e.g. mobile plugins) to properly handle requests for these user agents. If the "redirect users to" field is not empty, this setting is ignored.</span>
55
+ </td>
56
+ </tr>
57
+ <tr>
58
+ <th>
59
+ <label for="mobile_groups_<?php echo htmlspecialchars($group); ?>_redirect">Redirect users to:</label>
60
+ </th>
61
+ <td>
62
+ <input id="mobile_groups_<?php echo htmlspecialchars($group); ?>_redirect" type="text" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][redirect]" value="<?php echo htmlspecialchars($group_config['redirect']); ?>" size="60" />
63
+ <br /><span class="description">A 302 redirect is used to send this group of users to another hostname (domain); recommended if a 3rd party service provides a mobile version of your site.</span>
64
+ </td>
65
+ </tr>
66
+ <tr>
67
+ <th>
68
+ <label for="mobile_groups_<?php echo htmlspecialchars($group); ?>_agents">User agents:</label>
69
+ </th>
70
+ <td>
71
+ <textarea id="mobile_groups_<?php echo htmlspecialchars($group); ?>_agents" name="mobile_groups[<?php echo htmlspecialchars($group); ?>][agents]" rows="10" cols="50"><?php echo htmlspecialchars(implode("\r\n", (array) $group_config['agents'])); ?></textarea>
72
+ <br /><span class="description">Specify the user agents for this group. Remember to escape special characters like spaces, dots or dashes with a backslash. Regular expressions are also supported.</span>
73
+ </td>
74
+ </tr>
75
  </table>
76
  </li>
77
+ <?php endforeach; ?>
78
+ </ul>
79
+ <div id="mobile_groups_empty" style="display: none;">No groups added. All user agents recieve the same page and minify cache results.</div>
80
 
81
  <p class="submit">
82
  <?php echo $this->nonce_field('w3tc'); ?>
83
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
84
  </p>
85
+ <?php echo $this->postbox_footer(); ?>
86
+
87
+ <?php echo $this->postbox_header('Note(s):', '', 'notes'); ?>
88
+ <table class="form-table">
89
+ <tr>
90
+ <th colspan="2">
91
+ <ul>
92
+ <li>Enabling even a single user agent group will set a cookie called "w3tc_referrer." It is used to ensure a consistent user experience across page views. Make sure any reverse proxy servers etc respect this cookie for proper operation.</li>
93
+ <li>Per the above, make sure that visitors are notified about the cookie as per any regulations in your market.</li>
94
+ </ul>
95
+ </th>
96
+ </tr>
97
+ </table>
98
+ <?php echo $this->postbox_footer(); ?>
99
  </div>
100
  </form>
101
 
inc/options/new_relic.php ADDED
@@ -0,0 +1,171 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
+ <p>
4
+ <?php _e('Monitoring via New Relic is currently','w3-total-cache') ?> <span class="w3tc-<?php if ($new_relic_enabled): ?>enabled"><?php _e('enabled', 'w3-total-cache')?><?php else: ?>disabled"><?php _e('disabled', 'w3-total-cache')?><?php endif; ?></span>.
5
+ </p>
6
+ <div class="metabox-holder">
7
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
8
+ <?php echo $this->postbox_header(__('Application Settings', 'w3-total-cache'), '', 'application'); ?>
9
+ <?php if ($new_relic_enabled && $application_settings): ?>
10
+ <table class="form-table">
11
+ <tr>
12
+ <th>
13
+ <label>Application ID:</label>
14
+ </th>
15
+ <td>
16
+ <?php esc_attr_e($application_settings['application-id'])?>
17
+ </td>
18
+ </tr>
19
+ <tr>
20
+ <th>
21
+ <label>Application name:</label>
22
+ </th>
23
+ <td>
24
+ <?php esc_attr_e($application_settings['name'])?>
25
+ </td>
26
+ </tr>
27
+ <tr>
28
+ <th>
29
+ <label for="alerts-enabled">Alerts enabled:</label>
30
+ </th>
31
+ <td>
32
+ <input name="alerts-enabled]" type="hidden" value="false" />
33
+ <input id="alerts-enabled" name="application[alerts_enabled]" type="checkbox" value="1" <?php checked($application_settings['alerts-enabled'], 'true') ?> <?php $this->sealing_disabled('newrelic') ?>/>
34
+ </td>
35
+ </tr>
36
+ <tr>
37
+ <th>
38
+ <label for="app-apdex-t">Application ApDex Threshold:</label>
39
+ </th>
40
+ <td>
41
+ <input id="app-apdex-t" name="application[app_apdex_t]" type="text" value="<?php esc_attr_e($application_settings['app-apdex-t'])?>" <?php $this->sealing_disabled('newrelic') ?>/>
42
+ </td>
43
+ </tr>
44
+ <tr>
45
+ <th>
46
+ <label for="rum-apdex-t"><acronym title="Real User Monitoring">RUM</acronym> ApDex Threshold:</label>
47
+ </th>
48
+ <td>
49
+ <input id="rum-apdex-t" name="application[rum_apdex_t]" type="text" value="<?php esc_attr_e($application_settings['rum-apdex-t'])?>" <?php $this->sealing_disabled('newrelic') ?>/>
50
+ </td>
51
+ </tr>
52
+ <tr>
53
+ <th>
54
+ <label for="rum-enabled"><acronym title="Real User Monitoring">RUM</acronym> enabled:</label>
55
+ </th>
56
+ <td>
57
+ <input name="rum-enabled]" type="hidden" value="false" />
58
+ <input id="rum-enabled" name="application[rum_enabled]" type="checkbox" value="1" <?php checked($application_settings['rum-enabled'], 'true') ?> <?php $this->sealing_disabled('newrelic') ?>/>
59
+ </td>
60
+ </tr>
61
+ </table>
62
+ <p class="submit">
63
+ <?php echo $this->nonce_field('w3tc'); ?>
64
+ <input type="submit" name="w3tc_save_new_relic" class="w3tc-button-save button-primary" value="Save New Relic settings" />
65
+ </p>
66
+ <?php elseif(empty($application_settings)): ?>
67
+ <p><span class="description"><?php echo sprintf(__('Application settings could not be retrieved. New Relic may not be properly configured, <a href="%s">review the settings</a>.', 'w3-total-cache'),network_admin_url('admin.php?page=w3tc_general#monitoring')) ?></span></p>
68
+ <?php else: ?>
69
+ <p><?php _e('Application settings are only visible when New Relic is enabled', 'w3-total-cache', 'w3-total-cache') ?></p>
70
+ <?php endif; ?>
71
+ <?php echo $this->postbox_footer(); ?>
72
+ </form>
73
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
74
+
75
+ <?php echo $this->postbox_header(__('Dashboard Settings', 'w3-total-cache'), '', 'dashboard'); ?>
76
+ <table class="form-table">
77
+ <tr>
78
+ <th><label for="newrelic_cache_time"><?php _e('Cache time:', 'w3-total-cache')?></label></th>
79
+ <td><input id="newrelic_cache_time" name="newrelic.cache_time" type="text" value="<?php esc_attr_e($this->_config->get_integer('newrelic.cache_time', 5))?>" />
80
+ <p><span class="description">
81
+ <?php _e('How many minutes data retrieved from New Relic should be stored. Minimum is 1 minute.', 'w3-total-cache') ?>
82
+ </span>
83
+ </p>
84
+ </td>
85
+ </tr>
86
+ </table>
87
+ <p class="submit">
88
+ <?php echo $this->nonce_field('w3tc'); ?>
89
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save settings" />
90
+ </p>
91
+ <?php echo $this->postbox_footer(); ?>
92
+ <?php echo $this->postbox_header(__('Behavior Settings', 'w3-total-cache'), '', 'behavior'); ?>
93
+ <table class="form-table">
94
+ <tr>
95
+ <th colspan="2">
96
+ <?php $this->checkbox('newrelic.accept.logged_roles') ?> <?php _e('Use <acronym title="Real User Monitoring">RUM</acronym> only for following user roles', 'w3-total-cache') ?></label><br />
97
+ <p>
98
+ <span class="description"><?php _e('Select user roles that <acronym title="Real User Monitoring">RUM</acronym> should be enabled for:', 'w3-total-cache') ?></span>
99
+ </p>
100
+ <div id="newrelic_accept_roles">
101
+ <?php $saved_roles = $this->_config->get_array('newrelic.accept.roles'); ?>
102
+ <input type="hidden" name="newrelic.accept.roles" value="" /><br />
103
+ <?php foreach( get_editable_roles() as $role_name => $role_data ) : ?>
104
+ <input type="checkbox" name="newrelic.accept.roles[]" value="<?php echo $role_name ?>"
105
+ <?php checked( in_array( $role_name, $saved_roles ) ) ?> id="role_<?php echo $role_name ?>" <?php $this->sealing_disabled('newrelic') ?>/>
106
+ <label for="role_<?php echo $role_name ?>"><?php echo $role_data['name'] ?></label>
107
+ <?php endforeach; ?>
108
+ </div>
109
+ </th>
110
+ </tr>
111
+ <?php if(w3_is_network() && w3_get_blog_id() == 0): ?>
112
+ <tr>
113
+ <th><label for="newrelic_appname_prefix"><?php _e('Prefix network sites:', 'w3-total-cache') ?></label></th>
114
+ <td><input id="newrelic_appname_prefix" name="newrelic.appname_prefix" type="text" value="<?php echo $this->_config->get_string('newrelic.appname_prefix')?>" /></td>
115
+ </tr>
116
+ <tr>
117
+ <th><label for="newrelic_merge_with_network"><?php _e('Include network sites stats in network:', 'w3-total-cache') ?></label></th>
118
+ <td>
119
+ <input name="newrelic.merge_with_network" type="hidden" value="0" />
120
+ <input id="newrelic_merge_with_network" name="newrelic.merge_with_network" type="checkbox" value="1" <?php checked($this->_config->get_boolean('newrelic.merge_with_network')) ?> />
121
+ <p><span class="description">
122
+ <?php _e('This means that the data collected for sites in the network will be included in the main network sites data on New Relic.', 'w3-total-cache')?>
123
+ </span>
124
+ </p>
125
+ </td>
126
+ </tr>
127
+ <?php endif ?>
128
+ <tr>
129
+ <th><label for="newrelic_use_php_function"><?php _e('Use PHP function to set application name:', 'w3-total-cache') ?></label></th>
130
+ <td>
131
+ <?php if (w3_is_network()): ?>
132
+ <input id="newrelic_use_php_function" name="newrelic.use_php_function" type="checkbox" value="1" checked="checked" disabled="disabled" />
133
+ <p><span class="description">
134
+ <?php _e('This is required when using New Relic on a network install to set the proper names for sites.', 'w3-total-cache') ?></span></p>
135
+ <?php else: ?>
136
+ <input name="newrelic.use_php_function" type="hidden" value="0" />
137
+ <input id="newrelic_use_php_function" name="newrelic.use_php_function" type="checkbox" value="1" <?php checked($this->_config->get_boolean('newrelic.use_php_function')) ?>/>
138
+ <p><span class="description">
139
+ <?php _e('If you use php-fpm or nginx enable this to set proper application name.', 'w3-total-cache') ?></span>
140
+ </p>
141
+ <?php endif ?>
142
+ </td>
143
+ </tr>
144
+ <tr>
145
+ <th><label for="newrelic_enable_xmit"><?php _e('Enable XMIT', 'w3-total-cache') ?></label></th>
146
+ <td><input name="" type="hidden" value="0" />
147
+ <input id="newrelic_enable_xmit" name="newrelic.enable_xmit" type="checkbox" value="1" <?php checked($this->_config->get_boolean('newrelic.enable_xmit')) ?> <?php $this->sealing_disabled('newrelic') ?>/>
148
+ <p><span class="description"><?php _e(sprintf('Enable this if you want to record the metric and transaction data up to the point when application name is changed using PHP function, you can specify a value of true for this argument to make the agent send the transaction to the daemon. This has a very slight performance impact as it takes a few milliseconds for the agent to dump its data. <em>From %s</em>',
149
+ '<a href="https://newrelic.com/docs/php/the-php-api">New Relic PHP API doc</a>')
150
+ , 'w3-total-cache')?></span></p>
151
+ </td>
152
+ </tr>
153
+ </table>
154
+ <p class="submit">
155
+ <?php echo $this->nonce_field('w3tc'); ?>
156
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save settings" />
157
+ </p>
158
+ <?php echo $this->postbox_footer(); ?>
159
+ </form>
160
+ </div>
161
+ <?php if ($view_metric):?>
162
+ <table>
163
+ <?php foreach($metric_names as $metric):?>
164
+ <tr>
165
+ <th style="text-align: right"><strong><?php echo $metric->name ?></strong></th>
166
+ <td><?php echo implode(', ', $metric->fields) ?></td>
167
+ </tr>
168
+ <?php endforeach; ?>
169
+ </table>
170
+ <?php endif; ?>
171
+ <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
inc/options/objectcache.php CHANGED
@@ -8,63 +8,68 @@
8
  is currently <span class="w3tc-<?php if ($objectcache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
9
  </p>
10
  <p>
11
- To rebuild the object cache use the
12
  <?php echo $this->nonce_field('w3tc'); ?>
13
  <input type="submit" name="w3tc_flush_objectcache" value="empty cache"<?php if (! $objectcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
14
- operation.
15
  </p>
16
  </form>
17
 
18
  <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
19
  <div class="metabox-holder">
20
- <?php echo $this->postbox_header('Advanced'); ?>
21
  <table class="form-table">
22
- <?php if ($this->_config->get_string('objectcache.engine') == 'memcached'): ?>
23
- <tr>
24
- <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
25
- <td>
26
- <input id="memcached_servers" type="text" name="objectcache.memcached.servers" value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('objectcache.memcached.servers'))); ?>" size="100" />
27
- <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test" />
28
- <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
29
- <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
30
- </td>
31
- </tr>
32
- <?php endif; ?>
33
- <tr>
34
- <th style="width: 250px;"><label for="objectcache_lifetime">Default lifetime of cache objects:</label></th>
35
- <td>
36
- <input id="objectcache_lifetime" type="text" name="objectcache.lifetime" value="<?php echo $this->_config->get_integer('objectcache.lifetime'); ?>" size="8" /> seconds
37
- <br /><span class="description">Determines the natural expiration time of unchanged cache items. The higher the value, the larger the cache.</span>
38
- </td>
39
- </tr>
40
- <tr>
41
- <th><label for="objectcache_file_gc">Garbage collection interval:</label></th>
42
- <td>
43
- <input id="objectcache_file_gc" type="text" name="objectcache.file.gc" value="<?php echo $this->_config->get_integer('objectcache.file.gc'); ?>" size="8" /> seconds
44
- <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
45
- </td>
46
- </tr>
47
- <tr>
48
- <th><label for="objectcache_groups_global">Global groups:</label></th>
49
- <td>
50
- <textarea id="objectcache_groups_global" name="objectcache.groups.global" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('objectcache.groups.global'))); ?></textarea>
51
- <br /><span class="description">Groups shared amongst sites in network mode.</span>
52
- </td>
53
- </tr>
54
- <tr>
55
- <th><label for="objectcache_groups_nonpersistent">Non-persistent groups:</label></th>
56
- <td>
57
- <textarea id="objectcache_groups_nonpersistent" name="objectcache.groups.nonpersistent" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('objectcache.groups.nonpersistent'))); ?></textarea>
58
- <br /><span class="description">Groups that should not be cached.</span>
59
- </td>
60
- </tr>
 
 
 
 
 
61
  </table>
62
 
63
  <p class="submit">
64
  <?php echo $this->nonce_field('w3tc'); ?>
65
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
66
  </p>
67
- <?php echo $this->postbox_footer(); ?>
68
  </div>
69
  </form>
70
 
8
  is currently <span class="w3tc-<?php if ($objectcache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
9
  </p>
10
  <p>
11
+ To rebuild the object cache use the
12
  <?php echo $this->nonce_field('w3tc'); ?>
13
  <input type="submit" name="w3tc_flush_objectcache" value="empty cache"<?php if (! $objectcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
14
+ operation.
15
  </p>
16
  </form>
17
 
18
  <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
19
  <div class="metabox-holder">
20
+ <?php echo $this->postbox_header('Advanced', '', 'advanced'); ?>
21
  <table class="form-table">
22
+ <?php if ($this->_config->get_string('objectcache.engine') == 'memcached'): ?>
23
+ <tr>
24
+ <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
25
+ <td>
26
+ <input id="memcached_servers" type="text"
27
+ <?php $this->sealing_disabled('objectcache') ?> name="objectcache.memcached.servers" value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('objectcache.memcached.servers'))); ?>" size="100" />
28
+ <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test" />
29
+ <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
30
+ <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
31
+ </td>
32
+ </tr>
33
+ <?php endif; ?>
34
+ <tr>
35
+ <th style="width: 250px;"><label for="objectcache_lifetime">Default lifetime of cache objects:</label></th>
36
+ <td>
37
+ <input id="objectcache_lifetime" type="text"
38
+ <?php $this->sealing_disabled('objectcache') ?> name="objectcache.lifetime" value="<?php echo $this->_config->get_integer('objectcache.lifetime'); ?>" size="8" /> seconds
39
+ <br /><span class="description">Determines the natural expiration time of unchanged cache items. The higher the value, the larger the cache.</span>
40
+ </td>
41
+ </tr>
42
+ <tr>
43
+ <th><label for="objectcache_file_gc">Garbage collection interval:</label></th>
44
+ <td>
45
+ <input id="objectcache_file_gc" type="text"
46
+ <?php $this->sealing_disabled('objectcache') ?> name="objectcache.file.gc" value="<?php echo $this->_config->get_integer('objectcache.file.gc'); ?>" size="8" /> seconds
47
+ <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
48
+ </td>
49
+ </tr>
50
+ <tr>
51
+ <th><label for="objectcache_groups_global">Global groups:</label></th>
52
+ <td>
53
+ <textarea id="objectcache_groups_global"
54
+ <?php $this->sealing_disabled('objectcache') ?> name="objectcache.groups.global" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('objectcache.groups.global'))); ?></textarea>
55
+ <br /><span class="description">Groups shared amongst sites in network mode.</span>
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <th><label for="objectcache_groups_nonpersistent">Non-persistent groups:</label></th>
60
+ <td>
61
+ <textarea id="objectcache_groups_nonpersistent"
62
+ <?php $this->sealing_disabled('objectcache') ?> name="objectcache.groups.nonpersistent" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('objectcache.groups.nonpersistent'))); ?></textarea>
63
+ <br /><span class="description">Groups that should not be cached.</span>
64
+ </td>
65
+ </tr>
66
  </table>
67
 
68
  <p class="submit">
69
  <?php echo $this->nonce_field('w3tc'); ?>
70
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
71
  </p>
72
+ <?php echo $this->postbox_footer(); ?>
73
  </div>
74
  </form>
75
 
inc/options/pgcache.php CHANGED
@@ -1,266 +1,372 @@
1
- <?php if (!defined('W3TC')) die(); ?>
2
- <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
-
4
- <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
5
- <p>
6
- Page caching via
7
- <strong><?php echo w3_get_engine_name($this->_config->get_string('pgcache.engine')); ?></strong>
8
- is currently <span class="w3tc-<?php if ($pgcache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
9
- </p>
10
- <p>
11
- To rebuild the page cache use the
12
- <?php echo $this->nonce_field('w3tc'); ?>
13
- <input type="submit" name="flush_pgcache" value="empty cache"<?php if (! $pgcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
14
- operation.
15
- </p>
16
- </form>
17
-
18
- <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
19
- <div class="metabox-holder">
20
- <?php echo $this->postbox_header('General'); ?>
21
- <table class="form-table">
22
- <tr>
23
- <th>
24
- <input type="hidden" name="pgcache.cache.home" value="0" />
25
- <label><input type="checkbox" name="pgcache.cache.home" value="1"<?php checked($this->_config->get_boolean('pgcache.cache.home'), true); ?> /> Cache home page</label><br />
26
- <span class="description">For many blogs this is your most visited page, it is recommended that you cache it.</span>
27
- </th>
28
- </tr>
29
- <tr>
30
- <th>
31
- <input type="hidden" name="pgcache.cache.feed" value="0" />
32
- <label><input type="checkbox" name="pgcache.cache.feed" value="1"<?php checked($this->_config->get_boolean('pgcache.cache.feed'), true); ?> /> Cache feeds: site, categories, tags, comments</label><br />
33
- <span class="description">Even if using a feed proxy service (like <a href="http://en.wikipedia.org/wiki/FeedBurner" target="_blank">FeedBurner</a>), enabling this option is still recommended.</span>
34
- </th>
35
- </tr>
36
- <tr>
37
- <th>
38
- <input type="hidden" name="pgcache.cache.ssl" value="0" />
39
- <label><input type="checkbox" name="pgcache.cache.ssl" value="1"<?php checked($this->_config->get_boolean('pgcache.cache.ssl'), true); ?> /> Cache <acronym titlte="Secure Socket Layer">SSL</acronym> (<acronym title="HyperText Transfer Protocol over SSL">https</acronym>) requests</label><br />
40
- <span class="description">Cache <acronym titlte="Secure Socket Layer">SSL</acronym> requests (uniquely) for improved performance.</span>
41
- </th>
42
- </tr>
43
- <tr>
44
- <th>
45
- <input type="hidden" name="pgcache.cache.query" value="0"<?php if ($this->_config->get_string('pgcache.engine') == 'file_generic'): ?> disabled="disabled"<?php endif; ?> />
46
- <label><input type="checkbox" name="pgcache.cache.query" value="1"<?php checked($this->_config->get_boolean('pgcache.cache.query'), true); ?><?php if ($this->_config->get_string('pgcache.engine') == 'file_generic'): ?> disabled="disabled"<?php endif; ?> /> Cache <acronym title="Uniform Resource Identifier">URI</acronym>s with query string variables</label><br />
47
- <span class="description">Search result (and similar) pages will be cached if enabled.</span>
48
- </th>
49
- </tr>
50
- <tr>
51
- <th>
52
- <input type="hidden" name="pgcache.cache.404" value="0" />
53
- <label><input type="checkbox" name="pgcache.cache.404" value="1"<?php checked($this->_config->get_boolean('pgcache.cache.404'), true); ?> /> Cache 404 (not found) pages</label><br />
54
- <span class="description">Reduce server load by caching 404 pages. If the disk enhanced method of disk caching is used, 404 pages will be returned with a 200 response code. Use at your own risk.</span>
55
- </th>
56
- </tr>
57
- <tr>
58
- <th>
59
- <input type="hidden" name="pgcache.check.domain" value="0" />
60
- <label><input type="checkbox" name="pgcache.check.domain" value="1"<?php checked($this->_config->get_boolean('pgcache.check.domain'), true); ?> /> Cache requests only for <?php echo w3_get_home_domain(); ?> hostname</label><br />
61
- <span class="description">Cache only requests with the same <acronym title="Uniform Resource Indicator">URL</acronym> as the site's <a href="options-general.php">site address</a>.</span>
62
- </th>
63
- </tr>
64
- <tr>
65
- <th>
66
- <input type="hidden" name="pgcache.reject.logged" value="0" />
67
- <label><input type="checkbox" name="pgcache.reject.logged" value="1"<?php checked($this->_config->get_boolean('pgcache.reject.logged'), true); ?> /> Don't cache pages for logged in users</label><br />
68
- <span class="description">Users that have signed in to WordPress (e.g. administrators) will never view cached pages if enabled.</span>
69
- </th>
70
- </tr>
71
- </table>
72
-
73
- <p class="submit">
74
- <?php echo $this->nonce_field('w3tc'); ?>
75
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
76
- </p>
77
- <?php echo $this->postbox_footer(); ?>
78
-
79
- <?php echo $this->postbox_header('Advanced'); ?>
80
- <table class="form-table">
81
- <?php if ($this->_config->get_string('pgcache.engine') == 'memcached'): ?>
82
- <tr>
83
- <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
84
- <td>
85
- <input id="memcached_servers" type="text" name="pgcache.memcached.servers" value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('pgcache.memcached.servers'))); ?>" size="100" />
86
- <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test" />
87
- <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
88
- <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
89
- </td>
90
- </tr>
91
- <?php endif; ?>
92
- <tr>
93
- <th><label for="pgcache_file_gc">Garbage collection interval:</label></th>
94
- <td>
95
- <input id="pgcache_file_gc" type="text" name="pgcache.file.gc" value="<?php echo $this->_config->get_integer('pgcache.file.gc'); ?>" size="8"<?php if ($this->_config->get_string('pgcache.engine') != 'file' && $this->_config->get_string('pgcache.engine') != 'file_generic'): ?> disabled="disabled"<?php endif; ?> /> seconds
96
- <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
97
- </td>
98
- </tr>
99
- <tr>
100
- <th><label for="pgcache_reject_ua">Rejected User Agents:</label></th>
101
- <td>
102
- <textarea id="pgcache_reject_ua" name="pgcache.reject.ua" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.reject.ua'))); ?></textarea><br />
103
- <span class="description">Never send cache pages for these user agents.</span>
104
- </td>
105
- </tr>
106
- <tr>
107
- <th><label for="pgcache_reject_cookie">Rejected Cookies:</label></th>
108
- <td>
109
- <textarea id="pgcache_reject_cookie" name="pgcache.reject.cookie" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.reject.cookie'))); ?></textarea><br />
110
- <span class="description">Never cache pages that use the specified cookies.</span>
111
- </td>
112
- </tr>
113
- <tr>
114
- <th><label for="pgcache_reject_uri">Never cache the following pages:</label></th>
115
- <td>
116
- <textarea id="pgcache_reject_uri" name="pgcache.reject.uri" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.reject.uri'))); ?></textarea><br />
117
- <span class="description">Always ignore the specified pages / directories.</span>
118
- </td>
119
- </tr>
120
- <tr>
121
- <th><label for="pgcache_accept_files">Cache exception list:</label></th>
122
- <td>
123
- <textarea id="pgcache_accept_files" name="pgcache.accept.files" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.accept.files'))); ?></textarea><br />
124
- <span class="description">Cache the specified pages / directories even if listed in the "never cache the following pages" field.</span>
125
- </td>
126
- </tr>
127
- <?php if (substr($permalink_structure, -1) == '/'): ?>
128
- <tr>
129
- <th><label for="pgcache_accept_uri">Non-trailing slash pages:</label></th>
130
- <td>
131
- <textarea id="pgcache_accept_uri" name="pgcache.accept.uri" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.accept.uri'))); ?></textarea><br />
132
- <span class="description">Cache the specified pages even if they don't have tailing slash.</span>
133
- </td>
134
- </tr>
135
- <?php endif; ?>
136
- <tr>
137
- <th><label for="pgcache_cache_headers">Specify page headers:</label></th>
138
- <td>
139
- <textarea id="pgcache_cache_headers" name="pgcache.cache.headers" cols="40" rows="5"<?php if (!W3TC_PHP5 || $this->_config->get_string('pgcache.engine') == 'file_generic'): ?> disabled="disabled"<?php endif; ?>><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.cache.headers'))); ?></textarea><br />
140
- <span class="description">Specify additional page headers to cache.</span>
141
- </td>
142
- </tr>
143
- </table>
144
-
145
- <p class="submit">
146
- <?php echo $this->nonce_field('w3tc'); ?>
147
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
148
- </p>
149
- <?php echo $this->postbox_footer(); ?>
150
-
151
- <?php echo $this->postbox_header('Cache Preload'); ?>
152
- <table class="form-table">
153
- <tr>
154
- <th colspan="2">
155
- <input type="hidden" name="pgcache.prime.enabled" value="0" />
156
- <label><input type="checkbox" name="pgcache.prime.enabled" value="1"<?php checked($this->_config->get_boolean('pgcache.prime.enabled'), true); ?> /> Automatically prime the page cache</label><br />
157
- </th>
158
- </tr>
159
- <tr>
160
- <th><label for="pgcache_prime_interval">Update interval:</label></th>
161
- <td>
162
- <input id="pgcache_prime_interval" type="text" name="pgcache.prime.interval" value="<?php echo $this->_config->get_integer('pgcache.prime.interval'); ?>" size="8" /> seconds<br />
163
- <span class="description">The number of seconds to wait before creating another set of cached pages.</span>
164
- </td>
165
- </tr>
166
- <tr>
167
- <th><label for="pgcache_prime_limit">Pages per interval:</label></th>
168
- <td>
169
- <input id="pgcache_prime_limit" type="text" name="pgcache.prime.limit" value="<?php echo $this->_config->get_integer('pgcache.prime.limit'); ?>" size="8" /><br />
170
- <span class="description">Limit the number of pages to create per batch. Fewer pages may be better for under-powered servers.</span>
171
- </td>
172
- </tr>
173
- <tr>
174
- <th><label for="pgcache_prime_sitemap">Sitemap <acronym title="Uniform Resource Indicator">URL</acronym>:</label></th>
175
- <td>
176
- <input id="pgcache_prime_sitemap" type="text" name="pgcache.prime.sitemap" value="<?php echo $this->_config->get_string('pgcache.prime.sitemap'); ?>" size="100" /><br />
177
- <span class="description">A <a href="http://www.xml-sitemaps.com/validate-xml-sitemap.html" target="_blank">compliant</a> sitemap can be used to specify the pages to maintain in the primed cache. Pages will be cached according to the priorities specified in the <acronym title="Extensible Markup Language">XML</acronym> file. <a href="http://wordpress.org/extend/plugins/google-sitemap-generator/" target="_blank">Google <acronym title="Extensible Markup Language">XML</acronym> Sitemaps</a> is recommended for use with this feature.</span>
178
- </td>
179
- </tr>
180
- </table>
181
-
182
- <p class="submit">
183
- <?php echo $this->nonce_field('w3tc'); ?>
184
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
185
- </p>
186
- <?php echo $this->postbox_footer(); ?>
187
-
188
- <?php echo $this->postbox_header('Purge Policy'); ?>
189
- <table class="form-table">
190
- <tr>
191
- <th colspan="2">
192
- <p>Specify the pages and feeds to purge when posts are created, edited, or comments posted. The defaults are recommended because additional options may reduce server performance:</p>
193
-
194
- <table border="0" cellpadding="0" cellspacing="0">
195
- <tr>
196
- <th style="padding-left: 0;">
197
- <input type="hidden" name="pgcache.purge.home" value="0" />
198
- <input type="hidden" name="pgcache.purge.post" value="0" />
199
- <input type="hidden" name="pgcache.purge.feed.blog" value="0" />
200
- <label><input type="checkbox" name="pgcache.purge.home" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.home'), true); ?> /> Home page</label><br />
201
- <label><input type="checkbox" name="pgcache.purge.post" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.post'), true); ?> /> Post page</label><br />
202
- <label><input type="checkbox" name="pgcache.purge.feed.blog" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.feed.blog'), true); ?> /> Blog feed</label><br />
203
- </th>
204
- <th>
205
- <input type="hidden" name="pgcache.purge.comments" value="0" />
206
- <input type="hidden" name="pgcache.purge.author" value="0" />
207
- <input type="hidden" name="pgcache.purge.terms" value="0" />
208
- <label><input type="checkbox" name="pgcache.purge.comments" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.comments'), true); ?> /> Post comments pages</label><br />
209
- <label><input type="checkbox" name="pgcache.purge.author" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.author'), true); ?> /> Post author pages</label><br />
210
- <label><input type="checkbox" name="pgcache.purge.terms" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.terms'), true); ?> /> Post terms pages</label><br />
211
- </th>
212
- <th>
213
- <input type="hidden" name="pgcache.purge.feed.comments" value="0" />
214
- <input type="hidden" name="pgcache.purge.feed.author" value="0" />
215
- <input type="hidden" name="pgcache.purge.feed.terms" value="0" />
216
- <label><input type="checkbox" name="pgcache.purge.feed.comments" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.feed.comments'), true); ?> /> Post comments feed</label><br />
217
- <label><input type="checkbox" name="pgcache.purge.feed.author" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.feed.author'), true); ?> /> Post author feed</label><br />
218
- <label><input type="checkbox" name="pgcache.purge.feed.terms" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.feed.terms'), true); ?> /> Post terms feeds</label>
219
- </th>
220
- <th>
221
- <input type="hidden" name="pgcache.purge.archive.daily" value="0" />
222
- <input type="hidden" name="pgcache.purge.archive.monthly" value="0" />
223
- <input type="hidden" name="pgcache.purge.archive.yearly" value="0" />
224
- <label><input type="checkbox" name="pgcache.purge.archive.daily" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.archive.daily'), true); ?> /> Daily archive pages</label><br />
225
- <label><input type="checkbox" name="pgcache.purge.archive.monthly" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.archive.monthly'), true); ?> /> Monthly archive pages</label><br />
226
- <label><input type="checkbox" name="pgcache.purge.archive.yearly" value="1"<?php checked($this->_config->get_boolean('pgcache.purge.archive.yearly'), true); ?> /> Yearly archive pages</label><br />
227
- </th>
228
- </tr>
229
- </table>
230
- </th>
231
- </tr>
232
- <tr>
233
- <th colspan="2">
234
- <p>Specify the feed types to purge:</p>
235
- <input type="hidden" name="pgcache.purge.feed.types" value="" />
236
- <?php foreach($feeds as $feed): ?>
237
- <label><input type="checkbox" name="pgcache.purge.feed.types[]" value="<?php echo $feed; ?>"<?php checked(in_array($feed, $this->_config->get_array('pgcache.purge.feed.types')), true); ?> />
238
- <?php echo $feed; ?>
239
- <?php if ($feed == $default_feed): ?>(default)<?php endif; ?></label><br />
240
- <?php endforeach; ?>
241
- </th>
242
- </tr>
243
- </table>
244
-
245
- <p class="submit">
246
- <?php echo $this->nonce_field('w3tc'); ?>
247
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
248
- </p>
249
- <?php echo $this->postbox_footer(); ?>
250
-
251
- <?php echo $this->postbox_header('Note(s):'); ?>
252
- <table class="form-table">
253
- <tr>
254
- <th colspan="2">
255
- <ul>
256
- <li>Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression in the "<acronym title="Hypertext Markup Language">HTML</acronym>" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
257
- <li>The <acronym title="Time to Live">TTL</acronym> of page cache files is set via the "Expires header lifetime" field in the "<acronym title="Hypertext Markup Language">HTML</acronym>" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
258
- </ul>
259
- </th>
260
- </tr>
261
- </table>
262
- <?php echo $this->postbox_footer(); ?>
263
- </div>
264
- </form>
265
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
266
  <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
+
4
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
5
+ <p>
6
+ Page caching via
7
+ <strong><?php echo w3_get_engine_name($this->_config->get_string('pgcache.engine')); ?></strong>
8
+ is currently <span class="w3tc-<?php if ($pgcache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
9
+ </p>
10
+ <p>
11
+ To rebuild the page cache use the
12
+ <?php echo $this->nonce_field('w3tc'); ?>
13
+ <input type="submit" name="w3tc_flush_pgcache" value="empty cache"<?php if (! $pgcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
14
+ operation.
15
+ </p>
16
+ </form>
17
+
18
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
19
+ <div class="metabox-holder">
20
+ <?php echo $this->postbox_header('General', '', 'general'); ?>
21
+ <table class="form-table">
22
+ <tr>
23
+ <th>
24
+ <?php $this->checkbox('pgcache.cache.home'); ?> <?php echo get_option('show_on_front') == 'posts' ? 'Cache front page': 'Cache posts page';?></label><br />
25
+ <span class="description">For many blogs this is your most visited page, it is recommended that you cache it.</span>
26
+ </th>
27
+ </tr>
28
+ <?php if (get_option( 'show_on_front') != 'posts'): ?>
29
+ <tr>
30
+ <th>
31
+ <?php $this->checkbox('pgcache.reject.front_page'); ?> Don't cache front page</label><br />
32
+ <span class="description">By default the front page is cached when using static front page in reading settings.</span>
33
+ </th>
34
+ </tr>
35
+ <?php endif; ?>
36
+ <tr>
37
+ <th>
38
+ <?php $this->checkbox('pgcache.cache.feed') ?> Cache feeds: site, categories, tags, comments</label><br />
39
+ <span class="description">Even if using a feed proxy service (like <a href="http://en.wikipedia.org/wiki/FeedBurner" target="_blank">FeedBurner</a>), enabling this option is still recommended.</span>
40
+ </th>
41
+ </tr>
42
+ <tr>
43
+ <th>
44
+ <?php $this->checkbox('pgcache.cache.ssl') ?> Cache <acronym titlte="Secure Socket Layer">SSL</acronym> (<acronym title="HyperText Transfer Protocol over SSL">https</acronym>) requests</label><br />
45
+ <span class="description">Cache <acronym titlte="Secure Socket Layer">SSL</acronym> requests (uniquely) for improved performance.</span>
46
+ </th>
47
+ </tr>
48
+ <tr>
49
+ <th>
50
+ <?php $this->checkbox('pgcache.cache.query', ($this->_config->get_string('pgcache.engine') == 'file_generic')) ?> Cache <acronym title="Uniform Resource Identifier">URI</acronym>s with query string variables</label><br />
51
+ <span class="description">Search result (and similar) pages will be cached if enabled.</span>
52
+ </th>
53
+ </tr>
54
+ <tr>
55
+ <th>
56
+ <?php $this->checkbox('pgcache.cache.404') ?> Cache 404 (not found) pages</label><br />
57
+ <span class="description">Reduce server load by caching 404 pages. If the disk enhanced method of disk caching is used, 404 pages will be returned with a 200 response code. Use at your own risk.</span>
58
+ </th>
59
+ </tr>
60
+ <tr>
61
+ <th>
62
+ <?php $this->checkbox('pgcache.check.domain', $disable_check_domain) ?> Cache requests only for <?php echo w3_get_home_domain(); ?> hostname</label><br />
63
+ <span class="description">Cache only requests with the same <acronym title="Uniform Resource Indicator">URL</acronym> as the site's <a href="options-general.php">site address</a>.</span>
64
+ </th>
65
+ </tr>
66
+ <tr>
67
+ <th>
68
+ <?php $this->checkbox('pgcache.reject.logged') ?> Don't cache pages for logged in users</label><br />
69
+ <span class="description">Unauthenticated users may view a cached version of the last authenticated user's view of a given page. Disabling this option is not recommended.</span>
70
+ </th>
71
+ </tr>
72
+ <tr>
73
+ <th>
74
+ <?php $this->checkbox('pgcache.reject.logged_roles') ?> Don't cache pages for following user roles</label><br />
75
+ <span class="description">Select user roles that should not receive cached pages:</span>
76
+
77
+ <div id="pgcache_reject_roles">
78
+ <?php $saved_roles = $this->_config->get_array('pgcache.reject.roles'); ?>
79
+ <input type="hidden" name="pgcache.reject.roles" value="" /><br />
80
+ <?php foreach( get_editable_roles() as $role_name => $role_data ) : ?>
81
+ <input type="checkbox" name="pgcache.reject.roles[]" value="<?php echo $role_name ?>" <?php checked( in_array( $role_name, $saved_roles ) ) ?> id="role_<?php echo $role_name ?>" />
82
+ <label for="role_<?php echo $role_name ?>"><?php echo $role_data['name'] ?></label>
83
+ <?php endforeach; ?>
84
+ </div>
85
+ </th>
86
+ </tr>
87
+ </table>
88
+
89
+ <p class="submit">
90
+ <?php echo $this->nonce_field('w3tc'); ?>
91
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
92
+ </p>
93
+ <?php echo $this->postbox_footer(); ?>
94
+
95
+ <?php echo $this->postbox_header('Cache Preload', '', 'cache_preload'); ?>
96
+ <table class="form-table">
97
+ <tr>
98
+ <th colspan="2">
99
+ <?php $this->checkbox('pgcache.prime.enabled') ?> Automatically prime the page cache</label><br />
100
+ </th>
101
+ </tr>
102
+ <tr>
103
+ <th><label for="pgcache_prime_interval">Update interval:</label></th>
104
+ <td>
105
+ <input id="pgcache_prime_interval" type="text" name="pgcache.prime.interval"
106
+ <?php $this->sealing_disabled('pgcache') ?>
107
+ value="<?php echo $this->_config->get_integer('pgcache.prime.interval'); ?>" size="8" /> seconds<br />
108
+ <span class="description">The number of seconds to wait before creating another set of cached pages.</span>
109
+ </td>
110
+ </tr>
111
+ <tr>
112
+ <th><label for="pgcache_prime_limit">Pages per interval:</label></th>
113
+ <td>
114
+ <input id="pgcache_prime_limit" type="text" name="pgcache.prime.limit"
115
+ <?php $this->sealing_disabled('pgcache') ?>
116
+ value="<?php echo $this->_config->get_integer('pgcache.prime.limit'); ?>" size="8" /><br />
117
+ <span class="description">Limit the number of pages to create per batch. Fewer pages may be better for under-powered servers.</span>
118
+ </td>
119
+ </tr>
120
+ <tr>
121
+ <th><label for="pgcache_prime_sitemap">Sitemap <acronym title="Uniform Resource Indicator">URL</acronym>:</label></th>
122
+ <td>
123
+ <input id="pgcache_prime_sitemap" type="text" name="pgcache.prime.sitemap"
124
+ <?php $this->sealing_disabled('pgcache') ?>
125
+ value="<?php echo $this->_config->get_string('pgcache.prime.sitemap'); ?>" size="100" /><br />
126
+ <span class="description">A <a href="http://www.xml-sitemaps.com/validate-xml-sitemap.html" target="_blank">compliant</a> sitemap can be used to specify the pages to maintain in the primed cache. Pages will be cached according to the priorities specified in the <acronym title="Extensible Markup Language">XML</acronym> file. Due to it's completeness and integrations, <a href="http://wordpress.org/extend/plugins/wordpress-seo/" target="_blank">WordPress SEO</a> is recommended for use with this feature.</span>
127
+ </td>
128
+ </tr>
129
+ <tr>
130
+ <th colspan="2">
131
+ <?php $this->checkbox('pgcache.prime.post.enabled') ?> Prime post cache on publish.</label><br />
132
+ </th>
133
+ </tr>
134
+ </table>
135
+
136
+ <p class="submit">
137
+ <?php echo $this->nonce_field('w3tc'); ?>
138
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
139
+ </p>
140
+ <?php echo $this->postbox_footer(); ?>
141
+
142
+ <?php
143
+ $modules = array();
144
+ if ($pgcache_enabled) $modules[] = 'Page Cache';
145
+ if ($varnish_enabled) $modules [] = 'Varnish';
146
+ if ($cdn_mirror_purge_enabled) $modules[] = 'CDN';
147
+ echo $this->postbox_header('Purge Policy: ' . implode(', ', $modules), '', 'purge_policy'); ?>
148
+ <table class="form-table">
149
+ <tr>
150
+ <th colspan="2">
151
+ <p>Specify the pages and feeds to purge when posts are created, edited, or comments posted. The defaults are recommended because additional options may reduce server performance:</p>
152
+
153
+ <table border="0" cellpadding="0" cellspacing="0">
154
+ <tr>
155
+ <th style="padding-left: 0;">
156
+ <?php if (get_option('show_on_front') != 'posts'): ?>
157
+ <?php $this->checkbox('pgcache.purge.front_page') ?> Front page</label><br />
158
+ <?php endif; ?>
159
+ <?php $this->checkbox('pgcache.purge.home') ?> <?php echo get_option('show_on_front') == 'posts' ? 'Front page': 'Posts page';?></label><br />
160
+ <?php $this->checkbox('pgcache.purge.post') ?> Post page</label><br />
161
+ <?php $this->checkbox('pgcache.purge.feed.blog') ?> Blog feed</label><br />
162
+ </th>
163
+ <th>
164
+ <?php $this->checkbox('pgcache.purge.comments') ?> Post comments pages</label><br />
165
+ <?php $this->checkbox('pgcache.purge.author') ?> Post author pages</label><br />
166
+ <?php $this->checkbox('pgcache.purge.terms') ?> Post terms pages</label><br />
167
+ </th>
168
+ <th>
169
+ <?php $this->checkbox('pgcache.purge.feed.comments') ?> Post comments feed</label><br />
170
+ <?php $this->checkbox('pgcache.purge.feed.author') ?> Post author feed</label><br />
171
+ <?php $this->checkbox('pgcache.purge.feed.terms') ?> Post terms feeds</label>
172
+ </th>
173
+ <th>
174
+ <?php $this->checkbox('pgcache.purge.archive.daily') ?> Daily archive pages</label><br />
175
+ <?php $this->checkbox('pgcache.purge.archive.monthly') ?> Monthly archive pages</label><br />
176
+ <?php $this->checkbox('pgcache.purge.archive.yearly') ?> Yearly archive pages</label><br />
177
+ </th>
178
+ </tr>
179
+ </table>
180
+ </th>
181
+ </tr>
182
+ <tr>
183
+ <th colspan="2">
184
+ <p>Specify the feed types to purge:</p>
185
+ <input type="hidden" name="pgcache.purge.feed.types" value="" />
186
+ <?php foreach($feeds as $feed): ?>
187
+ <label>
188
+ <input type="checkbox" name="pgcache.purge.feed.types[]"
189
+ value="<?php echo $feed; ?>"
190
+ <?php checked(in_array($feed, $this->_config->get_array('pgcache.purge.feed.types')), true); ?>
191
+ <?php $this->sealing_disabled('pgcache') ?>
192
+ />
193
+ <?php echo $feed; ?>
194
+ <?php if ($feed == $default_feed): ?>(default)<?php endif; ?></label><br />
195
+ <?php endforeach; ?>
196
+ </th>
197
+ </tr>
198
+ <tr>
199
+ <th><label for="pgcache_purge_postpages_limit">Limit page purging:</label></th>
200
+ <td>
201
+ <input id="pgcache_purge_postpages_limit" name="pgcache.purge.postpages_limit" <?php $this->sealing_disabled('pgcache') ?> type="text" value="<?php echo $this->_config->get_integer('pgcache.purge.postpages_limit'); ?>" /><br />
202
+ <span class="description">Specify number of pages that lists posts (archive etc) that should be purged on post updates etc, i.e example.com/ ... example.com/page/5. <br />0 means all pages that lists posts are purged, i.e example.com/page/2 ... .</span>
203
+ </td>
204
+ </tr>
205
+ <tr>
206
+ <th><label for="pgcache_purge_pages">Additional pages:</label></th>
207
+ <td>
208
+ <textarea id="pgcache_purge_pages" name="pgcache.purge.pages"
209
+ <?php $this->sealing_disabled('pgcache') ?>
210
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.purge.pages'))); ?></textarea><br />
211
+ <span class="description">Specify additional pages to purge. Including parent page in path. Ex: parent/posts.</span>
212
+ </td>
213
+ </tr>
214
+ <tr>
215
+ <th><label for="pgcache_purge_sitemap_regex">Purge sitemaps:</label></th>
216
+ <td>
217
+ <input id="pgcache_purge_sitemap_regex" name="pgcache.purge.sitemap_regex" <?php $this->sealing_disabled('pgcache') ?> value="<?php echo esc_attr($this->_config->get_string('pgcache.purge.sitemap_regex')) ?>" type="text" /><br />
218
+ <span class="description">Specify a regular expression that matches your sitemaps.</span>
219
+ </td>
220
+ <span class="description">Write a regex that matches your sitemaps.</span>
221
+ </tr>
222
+ </table>
223
+
224
+ <p class="submit">
225
+ <?php echo $this->nonce_field('w3tc'); ?>
226
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
227
+ </p>
228
+ <?php echo $this->postbox_footer(); ?>
229
+
230
+ <?php echo $this->postbox_header('Advanced', '', 'advanced'); ?>
231
+ <table class="form-table">
232
+ <?php if ($this->_config->get_string('pgcache.engine') == 'memcached'): ?>
233
+ <tr>
234
+ <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
235
+ <td>
236
+ <input id="memcached_servers" type="text"
237
+ name="pgcache.memcached.servers"
238
+ <?php $this->sealing_disabled('pgcache') ?>
239
+ value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('pgcache.memcached.servers'))); ?>" size="100" />
240
+ <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}"
241
+ <?php $this->sealing_disabled('pgcache') ?>
242
+ type="button" value="Test" />
243
+ <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
244
+ <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
245
+ </td>
246
+ </tr>
247
+ <?php endif; ?>
248
+ <?php if ($this->_config->get_string('pgcache.engine') == 'file_generic'): ?>
249
+ <tr>
250
+ <th><label>Compatibility mode</label></th>
251
+ <td>
252
+ <?php $this->checkbox('pgcache.compatibility') ?> Enable compatibility mode</label><br />
253
+ <span class="description">Tries to be compatible with more server configurations. By the cost of speed.</span>
254
+ </td>
255
+ </tr>
256
+ <?php endif; ?>
257
+ <?php if ($this->_config->get_string('pgcache.engine') != 'file' && $this->_config->get_string('pgcache.engine') != 'file_generic'): ?>
258
+ <tr>
259
+ <th><label for="pgcache_lifetime">Maximum lifetime of cache objects:</label></th>
260
+ <td>
261
+ <input id="pgcache_lifetime" type="text" name="pgcache.lifetime"
262
+ <?php $this->sealing_disabled('pgcache') ?>
263
+ value="<?php echo $this->_config->get_integer('pgcache.lifetime'); ?>" size="8" /> seconds
264
+ <br /><span class="description">Determines the natural expiration time of unchanged cache items. The higher the value, the larger the cache.</span>
265
+ </td>
266
+ </tr>
267
+ <?php endif; ?>
268
+ <tr>
269
+ <th><label for="pgcache_file_gc">Garbage collection interval:</label></th>
270
+ <td>
271
+ <input id="pgcache_file_gc" type="text" name="pgcache.file.gc"
272
+ <?php $this->sealing_disabled('pgcache') ?>
273
+ value="<?php echo $this->_config->get_integer('pgcache.file.gc'); ?>" size="8"<?php if ($this->_config->get_string('pgcache.engine') != 'file' && $this->_config->get_string('pgcache.engine') != 'file_generic'): ?> disabled="disabled"<?php endif; ?> /> seconds
274
+ <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
275
+ </td>
276
+ </tr>
277
+ <tr>
278
+ <th><label for="pgcache_comment_cookie_ttl">Comment cookie lifetime:</label></th>
279
+ <td>
280
+ <input id="pgcache_comment_cookie_ttl" type="text" name="pgcache.comment_cookie_ttl" value="<?php echo $this->_config->get_integer('pgcache.comment_cookie_ttl'); ?>" size="8" /> seconds
281
+ <br /><span class="description">Significantly reduce the default <acronym title="Time to Live">TTL</acronym> for comment cookies to reduce the number of authenticated user traffic. Enter -1 to revert to default <acronym title="Time to Live">TTL</acronym>.</span>
282
+ </td>
283
+ </tr>
284
+ <tr>
285
+ <th><label for="pgcache_reject_ua">Rejected user agents:</label></th>
286
+ <td>
287
+ <textarea id="pgcache_reject_ua" name="pgcache.reject.ua"
288
+ <?php $this->sealing_disabled('pgcache') ?>
289
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.reject.ua'))); ?></textarea><br />
290
+ <span class="description">Never send cache pages for these user agents.</span>
291
+ </td>
292
+ </tr>
293
+ <tr>
294
+ <th><label for="pgcache_reject_cookie">Rejected cookies:</label></th>
295
+ <td>
296
+ <textarea id="pgcache_reject_cookie" name="pgcache.reject.cookie"
297
+ <?php $this->sealing_disabled('pgcache') ?>
298
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.reject.cookie'))); ?></textarea><br />
299
+ <span class="description">Never cache pages that use the specified cookies.</span>
300
+ </td>
301
+ </tr>
302
+ <tr>
303
+ <th><label for="pgcache_reject_uri">Never cache the following pages:</label></th>
304
+ <td>
305
+ <textarea id="pgcache_reject_uri" name="pgcache.reject.uri"
306
+ <?php $this->sealing_disabled('pgcache') ?>
307
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.reject.uri'))); ?></textarea><br />
308
+ <span class="description">Always ignore the specified pages / directories. Supports regular expression (See <a href="<?php echo network_admin_url('admin.php?page=w3tc_faq#q82')?>">FAQ</a>)</span>
309
+ </td>
310
+ </tr>
311
+ <tr>
312
+ <th><label for="pgcache_accept_files">Cache exception list:</label></th>
313
+ <td>
314
+ <textarea id="pgcache_accept_files" name="pgcache.accept.files"
315
+ <?php $this->sealing_disabled('pgcache') ?>
316
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.accept.files'))); ?></textarea><br />
317
+ <span class="description">Cache the specified pages / directories even if listed in the "never cache the following pages" field. Supports regular expression (See <a href="<?php echo network_admin_url('admin.php?page=w3tc_faq#q82')?>">FAQ</a>)</span>
318
+ </td>
319
+ </tr>
320
+ <?php if (substr($permalink_structure, -1) == '/'): ?>
321
+ <tr>
322
+ <th><label for="pgcache_accept_uri">Non-trailing slash pages:</label></th>
323
+ <td>
324
+ <textarea id="pgcache_accept_uri" name="pgcache.accept.uri"
325
+ <?php $this->sealing_disabled('pgcache') ?>
326
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.accept.uri'))); ?></textarea><br />
327
+ <span class="description">Cache the specified pages even if they don't have tailing slash.</span>
328
+ </td>
329
+ </tr>
330
+ <?php endif; ?>
331
+ <tr>
332
+ <th><label for="pgcache_cache_headers">Specify page headers:</label></th>
333
+ <td>
334
+ <textarea id="pgcache_cache_headers" name="pgcache.cache.headers"
335
+ <?php $this->sealing_disabled('pgcache') ?>
336
+ cols="40" rows="5"<?php if (!W3TC_PHP5 || $this->_config->get_string('pgcache.engine') == 'file_generic'): ?> disabled="disabled"<?php endif; ?>><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('pgcache.cache.headers'))); ?></textarea><br />
337
+ <span class="description">Specify additional page headers to cache.</span>
338
+ </td>
339
+ </tr>
340
+ <?php if (w3_is_nginx() && $this->_config->get_string('pgcache.engine') == 'file_generic'): ?>
341
+ <tr>
342
+ <th><label>Handle <acronym title="Extensible Markup Language">XML</acronym> mime type</label></th>
343
+ <td>
344
+ <?php $this->checkbox('pgcache.cache.nginx_handle_xml', true) ?> Handle XML mime type</label><br />
345
+ <span class="description">Return correct Content-Type header for XML files. Slows down cache engine.</span>
346
+ </td>
347
+ </tr>
348
+ <?php endif; ?>
349
+ </table>
350
+
351
+ <p class="submit">
352
+ <?php echo $this->nonce_field('w3tc'); ?>
353
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
354
+ </p>
355
+ <?php echo $this->postbox_footer(); ?>
356
+
357
+ <?php echo $this->postbox_header('Note(s)', '', 'notes'); ?>
358
+ <table class="form-table">
359
+ <tr>
360
+ <th colspan="2">
361
+ <ul>
362
+ <li>Enable <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression in the "<acronym title="Hypertext Markup Language">HTML</acronym>" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
363
+ <li>The <acronym title="Time to Live">TTL</acronym> of page cache files is set via the "Expires header lifetime" field in the "<acronym title="Hypertext Markup Language">HTML</acronym>" section on <a href="admin.php?page=w3tc_browsercache">Browser Cache</a> Settings tab.</li>
364
+ </ul>
365
+ </th>
366
+ </tr>
367
+ </table>
368
+ <?php echo $this->postbox_footer(); ?>
369
+ </div>
370
+ </form>
371
+
372
  <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
inc/options/pro/fragmentcache.php ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
+
4
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
5
+ <p>
6
+ Fragment caching via
7
+ <strong><?php echo w3_get_engine_name($this->_config->get_string('fragmentcache.engine')); ?></strong>
8
+ is currently <span class="w3tc-<?php if ($fragmentcache_enabled): ?>enabled">enabled<?php else: ?>disabled">disabled<?php endif; ?></span>.
9
+ </p>
10
+ <p>
11
+ <?php echo $this->nonce_field('w3tc'); ?>
12
+ <input type="submit" name="w3tc_flush_fragmentcache" value="Empty the entire cache"<?php if (! $fragmentcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
13
+ if needed.
14
+ </p>
15
+ </form>
16
+
17
+ <form action="admin.php?page=<?php echo $this->_page; ?>" method="post">
18
+ <div class="metabox-holder">
19
+ <?php echo $this->postbox_header('Overview', '', 'overview'); ?>
20
+ <table class="form-table">
21
+ <tr>
22
+ <th>Registered fragment groups:</th>
23
+ <td>
24
+ <ul>
25
+ <?php foreach ($registered_groups as $group => $actions)
26
+ echo '<li>',$group,': ',implode(',', $actions), '</li>';
27
+ ?>
28
+ </ul>
29
+ <span class="description">Groups that will be flushed on actions.</span>
30
+ </td>
31
+ </tr>
32
+ <?php if (w3_is_network()): ?>
33
+ <tr>
34
+ <th>Registered site wide fragment groups:</th>
35
+ <td>
36
+ <ul>
37
+ <?php foreach ($registered_global_groups as $group => $actions)
38
+ echo '<li>',$group,': ',implode(',', $actions), '</li>';
39
+ ?>
40
+ </ul>
41
+ <span class="description">Site wide groups that will be flushed on actions.</span>
42
+ </td>
43
+ </tr>
44
+ <?php endif ?>
45
+ </table>
46
+ <?php echo $this->postbox_footer(); ?>
47
+
48
+ <?php echo $this->postbox_header('Advanced', '', 'advanced'); ?>
49
+ <table class="form-table">
50
+ <?php if ($this->_config->get_string('fragmentcache.engine') == 'memcached'): ?>
51
+ <tr>
52
+ <th><label for="memcached_servers">Memcached hostname:port / <acronym title="Internet Protocol">IP</acronym>:port:</label></th>
53
+ <td>
54
+ <input id="memcached_servers" type="text"
55
+ <?php $this->sealing_disabled('fragmentcache') ?> name="fragmentcache.memcached.servers" value="<?php echo htmlspecialchars(implode(',', $this->_config->get_array('fragmentcache.memcached.servers'))); ?>" size="100" />
56
+ <input id="memcached_test" class="button {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Test" />
57
+ <span id="memcached_test_status" class="w3tc-status w3tc-process"></span>
58
+ <br /><span class="description">Multiple servers may be used and seperated by a comma; e.g. 192.168.1.100:11211, domain.com:22122</span>
59
+ </td>
60
+ </tr>
61
+ <?php endif; ?>
62
+ <tr>
63
+ <th style="width: 250px;"><label for="fragmentcache_lifetime">Default lifetime of cached fragments:</label></th>
64
+ <td>
65
+ <input id="fragmentcache_lifetime" type="text"
66
+ <?php $this->sealing_disabled('fragmentcache') ?> name="fragmentcache.lifetime" value="<?php echo $this->_config->get_integer('fragmentcache.lifetime'); ?>" size="8" /> seconds
67
+ <br /><span class="description">Determines the expiration time of unchanged cache items. The higher the value, the larger the cache.</span>
68
+ </td>
69
+ </tr>
70
+ <tr>
71
+ <th><label for="fragmentcache_file_gc">Garbage collection interval:</label></th>
72
+ <td>
73
+ <input id="fragmentcache_file_gc" type="text"
74
+ <?php $this->sealing_disabled('fragmentcache') ?> name="fragmentcache.file.gc" value="<?php echo $this->_config->get_integer('fragmentcache.file.gc'); ?>" size="8" /> seconds
75
+ <br /><span class="description">If caching to disk, specify how frequently expired cache data is removed. For busy sites, a lower value is best.</span>
76
+ </td>
77
+ </tr>
78
+ <tr>
79
+ <th>Manual fragment groups:</th>
80
+ <td>
81
+ <textarea id="fragmentcache_groups" name="fragmentcache.groups"
82
+ <?php $this->sealing_disabled('fragmentcache') ?>
83
+ cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('fragmentcache.groups'))); ?></textarea><br />
84
+ <span class="description">Specify fragment groups that should be handled one per line. Actions to be performed should be entered on same line comma delimited, e.g. group, action1, action2.</span>
85
+ </td>
86
+ </tr>
87
+ </table>
88
+
89
+ <p class="submit">
90
+ <?php echo $this->nonce_field('w3tc'); ?>
91
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
92
+ </p>
93
+ <?php echo $this->postbox_footer(); ?>
94
+ </div>
95
+ </form>
96
+
97
+ <?php include W3TC_INC_DIR . '/options/common/footer.php'; ?>
inc/options/pro/fragmentcache_general_section.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php echo $this->postbox_header('Fragment Cache', '', 'fragment_cache'); ?>
2
+ <p>Enable fragment caching reduce execution time for common operations.</p>
3
+
4
+ <table class="form-table">
5
+ <tr>
6
+ <th>Fragment Cache:</th>
7
+ <td>
8
+ <?php $this->checkbox('fragmentcache.enabled') ?>&nbsp;<strong>Enable</strong></label>
9
+ <br /><span class="description">Fragment caching greatly increases performance for highly themes and plugins that use the <a href="http://codex.wordpress.org/Transients_API" target="_blank">Transient <acronym title="Application Programming Interface">API</acronym></a>.</span>
10
+ </td>
11
+ </tr>
12
+ <tr>
13
+ <th>Fragment Cache Method:</th>
14
+ <td>
15
+ <select name="fragmentcache.engine" <?php $this->sealing_disabled('fragmentcache'); ?>>
16
+ <optgroup label="Shared Server:">
17
+ <option value="file"<?php selected($this->_config->get_string('fragmentcache.engine'), 'file'); ?>>Disk</option>
18
+ </optgroup>
19
+ <optgroup label="Dedicated / Virtual Server:">
20
+ <option value="apc"<?php selected($this->_config->get_string('fragmentcache.engine'), 'apc'); ?><?php if (! $check_apc): ?> disabled="disabled"<?php endif; ?>>Opcode: Alternative PHP Cache (APC)</option>
21
+ <option value="eaccelerator"<?php selected($this->_config->get_string('fragmentcache.engine'), 'eaccelerator'); ?><?php if (! $check_eaccelerator): ?> disabled="disabled"<?php endif; ?>>Opcode: eAccelerator</option>
22
+ <option value="xcache"<?php selected($this->_config->get_string('fragmentcache.engine'), 'xcache'); ?><?php if (! $check_xcache): ?> disabled="disabled"<?php endif; ?>>Opcode: XCache</option>
23
+ <option value="wincache"<?php selected($this->_config->get_string('fragmentcache.engine'), 'wincache'); ?><?php if (! $check_wincache): ?> disabled="disabled"<?php endif; ?>>Opcode: WinCache</option>
24
+ </optgroup>
25
+ <optgroup label="Multiple Servers:">
26
+ <option value="memcached"<?php selected($this->_config->get_string('fragmentcache.engine'), 'memcached'); ?><?php if (! $check_memcached): ?> disabled="disabled"<?php endif; ?>>Memcached</option>
27
+ </optgroup>
28
+ </select>
29
+ </td>
30
+ </tr>
31
+ <?php if ($this->is_network_and_master()): ?>
32
+ <tr>
33
+ <th>Network policy:</th>
34
+ <td>
35
+ <?php $this->checkbox_admin('fragmentcache.configuration_sealed'); ?> Apply the settings above to the entire network.</label>
36
+ </td>
37
+ </tr>
38
+ <?php endif; ?>
39
+ </table>
40
+
41
+ <p class="submit">
42
+ <?php echo $this->nonce_field('w3tc'); ?>
43
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
44
+ <input type="submit" name="w3tc_flush_fragmentcache" value="Empty cache"<?php if (! $fragmentcache_enabled): ?> disabled="disabled"<?php endif; ?> class="button" />
45
+ </p>
46
+ <?php echo $this->postbox_footer(); ?>
inc/options/referrer.php CHANGED
@@ -2,10 +2,10 @@
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
 
4
  <script type="text/javascript">/*<![CDATA[*/
5
- var referrer_themes = {};
6
- <?php foreach ($themes as $theme_key => $theme_name): ?>
7
- referrer_themes['<?php echo addslashes($theme_key); ?>'] = '<?php echo addslashes($theme_name); ?>';
8
- <?php endforeach; ?>
9
  /*]]>*/</script>
10
 
11
  <p>
@@ -14,75 +14,75 @@ referrer_themes['<?php echo addslashes($theme_key); ?>'] = '<?php echo addslashe
14
 
15
  <form id="referrer_form" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
16
  <div class="metabox-holder">
17
- <?php echo $this->postbox_header('Manage Referrer Groups'); ?>
18
- <p>
19
- <input id="referrer_add" type="button" class="button" value="Create a group" /> of referrers by specifying names in the referrers field. Assign a set of referrers to use a specific theme, redirect them to another domain, create referrer groups to ensure that a unique cache is created for each referrer group. Drag and drop groups into order (if needed) to determine their priority (top -&gt; down).
20
- </p>
21
 
22
- <ul id="referrer_groups">
23
- <?php $index = 0; foreach ($groups as $group => $group_config): $index++; ?>
24
- <li id="referrer_group_<?php echo htmlspecialchars($group); ?>">
25
  <table class="form-table">
26
- <tr>
27
- <th>
28
- Group name:
29
- </th>
30
- <td>
31
- <span class="referrer_group_number"><?php echo $index; ?>.</span> <span class="referrer_group"><?php echo htmlspecialchars($group); ?></span> <input type="button" class="button referrer_delete" value="Delete group" />
32
- </td>
33
- </tr>
34
- <tr>
35
- <th>
36
- <label for="referrer_groups_<?php echo htmlspecialchars($group); ?>_enabled">Enabled:</label>
37
- </th>
38
- <td>
39
- <input type="hidden" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][enabled]" value="0" />
40
- <input id="referrer_groups_<?php echo htmlspecialchars($group); ?>_enabled" type="checkbox" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][enabled]" value="1"<?php checked($group_config['enabled'], true); ?> />
41
- </td>
42
- </tr>
43
- <tr>
44
- <th>
45
- <label for="referrer_groups_<?php echo htmlspecialchars($group); ?>_theme">Theme:</label>
46
- </th>
47
- <td>
48
- <select id="referrer_groups_<?php echo htmlspecialchars($group); ?>_theme" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][theme]">
49
- <option value="">-- Pass-through --</option>
50
- <?php foreach ($themes as $theme_key => $theme_name): ?>
51
- <option value="<?php echo htmlspecialchars($theme_key); ?>"<?php selected($theme_key, $group_config['theme']); ?>><?php echo htmlspecialchars($theme_name); ?></option>
52
- <?php endforeach; ?>
53
- </select>
54
- <br /><span class="description">Assign this group of referrers to a specific theme. Selecting "Pass-through" allows any plugin(s) (e.g. referrer plugins) to properly handle requests for these referrers. If the "redirect users to" field is not empty, this setting is ignored.</span>
55
- </td>
56
- </tr>
57
- <tr>
58
- <th>
59
- <label for="referrer_groups_<?php echo htmlspecialchars($group); ?>_redirect">Redirect users to:</label>
60
- </th>
61
- <td>
62
- <input id="referrer_groups_<?php echo htmlspecialchars($group); ?>_redirect" type="text" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][redirect]" value="<?php echo htmlspecialchars($group_config['redirect']); ?>" size="60" />
63
- <br /><span class="description">A 302 redirect is used to send this group of referrers to another hostname (domain).</span>
64
- </td>
65
- </tr>
66
- <tr>
67
- <th>
68
- <label for="referrer_groups_<?php echo htmlspecialchars($group); ?>_referrers">Referrers:</label>
69
- </th>
70
- <td>
71
- <textarea id="referrer_groups_<?php echo htmlspecialchars($group); ?>_referrers" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][referrers]" rows="10" cols="50"><?php echo htmlspecialchars(implode("\r\n", (array) $group_config['referrers'])); ?></textarea>
72
- <br /><span class="description">Specify the referrers for this group. Remember to escape special characters like spaces, dots or dashes with a backslash. Regular expressions are also supported.</span>
73
- </td>
74
- </tr>
75
  </table>
76
  </li>
77
- <?php endforeach; ?>
78
- </ul>
79
- <div id="referrer_groups_empty" style="display: none;">No groups added. All referrers recieve the same page and minify cache results.</div>
80
 
81
  <p class="submit">
82
  <?php echo $this->nonce_field('w3tc'); ?>
83
- <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
84
  </p>
85
- <?php echo $this->postbox_footer(); ?>
86
  </div>
87
  </form>
88
 
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
 
4
  <script type="text/javascript">/*<![CDATA[*/
5
+ var referrer_themes = {};
6
+ <?php foreach ($themes as $theme_key => $theme_name): ?>
7
+ referrer_themes['<?php echo addslashes($theme_key); ?>'] = '<?php echo addslashes($theme_name); ?>';
8
+ <?php endforeach; ?>
9
  /*]]>*/</script>
10
 
11
  <p>
14
 
15
  <form id="referrer_form" action="admin.php?page=<?php echo $this->_page; ?>" method="post">
16
  <div class="metabox-holder">
17
+ <?php echo $this->postbox_header('Manage Referrer Groups', '', 'manage'); ?>
18
+ <p>
19
+ <input id="referrer_add" type="button" class="button" value="Create a group" /> of referrers by specifying names in the referrers field. Assign a set of referrers to use a specific theme, redirect them to another domain, create referrer groups to ensure that a unique cache is created for each referrer group. Drag and drop groups into order (if needed) to determine their priority (top -&gt; down).
20
+ </p>
21
 
22
+ <ul id="referrer_groups">
23
+ <?php $index = 0; foreach ($groups as $group => $group_config): $index++; ?>
24
+ <li id="referrer_group_<?php echo htmlspecialchars($group); ?>">
25
  <table class="form-table">
26
+ <tr>
27
+ <th>
28
+ Group name:
29
+ </th>
30
+ <td>
31
+ <span class="referrer_group_number"><?php echo $index; ?>.</span> <span class="referrer_group"><?php echo htmlspecialchars($group); ?></span> <input type="button" class="button referrer_delete" value="Delete group" />
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <th>
36
+ <label for="referrer_groups_<?php echo htmlspecialchars($group); ?>_enabled">Enabled:</label>
37
+ </th>
38
+ <td>
39
+ <input type="hidden" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][enabled]" value="0" />
40
+ <input id="referrer_groups_<?php echo htmlspecialchars($group); ?>_enabled" type="checkbox" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][enabled]" value="1"<?php checked($group_config['enabled'], true); ?> />
41
+ </td>
42
+ </tr>
43
+ <tr>
44
+ <th>
45
+ <label for="referrer_groups_<?php echo htmlspecialchars($group); ?>_theme">Theme:</label>
46
+ </th>
47
+ <td>
48
+ <select id="referrer_groups_<?php echo htmlspecialchars($group); ?>_theme" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][theme]">
49
+ <option value="">-- Pass-through --</option>
50
+ <?php foreach ($themes as $theme_key => $theme_name): ?>
51
+ <option value="<?php echo htmlspecialchars($theme_key); ?>"<?php selected($theme_key, $group_config['theme']); ?>><?php echo htmlspecialchars($theme_name); ?></option>
52
+ <?php endforeach; ?>
53
+ </select>
54
+ <br /><span class="description">Assign this group of referrers to a specific theme. Selecting "Pass-through" allows any plugin(s) (e.g. referrer plugins) to properly handle requests for these referrers. If the "redirect users to" field is not empty, this setting is ignored.</span>
55
+ </td>
56
+ </tr>
57
+ <tr>
58
+ <th>
59
+ <label for="referrer_groups_<?php echo htmlspecialchars($group); ?>_redirect">Redirect users to:</label>
60
+ </th>
61
+ <td>
62
+ <input id="referrer_groups_<?php echo htmlspecialchars($group); ?>_redirect" type="text" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][redirect]" value="<?php echo htmlspecialchars($group_config['redirect']); ?>" size="60" />
63
+ <br /><span class="description">A 302 redirect is used to send this group of referrers to another hostname (domain).</span>
64
+ </td>
65
+ </tr>
66
+ <tr>
67
+ <th>
68
+ <label for="referrer_groups_<?php echo htmlspecialchars($group); ?>_referrers">Referrers:</label>
69
+ </th>
70
+ <td>
71
+ <textarea id="referrer_groups_<?php echo htmlspecialchars($group); ?>_referrers" name="referrer_groups[<?php echo htmlspecialchars($group); ?>][referrers]" rows="10" cols="50"><?php echo htmlspecialchars(implode("\r\n", (array) $group_config['referrers'])); ?></textarea>
72
+ <br /><span class="description">Specify the referrers for this group. Remember to escape special characters like spaces, dots or dashes with a backslash. Regular expressions are also supported.</span>
73
+ </td>
74
+ </tr>
75
  </table>
76
  </li>
77
+ <?php endforeach; ?>
78
+ </ul>
79
+ <div id="referrer_groups_empty" style="display: none;">No groups added. All referrers recieve the same page and minify cache results.</div>
80
 
81
  <p class="submit">
82
  <?php echo $this->nonce_field('w3tc'); ?>
83
+ <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" />
84
  </p>
85
+ <?php echo $this->postbox_footer(); ?>
86
  </div>
87
  </form>
88
 
inc/options/support.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
  <p>
4
- Request professional services, suggest a feature or submit a bug using the form below:
5
  </p>
6
 
7
  <div id="support_container">
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <?php include W3TC_INC_DIR . '/options/common/header.php'; ?>
3
  <p>
4
+ Request premium services, suggest a feature or submit a bug using the form below:
5
  </p>
6
 
7
  <div id="support_container">
inc/options/support/form.php CHANGED
@@ -23,7 +23,7 @@
23
  <input type="hidden" name="payment" value="<?php echo $payment; ?>" />
24
  <?php echo $this->nonce_field('w3tc'); ?>
25
  <input type="submit" name="w3tc_support_request" class="button-primary" value="Submit request" />
26
- <input id="support_cancel" class="{nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Cancel" class="button-primary" />
27
  </p>
28
  </div>
29
  </form>
23
  <input type="hidden" name="payment" value="<?php echo $payment; ?>" />
24
  <?php echo $this->nonce_field('w3tc'); ?>
25
  <input type="submit" name="w3tc_support_request" class="button-primary" value="Submit request" />
26
+ <input id="support_cancel" class="button-secondary {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" type="button" value="Cancel" />
27
  </p>
28
  </div>
29
  </form>
inc/options/support/form/bug_report.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <?php echo $this->postbox_header('Required information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
@@ -47,7 +47,7 @@
47
  </table>
48
  <?php echo $this->postbox_footer(); ?>
49
 
50
- <?php echo $this->postbox_header('Additional information'); ?>
51
  <table class="form-table">
52
  <tr>
53
  <th><label for="support_phone">Phone:</label></th>
@@ -77,5 +77,15 @@
77
  <th><label for="support_ftp_password"><acronym title="Secure Shell">SSH</acronym> / <acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
78
  <td><input id="support_ftp_password" type="text" name="ftp_password" value="<?php echo htmlspecialchars($ftp_password); ?>" size="80" /></td>
79
  </tr>
 
 
 
 
 
 
 
 
 
 
80
  </table>
81
  <?php echo $this->postbox_footer(); ?>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php echo $this->postbox_header('Required Information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
47
  </table>
48
  <?php echo $this->postbox_footer(); ?>
49
 
50
+ <?php echo $this->postbox_header('Additional Information'); ?>
51
  <table class="form-table">
52
  <tr>
53
  <th><label for="support_phone">Phone:</label></th>
77
  <th><label for="support_ftp_password"><acronym title="Secure Shell">SSH</acronym> / <acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
78
  <td><input id="support_ftp_password" type="text" name="ftp_password" value="<?php echo htmlspecialchars($ftp_password); ?>" size="80" /></td>
79
  </tr>
80
+ <tr>
81
+ <th colspan="2">
82
+ <label for="support_subscribe_releases">Would you like to be notified when products are announced and updated?</label>
83
+ </th>
84
+ </tr>
85
+ <tr>
86
+ <td colspan="2">
87
+ <input id="support_subscribe_releases" name="subscribe_releases" type="checkbox" value="Yes" <?php checked($subscribe_releases, true) ?> /> Yes, please notify me.
88
+ </td>
89
+ </tr>
90
  </table>
91
  <?php echo $this->postbox_footer(); ?>
inc/options/support/form/email_support.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <?php echo $this->postbox_header('Required information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
@@ -47,7 +47,7 @@
47
  </table>
48
  <?php echo $this->postbox_footer(); ?>
49
 
50
- <?php echo $this->postbox_header('Additional information'); ?>
51
  <table class="form-table">
52
  <tr>
53
  <th><label for="support_phone">Phone:</label></th>
@@ -77,5 +77,15 @@
77
  <th><label for="support_ftp_password"><acronym title="Secure Shell">SSH</acronym> / <acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
78
  <td><input id="support_ftp_password" type="text" name="ftp_password" value="<?php echo htmlspecialchars($ftp_password); ?>" size="80" /></td>
79
  </tr>
 
 
 
 
 
 
 
 
 
 
80
  </table>
81
  <?php echo $this->postbox_footer(); ?>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php echo $this->postbox_header('Required Information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
47
  </table>
48
  <?php echo $this->postbox_footer(); ?>
49
 
50
+ <?php echo $this->postbox_header('Additional Information'); ?>
51
  <table class="form-table">
52
  <tr>
53
  <th><label for="support_phone">Phone:</label></th>
77
  <th><label for="support_ftp_password"><acronym title="Secure Shell">SSH</acronym> / <acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
78
  <td><input id="support_ftp_password" type="text" name="ftp_password" value="<?php echo htmlspecialchars($ftp_password); ?>" size="80" /></td>
79
  </tr>
80
+ <tr>
81
+ <th colspan="2">
82
+ <label for="support_subscribe_customer">Would you like to be notified when products are announced and updated?</label>
83
+ </th>
84
+ </tr>
85
+ <tr>
86
+ <td colspan="2">
87
+ <input id="support_subscribe_customer" name="subscribe_customer" type="checkbox" value="Yes" <?php checked($subscribe_customer, true) ?> /> Yes, please notify me.
88
+ </td>
89
+ </tr>
90
  </table>
91
  <?php echo $this->postbox_footer(); ?>
inc/options/support/form/index.html CHANGED
File without changes
inc/options/support/form/linux_config.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <?php echo $this->postbox_header('Required information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
@@ -59,11 +59,21 @@
59
  </table>
60
  <?php echo $this->postbox_footer(); ?>
61
 
62
- <?php echo $this->postbox_header('Additional information'); ?>
63
  <table class="form-table">
64
  <tr>
65
  <th><label for="support_phone">Phone:</label></th>
66
  <td><input id="support_phone" type="text" name="phone" value="<?php echo htmlspecialchars($phone); ?>" size="80" /></td>
67
  </tr>
 
 
 
 
 
 
 
 
 
 
68
  </table>
69
  <?php echo $this->postbox_footer(); ?>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php echo $this->postbox_header('Required Information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
59
  </table>
60
  <?php echo $this->postbox_footer(); ?>
61
 
62
+ <?php echo $this->postbox_header('Additional Information'); ?>
63
  <table class="form-table">
64
  <tr>
65
  <th><label for="support_phone">Phone:</label></th>
66
  <td><input id="support_phone" type="text" name="phone" value="<?php echo htmlspecialchars($phone); ?>" size="80" /></td>
67
  </tr>
68
+ <tr>
69
+ <th colspan="2">
70
+ <label for="support_subscribe_customer">Would you like to be notified when products are announced and updated?</label>
71
+ </th>
72
+ </tr>
73
+ <tr>
74
+ <td colspan="2">
75
+ <input id="support_subscribe_customer" name="subscribe_customer" type="checkbox" value="Yes" <?php checked($subscribe_customer, true) ?> /> Yes, please notify me.
76
+ </td>
77
+ </tr>
78
  </table>
79
  <?php echo $this->postbox_footer(); ?>
inc/options/support/form/new_feature.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <?php echo $this->postbox_header('Required information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
@@ -32,7 +32,7 @@
32
  </table>
33
  <?php echo $this->postbox_footer(); ?>
34
 
35
- <?php echo $this->postbox_header('Additional information'); ?>
36
  <table class="form-table">
37
  <tr>
38
  <th><label for="support_phone">Phone:</label></th>
@@ -42,5 +42,15 @@
42
  <th><label for="support_forum_url">Forum Topic URL:</label></th>
43
  <td><input id="support_forum_url" type="text" name="forum_url" value="<?php echo htmlspecialchars($forum_url); ?>" size="80" /></td>
44
  </tr>
 
 
 
 
 
 
 
 
 
 
45
  </table>
46
  <?php echo $this->postbox_footer(); ?>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php echo $this->postbox_header('Required Information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
32
  </table>
33
  <?php echo $this->postbox_footer(); ?>
34
 
35
+ <?php echo $this->postbox_header('Additional Information'); ?>
36
  <table class="form-table">
37
  <tr>
38
  <th><label for="support_phone">Phone:</label></th>
42
  <th><label for="support_forum_url">Forum Topic URL:</label></th>
43
  <td><input id="support_forum_url" type="text" name="forum_url" value="<?php echo htmlspecialchars($forum_url); ?>" size="80" /></td>
44
  </tr>
45
+ <tr>
46
+ <th colspan="2">
47
+ <label for="support_subscribe_releases">Would you like to be notified when products are announced and updated?</label>
48
+ </th>
49
+ </tr>
50
+ <tr>
51
+ <td colspan="2">
52
+ <input id="support_subscribe_releases" name="subscribe_releases" type="checkbox" value="Yes" <?php checked($subscribe_releases, true) ?> /> Yes, please notify me.
53
+ </td>
54
+ </tr>
55
  </table>
56
  <?php echo $this->postbox_footer(); ?>
inc/options/support/form/phone_support.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <?php echo $this->postbox_header('Required information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
@@ -51,7 +51,7 @@
51
  </table>
52
  <?php echo $this->postbox_footer(); ?>
53
 
54
- <?php echo $this->postbox_header('Additional information'); ?>
55
  <table class="form-table">
56
  <tr>
57
  <th><label for="support_forum_url">Forum Topic URL:</label></th>
@@ -77,5 +77,15 @@
77
  <th><label for="support_ftp_password"><acronym title="Secure Shell">SSH</acronym> / <acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
78
  <td><input id="support_ftp_password" type="text" name="ftp_password" value="<?php echo htmlspecialchars($ftp_password); ?>" size="80" /></td>
79
  </tr>
 
 
 
 
 
 
 
 
 
 
80
  </table>
81
  <?php echo $this->postbox_footer(); ?>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php echo $this->postbox_header('Required Information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
51
  </table>
52
  <?php echo $this->postbox_footer(); ?>
53
 
54
+ <?php echo $this->postbox_header('Additional Information'); ?>
55
  <table class="form-table">
56
  <tr>
57
  <th><label for="support_forum_url">Forum Topic URL:</label></th>
77
  <th><label for="support_ftp_password"><acronym title="Secure Shell">SSH</acronym> / <acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
78
  <td><input id="support_ftp_password" type="text" name="ftp_password" value="<?php echo htmlspecialchars($ftp_password); ?>" size="80" /></td>
79
  </tr>
80
+ <tr>
81
+ <th colspan="2">
82
+ <label for="support_subscribe_customer">Would you like to be notified when products are announced and updated?</label>
83
+ </th>
84
+ </tr>
85
+ <tr>
86
+ <td colspan="2">
87
+ <input id="support_subscribe_customer" name="subscribe_customer" type="checkbox" value="Yes" <?php checked($subscribe_customer, true) ?> /> Yes, please notify me.
88
+ </td>
89
+ </tr>
90
  </table>
91
  <?php echo $this->postbox_footer(); ?>
inc/options/support/form/plugin_config.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <?php echo $this->postbox_header('Required information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
@@ -55,7 +55,7 @@
55
  </table>
56
  <?php echo $this->postbox_footer(); ?>
57
 
58
- <?php echo $this->postbox_header('Additional information'); ?>
59
  <table class="form-table">
60
  <tr>
61
  <th><label for="support_phone">Phone:</label></th>
@@ -73,5 +73,15 @@
73
  <th><label for="support_ftp_password"><acronym title="Secure Shell">SSH</acronym> / <acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
74
  <td><input id="support_ftp_password" type="text" name="ftp_password" value="<?php echo htmlspecialchars($ftp_password); ?>" size="80" /></td>
75
  </tr>
 
 
 
 
 
 
 
 
 
 
76
  </table>
77
  <?php echo $this->postbox_footer(); ?>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php echo $this->postbox_header('Required Information', 'required'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
55
  </table>
56
  <?php echo $this->postbox_footer(); ?>
57
 
58
+ <?php echo $this->postbox_header('Additional Information'); ?>
59
  <table class="form-table">
60
  <tr>
61
  <th><label for="support_phone">Phone:</label></th>
73
  <th><label for="support_ftp_password"><acronym title="Secure Shell">SSH</acronym> / <acronym title="File Transfer Protocol">FTP</acronym> password:</label></th>
74
  <td><input id="support_ftp_password" type="text" name="ftp_password" value="<?php echo htmlspecialchars($ftp_password); ?>" size="80" /></td>
75
  </tr>
76
+ <tr>
77
+ <th colspan="2">
78
+ <label for="support_subscribe_releases">Would you like to be notified when products are announced and updated?</label>
79
+ </th>
80
+ </tr>
81
+ <tr>
82
+ <td colspan="2">
83
+ <input id="support_subscribe_releases" name="subscribe_releases" type="checkbox" value="Yes" <?php checked($subscribe_releases, true) ?> /> Yes, please notify me.
84
+ </td>
85
+ </tr>
86
  </table>
87
  <?php echo $this->postbox_footer(); ?>
inc/options/support/form/theme_config.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
- <?php echo $this->postbox_header('Required information'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
@@ -67,11 +67,21 @@
67
  </table>
68
  <?php echo $this->postbox_footer(); ?>
69
 
70
- <?php echo $this->postbox_header('Additional information'); ?>
71
  <table class="form-table">
72
  <tr>
73
  <th><label for="support_phone">Phone:</label></th>
74
  <td><input id="support_phone" type="text" name="phone" value="<?php echo htmlspecialchars($phone); ?>" size="80" /></td>
75
  </tr>
 
 
 
 
 
 
 
 
 
 
76
  </table>
77
  <?php echo $this->postbox_footer(); ?>
1
  <?php if (!defined('W3TC')) die(); ?>
2
+ <?php echo $this->postbox_header('Required Information'); ?>
3
  <table class="form-table">
4
  <tr>
5
  <th>Request type:</th>
67
  </table>
68
  <?php echo $this->postbox_footer(); ?>
69
 
70
+ <?php echo $this->postbox_header('Additional Information'); ?>
71
  <table class="form-table">
72
  <tr>
73
  <th><label for="support_phone">Phone:</label></th>
74
  <td><input id="support_phone" type="text" name="phone" value="<?php echo htmlspecialchars($phone); ?>" size="80" /></td>
75
  </tr>
76
+ <tr>
77
+ <th colspan="2">
78
+ <label for="support_subscribe_customer">Would you like to be notified when products are announced and updated?</label>
79
+ </th>
80
+ </tr>
81
+ <tr>
82
+ <td colspan="2">
83
+ <input id="support_subscribe_customer" name="subscribe_customer" type="checkbox" value="Yes" <?php checked($subscribe_customer, true) ?> /> Yes, please notify me.
84
+ </td>
85
+ </tr>
86
  </table>
87
  <?php echo $this->postbox_footer(); ?>
inc/options/support/index.html CHANGED
File without changes
inc/options/support/payment.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <form action="<?php echo W3TC_PAYPAL_URL; ?>" method="get">
3
  <div class="metabox-holder">
4
- <?php echo $this->postbox_header('Request payment'); ?>
5
 
6
  <p><?php echo htmlspecialchars($this->_request_types[$request_type]); ?></p>
7
 
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <form action="<?php echo W3TC_PAYPAL_URL; ?>" method="get">
3
  <div class="metabox-holder">
4
+ <?php echo $this->postbox_header('Make Payment'); ?>
5
 
6
  <p><?php echo htmlspecialchars($this->_request_types[$request_type]); ?></p>
7
 
inc/options/support/select.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <div class="metabox-holder">
3
- <?php echo $this->postbox_header('Choose request type'); ?>
4
  <table class="form-table">
5
  <tr>
6
  <th><label for="support_request_type">Request type:</label></th>
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <div class="metabox-holder">
3
+ <?php echo $this->postbox_header('Choose Request Type'); ?>
4
  <table class="form-table">
5
  <tr>
6
  <th><label for="support_request_type">Request type:</label></th>
inc/popup/cdn_export_file.php CHANGED
@@ -43,9 +43,8 @@ jQuery(function() {
43
  <input id="cdn_export_file_start" class="button-primary" type="button" value="Start"<?php if (! $files_count): ?> disabled="disabled"<?php endif; ?> />
44
  </p>
45
 
46
- <div id="cdn_export_file_progress" class="progress">
47
- <div class="progress-value">0%</div>
48
- <div class="progress-bar"></div>
49
  <div class="clear"></div>
50
  </div>
51
 
43
  <input id="cdn_export_file_start" class="button-primary" type="button" value="Start"<?php if (! $files_count): ?> disabled="disabled"<?php endif; ?> />
44
  </p>
45
 
46
+ <div id="cdn_export_file_progress" class="media-item">
47
+ <div class="progress"><div class="bar"><div class="filename original"><span class="percent">0%</span></div></div></div>
 
48
  <div class="clear"></div>
49
  </div>
50
 
inc/popup/cdn_export_library.php CHANGED
@@ -36,9 +36,8 @@ jQuery(function() {
36
  <input id="cdn_export_library_start" class="button-primary" type="button" value="Start"<?php if (! $total): ?> disabled="disabled"<?php endif; ?> />
37
  </p>
38
 
39
- <div id="cdn_export_library_progress" class="progress">
40
- <div class="progress-value">0%</div>
41
- <div class="progress-bar"></div>
42
  <div class="clear"></div>
43
  </div>
44
 
36
  <input id="cdn_export_library_start" class="button-primary" type="button" value="Start"<?php if (! $total): ?> disabled="disabled"<?php endif; ?> />
37
  </p>
38
 
39
+ <div id="cdn_export_library_progress" class="media-item">
40
+ <div class="progress"><div class="bar"><div class="filename original"><span class="percent">0%</span></div></div></div>
 
41
  <div class="clear"></div>
42
  </div>
43
 
inc/popup/cdn_import_library.php CHANGED
@@ -47,9 +47,8 @@ jQuery(function() {
47
  <input id="cdn_import_library_start" class="button-primary" type="button" value="Start"<?php if (! $total): ?> disabled="disabled"<?php endif; ?> />
48
  </p>
49
 
50
- <div id="cdn_import_library_progress" class="progress">
51
- <div class="progress-value">0%</div>
52
- <div class="progress-bar"></div>
53
  <div class="clear"></div>
54
  </div>
55
 
47
  <input id="cdn_import_library_start" class="button-primary" type="button" value="Start"<?php if (! $total): ?> disabled="disabled"<?php endif; ?> />
48
  </p>
49
 
50
+ <div id="cdn_import_library_progress" class="media-item">
51
+ <div class="progress"><div class="bar"><div class="filename original"><span class="percent">0%</span></div></div></div>
 
52
  <div class="clear"></div>
53
  </div>
54
 
inc/popup/cdn_purge.php CHANGED
File without changes
inc/popup/cdn_queue.php CHANGED
@@ -33,6 +33,9 @@
33
  <p>
34
  <a href="admin.php?page=w3tc_cdn&amp;w3tc_cdn_queue&amp;cdn_queue_tab=upload&amp;cdn_queue_action=empty&amp;cdn_queue_type=<?php echo W3TC_CDN_COMMAND_UPLOAD; ?>&amp;_wpnonce=<?php echo $nonce; ?>" class="cdn_queue_empty">Empty upload queue</a>
35
  </p>
 
 
 
36
  <?php else: ?>
37
  <p class="empty">Upload queue is empty</p>
38
  <?php endif; ?>
33
  <p>
34
  <a href="admin.php?page=w3tc_cdn&amp;w3tc_cdn_queue&amp;cdn_queue_tab=upload&amp;cdn_queue_action=empty&amp;cdn_queue_type=<?php echo W3TC_CDN_COMMAND_UPLOAD; ?>&amp;_wpnonce=<?php echo $nonce; ?>" class="cdn_queue_empty">Empty upload queue</a>
35
  </p>
36
+ <p>
37
+ <a href="admin.php?page=w3tc_cdn&amp;w3tc_cdn_queue&amp;cdn_queue_tab=upload&amp;cdn_queue_action=process&amp;_wpnonce=<?php echo $nonce; ?>">Process CDN queue now</a>
38
+ </p>
39
  <?php else: ?>
40
  <p class="empty">Upload queue is empty</p>
41
  <?php endif; ?>
inc/popup/cdn_rename_domain.php CHANGED
@@ -43,9 +43,8 @@ jQuery(function() {
43
  <input id="cdn_rename_domain_start" class="button-primary" type="button" value="Start"<?php if (! $total): ?> disabled="disabled"<?php endif; ?> />
44
  </p>
45
 
46
- <div id="cdn_rename_domain_progress" class="progress">
47
- <div class="progress-value">0%</div>
48
- <div class="progress-bar"></div>
49
  <div class="clear"></div>
50
  </div>
51
 
43
  <input id="cdn_rename_domain_start" class="button-primary" type="button" value="Start"<?php if (! $total): ?> disabled="disabled"<?php endif; ?> />
44
  </p>
45
 
46
+ <div id="cdn_rename_domain_progress" class="media-item">
47
+ <div class="progress"><div class="bar"><div class="filename original"><span class="percent">0%</span></div></div></div>
 
48
  <div class="clear"></div>
49
  </div>
50
 
inc/popup/common/footer.php CHANGED
File without changes
inc/popup/common/header.php CHANGED
File without changes
inc/popup/common/index.html CHANGED
File without changes
inc/popup/index.html CHANGED
File without changes
inc/popup/pagespeed_results.php CHANGED
File without changes
inc/widget/index.html CHANGED
File without changes
inc/widget/latest.php CHANGED
File without changes
inc/widget/latest_ajax.php CHANGED
@@ -3,9 +3,6 @@
3
  <h4>
4
  <a href="<?php echo $item['link']; ?>"><?php echo $item['title']; ?></a>
5
  </h4>
6
- <p>
7
- <?php echo $item['description']; ?>
8
- </p>
9
  <?php endforeach; ?>
10
 
11
  <p style="text-align: center;">
3
  <h4>
4
  <a href="<?php echo $item['link']; ?>"><?php echo $item['title']; ?></a>
5
  </h4>
 
 
 
6
  <?php endforeach; ?>
7
 
8
  <p style="text-align: center;">
inc/widget/latest_control.php CHANGED
@@ -2,6 +2,6 @@
2
  <p>
3
  <label>
4
  How many items would you like to display?
5
- <input type="text" name="w3tc_widget_latest_items" value="<?php echo $this->_config->get_integer('widget.latest.items'); ?>" size="5" />
6
  </label>
7
  </p>
2
  <p>
3
  <label>
4
  How many items would you like to display?
5
+ <input type="text" name="w3tc_widget_latest_items" value="<?php echo $this->_config->get_integer('widget.latest.items'); ?>" size="5" class="w3tc-ignore-change"/>
6
  </label>
7
  </p>
inc/widget/latest_news.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <p class="widget-loading hide-if-no-js {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}">
3
+ <?php echo __( 'Loading&#8230;' ) ?>
4
+ </p>
5
+ <p class="hide-if-js">
6
+ <?php echo __( 'This widget requires JavaScript.' ) ?>
7
+ </p>
inc/widget/latest_news_ajax.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <?php foreach ($items as $item): ?>
3
+ <h4>
4
+ <a href="<?php echo $item['link']; ?>"><?php echo $item['title']; ?></a>
5
+ </h4>
6
+ <?php endforeach; ?>
7
+
8
+ <p style="text-align: center;">
9
+ <a href="<?php echo W3TC_NEWS_FEED_URL; ?>" target="_blank">View Feed</a>
10
+ </p>
inc/widget/latest_news_control.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <p>
3
+ <label>
4
+ How many items would you like to display?
5
+ <input type="text" name="w3tc_widget_latest_news_items" value="<?php echo $this->_config->get_integer('widget.latest_news.items'); ?>" size="5" class="w3tc-ignore-change" />
6
+ </label>
7
+ </p>
inc/widget/new_relic.php ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php if (!defined('W3TC')) die(); ?>
2
+ <div id="new-relic-widget">
3
+ <?php if (!$new_relic_configured && $new_relic_enabled): ?>
4
+ <?php _e('You have not configured API key and Account Id.', 'w3-total-cache')?>
5
+ <?php else: ?>
6
+ <?php if ($new_relic_configured && $new_relic_enabled): ?>
7
+ <iframe width="100%" height="100px" scrolling="no" src="<?php echo wp_nonce_url(admin_url('admin.php?page=w3tc_general&w3tc_view_new_relic_app&view_application=' . $view_application. '&timestamp=' . time()),'w3tc')?>">
8
+ </iframe>
9
+ <?php endif ?>
10
+ <?php if (!$new_relic_running && $new_relic_enabled): ?>
11
+ <p><?php _e('The plugin has detected the following causes for New Relic not running correctly.', 'w3-total-cache')?></p>
12
+ <ul>
13
+ <?php foreach($verify_running as $cause):?>
14
+ <li><?php echo $cause ?></li>
15
+ <?php endforeach; ?>
16
+ </ul>
17
+ <p><?php echo sprintf(__('Please review the <a href="%s">settings</a>', 'w3-total-cache'), network_admin_url('admin.php?page=w3tc_general#monitoring')) ?></p>
18
+ <?php else: ?>
19
+
20
+ <div id="new-relic-summary">
21
+ <h4><?php _e('Overview', 'w3-total-cache')?></h4>
22
+ <ul>
23
+ <?php
24
+ foreach($new_relic_summary as $name => $value): ?>
25
+ <li><span><?php echo $name ?>: </span><?php echo $value ?></li>
26
+ <?php endforeach; ?>
27
+ </ul>
28
+ </div>
29
+ <div id="new-relic-extra-metrics">
30
+ <h4><?php _e('Average times', 'w3-total-cache')?></h4>
31
+ <ul>
32
+ <?php foreach ($metric_formatted as $name => $value): ?>
33
+ <li><span><?php echo $name ?>: </span><?php echo $value ?></li>
34
+ <?php endforeach; ?>
35
+ </ul>
36
+ <div style="clear:both"></div>
37
+ </div>
38
+ <div id="new-relic-top-list">
39
+ <h4><?php _e('Top 5 slowest times','w3-total-cache')?></h4>
40
+ <div class="wrapper">
41
+ <h5><?php _e('Page load times', 'w3-total-cache')?><div class="handlediv open" title="Click to toggle"><br></div></h5>
42
+ <div id="w3tc-page-load-times" class="top-five">
43
+ <?php if ($slowest_page_loads): ?>
44
+ <table class="slowest">
45
+ <?php foreach($slowest_page_loads as $page => $time): ?>
46
+ <tr><td><span><?php echo $page ?>:</span></td><td><?php echo $time ?></td></tr>
47
+ <?php endforeach ?>
48
+ </table>
49
+ <?php else: ?>
50
+ <?php if ($can_use_metric): ?>
51
+ <p><?php _e('Not enough data', 'w3-total-cache')?></p>
52
+ <?php else: ?>
53
+ <p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
54
+ <?php endif ?>
55
+ <?php endif ?>
56
+ </div>
57
+ </div>
58
+ <div class="wrapper">
59
+ <h5><?php _e('Web Transaction times', 'w3-total-cache')?><div class="handlediv open" title="Click to toggle"><br></div></h5>
60
+ <div id="w3tc-web-transaction-times" class="top-five">
61
+ <?php if ($slowest_webtransaction): ?>
62
+
63
+ <table class="slowest">
64
+ <?php foreach($slowest_webtransaction as $transaction => $time): ?>
65
+ <tr><td><span><?php echo $transaction ?>:</span></td><td><?php echo $time ?></td></tr>
66
+ <?php endforeach ?>
67
+ </table>
68
+ <?php else: ?>
69
+ <?php if ($can_use_metric): ?>
70
+ <p><?php _e('Not enough data', 'w3-total-cache')?></p>
71
+ <?php else: ?>
72
+ <p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
73
+ <?php endif ?>
74
+ <?php endif ?>
75
+ </div>
76
+ </div>
77
+ <div class="wrapper">
78
+ <h5><?php _e('Database times', 'w3-total-cache')?><div class="handlediv open" title="Click to toggle"><br></div></h5>
79
+ <div id="w3tc-database-times" class="top-five">
80
+ <?php if ($slowest_database): ?>
81
+ <table class="slowest">
82
+ <?php foreach($slowest_database as $transaction => $time): ?>
83
+ <tr><td><span><?php echo $transaction ?>:</span></td><td><?php echo $time ?></td></tr>
84
+ <?php endforeach ?>
85
+ </table>
86
+ <?php else: ?>
87
+ <?php if ($can_use_metric): ?>
88
+ <p><?php _e('Not enough data', 'w3-total-cache')?></p>
89
+ <?php else: ?>
90
+ <p><?php _e('Data not available to this subscription level.', 'w3-total-cache')?></p>
91
+ <?php endif ?>
92
+ <?php endif ?>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ <div style="clear:both"></div>
97
+ <?php endif; ?>
98
+ <hr>
99
+ <p>
100
+ <?php _e('PHP agent:', 'w3-total-cache')?> <span class="w3tc-<?php if ($new_relic_running): ?>enabled"><?php _e('enabled', 'w3-total-cache')?><?php else: ?>disabled"><?php _e('disabled', 'w3-total-cache')?><?php endif; ?></span>.
101
+ <?php _e('Subscription level:', 'w3-total-cache')?> <?php echo $subscription_lvl ?><?php if (!$can_use_metrics): ?><?php _e('Upgrade your New Relic account to enable more metrics.', 'w3-total-cache')?><?php endif; ?>
102
+ </p>
103
+ <?php endif; ?>
104
+ </div>
inc/widget/pagespeed.php CHANGED
File without changes
inc/widget/pagespeed_control.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <p>
3
  <label>
4
- Page Speed API Key:
5
- <input type="text" name="w3tc_widget_pagespeed_key" value="<?php echo $this->_config->get_string('widget.pagespeed.key'); ?>" size="60" />
6
  </label>
7
  </p>
8
- <p>To acquire an API key, visit the <a href="https://code.google.com/apis/console" target="_blank">APIs Console</a>. Go to the Project Home tab, activate the Page Speed Online API, and accept the Terms of Service.</p>
9
- <p>Then go to the API Access tab. The API key is in the Simple API Access section.</p>
1
  <?php if (!defined('W3TC')) die(); ?>
2
  <p>
3
  <label>
4
+ Page Speed <acronym title="Application Programming Interface">API</acronym> Key:
5
+ <input type="text" name="w3tc_widget_pagespeed_key" value="<?php echo $this->_config->get_string('widget.pagespeed.key'); ?>" size="40" class="w3tc-ignore-change" />
6
  </label>
7
  </p>
8
+ <p>To acquire an <acronym title="Application Programming Interface">API</acronym> key, visit the <a href="https://code.google.com/apis/console" target="_blank">APIs Console</a>. Go to the Project Home tab, activate the Page Speed Online <acronym title="Application Programming Interface">API</acronym>, and accept the Terms of Service.</p>
9
+ <p>Then go to the <acronym title="Application Programming Interface">API</acronym> Access tab. The <acronym title="Application Programming Interface">API</acronym> key is in the Simple <acronym title="Application Programming Interface">API</acronym> Access section.</p>
inc/widget/services.php ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form action="<?php echo W3TC_PAYPAL_URL; ?>" xmlns="http://www.w3.org/1999/html" method="get">
2
+ <ul>
3
+ <?php foreach($this->_request_types as $key => $desc): ?>
4
+ <li><input name="service" type="radio" class="w3tc-service w3tc-ignore-change {nonce: '<?php echo wp_create_nonce('w3tc'); ?>'}" value="<?php esc_attr_e($key)?>" /><label><?php echo $desc ?></label></li>
5
+ <?php endforeach; ?>
6
+ </ul>
7
+ <div id="buy-w3-service-area"></div>
8
+ <p>
9
+ <input id="buy-w3-service" name="buy-w3-service" type="submit" class="button button-primary button-large" value="<?php _e('Buy now', 'w3-total-cache') ?>" disabled="disabled"/>
10
+ <input id="buy-w3-service-cancel" type="button" value="<?php _e('Cancel') ?>" class="button-secondary" />
11
+ </p>
12
+ </form>
inc/widget/spreadtheword.php ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <p><?php _e("We're working to make WordPress better. Please support us, here's how:", 'w3-total-cache') ?></p>
2
+ <ul>
3
+ <li><label>Tweet: </label><input type="button" class="button button-tweet" value="Post to Twitter Now" /></li>
4
+ <li><label><?php _e('Rate:', 'w3-total-cache')?> </label><input type="button" class="button button-rating" value="Vote &amp; Rate Now" /></li>
5
+ <li><label><?php _e('Link:', 'w3-total-cache') ?></label>
6
+ <select id="common_support" name="common.support" class="w3tc-ignore-change">
7
+ <option value=""><?php _e('select one', 'w3-total-cache')?></option>
8
+ <?php foreach ($supports as $support_id => $support_name): ?>
9
+ <option value="<?php echo $support_id; ?>"<?php selected($support, $support_id); ?>><?php echo htmlspecialchars($support_name); ?></option>
10
+ <?php endforeach; ?>
11
+ </select>
12
+ </li>
13
+ </ul>
14
+
15
+ <p><?php _e('Or manually place a link, here is the code:', 'w3-total-cache') ?></p>
16
+ <div class="w3tc-manual-link widefat"><p><?php echo sprintf(__('Performance Optimization %s by W3 EDGE', 'w3-total-cache'), "&lt;a href=&quot;http://www.w3-edge.com/wordpress-plugins/&quot; rel=&quot;external nofollow&quot;&gt;WordPress Plugins&lt;/a&gt;")?></p></div>
index.html CHANGED
File without changes
ini/.htaccess DELETED
@@ -1,3 +0,0 @@
1
- Options -Indexes
2
- Order deny,allow
3
- #Deny from all
 
 
 
ini/apc.ini CHANGED
@@ -4,7 +4,7 @@ extension = apc.so
4
 
5
  apc.enabled = 1
6
  apc.shm_segments = 1
7
- apc.shm_size = 32
8
  apc.optimization = 0
9
  apc.num_files_hint = 4096
10
  apc.ttl = 7200
@@ -17,7 +17,7 @@ apc.slam_defense = 0
17
  apc.file_update_protection = 2
18
  apc.enable_cli = 0
19
  apc.max_file_size = 10M
20
- apc.stat = 1
21
  apc.write_lock = 1
22
  apc.report_autofilter = 0
23
  apc.include_once_override = 0
@@ -26,6 +26,6 @@ apc.include_once_override = 0
26
  ;apc.rfc1867_name = "APC_UPLOAD_PROGRESS"
27
  ;apc.rfc1867_freq = 0
28
  apc.localcache = 0
29
- apc.localcache.size = 512
30
  apc.coredump_unmap = 0
31
- apc.stat_ctime = 0
4
 
5
  apc.enabled = 1
6
  apc.shm_segments = 1
7
+ apc.shm_size = 32M
8
  apc.optimization = 0
9
  apc.num_files_hint = 4096
10
  apc.ttl = 7200
17
  apc.file_update_protection = 2
18
  apc.enable_cli = 0
19
  apc.max_file_size = 10M
20
+ apc.stat = 0
21
  apc.write_lock = 1
22
  apc.report_autofilter = 0
23
  apc.include_once_override = 0
26
  ;apc.rfc1867_name = "APC_UPLOAD_PROGRESS"
27
  ;apc.rfc1867_freq = 0
28
  apc.localcache = 0
29
+ apc.localcache.size = 2048
30
  apc.coredump_unmap = 0
31
+ apc.stat_ctime = 0
ini/dbcluster-config-sample.php ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ global $wpdb_cluster;
4
+
5
+ /**
6
+ * Persistent (bool)
7
+ *
8
+ * This determines whether to use mysql_connect or mysql_pconnect. The effects
9
+ * of this setting may vary and should be carefully tested.
10
+ * Default: false
11
+ */
12
+ $wpdb_cluster->persistent = false;
13
+
14
+ /**
15
+ * check_tcp_responsiveness
16
+ *
17
+ * Enables checking TCP responsiveness by fsockopen prior to mysql_connect or
18
+ * mysql_pconnect. This was added because PHP's mysql functions do not provide
19
+ * a variable timeout setting. Disabling it may improve average performance by
20
+ * a very tiny margin but lose protection against connections failing slowly.
21
+ * Default: true
22
+ */
23
+ $wpdb_cluster->check_tcp_responsiveness = true;
24
+
25
+ /**
26
+ * Default is to always (reads & writes) use the master db when user is in administration backend.
27
+ * Set use_master_in_backend to false to disable this behavior.
28
+ *
29
+ * WARNING: if your cluster has any replication delays then when this is enabled, you may not see
30
+ * any admin changes until the replication catches up with the change written to your master
31
+ * server and will see old content/configuration until that point in time - You should test this
32
+ * in your environment fully.
33
+ */
34
+ //$wpdb_cluster->use_master_in_backend = false;
35
+
36
+ /**
37
+ * This set the charset that the db connection should use.
38
+ * If DB_CHARSET is set there is no need to set $wpdb_cluster->charset.
39
+ */
40
+ //$wpdb_cluster->charset = 'utf-8';
41
+
42
+ /**
43
+ * This set the charset that the db connection should use.
44
+ * If DB_COLLATE is set there is no need to set $wpdb_cluster->collate.
45
+ */
46
+ //$wpdb_cluster->collate = 'utf8_general_ci';
47
+ /** Configuration Functions **/
48
+
49
+ /**
50
+ * $wpdb_cluster->add_database( $database );
51
+ *
52
+ * $database is an associative array with these parameters:
53
+ * host (required) Hostname with optional :port. Default port is 3306.
54
+ * user (required) MySQL user name.
55
+ * password (required) MySQL user password.
56
+ * name (required) MySQL database name.
57
+ * read (optional) Whether server is readable. Default is 1 (readable).
58
+ * Also used to assign preference.
59
+ * write (optional) Whether server is writable. Default is 1 (writable).
60
+ * Also used to assign preference in multi-master mode.
61
+ * dataset (optional) Name of dataset. Default is 'global'.
62
+ * timeout (optional) Seconds to wait for TCP responsiveness. Default is 0.2
63
+ * connect_function (optional) connection function to use
64
+ * zone (optional) name of zone where server is located.
65
+ * Used for web applications hosted on cluster
66
+ */
67
+
68
+ /**
69
+ * $wpdb_cluster->add_callback( $callback, $callback_group = 'dataset' );
70
+ *
71
+ * $callback is a callable function or method. $callback_group is the
72
+ * group of callbacks, this $callback belongs to.
73
+ *
74
+ * Callbacks are executed in the order in which they are registered until one
75
+ * of them returns something other than null.
76
+ *
77
+ * The default $callback_group is 'dataset'. Callback in this group
78
+ * will be called with two arguments and expected to compute a dataset or return null.
79
+ * $dataset = $callback($table, &$wpdb);
80
+ *
81
+ */
82
+
83
+ /** Masters and slaves
84
+ *
85
+ * A database definition can include 'read' and 'write' parameters. These
86
+ * operate as boolean switches but they are typically specified as integers.
87
+ * They allow or disallow use of the database for reading or writing.
88
+ *
89
+ * A master database might be configured to allow reading and writing:
90
+ * 'write' => true,
91
+ * 'read' => true,
92
+ * while a slave would be allowed only to read:
93
+ * 'write' => false,
94
+ * 'read' => true,
95
+ *
96
+ * It might be advantageous to disallow reading from the master, such as when
97
+ * there are many slaves available and the master is very busy with writes.
98
+ * 'write' => true,
99
+ * 'read' => false,
100
+ */
101
+
102
+ /**
103
+ * Web applications hosted on cluster
104
+ *
105
+ * When your databases are located in separate physical locations there is
106
+ * typically an advantage to connecting to a nearby server instead of a more
107
+ * distant one. This can be configured by defining zones.
108
+ *
109
+ * Add 'zone' parameter to add_server call:
110
+ * 'zone' => 'A'
111
+ *
112
+ * Plugin determines where application is running by checking
113
+ * $_SERVER['SERVER_NAME'] system variable against defined in zone definition
114
+ * and then connects to servers following defined order:
115
+ *
116
+ * $wpdb_cluster->add_zone(array(
117
+ * 'name' => 'A',
118
+ * 'SERVER_NAME' => 'host1',
119
+ * 'zone_priorities' => array('A', 'B')
120
+ * ));
121
+ *
122
+ * As a result it will try to connect to servers in zone A first, then servers
123
+ * in zone B.
124
+ */
125
+
126
+ /**
127
+ * This is the most basic way to add a server using only the
128
+ * required parameters: host, user, password, name.
129
+ * This adds the DB defined in wp-config.php as a read/write server for
130
+ * the 'global' dataset. (Every table is in 'global' by default.)
131
+ */
132
+ $wpdb_cluster->add_database(array(
133
+ 'host' => DB_HOST, // If port is other than 3306, use host:port.
134
+ 'user' => DB_USER,
135
+ 'password' => DB_PASSWORD,
136
+ 'name' => DB_NAME,
137
+ ));
138
+
139
+ /**
140
+ * This adds the same server again, only this time it is configured as a slave.
141
+ * The last three parameters are set to the defaults but are shown for clarity.
142
+ */
143
+ /*
144
+ $wpdb_cluster->add_database(array(
145
+ 'host' => DB_HOST, // If port is other than 3306, use host:port.
146
+ 'user' => DB_USER,
147
+ 'password' => DB_PASSWORD,
148
+ 'name' => DB_NAME,
149
+ 'write' => false,
150
+ 'read' => true,
151
+ 'dataset' => 'global',
152
+ 'timeout' => 0.2,
153
+ ));
154
+ */
155
+
156
+ /** Sample Configuration 2: Partitioning **/
157
+
158
+ /**
159
+ * This example shows a setup where the multisite blog tables have been
160
+ * separated from the global dataset.
161
+ */
162
+ /*
163
+ $wpdb_cluster->add_database(array(
164
+ 'host' => 'global.db.example.com',
165
+ 'user' => 'globaluser',
166
+ 'password' => 'globalpassword',
167
+ 'name' => 'globaldb',
168
+ ));
169
+ $wpdb_cluster->add_database(array(
170
+ 'host' => 'blog.db.example.com',
171
+ 'user' => 'bloguser',
172
+ 'password' => 'blogpassword',
173
+ 'name' => 'blogdb',
174
+ 'dataset' => 'blog2',
175
+ ));
176
+ $wpdb_cluster->add_callback('my_db_callback', 'blog_dataset');
177
+ function my_db_callback($blog_id, $wpdb_cluster) {
178
+ if ($blog_id > 5))
179
+ return 'blog2';
180
+ }
181
+ */
ini/eaccelerator.ini CHANGED
File without changes
ini/index.html CHANGED
File without changes
ini/memcache.ini CHANGED
File without changes
ini/nginx-network-sample-config.conf ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ server {
2
+ listen 80;
3
+ server_name yoursite.com;
4
+ access_log /var/log/nginx/yoursite.com_access.log;
5
+ error_log /var/log/nginx/yoursite.com_error.log debug;
6
+
7
+ root /var/www/vhosts/yoursite.com;
8
+ index index.php;
9
+
10
+ location / {
11
+ try_files $uri $uri/ /index.php?$args;
12
+ }
13
+
14
+ if (!-e $request_filename) {
15
+ rewrite ^/(blog1|blog2)/(wp-(content|admin|includes).*) /$2;
16
+ rewrite ^/(blog1|blog2)/(.*.php)$ /$2;
17
+ }
18
+
19
+ include /var/www/vhosts/yoursite.com/nginx.conf;
20
+
21
+ if (!-e $request_filename) {
22
+ rewrite (.*) /index.php last;
23
+ }
24
+
25
+ location ~ .php$ {
26
+ fastcgi_index index.php;
27
+ fastcgi_pass 127.0.0.1:9000;
28
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
29
+ include fastcgi_params;
30
+ }
31
+ }
ini/nginx-standalone-sample-config.conf ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ server {
2
+ listen 80;
3
+ server_name yoursite.com;
4
+ access_log /var/log/nginx/yoursite.com_access.log;
5
+ error_log /var/log/nginx/yoursite.com_error.log debug;
6
+
7
+ root /var/www/vhosts/yoursite.com;
8
+ index index.php;
9
+
10
+ include /var/www/vhosts/yoursite.com/nginx.conf;
11
+
12
+ if (!-e $request_filename) {
13
+ rewrite (.*) /index.php last;
14
+ }
15
+
16
+ location ~ .php$ {
17
+ fastcgi_index index.php;
18
+ fastcgi_pass 127.0.0.1:9000;
19
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
20
+ include fastcgi_params;
21
+ }
22
+ }
ini/php.append.ini CHANGED
File without changes
ini/s3-sample-policy.txt ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "Statement": [
3
+ {
4
+ "Sid": "Stmt1339423675421",
5
+ "Action": [
6
+ "s3:DeleteObject",
7
+ "s3:Get*",
8
+ "s3:Put*",
9
+ "s3:Set*"
10
+ ],
11
+ "Effect": "Allow",
12
+ "Resource": [
13
+ "arn:aws:s3:::bucketnamehere/*"
14
+ ]
15
+ },
16
+ {
17
+ "Sid": "Stmt1339423675422",
18
+ "Action":s3:List*?,
19
+ "Effect":"Allow",
20
+ "Resource":"*"
21
+ }
22
+ ]
23
+ }
ini/varnish-sample-config.vcl ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ backend default {
2
+ .host = "127.0.0.1";
3
+ .port = "8080";
4
+ }
5
+
6
+ acl purge {
7
+ # Web server with plugin which will issue PURGE requests
8
+ "localhost";
9
+ }
10
+
11
+ sub vcl_recv {
12
+ if (req.request == "PURGE") {
13
+ if (!client.ip ~ purge) {
14
+ error 405 "Not allowed.";
15
+ }
16
+ ban("req.url ~ ^" + req.url + "$ && req.http.host == " + req.http.host);
17
+ #Below is used with Varnish version < 3.0. Comment out ban above if using those versions
18
+ #purge("req.url ~ ^" req.url "$ && req.http.host == "req.http.host);
19
+ }
20
+
21
+ # Normalize content-encoding
22
+ if (req.http.Accept-Encoding) {
23
+ if (req.url ~ "\.(jpg|png|gif|gz|tgz|bz2|lzma|tbz)(\?.*|)$") {
24
+ remove req.http.Accept-Encoding;
25
+ } elsif (req.http.Accept-Encoding ~ "gzip") {
26
+ set req.http.Accept-Encoding = "gzip";
27
+ } elsif (req.http.Accept-Encoding ~ "deflate") {
28
+ set req.http.Accept-Encoding = "deflate";
29
+ } else {
30
+ remove req.http.Accept-Encoding;
31
+ }
32
+ }
33
+
34
+ # Remove cookies and query string for real static files
35
+ if (req.url ~ "^/[^?]+\.(gif|jpg|jpeg|swf|css|js|txt|flv|mp3|mp4|pdf|ico|png|gz|zip|lzma|bz2|tgz|tbz)(\?.*|)$") {
36
+ unset req.http.cookie;
37
+ set req.url = regsub(req.url, "\?.*$", "");
38
+ }
39
+
40
+ # Don't cache backend
41
+ if (req.url ~ "wp-(login|admin|comments-post.php|cron.php)") {
42
+ return (pass);
43
+ }
44
+
45
+ return (lookup);
46
+ }
47
+
48
+ # Start Varnish version < 3
49
+ #sub vcl_fetch {
50
+ # # Don't store backend
51
+ # if (req.url ~ "wp-(login|admin|comments-post.php|cron.php)" || req.url ~ "preview=true" || req.url ~ "xmlrpc.php") {
52
+ # return (pass);
53
+ # }
54
+ #
55
+ # set obj.ttl = 24h;
56
+ # return (deliver);
57
+ #}
58
+ # End Varnish version < 3
59
+
60
+ # Start Varnish 3.0
61
+ sub vcl_fetch {
62
+ # Don't store backend
63
+ if (req.url ~ "wp-(login|admin|comments-post.php|cron.php)" || req.url ~ "preview=true" || req.url ~ "xmlrpc.php") {
64
+ return (hit_for_pass);
65
+ }
66
+ if ( (!(req.url ~ "(wp-(login|admin|comments-post.php|cron.php)|login)")) || (req.request == "GET") ) {
67
+ unset beresp.http.set-cookie;
68
+ set beresp.ttl = 4h;
69
+ }
70
+ if (req.url ~ "\.(gif|jpg|jpeg|swf|css|js|txt|flv|mp3|mp4|pdf|ico|png)(\?.*|)$") {
71
+ set beresp.ttl = 30d;
72
+ } #else {
73
+ # set beresp.do_esi = true;
74
+ #}
75
+ }
76
+ sub vcl_hit {
77
+ if (req.request == "PURGE") {
78
+ purge;
79
+ error 200 "Purged.";
80
+ }
81
+ }
82
+
83
+ sub vcl_miss {
84
+ if (req.request == "PURGE") {
85
+ purge;
86
+ error 200 "Purged.";
87
+ }
88
+ }
89
+ # end Varnish 3
ini/xcache.ini CHANGED
File without changes
inc/options/faq.xml → languages/faq-en_US.xml RENAMED
@@ -248,7 +248,7 @@
248
  </section>
249
  <section name="Usage">
250
  <entry>
251
- <question><![CDATA[ How do I find the <acronym title="JavaScript">JS</acronym> and <acronym title="Cascading Style Sheet">CSS</acronym> to optimize (minify) them with this plugin? ]]></question>
252
  <answer><![CDATA[
253
  <p>View your page source in your browser and search for any &lt;style&gt;, &lt;link&gt; or &lt;script&gt; tags that contain external <acronym title="Cascading Style Sheet">CSS</acronym> or <acronym title="JavaScript">JS</acronym> files and one by one add them to the minify settings page. Do not include any <acronym title="Cascading Style Sheet">CSS</acronym> in conditional statements (unless you know what you are doing) like:</p>
254
  <p>&lt;!--[if lte IE 8]&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/wp-content/themes/default/lte.css&quot; media=&quot;screen,projection&quot; /&gt;&lt;![endif]--&gt; Or simply use the "Help" tool available on the minify settings page which will identify <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files used in the templates of your theme and properly assign them to the same. Simply tick the checkbox for files you wish to minify, click "Apply &amp; close", then save your settings.</p>
@@ -273,6 +273,14 @@
273
  <p>Now go to the General tab and click the "Enable" checkbox and save the settings to enable <acronym title="Content Delivery Network">CDN</acronym> functionality and empty the cache for the changes to take effect. If preview mode is active you will need to "deploy" your changes for them to take effect.</p>
274
  ]]></answer>
275
  </entry>
 
 
 
 
 
 
 
 
276
  <entry>
277
  <question><![CDATA[ How do I configure Rackspace Cloud Files as my <acronym title="Content Delivery Network">CDN</acronym>? ]]></question>
278
  <answer><![CDATA[
@@ -378,21 +386,6 @@
378
  <question><![CDATA[ Why can't I specify other &lt;script&gt; types or encoding? ]]></question>
379
  <answer><![CDATA[ <p>We have not found a use case where this appears to be of any consequence. If you're aware of one <a href="mailto:wordpressexperts@w3-edge.com">please let us know</a>.</p> ]]></answer>
380
  </entry>
381
- <entry>
382
- <question><![CDATA[ My theme doesn't call wp_footer() or wp_head(), how do I set this plugin up? ]]></question>
383
- <answer><![CDATA[
384
- <p>You'll need to manually update your theme to include your <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> minify groups. The calls you'll want to make for the various cases are:</p>
385
- <ul>
386
- <li>&lt;?php if (function_exists('w3tc_styles')): w3tc_styles('include'); endif; ?&gt;<br />Inserts the &lt;head&gt; <acronym title="Cascading Style Sheet">CSS</acronym> group at the location you choose. Multiple occurrences are allowed.</li>
387
- <li>&lt;?php if (function_exists('w3tc_scripts')): w3tc_scripts('include'); endif; ?&gt;<br />Inserts the &lt;head&gt; blocking <acronym title="JavaScript">JS</acronym> group at the location you choose.</li>
388
- <li>&lt;?php if (function_exists('w3tc_scripts')): w3tc_scripts('include-nb'); endif; ?&gt;<br />Inserts the &lt;head&gt; non-blocking <acronym title="JavaScript">JS</acronym> groups at the location you choose.</li>
389
- <li>&lt;?php if (function_exists('w3tc_scripts')): w3tc_scripts('include-body'); endif; ?&gt;<br />Inserts the &lt;body&gt; blocking <acronym title="JavaScript">JS</acronym> group at the location you choose.</li>
390
- <li>&lt;?php if (function_exists('w3tc_scripts')): w3tc_scripts('include-body-nb'); endif; ?&gt;<br />Inserts the &lt;body&gt; non-blocking <acronym title="JavaScript">JS</acronym> groups at the location you choose.</li>
391
- <li>&lt;?php if (function_exists('w3tc_scripts')): w3tc_scripts('include-footer'); endif; ?&gt;<br />Inserts the footer <acronym title="JavaScript">JS</acronym> group at the location you choose.</li>
392
- <li>&lt;?php if (function_exists('w3tc_scripts')): w3tc_scripts('include-footer-nb'); endif; ?&gt;<br />Inserts the footer non-blocking <acronym title="JavaScript">JS</acronym> group at the location you choose.</li>
393
- </ul>
394
- ]]></answer>
395
- </entry>
396
  <entry>
397
  <question><![CDATA[ Is this plugin compatible with other popular caching plugins? ]]></question>
398
  <answer><![CDATA[ <p>No. Any disk based page caching plugin you're currently using would need to be completely uninstalled (not just disabled) in order to use this plugin. So if you have a development environment where you can try this out or testing during low traffic periods to get your preferences set, that is recommended. You can always backup your full WordPress installation before testing pretty quickly if you skip the /uploads/ (media library) directory.</p> ]]></answer>
@@ -406,7 +399,7 @@
406
  <answer><![CDATA[ <p>Unlikely, you're saving them bandwidth and using their applications, so they will probably appreciate it as long as their application still works as intended and you're using their software in an authorized manner. Look at it this way, even before this plugin, you and thousands of other people were still downloading it, now you're just downloading it first.</p> ]]></answer>
407
  </entry>
408
  <entry>
409
- <question><![CDATA[
410
  Google already minified and
411
  <acronym title="Hypertext Transfer Protocol">HTTP</acronym>
412
  compressed jQuery (and other libraries ) for me, why can't I just
@@ -438,14 +431,11 @@
438
  <p>That depends on how you use your blog and where most of your readers read your blog (regionally). Here's a short list:</p>
439
  <ul>
440
  <li><a href="http://bit.ly/acaXXt" target="_blank">MaxCDN</a></li>
441
- <li><a href="http://bit.ly/9hpX8T" target="_blank">Rackspace Cloud Files</a></li>
442
- <li><a href="http://bit.ly/bnVs0a" target="_blank">Cotendo</a></li>
443
- <li><a href="http://bit.ly/d5hfFt" target="_blank">VPS NET</a></li>
444
- <li><a href="http://bit.ly/ao1sGt" target="_blank">Cloudfront</a></li>
445
  <li><a href="http://bit.ly/bIjSWC" target="_blank">EdgeCast</a></li>
446
- <li><a href="http://bit.ly/a5GBLV" target="_blank">Akamai</a></li>
 
447
  <li><a href="http://bit.ly/aCW04j" target="_blank">Limelight Networks</a></li>
448
- <li><a href="http://bit.ly/93EAKK" target="_blank">Simple<acronym title="Content Delivery Network">CDN</acronym></a></li>
449
  </ul>
450
  ]]></answer>
451
  </entry>
@@ -472,11 +462,41 @@
472
  </ol>
473
  ]]></answer>
474
  </entry>
 
 
 
 
475
  <entry>
476
  <question><![CDATA[ How do I cache only the home page? ]]></question>
477
  <answer><![CDATA[ <p>Add "/.+" (without the quotes) to page cache "Never cache the following pages" option on the page cache settings tab.</p> ]]></answer>
478
  </entry>
479
- <entry>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
480
  <question><![CDATA[ I see garbage characters instead of the normal web site, what's going on here? ]]></question>
481
  <answer><![CDATA[ <p>If a theme or it's files use the call php_flush() or function flush() that will interfere with the plugins normal operation; making the plugin send cached files before essential operations have finished. The flush() call is no longer necessary and should be removed.</p> ]]></answer>
482
  </entry>
@@ -493,10 +513,14 @@
493
  <answer><![CDATA[ <p>First, make sure the plugin is not active (disabled) network-wide. Then make sure it's deactivated network-wide. Now you should be able to successful upgrade without breaking your site.</p> ]]></answer>
494
  </entry>
495
  <entry>
496
- <question><![CDATA[ How can I embed the minified CSS file at the location I choose? ]]></question>
497
  <answer><![CDATA[
 
498
  <ul>
499
- <li>&lt;?php if (function_exists('w3tc_styles')){w3tc_styles('include');} ?&gt;<br />Inserts the minified CSS files at the location you specify in your theme. More than one instance per template is ok; e.g. embedding in multiple conditional statements.</li>
 
 
 
500
  </ul>
501
  ]]></answer>
502
  </entry>
@@ -524,19 +548,6 @@
524
  <p>As always, it never hurts to back up your database first.</p>
525
  ]]></answer>
526
  </entry>
527
- <entry>
528
- <question><![CDATA[ How do I implement fragment caching? ]]></question>
529
- <answer><![CDATA[
530
- <p>Edit your templates to with the following syntax to ensure that dynamic features remain so:</p>
531
- <ul>
532
- <li>Example 1:<br />&lt;!-- mfunc any PHP code --&gt;&lt;!-- /mfunc --&gt;</li>
533
- <li>Example 2:<br />&lt;!-- mfunc --&gt;any PHP code&lt;!-- /mfunc --&gt;</li>
534
- <li>Example 3:<br />&lt;!--MFUNC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo rand();<br />&lt;!--/mfunc --&gt;</li>
535
- <li>Example 4:<br />&lt;!-- mclude path/to/file.php --&gt;&lt;!-- /mclude --&gt;</li>
536
- <li>Example 5:<br />&lt;!-- mclude --&gt;path/to/file.php&lt;!-- /mclude --&gt;</li>
537
- </ul>
538
- ]]></answer>
539
- </entry>
540
  <entry>
541
  <question><![CDATA[ How can I prevent caching directly in my templates etc? ]]></question>
542
  <answer><![CDATA[
@@ -571,53 +582,147 @@
571
  <entry>
572
  <question><![CDATA[ How do I programmatically modify user agent groups? ]]></question>
573
  <answer><![CDATA[
574
- <p>The following are commented examples of filters that can be used to manipulate user agent groups:</p>
575
- <p>function my_cached_mobile_groups($groups) {<br />
576
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// any operations on array<br />
577
- <br />
578
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// specify two groups example<br />
579
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$groups = array_merge($groups, array(<br />
580
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'favorite_browsers' =&gt; array('opera', 'chrome'),<br />
581
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'default_browsers' =&gt; array('msie', 'firefox')<br />
582
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;));<br />
583
- <br />
584
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $groups;<br />
585
- }<br />
586
-
587
- add_filter('cached_mobile_groups', 'my_cached_mobile_groups');<br />
588
- </p>
589
- <p>function my_w3tc_mobile_groups($w3tc_groups) {<br />
590
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// any operations <br />
591
- <br />
592
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// clear all groups example<br />
593
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$w3tc_groups = array();<br />
594
- <br />
595
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// delete all groups and add new example<br />
596
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$w3tc_groups = array(....);<br />
597
- <br />
598
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// merge groups example:<br />
599
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$w3tc_groups = array_merge($w3tc_groups, array(<br />
600
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'good_browsers' =&gt; array(<br />
601
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'theme' =&gt; 'good_theme/good_theme',<br />
602
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'enabled' =&gt; true,<br />
603
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'redirect' =&gt; '',<br />
604
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'agents' =&gt; array('firefox', 'chrome')<br />
605
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),<br />
606
- <br />
607
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'bad_browsers' =&gt; array(<br />
608
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'theme' =&gt; 'bad_theme/bad_theme',<br />
609
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'enabled' =&gt; true,<br />
610
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'redirect' =&gt; '',<br />
611
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'agents' =&gt; array('msie', 'opera')<br />
612
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br />
613
- ));<br />
614
- <br />
615
- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $w3tc_groups;<br />
616
- }<br />
617
- add_filter('w3tc_mobile_groups', 'my_w3tc_mobile_groups');
618
- </p>
619
  ]]></answer>
620
  </entry>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621
  </section>
622
  <section name="Requirements">
623
  <entry>
@@ -627,7 +732,7 @@
627
  <entry>
628
  <question><![CDATA[ Do I need to enable mod_gzip, mod_rewrite or install any <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression software on my server? ]]></question>
629
  <answer><![CDATA[
630
- <p>No, but we do find that it does help some rich internet applications to compress their AJAX responses, so you might look at it just for that case.</p>
631
  <p>If you're larger organization or a web hosting company, consider looking into solutions that exist like <a href="http://www.gear6.com/">Gear6</a> which could be useful now that you have a plugin that makes management memcached pain free.</p>
632
  ]]></answer>
633
  </entry>
@@ -648,7 +753,7 @@
648
  <li>If you frequently restart your web server (e.g. apache) especially during high traffic periods, you will lose your cache and your site will slow down as it rebuilds the cache (which happens very quickly). However if you use memcached you would not lose your cache if your web server is restarted.</li>
649
  <li>More importantly, opcode caching is best suited for single server environments because the cache is only accessible to the local server, it cannot be shared with other servers in a multi-server (cluster) environment.</li>
650
  </ul>
651
- <p>It would appear that using <acronym title="Alternative PHP Cache">APC</acronym> database caching, but your mileage may vary. So depending on what software you install and how you manage your server, you can choose the options to fit your needs. If you need help with the install on your dedicated or virtual dedicated linux-based server ask us!</p>
652
  ]]></answer>
653
  </entry>
654
  <entry>
@@ -675,7 +780,7 @@
675
  </entry>
676
  <entry>
677
  <question><![CDATA[ What version of mySQL is needed? ]]></question>
678
- <answer><![CDATA[ <p>If your WordPress installation is works, you're all set.</p> ]]></answer>
679
  </entry>
680
  <entry>
681
  <question><![CDATA[ And I need mod_rewrite (or equivalent for my web server) installed too, no? ]]></question>
@@ -683,7 +788,7 @@
683
  </entry>
684
  <entry>
685
  <question><![CDATA[ How much hardware do I have to throw at something like this before I see a benefit? ]]></question>
686
- <answer><![CDATA[ <p>This plugin was actually designed with virtual dedicated servers in mind. As long as your server has at least 256M of <acronym title="Random Access Memory">RAM</acronym>, you can get started.</p> ]]></answer>
687
  </entry>
688
  <entry>
689
  <question><![CDATA[ Is this plugin server cluster and load balancer friendly? ]]></question>
248
  </section>
249
  <section name="Usage">
250
  <entry>
251
+ <question><![CDATA[ How do I find the <acronym title="JavaScript">JS</acronym> and <acronym title="Cascading Style Sheet">CSS</acronym> to optimize (manually minify) them with this plugin? ]]></question>
252
  <answer><![CDATA[
253
  <p>View your page source in your browser and search for any &lt;style&gt;, &lt;link&gt; or &lt;script&gt; tags that contain external <acronym title="Cascading Style Sheet">CSS</acronym> or <acronym title="JavaScript">JS</acronym> files and one by one add them to the minify settings page. Do not include any <acronym title="Cascading Style Sheet">CSS</acronym> in conditional statements (unless you know what you are doing) like:</p>
254
  <p>&lt;!--[if lte IE 8]&gt;&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/wp-content/themes/default/lte.css&quot; media=&quot;screen,projection&quot; /&gt;&lt;![endif]--&gt; Or simply use the "Help" tool available on the minify settings page which will identify <acronym title="Cascading Style Sheet">CSS</acronym> and <acronym title="JavaScript">JS</acronym> files used in the templates of your theme and properly assign them to the same. Simply tick the checkbox for files you wish to minify, click "Apply &amp; close", then save your settings.</p>
273
  <p>Now go to the General tab and click the "Enable" checkbox and save the settings to enable <acronym title="Content Delivery Network">CDN</acronym> functionality and empty the cache for the changes to take effect. If preview mode is active you will need to "deploy" your changes for them to take effect.</p>
274
  ]]></answer>
275
  </entry>
276
+ <entry>
277
+ <question><![CDATA[ Anything I need to do when using Amazon Web Services with limited permissions (<acronym title="Simple Storage Service">S3</acronym>, CloudFront, <acronym title="Simple Notification Service">SNS</acronym>)? ]]></question>
278
+ <answer><![CDATA[
279
+ <p>We recommend that you use <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccessPolicyLanguage_KeyConcepts.html" target="_blank"><acronym title="AWS Identity and Access Management">IAM</acronym></a> to create a new policy for <acronym title="Amazon Web Services">AWS</acronym> services that have limited permissions. A helpful tool: <a href="​http://awspolicygen.s3.amazonaws.com/policygen.html" target="_blank">AWS Policy Generator</a></p>
280
+ <p>You also find a <acronym title="Simple Storage Service">S3</acronym> configuration sample in the "ini" folder in the plugins directory.</p>
281
+ ]]>
282
+ </answer>
283
+ </entry>
284
  <entry>
285
  <question><![CDATA[ How do I configure Rackspace Cloud Files as my <acronym title="Content Delivery Network">CDN</acronym>? ]]></question>
286
  <answer><![CDATA[
386
  <question><![CDATA[ Why can't I specify other &lt;script&gt; types or encoding? ]]></question>
387
  <answer><![CDATA[ <p>We have not found a use case where this appears to be of any consequence. If you're aware of one <a href="mailto:wordpressexperts@w3-edge.com">please let us know</a>.</p> ]]></answer>
388
  </entry>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389
  <entry>
390
  <question><![CDATA[ Is this plugin compatible with other popular caching plugins? ]]></question>
391
  <answer><![CDATA[ <p>No. Any disk based page caching plugin you're currently using would need to be completely uninstalled (not just disabled) in order to use this plugin. So if you have a development environment where you can try this out or testing during low traffic periods to get your preferences set, that is recommended. You can always backup your full WordPress installation before testing pretty quickly if you skip the /uploads/ (media library) directory.</p> ]]></answer>
399
  <answer><![CDATA[ <p>Unlikely, you're saving them bandwidth and using their applications, so they will probably appreciate it as long as their application still works as intended and you're using their software in an authorized manner. Look at it this way, even before this plugin, you and thousands of other people were still downloading it, now you're just downloading it first.</p> ]]></answer>
400
  </entry>
401
  <entry>
402
+ <question><![CDATA[
403
  Google already minified and
404
  <acronym title="Hypertext Transfer Protocol">HTTP</acronym>
405
  compressed jQuery (and other libraries ) for me, why can't I just
431
  <p>That depends on how you use your blog and where most of your readers read your blog (regionally). Here's a short list:</p>
432
  <ul>
433
  <li><a href="http://bit.ly/acaXXt" target="_blank">MaxCDN</a></li>
 
 
 
 
434
  <li><a href="http://bit.ly/bIjSWC" target="_blank">EdgeCast</a></li>
435
+ <li><a href="http://bit.ly/ao1sGt" target="_blank">Amazon Cloudfront</a></li>
436
+ <li><a href="http://bit.ly/9hpX8T" target="_blank">Rackspace Cloud Files</a></li>
437
  <li><a href="http://bit.ly/aCW04j" target="_blank">Limelight Networks</a></li>
438
+ <li><a href="http://bit.ly/a5GBLV" target="_blank">Akamai</a></li>
439
  </ul>
440
  ]]></answer>
441
  </entry>
462
  </ol>
463
  ]]></answer>
464
  </entry>
465
+ <entry>
466
+ <question><![CDATA[ How do I get WPTouch to work properly together with W3 Total Cache? ]]></question>
467
+ <answer><![CDATA[ <p>You need to enable "User Agent Groups" high and low and add any user agents you think are missing.</p>]]></answer>
468
+ </entry>
469
  <entry>
470
  <question><![CDATA[ How do I cache only the home page? ]]></question>
471
  <answer><![CDATA[ <p>Add "/.+" (without the quotes) to page cache "Never cache the following pages" option on the page cache settings tab.</p> ]]></answer>
472
  </entry>
473
+ <entry>
474
+ <question><![CDATA[ Which textareas for file entries support regular expressions? ]]></question>
475
+ <answer><![CDATA[
476
+ <ul>
477
+ <li>Page Cache: Never cache the following pages, Cache exception list, Non-trailing slash pages</li>
478
+ <li>Database Cache: Never cache the following pages</li>
479
+ <li><acronym title="Content Delivery Network">CDN</acronym>: Custom file list, Rejected files <br />The <acronym title="Content Delivery Network">CDN</acronym> fields only support regular expression on the filename.</li>
480
+ </ul>
481
+ <p>Examples (Never cache the following pages):</p>
482
+ <ul>
483
+ <li>Do not cache page/directory and sub pages
484
+ /directory*</li>
485
+ <li>Do not cache pages under a directory
486
+ /directory/.+</li>
487
+ <li>Do not cache pages that contain specific text<br />
488
+ /.*text.*</li>
489
+ <li>Do not cache pages that is named child in directories<br />
490
+ .+/child</li>
491
+ <li>Do not cache any pages named child<br />
492
+ */child</li>
493
+ </ul>
494
+ <p>
495
+ Note: To disable page caching of specific theme templates or plugin files you need to add define('DONOTCACHEPAGE', true); to it.</p>
496
+ </p>
497
+ ]]></answer>
498
+ </entry>
499
+ <entry>
500
  <question><![CDATA[ I see garbage characters instead of the normal web site, what's going on here? ]]></question>
501
  <answer><![CDATA[ <p>If a theme or it's files use the call php_flush() or function flush() that will interfere with the plugins normal operation; making the plugin send cached files before essential operations have finished. The flush() call is no longer necessary and should be removed.</p> ]]></answer>
502
  </entry>
513
  <answer><![CDATA[ <p>First, make sure the plugin is not active (disabled) network-wide. Then make sure it's deactivated network-wide. Now you should be able to successful upgrade without breaking your site.</p> ]]></answer>
514
  </entry>
515
  <entry>
516
+ <question><![CDATA[ How can I embed the CSS or JS file at the location I choose? ]]></question>
517
  <answer><![CDATA[
518
+ <p>When using Minify and JS/CSS placement, custom placement, the following tags are available:</p>
519
  <ul>
520
+ <li>&lt;!-- W3TC-include-css --&gt;<br / >Used with "Auto" and "Manual". Inserts the minified/combined <acronym title="Cascading Style Sheet">CSS</acronym> files at the location you choose.</li>
521
+ <li>&lt;!-- W3TC-include-js-head --&gt;<br / >Used with "Auto" and "Manual". Inserts the minified/combined <acronym title="JavaScript">JS</acronym> files. Embed location "in &lt;head&gt;" in "Manual" mode.</li>
522
+ <li>&lt;!-- W3TC-include-js-body-start --&gt;<br / >Used with "Manual". Inserts the minified/combined <acronym title="JavaScript">JS</acronym> files. Embed location "after &lt;body&gt;" in "Manual" mode.</li>
523
+ <li>&lt;!-- W3TC-include-js-body-end --&gt;<br / >Used with "Manual". Inserts the minified/combined <acronym title="JavaScript">JS</acronym> files. Embed location "before &lt;/body&gt;" in "Manual" mode.</li>
524
  </ul>
525
  ]]></answer>
526
  </entry>
548
  <p>As always, it never hurts to back up your database first.</p>
549
  ]]></answer>
550
  </entry>
 
 
 
 
 
 
 
 
 
 
 
 
 
551
  <entry>
552
  <question><![CDATA[ How can I prevent caching directly in my templates etc? ]]></question>
553
  <answer><![CDATA[
582
  <entry>
583
  <question><![CDATA[ How do I programmatically modify user agent groups? ]]></question>
584
  <answer><![CDATA[
585
+ <p>There are two ways change user agent groups, functions or filter.</p>
586
+ <p><strong>Using functions:</strong></p>
587
+ <pre>
588
+ $group_config = w3tc_get_user_agent_group($group_name); //name of the group
589
+ $group_config['theme'] = 'newtheme';
590
+ $group_config['redirect'] = '';
591
+ $group_config['agents'] = array(escaped_string, [...]);
592
+ $group_config['enabled'] = true;
593
+
594
+ w3tc_save_user_agent_group($group_name, $group_config['theme'], $group_config['redirect'], $group_config['agents'], $group_config['enabled']);
595
+
596
+ </pre>
597
+ <p><strong>Using filter: </strong></p>
598
+ <pre>
599
+ function my_w3tc_mobile_groups($w3tc_groups) {
600
+ // any operations
601
+ // clear all groups example
602
+ $w3tc_groups = array();
603
+ // delete all groups and add new example
604
+ $w3tc_groups = array(....);
605
+ // merge groups example:
606
+ $w3tc_groups = array_merge($w3tc_groups, array(
607
+ 'good_browsers' =&gt; array(
608
+ theme' =&gt; 'good_theme/good_theme',
609
+ 'enabled' =&gt; true,
610
+ 'redirect' =&gt; '',
611
+ 'agents' =&gt; array('firefox', 'chrome')
612
+ ),
613
+ 'bad_browsers' =&gt; array(
614
+ 'theme' =&gt; 'bad_theme/bad_theme',
615
+ 'enabled' =&gt; true,
616
+ 'redirect' =&gt; '',
617
+ 'agents' =&gt; array('msie', 'opera')
618
+ )
619
+ ));
620
+ return $w3tc_groups;
621
+ }
622
+ add_filter('w3tc_mobile_groups', 'my_w3tc_mobile_groups');
623
+ </pre>
 
 
 
 
 
 
624
  ]]></answer>
625
  </entry>
626
+ <entry>
627
+ <question><![CDATA[ How do I programmatically modify referrer groups? ]]></question>
628
+ <answer><![CDATA[
629
+ <p>There are two ways change referrer groups, functions or filter.</p>
630
+ <p><strong>Using functions:</strong></p>
631
+ <pre>
632
+ $group_config = w3tc_get_referrer_group($group_name); //name of the group
633
+ $group_config['theme'] = 'newtheme';
634
+ $group_config['redirect'] = '';
635
+ $group_config['referrers'] = array(escaped_string, [...]);
636
+ $group_config['enabled'] = true;
637
+ w3tc_save_referrer_group($group_name, $group_config['theme'], $group_config['referrer'], $group_config['referrers'], $group_config['enabled']);
638
+ </pre>
639
+ <p><strong>Using filters: </strong></p>
640
+ <pre>
641
+ function my_w3tc_referrer_groups($w3tc_groups) {<br />
642
+ // any operations
643
+ // clear all groups example
644
+ $w3tc_groups = array();
645
+
646
+ // delete all groups and add new example
647
+ $w3tc_groups = array(....);
648
+
649
+ // merge groups example:
650
+ $w3tc_groups = array_merge($w3tc_groups, array(
651
+ 'search_referrers' =&gt; array(
652
+ 'theme' =&gt; 'search_theme',
653
+ 'enabled' =&gt; true,<br />
654
+ 'redirect' =&gt; '',<br />
655
+ 'referrers' =&gt; array('google\.com')
656
+ ),
657
+
658
+ 'other_referrers' =&gt; array(
659
+ 'theme' =&gt; 'video_theme',
660
+ 'enabled' =&gt; true,
661
+ 'redirect' =&gt; '',
662
+ 'referrers' =&gt; array('youtube\.com')
663
+ )
664
+ ));
665
+
666
+ return $w3tc_groups;
667
+ }
668
+ add_filter('w3tc_referrer_groups', 'my_w3tc_referrer_groups');</pre>
669
+ ]]></answer>
670
+ </entry>
671
+ <entry>
672
+ <question><![CDATA[ When I post/like my posts on Facebook the wrong text or no images are shown on Facebook.]]></question>
673
+ <answer><![CDATA[ <p>If this happens you need to add the following user agents to the textarea "Rejected user agents" the Page Cache settings page:</p>
674
+ <pre>facebookexternalhit
675
+ FacebookExternalHit/1.1
676
+ FacebookExternalHit/1.0</pre>
677
+ <p>Also make sure you have the correct xmlns:og /xmlns:fb tags in your opening HTML tag.</p>
678
+ ]]></answer>
679
+ </entry>
680
+ <entry>
681
+ <question><![CDATA[ How do I remove the W3 Total Cache HTML comment? ]]></question>
682
+ <answer> <![CDATA[
683
+ <p>Define APP_REQUEST in wp-config.php for example:<br /><br />
684
+ if ($_SERVER['REQUEST_URI'] == '/my-specific-page/') {<br />
685
+ &nbsp;&nbsp;&nbsp;&nbsp;define('APP_REQUEST', 'true');<br />
686
+ }
687
+ </p>
688
+ ]]></answer>
689
+ </entry>
690
+ <entry>
691
+ <question><![CDATA[ Why doesn't minify work for me? ]]></question>
692
+ <answer> <![CDATA[
693
+ <p>Great question. W3 Total Cache uses several open source tools to attempt to combine and optimize CSS, JavaScript and HTML etc. Unfortunately some trial and error is required on the part of developers is required to make sure that their code can be successfully minified with the various libraries W3 Total Cache supports. Even still, if developers do test their code thoroughly, they cannot be sure that interoperability with other code your site may have. This fault does not lie with any single party here, because there are thousands of plugins and theme combinations that a given site can have, there are millions of possible combinations of CSS, JavaScript etc.</p>
694
+ <p>A good rule of thumb is to try auto mode, work with a developer to identify the code that is not compatible and start with combine only mode (the safest optimization) and increase the optimization to the point just before functionality (JavaScript) or user interface / layout (CSS) breaks in your site.</p>
695
+ <p>We're always working to make this more simple and straight forward in future releases, but this is not an undertaking we can realize on our own. When you find a plugin, theme or file that is not compatible with minification reach out to the developer and ask them either to provide a minified version with their distribution or otherwise make sure their code is minification-friendly.</p>
696
+ ]]></answer>
697
+ </entry>
698
+ <entry>
699
+ <question><![CDATA[ How can I make w3tc-wp-loader.php work correctly with symlinks where the real path changes from time to time? ]]></question>
700
+ <answer><![CDATA[
701
+ <p>Add the symlink path to w3tc-wp-loader.php and then disable the wp loader check by adding: define('DONOTVERIFY_WP_LOADER', true); to wp-config.php.
702
+ </p>
703
+ ]]></answer>
704
+ </entry>
705
+ <entry>
706
+ <question><![CDATA[ The plugin tells me to add w3tc-wp-loader.php but minify loads correctly? ]]></question>
707
+ <answer><![CDATA[
708
+ <p>If you put the symlink path in w3tc-wp-loader.php the plugin will think the path has changed because WordPress converts symlinks to realpath.
709
+ You can disable the check by adding: define('DONOTVERIFY_WP_LOADER', true); to wp-config.php.
710
+ </p>
711
+ ]]></answer>
712
+ </entry>
713
+ <entry>
714
+ <question><![CDATA[ How can I issue delete and reload APC commands over HTTP/wp-cli? ]]></question>
715
+ <answer> <![CDATA[
716
+ <p>Functions required for deleting and reloading over HTTP is found in inc/functions/plugin.php.<br />
717
+ Call <em>w3tc_apc_reload_files(array('file1' ...),true)</em> to reload files.<br />
718
+ Call <em>w3tc_apc_delete_files_based_on_regex('a regular expression', true)</em> to delete files.</p>
719
+ <p>
720
+ <p>To do it locally with <em>wp-cli</em>:<br />
721
+ Call <em>wp w3-total-cache apc_reload_files local file1 file2 file3</em><br />
722
+ Call <em>wp w3-total-cache apc_delete_based_on_regex local regex</em><br />
723
+ </p>
724
+ ]]></answer>
725
+ </entry>
726
  </section>
727
  <section name="Requirements">
728
  <entry>
732
  <entry>
733
  <question><![CDATA[ Do I need to enable mod_gzip, mod_rewrite or install any <acronym title="Hypertext Transfer Protocol">HTTP</acronym> compression software on my server? ]]></question>
734
  <answer><![CDATA[
735
+ <p>Not when the option is enabled for page caching or minfiied files, however you do need either module to compress files that are not handled by W3 Total Cache.</p>
736
  <p>If you're larger organization or a web hosting company, consider looking into solutions that exist like <a href="http://www.gear6.com/">Gear6</a> which could be useful now that you have a plugin that makes management memcached pain free.</p>
737
  ]]></answer>
738
  </entry>
753
  <li>If you frequently restart your web server (e.g. apache) especially during high traffic periods, you will lose your cache and your site will slow down as it rebuilds the cache (which happens very quickly). However if you use memcached you would not lose your cache if your web server is restarted.</li>
754
  <li>More importantly, opcode caching is best suited for single server environments because the cache is only accessible to the local server, it cannot be shared with other servers in a multi-server (cluster) environment.</li>
755
  </ul>
756
+ <p>It would appear that using <acronym title="Alternative PHP Cache">APC</acronym> database caching may be best, but your mileage may vary. So depending on what software you install and how you manage your server, you can choose the options to fit your needs. If you need help with the install on your dedicated or virtual dedicated linux-based server ask us!</p>
757
  ]]></answer>
758
  </entry>
759
  <entry>
780
  </entry>
781
  <entry>
782
  <question><![CDATA[ What version of mySQL is needed? ]]></question>
783
+ <answer><![CDATA[ <p>If your WordPress installation works, you're all set.</p> ]]></answer>
784
  </entry>
785
  <entry>
786
  <question><![CDATA[ And I need mod_rewrite (or equivalent for my web server) installed too, no? ]]></question>
788
  </entry>
789
  <entry>
790
  <question><![CDATA[ How much hardware do I have to throw at something like this before I see a benefit? ]]></question>
791
+ <answer><![CDATA[ <p>This plugin was actually designed with virtual dedicated servers in mind. As long as your server has at least 256M of <acronym title="Random Access Memory">RAM</acronym>, you can get started with the advanced optimizations.</p> ]]></answer>
792
  </entry>
793
  <entry>
794
  <question><![CDATA[ Is this plugin server cluster and load balancer friendly? ]]></question>
languages/faq-premium-en_US.xml ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <faqs>
3
+ <section name="General">
4
+ <entry>
5
+ <question>
6
+ <![CDATA[ Which Enterprise features are currently available? ]]>
7
+ </question>
8
+ <answer>
9
+ <![CDATA[ <p>Enterprise features available:</p>
10
+ <ul>
11
+ <li>Database cluster</li>
12
+ <li>Fragment cache</li>
13
+ <li>Amazon <acronym title="Simple Notification Service">SNS</acronym></li>
14
+ </ul>
15
+ ]]>
16
+ </answer>
17
+ </entry>
18
+ <entry>
19
+ <question>
20
+ <![CDATA[ How do I enable access to Enterprise features? ]]>
21
+ </question>
22
+ <answer>
23
+ <![CDATA[ <p>Add define('W3TC_ENTERPRISE', true); to your wp-config.php file.</p> ]]>
24
+ </answer>
25
+ </entry>
26
+ <entry>
27
+ <question><![CDATA[ When should I use Amazon <acronym title="Simple Notification Service">SNS</acronym>? ]]></question>
28
+ <answer><![CDATA[ It should be used when you use load balancing with multiple servers. Using Amazon <acronym title="Simple Notification Service">SNS</acronym> will make sure that the W3 Total Cache caches for each server is purged when required. ]]></answer>
29
+ </entry>
30
+ </section>
31
+ <section name="Usage">
32
+ <entry>
33
+ <question><![CDATA[ How do I enable Database Cluster support? ]]></question>
34
+ <answer><![CDATA[
35
+ <p>In order to use Database Cluster you need use WordPress in network mode and enable Enterprise mode for W3 Total Cache.</p>
36
+ <p>After enabling Enterprise mode you will find a area inside Database Cache box on the General Settings page. Click 'Enable database cluster' to enable the functionality.</p>
37
+ ]]></answer>
38
+ </entry>
39
+ <entry>
40
+ <question><![CDATA[ How do I implement fragment caching? ]]></question>
41
+ <answer><![CDATA[
42
+ <p>Fragment caching adds new functionality to the WordPress <a href="http://codex.wordpress.org/Transients_API">Transients <acronym title="Application Programming Interface">API</acronym></a>:</p>
43
+ <ul>
44
+ <li>Adds support for grouping transients both per blog and site wide</li>
45
+ <li>Adds support for manual flushing of registered transient groups</li>
46
+ <li>Adds support for action based flushing of registered transient groups</li>
47
+ </ul>
48
+ <p>To make the plugin aware that you group transients see code examples below:</p>
49
+ <pre>
50
+ add_action('w3tc_register_fragment_groups', 'my_plugin_register_groups');
51
+
52
+ function my_plugin_register_groups() {
53
+ //blog specific group and an array of actions that will trigger a flush of the group
54
+ w3tc_register_fragment_group('my_plugin_', array('publish_post'));
55
+ //If using MultiSite Network/site wide specific group and an array of actions that will trigger a flush of the group
56
+ w3tc_register_fragment_group_global('my_plugin_global_', array('edit_site'));
57
+ }
58
+ function my_plugin_flush_group() {
59
+ //manually flush a blog specific group.
60
+ w3tc_fragmentcache_flush_group('my_plugin_');
61
+ }
62
+ function my_plugin_flush_global_group() {
63
+ //manually flush a network wide group
64
+ w3tc_fragmentcache_flush_group('my_plugin_global_', true);
65
+ }
66
+
67
+ //Set transients
68
+ function on_some_event() {
69
+ if (false === get_transient('my_plugin_some_key'))
70
+ //my_plugin_ prefix is the group name we registered earlier
71
+ set_transient('my_plugin_some_key', 'blog specific value');
72
+ if (false === get_site_transient('my_plugin_some_key'))
73
+ //my_plugin_site_ prefix is the group name we registered earlier
74
+ set_site_transient('my_plugin_site_some_key', 'site wide specific value');
75
+ }
76
+ </pre>
77
+ ]]></answer>
78
+ </entry>
79
+ <entry>
80
+ <question><![CDATA[ How do I configure Amazon <acronym title="Simple Notification Service">SNS</acronym>?]]>
81
+ </question>
82
+ <answer><![CDATA[
83
+ <ol>
84
+ <li>You need to visit <a href="https://console.aws.amazon.com/sns/"><acronym title="Simple Notification Service">SNS</acronym></a> and sign in /create account.</li>
85
+ <li>Create a new topic.</li>
86
+ <li>Copy paste the Topic ARN into correspongding field on the General Settings page. </li>
87
+ <li>Enter the corrent <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#sns_region">SNS region</a> in the corresponding textfield on General Settings page.</li>
88
+ <li>Enter your API key and API secret. You find your API key and API secret under Security Credentials in your Amazon account.</li>
89
+ <li>Click subscribe.</li>
90
+ <li>Save settings</li>
91
+ </ol>
92
+ ]]>
93
+ </answer>
94
+ </entry>
95
+ </section>
96
+ <section name="Requirements">
97
+ <entry>
98
+ <question>
99
+ <![CDATA[ What is required to use Amazon <acronym title="Simple Notification Service">SNS</acronym>?]]>
100
+ </question>
101
+ <answer>
102
+ <![CDATA[
103
+ <p>
104
+ You need to sign up for a <a href="http://aws.amazon.com/sns/" target="_blank">Amazon Web Services account</a>.
105
+ </p>
106
+ ]]>
107
+ </answer>
108
+ </entry>
109
+ </section>
110
+ </faqs>
lib/.htaccess DELETED
@@ -1,3 +0,0 @@
1
- Options -Indexes
2
- Order deny,allow
3
- #Deny from all
 
 
 
lib/CF/cacert.pem CHANGED
@@ -1,3113 +1,3113 @@
1
- ##
2
- ## cacert.pem-foo -- Bundle of CA Root Certificates
3
- ##
4
- ## Converted at: Sat Aug 23 21:39:56 2008 UTC
5
- ##
6
- ## This is a bundle of X.509 certificates of public Certificate Authorities
7
- ## (CA). These were automatically extracted from Mozilla's root certificates
8
- ## file (certdata.txt). This file can be found in the mozilla source tree:
9
- ## '/mozilla/security/nss/lib/ckfw/builtins/certdata.txt'
10
- ##
11
- ## It contains the certificates in PEM format and therefore
12
- ## can be directly used with curl / libcurl / php_curl, or with
13
- ## an Apache+mod_ssl webserver for SSL client authentication.
14
- ## Just configure this file as the SSLCACertificateFile.
15
- ##
16
-
17
- # ***** BEGIN LICENSE BLOCK *****
18
- # Version: MPL 1.1/GPL 2.0/LGPL 2.1
19
- #
20
- # The contents of this file are subject to the Mozilla Public License Version
21
- # 1.1 (the "License"); you may not use this file except in compliance with
22
- # the License. You may obtain a copy of the License at
23
- # http://www.mozilla.org/MPL/
24
- #
25
- # Software distributed under the License is distributed on an "AS IS" basis,
26
- # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
27
- # for the specific language governing rights and limitations under the
28
- # License.
29
- #
30
- # The Original Code is the Netscape security libraries.
31
- #
32
- # The Initial Developer of the Original Code is
33
- # Netscape Communications Corporation.
34
- # Portions created by the Initial Developer are Copyright (C) 1994-2000
35
- # the Initial Developer. All Rights Reserved.
36
- #
37
- # Contributor(s):
38
- #
39
- # Alternatively, the contents of this file may be used under the terms of
40
- # either the GNU General Public License Version 2 or later (the "GPL"), or
41
- # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
42
- # in which case the provisions of the GPL or the LGPL are applicable instead
43
- # of those above. If you wish to allow use of your version of this file only
44
- # under the terms of either the GPL or the LGPL, and not to allow others to
45
- # use your version of this file under the terms of the MPL, indicate your
46
- # decision by deleting the provisions above and replace them with the notice
47
- # and other provisions required by the GPL or the LGPL. If you do not delete
48
- # the provisions above, a recipient may use your version of this file under
49
- # the terms of any one of the MPL, the GPL or the LGPL.
50
- #
51
- # ***** END LICENSE BLOCK *****
52
- # @(#) $RCSfile: certdata.txt,v $ $Revision: 1.49 $ $Date: 2008/08/14 18:15:56 $
53
-
54
- Verisign/RSA Secure Server CA
55
- =============================
56
- -----BEGIN CERTIFICATE-----
57
- MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
58
- IDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2VydmVy
59
- IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVow
60
- XzELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQL
61
- EyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUA
62
- A4GJADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII0haGN1Xp
63
- sSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphIuR2nKRoTLkoRWZweFdVJ
64
- VCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZIhvcNAQECBQADfgBl3X7hsuyw4jrg7HFG
65
- mhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2
66
- qUtN8iD3zV9/ZHuO3ABc1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==
67
- -----END CERTIFICATE-----
68
-
69
- GTE CyberTrust Root CA
70
- ======================
71
- -----BEGIN CERTIFICATE-----
72
- MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
73
- Q29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJvb3QwHhcNOTYwMjIzMjMwMTAw
74
- WhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9u
75
- MRwwGgYDVQQDExNHVEUgQ3liZXJUcnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
76
- gQC45k+625h8cXyvRLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH
77
- 6X4MypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/51KiOQswk
78
- wB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKzdcZfHeFhVYAA1IFLezEP
79
- I2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWlIjeaY8JIILTbcuPI9tl8vrGvU9oUtCG4
80
- 1tWW4/5ODFlitppK+ULdjG+BqXH/9ApybW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY
81
- -----END CERTIFICATE-----
82
-
83
- GTE CyberTrust Global Root
84
- ==========================
85
- -----BEGIN CERTIFICATE-----
86
- MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
87
- Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG
88
- A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz
89
- MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL
90
- Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0
91
- IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u
92
- sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql
93
- HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID
94
- AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW
95
- M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF
96
- NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
97
- -----END CERTIFICATE-----
98
-
99
- Thawte Personal Basic CA
100
- ========================
101
- -----BEGIN CERTIFICATE-----
102
- MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCWkExFTATBgNVBAgT
103
- DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs
104
- dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMY
105
- VGhhd3RlIFBlcnNvbmFsIEJhc2ljIENBMSgwJgYJKoZIhvcNAQkBFhlwZXJzb25hbC1iYXNpY0B0
106
- aGF3dGUuY29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgcsxCzAJBgNVBAYTAlpB
107
- MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhh
108
- d3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24x
109
- ITAfBgNVBAMTGFRoYXd0ZSBQZXJzb25hbCBCYXNpYyBDQTEoMCYGCSqGSIb3DQEJARYZcGVyc29u
110
- YWwtYmFzaWNAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLyTU23AUE+C
111
- FeZIlDWmWr5vQvoPR+53dXLdjUmbllegeNTKP1GzaQuRdhciB5dqxFGTS+CN7zeVoQxN2jSQHReJ
112
- l+A1OFdKwPQIcOk8RHtQfmGakOMj04gRRif1CwcOu93RfyAKiLlWCy4cgNrx454p7xS9CkT7G1sY
113
- 0b8jkyECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAt4plrsD16
114
- iddZopQBHyvdEktTwq1/qqcAXJFAVyVKOKqEcLnZgA+le1z7c8a914phXAPjLSeoF+CEhULcXpvG
115
- t7Jtu3Sv5D/Lp7ew4F2+eIMllNLbgQ95B21P9DkVWlIBe94y1k049hJcBlDfBVu9FEuh3ym6O0GN
116
- 92NWod8isQ==
117
- -----END CERTIFICATE-----
118
-
119
- Thawte Personal Premium CA
120
- ==========================
121
- -----BEGIN CERTIFICATE-----
122
- MIIDKTCCApKgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzzELMAkGA1UEBhMCWkExFTATBgNVBAgT
123
- DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs
124
- dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEjMCEGA1UEAxMa
125
- VGhhd3RlIFBlcnNvbmFsIFByZW1pdW0gQ0ExKjAoBgkqhkiG9w0BCQEWG3BlcnNvbmFsLXByZW1p
126
- dW1AdGhhd3RlLmNvbTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHPMQswCQYDVQQG
127
- EwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoT
128
- EVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlz
129
- aW9uMSMwIQYDVQQDExpUaGF3dGUgUGVyc29uYWwgUHJlbWl1bSBDQTEqMCgGCSqGSIb3DQEJARYb
130
- cGVyc29uYWwtcHJlbWl1bUB0aGF3dGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJ
131
- Ztn4B0TPuYwu8KHvE0VsBd/eJxZRNkERbGw77f4QfRKe5ZtCmv5gMcNmt3M6SK5O0DI3lIi1DbbZ
132
- 8/JE2dWIEt12TfIa/G8jHnrx2JhFTgcQ7xZC0EN1bUre4qrJMf8fAHB8Zs8QJQi6+u4A6UYDZicR
133
- FTuqW/KY3TZCstqIdQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GB
134
- AGk2ifc0KjNyL2071CKyuG+axTZmDhs8obF1Wub9NdP4qPIHb4Vnjt4rueIXsDqg8A6iAJrf8xQV
135
- brvIhVqYgPn/vnQdPfP+MCXRNzRn+qVxeTBhKXLA4CxM+1bkOqhv5TJZUtt1KFBZDPgLGeSs2a+W
136
- jS9Q2wfD6h+rM+D1KzGJ
137
- -----END CERTIFICATE-----
138
-
139
- Thawte Personal Freemail CA
140
- ===========================
141
- -----BEGIN CERTIFICATE-----
142
- MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgT
143
- DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs
144
- dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMb
145
- VGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVl
146
- bWFpbEB0aGF3dGUuY29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgdExCzAJBgNV
147
- BAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UE
148
- ChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
149
- aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJ
150
- ARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
151
- gYEA1GnX1LCUZFtx6UfYDFG26nKRsIRefS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6W
152
- ZBrCFG5ErHzmj+hND3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVquzgk
153
- CGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQF
154
- AAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1XAjPMPuoSpaKH2JCI4wXD/S6ZJwXrEcp
155
- 352YXtJsYHFcoqzceePnbgBHH7UNKOgCneSa/RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK
156
- /qarigd1iwzdUYRr5PjRzneigQ==
157
- -----END CERTIFICATE-----
158
-
159
- Thawte Server CA
160
- ================
161
- -----BEGIN CERTIFICATE-----
162
- MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
163
- DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
164
- dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE
165
- AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j
166
- b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV
167
- BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u
168
- c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG
169
- A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0
170
- ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl
171
- /Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7
172
- 1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR
173
- MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J
174
- GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ
175
- GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=
176
- -----END CERTIFICATE-----
177
-
178
- Thawte Premium Server CA
179
- ========================
180
- -----BEGIN CERTIFICATE-----
181
- MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
182
- DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
183
- dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
184
- AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
185
- ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
186
- AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
187
- VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
188
- aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
189
- cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
190
- aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
191
- Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
192
- qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
193
- SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
194
- 8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
195
- UCemDaYj+bvLpgcUQg==
196
- -----END CERTIFICATE-----
197
-
198
- Equifax Secure CA
199
- =================
200
- -----BEGIN CERTIFICATE-----
201
- MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
202
- ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
203
- MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
204
- B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
205
- nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
206
- fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
207
- 8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
208
- A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
209
- CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
210
- A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
211
- spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
212
- Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
213
- zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
214
- BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
215
- 70+sB3c4
216
- -----END CERTIFICATE-----
217
-
218
- ABAecom (sub., Am. Bankers Assn.) Root CA
219
- =========================================
220
- -----BEGIN CERTIFICATE-----
221
- MIIDtTCCAp2gAwIBAgIRANAeQJAAAEZSAAAAAQAAAAQwDQYJKoZIhvcNAQEFBQAwgYkxCzAJBgNV
222
- BAYTAlVTMQswCQYDVQQIEwJEQzETMBEGA1UEBxMKV2FzaGluZ3RvbjEXMBUGA1UEChMOQUJBLkVD
223
- T00sIElOQy4xGTAXBgNVBAMTEEFCQS5FQ09NIFJvb3QgQ0ExJDAiBgkqhkiG9w0BCQEWFWFkbWlu
224
- QGRpZ3NpZ3RydXN0LmNvbTAeFw05OTA3MTIxNzMzNTNaFw0wOTA3MDkxNzMzNTNaMIGJMQswCQYD
225
- VQQGEwJVUzELMAkGA1UECBMCREMxEzARBgNVBAcTCldhc2hpbmd0b24xFzAVBgNVBAoTDkFCQS5F
226
- Q09NLCBJTkMuMRkwFwYDVQQDExBBQkEuRUNPTSBSb290IENBMSQwIgYJKoZIhvcNAQkBFhVhZG1p
227
- bkBkaWdzaWd0cnVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx0xHgeVVD
228
- BwhMywVCAOINg0Y95JO6tgbTDVm9PsHOQ2cBiiGo77zM0KLMsFWWU4RmBQDaREmA2FQKpSWGlO1j
229
- Vv9wbKOhGdJ4vmgqRF4vz8wYXke8OrFGPR7wuSw0X4x8TAgpnUBV6zx9g9618PeKgw6hTLQ6pbNf
230
- WiKX7BmbwQVo/ea3qZGULOR4SCQaJRk665WcOQqKz0Ky8BzVX/tr7WhWezkscjiw7pOp03t3POtx
231
- A6k4ShZsiSrK2jMTecJVjO2cu/LLWxD4LmE1xilMKtAqY9FlWbT4zfn0AIS2V0KFnTKo+SpU+/94
232
- Qby9cSj0u5C8/5Y0BONFnqFGKECBAgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQgwDQYJKoZI
233
- hvcNAQEFBQADggEBAARvJYbk5pYntNlCwNDJALF/VD6Hsm0kqS8Kfv2kRLD4VAe9G52dyntQJHsR
234
- W0mjpr8SdNWJt7cvmGQlFLdh6X9ggGvTZOirvRrWUfrAtF13Gn9kCF55xgVM8XrdTX3O5kh7VNJh
235
- koHWG9YA8A6eKHegTYjHInYZw8eeG6Z3ePhfm1bR8PIXrI6dWeYf/le22V7hXZ9F7GFoGUHhsiAm
236
- /lowdiT/QHI8eZ98IkirRs3bs4Ysj78FQdPB4xTjQRcm0HyncUwZ6EoPclgxfexgeqMiKL0ZJGA/
237
- O4dzwGvky663qyVDslUte6sGDnVdNOVdc22esnVApVnJTzFxiNmIf1Q=
238
- -----END CERTIFICATE-----
239
-
240
- Digital Signature Trust Co. Global CA 1
241
- =======================================
242
- -----BEGIN CERTIFICATE-----
243
- MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
244
- ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy
245
- MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
246
- IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA
247
- A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE
248
- NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i
249
- o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
250
- BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
251
- dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
252
- IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY
253
- MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM
254
- BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
255
- ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq
256
- kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4
257
- RbyhkwS7hp86W0N6w4pl
258
- -----END CERTIFICATE-----
259
-
260
- Digital Signature Trust Co. Global CA 3
261
- =======================================
262
- -----BEGIN CERTIFICATE-----
263
- MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
264
- ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy
265
- MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
266
- IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA
267
- A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD
268
- VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS
269
- xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
270
- BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
271
- dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
272
- IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
273
- MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM
274
- BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
275
- AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi
276
- up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1
277
- mPnHfxsb1gYgAlihw6ID
278
- -----END CERTIFICATE-----
279
-
280
- Digital Signature Trust Co. Global CA 2
281
- =======================================
282
- -----BEGIN CERTIFICATE-----
283
- MIID2DCCAsACEQDQHkCLAAACfAAAAAIAAAABMA0GCSqGSIb3DQEBBQUAMIGpMQswCQYDVQQGEwJ1
284
- czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0
285
- YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBS
286
- b290Q0EgWDExITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODEyMDExODE4
287
- NTVaFw0wODExMjgxODE4NTVaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UE
288
- BxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjER
289
- MA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDExITAfBgkqhkiG9w0BCQEW
290
- EmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANLGJrbn
291
- pT3BxGjVUG9TxW9JEwm4ryxIjRRqoxdfWvnTLnUv2Chi0ZMv/E3Uq4flCMeZ55I/db3rJbQVwZsZ
292
- PdJEjdd0IG03Ao9pk1uKxBmd9LIO/BZsubEFkoPRhSxglD5FVaDZqwgh5mDoO3TymVBRaNADLbGA
293
- vqPYUrBEzUNKcI5YhZXhTizWLUFv1oTnyJhEykfbLCSlaSbPa7gnYsP0yXqSI+0TZ4KuRS5F5X5y
294
- P4WdlGIQ5jyRoa13AOAV7POEgHJ6jm5gl8ckWRA0g1vhpaRptlc1HHhZxtMvOnNn7pTKBBMFYgZw
295
- I7P0fO5F2WQLW0mqpEPOJsREEmy43XkCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAojeyP2n714Z5
296
- VEkxlTMr89EJFEliYIalsBHiUMIdBlc+LegzZL6bqq1fG03UmZWii5rJYnK1aerZWKs17RWiQ9a2
297
- vAd5ZWRzfdd5ynvVWlHG4VMElo04z6MXrDlxawHDi1M8Y+nuecDkvpIyZHqzH5eUYr3qsiAVlfuX
298
- 8ngvYzZAOONGDx3drJXK50uQe7FLqdTF65raqtWjlBRGjS0f8zrWkzr2Pnn86Oawde3uPclwx12q
299
- gUtGJRzHbBXjlU4PqjI3lAoXJJIThFjSY28r9+ZbYgsTF7ANUkz+/m9c4pFuHf2kYtdo+o56T9II
300
- 2pPc8JIRetDccpMMc5NihWjQ9A==
301
- -----END CERTIFICATE-----
302
-
303
- Digital Signature Trust Co. Global CA 4
304
- =======================================
305
- -----BEGIN CERTIFICATE-----
306
- MIID2DCCAsACEQDQHkCLAAB3bQAAAAEAAAAEMA0GCSqGSIb3DQEBBQUAMIGpMQswCQYDVQQGEwJ1
307
- czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0
308
- YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBS
309
- b290Q0EgWDIxITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODExMzAyMjQ2
310
- MTZaFw0wODExMjcyMjQ2MTZaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UE
311
- BxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjER
312
- MA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIxITAfBgkqhkiG9w0BCQEW
313
- EmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANx18IzA
314
- dZaawGIfJvfE4Zrq4FZzW5nNAUSoCLbVp9oaBBg5kkp4o4HC9Xd6ULRw/5qrxsfKboNPQpj7Jgva
315
- 3G3WqZlVUmfpKAOS3OWwBZoPFflrWXJW8vo5/Kpo7g8fEIMv/J36F5bdguPmRX3AS4BEH+0s4IT9
316
- kVySVGkl5WJp3OXuAFK9MwutdQKFp2RQLcUZGTDAJtvJ0/0uma1ZtQtN1EGuhUhDWdy3qOKi3sOP
317
- 17ihYqZoUFLkzzGnlIXan0YyF1bl8utmPRL/Q9uY73fPy4GNNLHGUEom0eQ+QVCvbK4iNC7Va26D
318
- unm4dmVI2gkpZGMiuftHdoWMhkTLCdsCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAtTYOXeFhKFoR
319
- ZcA/gwN5Tb4opgsHAlKFzfiR0BBstWogWxyQ2TA8xkieil5k+aFxd+8EJx8H6+Qm93N0yUQYGmbT
320
- 4EOvkTvRyyzYdFQ6HE3K1GjNI3wdEJ5F6fYAbqbNGf9PLCmPV03Ed5K+4EwJ+11EhmYhqLkyolbV
321
- 6YyDfFk/xPEL553snr2cGA4+wjl5KLcDDQjLxufZATdQEOzMYRZA1K8xdHv8PzGn0EdzMzkbzE5q
322
- 10mDEQb+64JYMzJM8FasHpwvVpp7wUocpf1VNs78lk30sPDst2yC7S8xmUJMqbINuBVd8d+6ybVK
323
- 1GSYsyapMMj9puyrliGtf8J4tg==
324
- -----END CERTIFICATE-----
325
-
326
- Verisign Class 1 Public Primary Certification Authority
327
- =======================================================
328
- -----BEGIN CERTIFICATE-----
329
- MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVT
330
- MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
331
- eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTla
332
- MF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3Mg
333
- MSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEF
334
- AAOBjQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0NH8xlbgyw
335
- 0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR4k5FVmkfeAKA2txHkSm7
336
- NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATANBgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf
337
- 7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZoEWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnx
338
- giJduLHdgSOjeyUVRjB5FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0A
339
- NACY89FxlA==
340
- -----END CERTIFICATE-----
341
-
342
- Verisign Class 2 Public Primary Certification Authority
343
- =======================================================
344
- -----BEGIN CERTIFICATE-----
345
- MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
346
- FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmltYXJ5
347
- IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
348
- XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAy
349
- IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
350
- A4GNADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyhYGt+eSz6
351
- Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7FYCTXOvnzAhsPz6zSvz/
352
- S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBAIobK/o5wXTX
353
- XtgZZKJYSi034DNHD6zt96rbHuSLBlxgJ8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUY
354
- YAS/QoD90KioHgE796Ncr6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2
355
- lw0Xd8rY
356
- -----END CERTIFICATE-----
357
-
358
- Verisign Class 3 Public Primary Certification Authority
359
- =======================================================
360
- -----BEGIN CERTIFICATE-----
361
- MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
362
- FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
363
- IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
364
- XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
365
- IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
366
- A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
367
- f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
368
- hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA
369
- TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah
370
- WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
371
- Tqj/ZA1k
372
- -----END CERTIFICATE-----
373
-
374
- Verisign Class 1 Public Primary Certification Authority - G2
375
- ============================================================
376
- -----BEGIN CERTIFICATE-----
377
- MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
378
- MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
379
- eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
380
- biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
381
- dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
382
- MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
383
- eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
384
- biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
385
- dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd
386
- k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq
387
- WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB
388
- MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM
389
- XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC
390
- lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ
391
- -----END CERTIFICATE-----
392
-
393
- Verisign Class 2 Public Primary Certification Authority - G2
394
- ============================================================
395
- -----BEGIN CERTIFICATE-----
396
- MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV
397
- UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
398
- cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
399
- Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
400
- c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV
401
- UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
402
- cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
403
- Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
404
- c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx
405
- nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC
406
- wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA
407
- ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK
408
- 1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk
409
- LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg==
410
- -----END CERTIFICATE-----
411
-
412
- Verisign Class 3 Public Primary Certification Authority - G2
413
- ============================================================
414
- -----BEGIN CERTIFICATE-----
415
- MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
416
- MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
417
- eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
418
- biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
419
- dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
420
- MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
421
- eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
422
- biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
423
- dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO
424
- FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71
425
- lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB
426
- MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT
427
- 1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD
428
- Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9
429
- -----END CERTIFICATE-----
430
-
431
- Verisign Class 4 Public Primary Certification Authority - G2
432
- ============================================================
433
- -----BEGIN CERTIFICATE-----
434
- MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
435
- MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMgUHJpbWFy
436
- eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
437
- biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
438
- dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
439
- MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMgUHJpbWFy
440
- eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
441
- biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
442
- dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4
443
- xBewRNzjMHPVKmIquNDMHO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDH
444
- qGKB3FtKqsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwIDAQAB
445
- MA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwjcSGIL4LcY/oCRaxF
446
- WdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0ycyfYaT5DdPauxYma51N86Xv2S/PB
447
- ZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRPT8qAkbYp
448
- -----END CERTIFICATE-----
449
-
450
- GlobalSign Root CA
451
- ==================
452
- -----BEGIN CERTIFICATE-----
453
- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
454
- GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
455
- b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
456
- BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
457
- VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
458
- DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
459
- THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
460
- Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
461
- c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
462
- gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
463
- HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
464
- AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
465
- Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
466
- j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
467
- hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
468
- X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
469
- -----END CERTIFICATE-----
470
-
471
- GlobalSign Root CA - R2
472
- =======================
473
- -----BEGIN CERTIFICATE-----
474
- MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
475
- YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
476
- bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
477
- aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
478
- bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
479
- ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
480
- s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
481
- S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
482
- TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
483
- ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
484
- FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
485
- YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
486
- BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
487
- 9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
488
- 01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
489
- 9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
490
- TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
491
- -----END CERTIFICATE-----
492
-
493
- ValiCert Class 1 VA
494
- ===================
495
- -----BEGIN CERTIFICATE-----
496
- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
497
- b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
498
- YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
499
- bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy
500
- MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
501
- d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg
502
- UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
503
- LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
504
- A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi
505
- GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm
506
- DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG
507
- lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX
508
- icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP
509
- Orf1LXLI
510
- -----END CERTIFICATE-----
511
-
512
- ValiCert Class 2 VA
513
- ===================
514
- -----BEGIN CERTIFICATE-----
515
- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
516
- b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
517
- YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
518
- bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
519
- MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
520
- d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg
521
- UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
522
- LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
523
- A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC
524
- CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf
525
- ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ
526
- SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV
527
- UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8
528
- W9ViH0Pd
529
- -----END CERTIFICATE-----
530
-
531
- RSA Root Certificate 1
532
- ======================
533
- -----BEGIN CERTIFICATE-----
534
- MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
535
- b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
536
- YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
537
- bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
538
- MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
539
- d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg
540
- UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
541
- LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
542
- A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td
543
- 3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H
544
- BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs
545
- 3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF
546
- V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
547
- on+jjBXu
548
- -----END CERTIFICATE-----
549
-
550
- Verisign Class 1 Public Primary Certification Authority - G3
551
- ============================================================
552
- -----BEGIN CERTIFICATE-----
553
- MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
554
- UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
555
- cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
556
- IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
557
- dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
558
- CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
559
- dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
560
- cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg
561
- Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
562
- ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E
563
- bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ
564
- rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+
565
- Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB
566
- FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
567
- q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N
568
- y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3
569
- ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h
570
- a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc
571
- D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g==
572
- -----END CERTIFICATE-----
573
-
574
- Verisign Class 2 Public Primary Certification Authority - G3
575
- ============================================================
576
- -----BEGIN CERTIFICATE-----
577
- MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT
578
- MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
579
- azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug
580
- b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0
581
- aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ
582
- BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
583
- c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
584
- aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD
585
- ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
586
- AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6
587
- tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7
588
- C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS
589
- 0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs
590
- Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0
591
- JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf
592
- 0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU
593
- sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx
594
- JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j
595
- GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q
596
- -----END CERTIFICATE-----
597
-
598
- Verisign Class 3 Public Primary Certification Authority - G3
599
- ============================================================
600
- -----BEGIN CERTIFICATE-----
601
- MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
602
- UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
603
- cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
604
- IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
605
- dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
606
- CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
607
- dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
608
- cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
609
- Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
610
- ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
611
- EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
612
- cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
613
- EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
614
- 055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
615
- ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
616
- j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
617
- /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
618
- xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
619
- t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
620
- -----END CERTIFICATE-----
621
-
622
- Verisign Class 4 Public Primary Certification Authority - G3
623
- ============================================================
624
- -----BEGIN CERTIFICATE-----
625
- MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
626
- UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
627
- cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
628
- IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
629
- dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
630
- CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
631
- dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
632
- cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
633
- Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
634
- ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
635
- tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
636
- 8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
637
- Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
638
- Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
639
- j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
640
- mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
641
- fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
642
- RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
643
- UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
644
- -----END CERTIFICATE-----
645
-
646
- Entrust.net Secure Server CA
647
- ============================
648
- -----BEGIN CERTIFICATE-----
649
- MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV
650
- BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg
651
- cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl
652
- ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv
653
- cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG
654
- A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi
655
- eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p
656
- dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0
657
- aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ
658
- aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5
659
- gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw
660
- ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw
661
- CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l
662
- dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
663
- bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl
664
- cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
665
- dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw
666
- NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow
667
- HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA
668
- BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN
669
- Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9
670
- n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
671
- -----END CERTIFICATE-----
672
-
673
- Entrust.net Secure Personal CA
674
- ==============================
675
- -----BEGIN CERTIFICATE-----
676
- MIIE7TCCBFagAwIBAgIEOAOR7jANBgkqhkiG9w0BAQQFADCByTELMAkGA1UEBhMCVVMxFDASBgNV
677
- BAoTC0VudHJ1c3QubmV0MUgwRgYDVQQLFD93d3cuZW50cnVzdC5uZXQvQ2xpZW50X0NBX0luZm8v
678
- Q1BTIGluY29ycC4gYnkgcmVmLiBsaW1pdHMgbGlhYi4xJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1
679
- c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9u
680
- IEF1dGhvcml0eTAeFw05OTEwMTIxOTI0MzBaFw0xOTEwMTIxOTU0MzBaMIHJMQswCQYDVQQGEwJV
681
- UzEUMBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9DbGllbnRf
682
- Q0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjElMCMGA1UECxMcKGMpIDE5
683
- OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQgQ2xpZW50IENlcnRp
684
- ZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDIOpleMRffrCdv
685
- kHvkGf9FozTC28GoT/Bo6oT9n3V5z8GKUZSvx1cDR2SerYIbWtp/N3hHuzeYEpbOxhN979IMMFGp
686
- OZ5V+Pux5zDeg7K6PvHViTs7hbqqdCz+PzFur5GVbgbUB01LLFZHGARS2g4Qk79jkJvh34zmAqTm
687
- T173iwIBA6OCAeAwggHcMBEGCWCGSAGG+EIBAQQEAwIABzCCASIGA1UdHwSCARkwggEVMIHkoIHh
688
- oIHepIHbMIHYMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3
689
- dy5lbnRydXN0Lm5ldC9DbGllbnRfQ0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBs
690
- aWFiLjElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50
691
- cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCyg
692
- KqAohiZodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NSTC9DbGllbnQxLmNybDArBgNVHRAEJDAigA8x
693
- OTk5MTAxMjE5MjQzMFqBDzIwMTkxMDEyMTkyNDMwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU
694
- xPucKXuXzUyW/O5bs8qZdIuV6kwwHQYDVR0OBBYEFMT7nCl7l81MlvzuW7PKmXSLlepMMAwGA1Ud
695
- EwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEEBQADgYEAP66K
696
- 8ddmAwWePvrqHEa7pFuPeJoSSJn59DXeDDYHAmsQOokUgZwxpnyyQbJq5wcBoUv5nyU7lsqZwz6h
697
- URzzwy5E97BnRqqS5TvaHBkUODDV4qIxJS7x7EU47fgGWANzYrAQMY9Av2TgXD7FTx/aEkP/TOYG
698
- JqibGapEPHayXOw=
699
- -----END CERTIFICATE-----
700
-
701
- Entrust.net Premium 2048 Secure Server CA
702
- =========================================
703
- -----BEGIN CERTIFICATE-----
704
- MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
705
- ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
706
- bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
707
- BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
708
- NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
709
- d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
710
- MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
711
- ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
712
- MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
713
- Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
714
- hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
715
- nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
716
- VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC
717
- AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER
718
- gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B
719
- AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
720
- oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS
721
- o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z
722
- 2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX
723
- OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ==
724
- -----END CERTIFICATE-----
725
-
726
- Baltimore CyberTrust Root
727
- =========================
728
- -----BEGIN CERTIFICATE-----
729
- MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
730
- ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
731
- ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
732
- SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
733
- dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
734
- uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
735
- UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
736
- G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
737
- XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
738
- l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
739
- VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
740
- BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
741
- cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
742
- hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
743
- Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
744
- RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
745
- -----END CERTIFICATE-----
746
-
747
- Equifax Secure Global eBusiness CA
748
- ==================================
749
- -----BEGIN CERTIFICATE-----
750
- MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
751
- RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp
752
- bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx
753
- HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds
754
- b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV
755
- PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN
756
- qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn
757
- hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
758
- BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs
759
- MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN
760
- I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY
761
- NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
762
- -----END CERTIFICATE-----
763
-
764
- Equifax Secure eBusiness CA 1
765
- =============================
766
- -----BEGIN CERTIFICATE-----
767
- MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
768
- RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB
769
- LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE
770
- ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz
771
- IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ
772
- 1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a
773
- IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk
774
- MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW
775
- Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF
776
- AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5
777
- lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
778
- KpYrtWKmpj29f5JZzVoqgrI3eQ==
779
- -----END CERTIFICATE-----
780
-
781
- Equifax Secure eBusiness CA 2
782
- =============================
783
- -----BEGIN CERTIFICATE-----
784
- MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE
785
- ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y
786
- MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
787
- DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB
788
- nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn
789
- 2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5
790
- BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG
791
- A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx
792
- JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG
793
- A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e
794
- uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB
795
- Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1
796
- jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia
797
- 78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm
798
- V+GRMOrN
799
- -----END CERTIFICATE-----
800
-
801
- Visa International Global Root 2
802
- ================================
803
- -----BEGIN CERTIFICATE-----
804
- MIIDgDCCAmigAwIBAgICAx4wDQYJKoZIhvcNAQEFBQAwYTELMAkGA1UEBhMCVVMxDTALBgNVBAoT
805
- BFZJU0ExLzAtBgNVBAsTJlZpc2EgSW50ZXJuYXRpb25hbCBTZXJ2aWNlIEFzc29jaWF0aW9uMRIw
806
- EAYDVQQDEwlHUCBSb290IDIwHhcNMDAwODE2MjI1MTAwWhcNMjAwODE1MjM1OTAwWjBhMQswCQYD
807
- VQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZp
808
- Y2UgQXNzb2NpYXRpb24xEjAQBgNVBAMTCUdQIFJvb3QgMjCCASIwDQYJKoZIhvcNAQEBBQADggEP
809
- ADCCAQoCggEBAKkBcLWqxEDwq2omYXkZAPy/mzdZDK9vZBv42pWUJGkzEXDK41Z0ohdXZFwgBuHW
810
- 73G3O/erwWnQSaSxBNf0V2KJXLB1LRckaeNCYOTudNargFbYiCjh+20i/SN8RnNPflRzHqgsVVh1
811
- t0zzWkWlAhr62p3DRcMiXvOL8WAp0sdftAw6UYPvMPjU58fy+pmjIlC++QU3o63tmsPm7Igbthkn
812
- GziLgE3sucfFicv8GjLtI/C1AVj59o/ghalMCXI5Etuz9c9OYmTaxhkVOmMd6RdVoUwiPDQyRvhl
813
- V7or7zaMavrZ2UT0qt2E1w0cslSsMoW0ZA3eQbuxNMYBhjJk1Z8CAwEAAaNCMEAwHQYDVR0OBBYE
814
- FJ59SzS/ca3CBfYDdYDOqU8axCRMMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0G
815
- CSqGSIb3DQEBBQUAA4IBAQAhpXYUVfmtJ3CPPPTVbMjMCqujmAuKBiPFyWHbmQdpNSYx/scuhMKZ
816
- YdQN6X0uEyt8joW2hcdLzzW2LEc9zikv2G+fiRxkk78IvXbQkIqUs38oW26sTTMs7WXcFsziza6k
817
- PWKSBpUmv9+55CCmc2rBvveURNZNbyoLaxhNdBA2aGpawWqn3TYpjLgwi08hPwAuVDAHOrqK5MOe
818
- yti12HvOdUVmB/RtLdh6yumJivIj2C/LbgA2T/vwLwHMD8AiZfSr4k5hLQOCfZEWtTDVFN5ex5D8
819
- ofyrEK9ca3CnB+8phuiyJccg/ybdd+95RBTEvd07xQObdyPsoOy7Wjm1zK0G
820
- -----END CERTIFICATE-----
821
-
822
- beTRUSTed Root CA
823
- =================
824
- -----BEGIN CERTIFICATE-----
825
- MIIFLDCCBBSgAwIBAgIEOU99hzANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJXVzESMBAGA1UE
826
- ChMJYmVUUlVTVGVkMRswGQYDVQQDExJiZVRSVVNUZWQgUm9vdCBDQXMxGjAYBgNVBAMTEWJlVFJV
827
- U1RlZCBSb290IENBMB4XDTAwMDYyMDE0MjEwNFoXDTEwMDYyMDEzMjEwNFowWjELMAkGA1UEBhMC
828
- V1cxEjAQBgNVBAoTCWJlVFJVU1RlZDEbMBkGA1UEAxMSYmVUUlVTVGVkIFJvb3QgQ0FzMRowGAYD
829
- VQQDExFiZVRSVVNUZWQgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS0
830
- c3oTCjhVAb6JVuGUntS+WutKNHUbYSnE4a0IYCF4SP+00PpeQY1hRIfo7clY+vyTmt9P6j41ffgz
831
- eubx181vSUs9Ty1uDoM6GHh3o8/n9E1z2Jo7Gh2+lVPPIJfCzz4kUmwMjmVZxXH/YgmPqsWPzGCg
832
- c0rXOD8Vcr+il7dw6K/ifhYGTPWqZCZyByWtNfwYsSbX2P8ZDoMbjNx4RWc0PfSvHI3kbWvtILNn
833
- mrRhyxdviTX/507AMhLn7uzf/5cwdO2NR47rtMNE5qdMf1ZD6Li8tr76g5fmu/vEtpO+GRg+jIG5
834
- c4gW9JZDnGdzF5DYCW5jrEq2I8QBoa2k5MUCAwEAAaOCAfgwggH0MA8GA1UdEwEB/wQFMAMBAf8w
835
- ggFZBgNVHSAEggFQMIIBTDCCAUgGCisGAQQBsT4BAAAwggE4MIIBAQYIKwYBBQUHAgIwgfQagfFS
836
- ZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFu
837
- Y2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBv
838
- ZiB1c2UsIGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudCwgd2hpY2ggY2FuIGJl
839
- IGZvdW5kIGF0IGJlVFJVU1RlZCdzIHdlYiBzaXRlLCBodHRwczovL3d3dy5iZVRSVVNUZWQuY29t
840
- L3ZhdWx0L3Rlcm1zMDEGCCsGAQUFBwIBFiVodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0
841
- L3Rlcm1zMDQGA1UdHwQtMCswKaAnoCWkIzAhMRIwEAYDVQQKEwliZVRSVVNUZWQxCzAJBgNVBAYT
842
- AldXMB0GA1UdDgQWBBQquZtpLjub2M3eKjEENGvKBxirZzAfBgNVHSMEGDAWgBQquZtpLjub2M3e
843
- KjEENGvKBxirZzAOBgNVHQ8BAf8EBAMCAf4wDQYJKoZIhvcNAQEFBQADggEBAHlh26Nebhax6nZR
844
- +csVm8tpvuaBa58oH2U+3RGFktToQb9+M70j5/Egv6S0phkBxoyNNXxlpE8JpNbYIxUFE6dDea/b
845
- ow6be3ga8wSGWsb2jCBHOElQBp1yZzrwmAOtlmdE/D8QDYZN5AA7KXvOOzuZhmElQITcE2K3+spZ
846
- 1gMe1lMBzW1MaFVA4e5rxyoAAEiCswoBw2AqDPeCNe5IhpbkdNQ96gFxugR1QKepfzk5mlWXKWWu
847
- GVUlBXJH0+gY3Ljpr0NzARJ0o+FcXxVdJPP55PS2Z2cS52QiivalQaYctmBjRYoQtLpGEK5BV2Vs
848
- PyMQPyEQWbfkQN0mDCP2qq4=
849
- -----END CERTIFICATE-----
850
-
851
- AddTrust Low-Value Services Root
852
- ================================
853
- -----BEGIN CERTIFICATE-----
854
- MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
855
- QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
856
- cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
857
- CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
858
- ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
859
- AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
860
- 54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
861
- oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
862
- Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
863
- GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
864
- HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
865
- AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
866
- RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
867
- HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
868
- ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
869
- iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
870
- eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
871
- mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
872
- ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
873
- -----END CERTIFICATE-----
874
-
875
- AddTrust External Root
876
- ======================
877
- -----BEGIN CERTIFICATE-----
878
- MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
879
- QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
880
- VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
881
- NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
882
- cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
883
- Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
884
- +iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
885
- Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
886
- aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
887
- 2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
888
- 7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
889
- BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
890
- VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
891
- VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
892
- IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
893
- j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
894
- 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
895
- e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
896
- G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
897
- -----END CERTIFICATE-----
898
-
899
- AddTrust Public Services Root
900
- =============================
901
- -----BEGIN CERTIFICATE-----
902
- MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
903
- QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
904
- cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
905
- BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
906
- dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
907
- AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
908
- nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
909
- d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
910
- Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
911
- HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
912
- A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
913
- /zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
914
- FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
915
- A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
916
- JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
917
- +YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
918
- GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
919
- Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
920
- EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
921
- -----END CERTIFICATE-----
922
-
923
- AddTrust Qualified Certificates Root
924
- ====================================
925
- -----BEGIN CERTIFICATE-----
926
- MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
927
- QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
928
- cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
929
- CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
930
- IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
931
- 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
932
- 64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
933
- KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
934
- L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
935
- wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
936
- MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
937
- BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
938
- BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
939
- azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
940
- ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
941
- GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
942
- dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
943
- RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
944
- iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
945
- -----END CERTIFICATE-----
946
-
947
- Verisign Time Stamping Authority CA
948
- ===================================
949
- -----BEGIN CERTIFICATE-----
950
- MIIDzTCCAzagAwIBAgIQU2GyYK7bcY6nlLMTM/QHCTANBgkqhkiG9w0BAQUFADCBwTELMAkGA1UE
951
- BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQLEzNDbGFzcyAzIFB1YmxpYyBQ
952
- cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIxOjA4BgNVBAsTMShjKSAxOTk4IFZl
953
- cmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWdu
954
- IFRydXN0IE5ldHdvcmswHhcNMDAwOTI2MDAwMDAwWhcNMTAwOTI1MjM1OTU5WjCBpTEXMBUGA1UE
955
- ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNV
956
- BAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTAwMSww
957
- KgYDVQQDEyNWZXJpU2lnbiBUaW1lIFN0YW1waW5nIEF1dGhvcml0eSBDQTCBnzANBgkqhkiG9w0B
958
- AQEFAAOBjQAwgYkCgYEA0hmdZ8IAIVlizrQJIkRpivglWtvtDbc2fk7gu5Q+kCWHwmFHKdm9VLhj
959
- zCx9abQzNvQ3B5rB3UBU/OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6o
960
- v8uQjI11S7zi6ESHzeZBCiVu6PQkAsVSD27smHUCAwEAAaOB3zCB3DAPBgNVHRMECDAGAQH/AgEA
961
- MEUGA1UdIAQ+MDwwOgYMYIZIAYb4RQEHFwEDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl
962
- cmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDovL2NybC52ZXJpc2lnbi5jb20v
963
- cGNhMy5jcmwwCwYDVR0PBAQDAgEGMEIGCCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRw
964
- Oi8vb2NzcC52ZXJpc2lnbi5jb20vb2NzcC9zdGF0dXMwDQYJKoZIhvcNAQEFBQADgYEAgnBold+2
965
- DcIBcBlK0lRWHqzyRUyHuPU163hLBanInTsZIS5wNEqi9YngFXVF5yg3ADQnKeg3S/LvRJdrF1Ea
966
- w1adPBqK9kpGRjeM+sv1ZFo4aC4cw+9wzrhGBha/937ntag+RaypJXUie28/sJyU58dzq6wf7iWb
967
- wBbtt8pb8BQ=
968
- -----END CERTIFICATE-----
969
-
970
- Thawte Time Stamping CA
971
- =======================
972
- -----BEGIN CERTIFICATE-----
973
- MIICoTCCAgqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBizELMAkGA1UEBhMCWkExFTATBgNVBAgT
974
- DFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsG
975
- A1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcg
976
- Q0EwHhcNOTcwMTAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTATBgNV
977
- BAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEd
978
- MBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBp
979
- bmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANYrWHhhRYZT6jR7UZztsOYuGA7+4F+o
980
- J9O0yeB8WU4WDnNUYMF/9p8u6TqFJBU820cEY8OexJQaWt9MevPZQx08EHp5JduQ/vBR5zDWQQD9
981
- nyjfeb6Uu522FOMjhdepQeBMpHmwKxqL8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzAR
982
- MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAZ9viwuaHPUCDhjc1fR/OmsMMZiCo
983
- uqoEiYbC9RAIDb/LogWK0E02PvTX72nGXuSwlG9KuefeW4i2e9vjJ+V2w/A1wcu1J5szedyQpgCe
984
- d/r8zSeUQhac0xxo7L9c3eWpexAKMnRUEzGLhQOEkbdYATAUOK8oyvyxUBkZCayJSdM=
985
- -----END CERTIFICATE-----
986
-
987
- Entrust.net Global Secure Server CA
988
- ===================================
989
- -----BEGIN CERTIFICATE-----
990
- MIIElTCCA/6gAwIBAgIEOJsRPDANBgkqhkiG9w0BAQQFADCBujEUMBIGA1UEChMLRW50cnVzdC5u
991
- ZXQxPzA9BgNVBAsUNnd3dy5lbnRydXN0Lm5ldC9TU0xfQ1BTIGluY29ycC4gYnkgcmVmLiAobGlt
992
- aXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UE
993
- AxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0w
994
- MDAyMDQxNzIwMDBaFw0yMDAyMDQxNzUwMDBaMIG6MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDE/MD0G
995
- A1UECxQ2d3d3LmVudHJ1c3QubmV0L1NTTF9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlh
996
- Yi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRy
997
- dXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3
998
- DQEBAQUAA4GNADCBiQKBgQDHwV9OcfHO8GCGD9JYf9Mzly0XonUwtZZkJi9ow0SrqHXmAGc0V55l
999
- xyKbc+bT3QgON1WqJUaBbL3+qPZ1V1eMkGxKwz6LS0MKyRFWmponIpnPVZ5h2QLifLZ8OAfc439P
1000
- mrkDQYC2dWcTC5/oVzbIXQA23mYU2m52H083jIITiQIDAQABo4IBpDCCAaAwEQYJYIZIAYb4QgEB
1001
- BAQDAgAHMIHjBgNVHR8EgdswgdgwgdWggdKggc+kgcwwgckxFDASBgNVBAoTC0VudHJ1c3QubmV0
1002
- MT8wPQYDVQQLFDZ3d3cuZW50cnVzdC5uZXQvU1NMX0NQUyBpbmNvcnAuIGJ5IHJlZi4gKGxpbWl0
1003
- cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAwIEVudHJ1c3QubmV0IExpbWl0ZWQxOjA4BgNVBAMT
1004
- MUVudHJ1c3QubmV0IFNlY3VyZSBTZXJ2ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNV
1005
- BAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMDAyMDQxNzIwMDBagQ8yMDIwMDIwNDE3NTAwMFowCwYD
1006
- VR0PBAQDAgEGMB8GA1UdIwQYMBaAFMtswGvjuz7L/CKc/vuLkpyw8m4iMB0GA1UdDgQWBBTLbMBr
1007
- 47s+y/winP77i5KcsPJuIjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4w
1008
- AwIEkDANBgkqhkiG9w0BAQQFAAOBgQBi24GRzsiad0Iv7L0no1MPUBvqTpLwqa+poLpIYcvvyQbv
1009
- H9X07t9WLebKahlzqlO+krNQAraFJnJj2HVQYnUUt7NQGj/KEQALhUVpbbalrlHhStyCP2yMNLJ3
1010
- a9kC9n8O6mUE8c1UyrrJzOCE98g+EZfTYAkYvAX/bIkz8OwVDw==
1011
- -----END CERTIFICATE-----
1012
-
1013
- Entrust.net Global Secure Personal CA
1014
- =====================================
1015
- -----BEGIN CERTIFICATE-----
1016
- MIIEgzCCA+ygAwIBAgIEOJ725DANBgkqhkiG9w0BAQQFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
1017
- ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9HQ0NBX0NQUyBpbmNvcnAuIGJ5IHJlZi4gKGxp
1018
- bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAwIEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
1019
- BAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDcx
1020
- NjE2NDBaFw0yMDAyMDcxNjQ2NDBaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
1021
- d3d3LmVudHJ1c3QubmV0L0dDQ0FfQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
1022
- MCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
1023
- ZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
1024
- iQKBgQCTdLS25MVL1qFof2LV7PdRV7NySpj10InJrWPNTTVRaoTUrcloeW+46xHbh65cJFET8VQl
1025
- hK8pK5/jgOLZy93GRUk0iJBeAZfv6lOm3fzB3ksqJeTpNfpVBQbliXrqpBFXO/x8PTbNZzVtpKkl
1026
- Wb1m9fkn5JVn1j+SgF7yNH0rhQIDAQABo4IBnjCCAZowEQYJYIZIAYb4QgEBBAQDAgAHMIHdBgNV
1027
- HR8EgdUwgdIwgc+ggcyggcmkgcYwgcMxFDASBgNVBAoTC0VudHJ1c3QubmV0MUAwPgYDVQQLFDd3
1028
- d3cuZW50cnVzdC5uZXQvR0NDQV9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUw
1029
- IwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVkMTMwMQYDVQQDEypFbnRydXN0Lm5l
1030
- dCBDbGllbnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
1031
- IoAPMjAwMDAyMDcxNjE2NDBagQ8yMDIwMDIwNzE2NDY0MFowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
1032
- MBaAFISLdP3FjcD/J20gN0V8/i3OutN9MB0GA1UdDgQWBBSEi3T9xY3A/ydtIDdFfP4tzrrTfTAM
1033
- BgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQQF
1034
- AAOBgQBObzWAO9GK9Q6nIMstZVXQkvTnhLUGJoMShAusO7JE7r3PQNsgDrpuFOow4DtifH+La3xK
1035
- p9U1PL6oXOpLu5OOgGarDyn9TS2/GpsKkMWr2tGzhtQvJFJcem3G8v7lTRowjJDyutdKPkN+1MhQ
1036
- Gof4T4HHdguEOnKdzmVml64mXg==
1037
- -----END CERTIFICATE-----
1038
-
1039
- Entrust Root Certification Authority
1040
- ====================================
1041
- -----BEGIN CERTIFICATE-----
1042
- MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
1043
- BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
1044
- b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
1045
- A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
1046
- MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
1047
- MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
1048
- Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
1049
- dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
1050
- ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
1051
- A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
1052
- Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
1053
- j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
1054
- rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
1055
- DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
1056
- MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
1057
- hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
1058
- A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
1059
- Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
1060
- v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
1061
- W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
1062
- tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
1063
- -----END CERTIFICATE-----
1064
-
1065
- AOL Time Warner Root Certification Authority 1
1066
- ==============================================
1067
- -----BEGIN CERTIFICATE-----
1068
- MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMxHTAbBgNVBAoT
1069
- FEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNhIE9ubGluZSBJbmMuMTcwNQYD
1070
- VQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAy
1071
- MDUyOTA2MDAwMFoXDTM3MTEyMDE1MDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wg
1072
- VGltZSBXYXJuZXIgSW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMu
1073
- QU9MIFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZI
1074
- hvcNAQEBBQADggEPADCCAQoCggEBAJnej8Mlo2k06AX3dLm/WpcZuS+U0pPlLYnKhHw/EEMbjIt8
1075
- hFj4JHxIzyr9wBXZGH6EGhfT257XyuTZ16pYUYfw8ItITuLCxFlpMGK2MKKMCxGZYTVtfu/FsRkG
1076
- IBKOQuHfD5YQUqjPnF+VFNivO3ULMSAfRC+iYkGzuxgh28pxPIzstrkNn+9R7017EvILDOGsQI93
1077
- f7DKeHEMXRZxcKLXwjqFzQ6axOAAsNUl6twr5JQtOJyJQVdkKGUZHLZEtMgxa44Be3ZZJX8VHIQI
1078
- fHNlIAqhBC4aMqiaILGcLCFZ5/vP7nAtCMpjPiybkxlqpMKX/7eGV4iFbJ4VFitNLLMCAwEAAaNj
1079
- MGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoTYwFsuGkABFgFOxj8jYPXy+XxIwHwYDVR0j
1080
- BBgwFoAUoTYwFsuGkABFgFOxj8jYPXy+XxIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUA
1081
- A4IBAQCKIBilvrMvtKaEAEAwKfq0FHNMeUWn9nDg6H5kHgqVfGphwu9OH77/yZkfB2FK4V1Mza3u
1082
- 0FIy2VkyvNp5ctZ7CegCgTXTCt8RHcl5oIBN/lrXVtbtDyqvpxh1MwzqwWEFT2qaifKNuZ8u77Bf
1083
- WgDrvq2g+EQFZ7zLBO+eZMXpyD8Fv8YvBxzDNnGGyjhmSs3WuEvGbKeXO/oTLW4jYYehY0KswsuX
1084
- n2Fozy1MBJ3XJU8KDk2QixhWqJNIV9xvrr2eZ1d3iVCzvhGbRWeDhhmH05i9CBoWH1iCC+GWaQVL
1085
- juyDUTEH1dSf/1l7qG6Fz9NLqUmwX7A5KGgOc90lmt4S
1086
- -----END CERTIFICATE-----
1087
-
1088
- AOL Time Warner Root Certification Authority 2
1089
- ==============================================
1090
- -----BEGIN CERTIFICATE-----
1091
- MIIF5jCCA86gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMxHTAbBgNVBAoT
1092
- FEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNhIE9ubGluZSBJbmMuMTcwNQYD
1093
- VQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAy
1094
- MDUyOTA2MDAwMFoXDTM3MDkyODIzNDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wg
1095
- VGltZSBXYXJuZXIgSW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMu
1096
- QU9MIFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZI
1097
- hvcNAQEBBQADggIPADCCAgoCggIBALQ3WggWmRToVbEbJGv8x4vmh6mJ7ouZzU9AhqS2TcnZsdw8
1098
- TQ2FTBVsRotSeJ/4I/1n9SQ6aF3Q92RhQVSji6UI0ilbm2BPJoPRYxJWSXakFsKlnUWsi4SVqBax
1099
- 7J/qJBrvuVdcmiQhLE0OcR+mrF1FdAOYxFSMFkpBd4aVdQxHAWZg/BXxD+r1FHjHDtdugRxev17n
1100
- OirYlxcwfACtCJ0zr7iZYYCLqJV+FNwSbKTQ2O9ASQI2+W6p1h2WVgSysy0WVoaP2SBXgM1nEG2w
1101
- TPDaRrbqJS5Gr42whTg0ixQmgiusrpkLjhTXUr2eacOGAgvqdnUxCc4zGSGFQ+aJLZ8lN2fxI2rS
1102
- AG2X+Z/nKcrdH9cG6rjJuQkhn8g/BsXS6RJGAE57COtCPStIbp1n3UsC5ETzkxmlJ85per5n0/xQ
1103
- pCyrw2u544BMzwVhSyvcG7mm0tCq9Stz+86QNZ8MUhy/XCFhEVsVS6kkUfykXPcXnbDS+gfpj1bk
1104
- GoxoigTTfFrjnqKhynFbotSg5ymFXQNoKk/SBtc9+cMDLz9l+WceR0DTYw/j1Y75hauXTLPXJuuW
1105
- CpTehTacyH+BCQJJKg71ZDIMgtG6aoIbs0t0EfOMd9afv9w3pKdVBC/UMejTRrkDfNoSTllkt1Ex
1106
- MVCgyhwn2RAurda9EGYrw7AiShJbAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
1107
- FE9pbQN+nZ8HGEO8txBO1b+pxCAoMB8GA1UdIwQYMBaAFE9pbQN+nZ8HGEO8txBO1b+pxCAoMA4G
1108
- A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAO/Ouyuguh4X7ZVnnrREUpVe8WJ8kEle7
1109
- +z802u6teio0cnAxa8cZmIDJgt43d15Ui47y6mdPyXSEkVYJ1eV6moG2gcKtNuTxVBFT8zRFASbI
1110
- 5Rq8NEQh3q0l/HYWdyGQgJhXnU7q7C+qPBR7V8F+GBRn7iTGvboVsNIYvbdVgaxTwOjdaRITQrcC
1111
- tQVBynlQboIOcXKTRuidDV29rs4prWPVVRaAMCf/drr3uNZK49m1+VLQTkCpx+XCMseqdiThawVQ
1112
- 68W/ClTluUI8JPu3B5wwn3la5uBAUhX0/Kr0VvlEl4ftDmVyXr4m+02kLQgH3thcoNyBM5kYJRF3
1113
- p+v9WAksmWsbivNSPxpNSGDxoPYzAlOL7SUJuA0t7Zdz7NeWH45gDtoQmy8YJPamTQr5O8t1wswv
1114
- ziRpyQoijlmn94IM19drNZxDAGrElWe6nEXLuA4399xOAU++CrYD062KRffaJ00psUjf5BHklka9
1115
- bAI+1lHIlRcBFanyqqryvy9lG2/QuRqT9Y41xICHPpQvZuTpqP9BnHAqTyo5GJUefvthATxRCC4o
1116
- GKQWDzH9OmwjkyB24f0HhdFbP9IcczLd+rn4jM8Ch3qaluTtT4mNU0OrDhPAARW0eTjb/G49nlG2
1117
- uBOLZ8/5fNkiHfZdxRwBL5joeiQYvITX+txyW/fBOmg=
1118
- -----END CERTIFICATE-----
1119
-
1120
- beTRUSTed Root CA-Baltimore Implementation
1121
- ==========================================
1122
- -----BEGIN CERTIFICATE-----
1123
- MIIFajCCBFKgAwIBAgIEPLU9RjANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwliZVRSVVNUZWQx
1124
- GzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMqYmVUUlVTVGVkIFJvb3QgQ0Et
1125
- QmFsdGltb3JlIEltcGxlbWVudGF0aW9uMB4XDTAyMDQxMTA3Mzg1MVoXDTIyMDQxMTA3Mzg1MVow
1126
- ZjESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNV
1127
- BAMTKmJlVFJVU1RlZCBSb290IENBLUJhbHRpbW9yZSBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZI
1128
- hvcNAQEBBQADggEPADCCAQoCggEBALx+xDmcjOPWHIb/ymKt4H8wRXqOGrO4x/nRNv8i805qX4QQ
1129
- +2aBw5R5MdKR4XeOGCrDFN5R9U+jK7wYFuK13XneIviCfsuBH/0nLI/6l2Qijvj/YaOcGx6Sj8Co
1130
- Cd8JEey3fTGaGuqDIQY8n7pc/5TqarjDa1U0Tz0yH92BFODEPM2dMPgwqZfT7syj0B9fHBOB1Bir
1131
- lNFjw55/NZKeX0Tq7PQiXLfoPX2k+YmpkbIq2eszh+6l/ePazIjmiSZuxyuC0F6dWdsU7JGDBcNe
1132
- DsYq0ATdcT0gTlgn/FP7eHgZFLL8kFKJOGJgB7Sg7KxrUNb9uShr71ItOrL/8QFArDcCAwEAAaOC
1133
- Ah4wggIaMA8GA1UdEwEB/wQFMAMBAf8wggG1BgNVHSAEggGsMIIBqDCCAaQGDysGAQQBsT4AAAEJ
1134
- KIORMTCCAY8wggFIBggrBgEFBQcCAjCCAToaggE2UmVsaWFuY2Ugb24gb3IgdXNlIG9mIHRoaXMg
1135
- Q2VydGlmaWNhdGUgY3JlYXRlcyBhbiBhY2tub3dsZWRnbWVudCBhbmQgYWNjZXB0YW5jZSBvZiB0
1136
- aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwg
1137
- dGhlIENlcnRpZmljYXRpb24gUHJhY3RpY2UgU3RhdGVtZW50IGFuZCB0aGUgUmVseWluZyBQYXJ0
1138
- eSBBZ3JlZW1lbnQsIHdoaWNoIGNhbiBiZSBmb3VuZCBhdCB0aGUgYmVUUlVTVGVkIHdlYiBzaXRl
1139
- LCBodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNfc2VydmljZXMvaW5kZXguaHRtbDBB
1140
- BggrBgEFBQcCARY1aHR0cDovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2VzL2lu
1141
- ZGV4Lmh0bWwwHQYDVR0OBBYEFEU9w6nR3D8kVpgccxiIav+DR+22MB8GA1UdIwQYMBaAFEU9w6nR
1142
- 3D8kVpgccxiIav+DR+22MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEASZK8o+6s
1143
- vfoNyYt5hhwjdrCAWXf82n+0S9/DZEtqTg6t8n1ZdwWtColzsPq8y9yNAIiPpqCy6qxSJ7+hSHyX
1144
- EHu67RMdmgduyzFiEuhjA6p9beP4G3YheBufS0OM00mG9htc9i5gFdPp43t1P9ACg9AYgkHNZTfq
1145
- jjJ+vWuZXTARyNtIVBw74acT02pIk/c9jH8F6M7ziCpjBLjqflh8AXtb4cV97yHgjQ5dUX2xZ/2j
1146
- vTg2xvI4hocalmhgRvsoFEdV4aeADGvi6t9NfJBIoDa9CReJf8Py05yc493EG931t3GzUwWJBtDL
1147
- SoDByFOQtTwxiBdQn8nEDovYqAJjDQ==
1148
- -----END CERTIFICATE-----
1149
-
1150
- beTRUSTed Root CA - Entrust Implementation
1151
- ==========================================
1152
- -----BEGIN CERTIFICATE-----
1153
- MIIGUTCCBTmgAwIBAgIEPLVPQDANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwliZVRSVVNUZWQx
1154
- GzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMqYmVUUlVTVGVkIFJvb3QgQ0Eg
1155
- LSBFbnRydXN0IEltcGxlbWVudGF0aW9uMB4XDTAyMDQxMTA4MjQyN1oXDTIyMDQxMTA4NTQyN1ow
1156
- ZjESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNV
1157
- BAMTKmJlVFJVU1RlZCBSb290IENBIC0gRW50cnVzdCBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZI
1158
- hvcNAQEBBQADggEPADCCAQoCggEBALr0RAOqEmq1Q+xVkrYwfTVXDNvzDSduTPdQqJtOK2/b9a0c
1159
- S12zqcH+e0TrW6MFDR/FNCswACnxeECypP869AGIF37m1CbTukzqMvtDd5eHI8XbQ6P1KqNRXuE7
1160
- 0mVpflUVm3rnafdE4Fe1FehmYA8NA/uCjqPoEXtsvsdjDheT389Lrm5zdeDzqrmkwAkbhepxKYhB
1161
- MvnwKg5sCfJ0a2ZsUhMfGLzUPvfYbiCeyv78IZTuEyhL11xeDGbu6bsPwTSxfwh28z0mcMmLJR1i
1162
- JAzqHHVOwBLkuhMdMCktVjMFu5dZfsZJT4nXLySotohAtWSSU1Yk5KKghbNekLQSM80CAwEAAaOC
1163
- AwUwggMBMIIBtwYDVR0gBIIBrjCCAaowggGmBg8rBgEEAbE+AAACCSiDkTEwggGRMIIBSQYIKwYB
1164
- BQUHAgIwggE7GoIBN1JlbGlhbmNlIG9uIG9yIHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNyZWF0
1165
- ZXMgYW4gYWNrbm93bGVkZ21lbnQgYW5kIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
1166
- ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIHRoZSBDZXJ0aWZpY2F0aW9u
1167
- IFByYWN0aWNlIFN0YXRlbWVudCBhbmQgdGhlIFJlbHlpbmcgUGFydHkgQWdyZWVtZW50LCB3aGlj
1168
- aCBjYW4gYmUgZm91bmQgYXQgdGhlIGJlVFJVU1RlZCB3ZWIgc2l0ZSwgaHR0cHM6Ly93d3cuYmV0
1169
- cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMEIGCCsGAQUFBwIBFjZodHRw
1170
- czovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2VzL2luZGV4Lmh0bWwwEQYJYIZI
1171
- AYb4QgEBBAQDAgAHMIGJBgNVHR8EgYEwfzB9oHugeaR3MHUxEjAQBgNVBAoTCWJlVFJVU1RlZDEb
1172
- MBkGA1UECxMSYmVUUlVTVGVkIFJvb3QgQ0FzMTMwMQYDVQQDEypiZVRSVVNUZWQgUm9vdCBDQSAt
1173
- IEVudHJ1c3QgSW1wbGVtZW50YXRpb24xDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMjA0
1174
- MTEwODI0MjdagQ8yMDIyMDQxMTA4NTQyN1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFH1w5a44
1175
- iwY/qhwaj/nPJDCqhIQWMB0GA1UdDgQWBBR9cOWuOIsGP6ocGo/5zyQwqoSEFjAMBgNVHRMEBTAD
1176
- AQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEAKrgX
1177
- zh8QlOu4mre5X+za95IkrNySO8cgjfKZ5V04ocI07cUTWVwFtStPYZuR+0H8/NU8TZh2BvWBfevd
1178
- kObRVlTa4y0MnxEylCIBevZsLHRnBMylj44ss0O1lKLQfelifwa+JwGDnjr9iu6YQ0pr17WXOzq/
1179
- T220Y/ozADQuLW2WyXvKmWO6vvT2MKAtmJbpVkQFqUSjYRDrgqFnXbxdJ3Wqiig2KjiS2d2kXgCl
1180
- zMx8KSreKJCrt+G2/30lC0DYqjSjLd4H61/OCt3Kfjp9JsFiaDrmLzfzgYYhxKlkqu9FNtEaZnz4
1181
- 6TfW1mG+oq1I59/mdP7TbX3SJdysYlep9w==
1182
- -----END CERTIFICATE-----
1183
-
1184
- beTRUSTed Root CA - RSA Implementation
1185
- ======================================
1186
- -----BEGIN CERTIFICATE-----
1187
- MIIFaDCCBFCgAwIBAgIQO1nHe81bV569N1KsdrSqGjANBgkqhkiG9w0BAQUFADBiMRIwEAYDVQQK
1188
- EwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEvMC0GA1UEAxMmYmVUUlVT
1189
- VGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wHhcNMDIwNDExMTExODEzWhcNMjIwNDEy
1190
- MTEwNzI1WjBiMRIwEAYDVQQKEwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENB
1191
- czEvMC0GA1UEAxMmYmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wggEiMA0G
1192
- CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkujQwCY5X0LkGLG9uJIAiv11DpvpPrILnHGhwhRuj
1193
- brWqeNluB0s/6d/16uhUoWGKDi9pdRi3DOUUjXFumLhV/AyV0Jtu4S2I1DpAa5LxmZZk3tv/ePTu
1194
- lh1HiXzUvrmIdyM6CeYEnm2qXtLIvZpOGd+J6lsOfsPktPDgaTuID0GQ+NRxQyTBjyZLO1bp/4xs
1195
- N+lFrYWMU8NghpBKlsmzVLC7F/AcRdnUGxlkVgoZ98zh/4avflherHqQH8koOUV7orbHnB/ahdQh
1196
- hlkwk75TMzf270HPM8ercmsl9fNTGwxMLvF1S++gh/f+ihXQbNXL+WhTuXAVE8L1LvtDNXUtAgMB
1197
- AAGjggIYMIICFDAMBgNVHRMEBTADAQH/MIIBtQYDVR0gBIIBrDCCAagwggGkBg8rBgEEAbE+AAAD
1198
- CSiDkTEwggGPMEEGCCsGAQUFBwIBFjVodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNf
1199
- c2VydmljZXMvaW5kZXguaHRtbDCCAUgGCCsGAQUFBwICMIIBOhqCATZSZWxpYW5jZSBvbiBvciB1
1200
- c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjcmVhdGVzIGFuIGFja25vd2xlZGdtZW50IGFuZCBhY2Nl
1201
- cHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlv
1202
- bnMgb2YgdXNlLCB0aGUgQ2VydGlmaWNhdGlvbiBQcmFjdGljZSBTdGF0ZW1lbnQgYW5kIHRoZSBS
1203
- ZWx5aW5nIFBhcnR5IEFncmVlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSBiZVRSVVNU
1204
- ZWQgd2ViIHNpdGUsIGh0dHA6Ly93d3cuYmV0cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9p
1205
- bmRleC5odG1sMAsGA1UdDwQEAwIBBjAfBgNVHSMEGDAWgBSp7BR++dlDzFMrFK3P9/BZiUHNGTAd
1206
- BgNVHQ4EFgQUqewUfvnZQ8xTKxStz/fwWYlBzRkwDQYJKoZIhvcNAQEFBQADggEBANuXsHXqDMTB
1207
- mMpWBcCorSZIry0g6IHHtt9DwSwddUvUQo3neqh03GZCWYez9Wlt2ames30cMcH1VOJZJEnl7r05
1208
- pmuKmET7m9cqg5c0Lcd9NUwtNLg+DcTsiCevnpL9UGGCqGAHFFPMZRPB9kdEadIxyKbdLrML3kqN
1209
- Wz2rDcI1UqJWN8wyiyiFQpyRQHpwKzg21eFzGh/l+n5f3NacOzDq28BbJ1zTcwfBwvNMm2+fG8oe
1210
- qqg4MwlYsq78B+g23FW6L09A/nq9BqaBwZMifIYRCgZ3SK41ty8ymmFei74pnykkiFY5LKjSq5YD
1211
- WtRIn7lAhAuYaPsBQ9Yb4gmxlxw=
1212
- -----END CERTIFICATE-----
1213
-
1214
- RSA Security 2048 v3
1215
- ====================
1216
- -----BEGIN CERTIFICATE-----
1217
- MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
1218
- ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
1219
- MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
1220
- BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
1221
- AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
1222
- Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
1223
- WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
1224
- KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
1225
- +Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
1226
- MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
1227
- FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
1228
- v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
1229
- 0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
1230
- VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
1231
- nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
1232
- pKnXwiJPZ9d37CAFYd4=
1233
- -----END CERTIFICATE-----
1234
-
1235
- RSA Security 1024 v3
1236
- ====================
1237
- -----BEGIN CERTIFICATE-----
1238
- MIICXDCCAcWgAwIBAgIQCgEBAQAAAnwAAAALAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
1239
- ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMTAyNCBWMzAeFw0wMTAy
1240
- MjIyMTAxNDlaFw0yNjAyMjIyMDAxNDlaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
1241
- BgNVBAsTFFJTQSBTZWN1cml0eSAxMDI0IFYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV
1242
- 3f5mCc8kPD6ugU5OisRpgFtZO9+5TUzKtS3DJy08rwBCbbwoppbPf9dYrIMKo1W1exeQFYRMiu4m
1243
- mdxY78c4pqqv0I5CyGLXq6yp+0p9v+r+Ek3d/yYtbzZUaMjShFbuklNhCbM/OZuoyZu9zp9+1Blq
1244
- FikYvtc6adwlWzMaUQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAf
1245
- BgNVHSMEGDAWgBTEwBykB5T9zU0B1FTapQxf3q4FWjAdBgNVHQ4EFgQUxMAcpAeU/c1NAdRU2qUM
1246
- X96uBVowDQYJKoZIhvcNAQEFBQADgYEAPy1q4yZDlX2Jl2X7deRyHUZXxGFraZ8SmyzVWujAovBD
1247
- leMf6XbN3Ou8k6BlCsdNT1+nr6JGFLkM88y9am63nd4lQtBU/55oc2PcJOsiv6hy8l4A4Q1OOkNu
1248
- mU4/iXgDmMrzVcydro7BqkWY+o8aoI2II/EVQQ2lRj6RP4vr93E=
1249
- -----END CERTIFICATE-----
1250
-
1251
- GeoTrust Global CA
1252
- ==================
1253
- -----BEGIN CERTIFICATE-----
1254
- MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
1255
- Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
1256
- MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
1257
- LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
1258
- CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
1259
- BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
1260
- 8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
1261
- T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
1262
- vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
1263
- AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
1264
- DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
1265
- zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
1266
- d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
1267
- mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
1268
- XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
1269
- Mw==
1270
- -----END CERTIFICATE-----
1271
-
1272
- GeoTrust Global CA 2
1273
- ====================
1274
- -----BEGIN CERTIFICATE-----
1275
- MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
1276
- R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
1277
- MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
1278
- LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
1279
- ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
1280
- NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
1281
- LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
1282
- Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
1283
- HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
1284
- MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
1285
- K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
1286
- srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
1287
- ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
1288
- OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
1289
- x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
1290
- H4z1Ir+rzoPz4iIprn2DQKi6bA==
1291
- -----END CERTIFICATE-----
1292
-
1293
- GeoTrust Universal CA
1294
- =====================
1295
- -----BEGIN CERTIFICATE-----
1296
- MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
1297
- R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
1298
- MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
1299
- Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
1300
- ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
1301
- JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
1302
- RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
1303
- 7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
1304
- 8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
1305
- qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
1306
- Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
1307
- Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
1308
- KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
1309
- ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
1310
- XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
1311
- hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
1312
- aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
1313
- qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
1314
- oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
1315
- xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
1316
- KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
1317
- DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
1318
- xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
1319
- p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
1320
- P/rmMuGNG2+k5o7Y+SlIis5z/iw=
1321
- -----END CERTIFICATE-----
1322
-
1323
- GeoTrust Universal CA 2
1324
- =======================
1325
- -----BEGIN CERTIFICATE-----
1326
- MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
1327
- R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
1328
- MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
1329
- SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
1330
- A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
1331
- DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
1332
- j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
1333
- JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
1334
- QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
1335
- WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
1336
- 20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
1337
- ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
1338
- SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
1339
- 8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
1340
- +/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
1341
- BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
1342
- dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
1343
- 4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
1344
- mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
1345
- A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
1346
- Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
1347
- pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
1348
- FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
1349
- gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
1350
- X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
1351
- -----END CERTIFICATE-----
1352
-
1353
- UTN-USER First-Network Applications
1354
- ===================================
1355
- -----BEGIN CERTIFICATE-----
1356
- MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE
1357
- BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
1358
- IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp
1359
- BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5
1360
- WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T
1361
- YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
1362
- dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB
1363
- cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug
1364
- mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj
1365
- DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu
1366
- Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi
1367
- P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE
1368
- j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w
1369
- HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j
1370
- cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G
1371
- CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
1372
- IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK
1373
- RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp
1374
- xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq
1375
- DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE
1376
- -----END CERTIFICATE-----
1377
-
1378
- America Online Root Certification Authority 1
1379
- =============================================
1380
- -----BEGIN CERTIFICATE-----
1381
- MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
1382
- QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
1383
- Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG
1384
- A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
1385
- T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD
1386
- ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG
1387
- v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z
1388
- DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh
1389
- sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP
1390
- 8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T
1391
- AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z
1392
- o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf
1393
- GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF
1394
- VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft
1395
- 3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g
1396
- Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
1397
- sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
1398
- -----END CERTIFICATE-----
1399
-
1400
- America Online Root Certification Authority 2
1401
- =============================================
1402
- -----BEGIN CERTIFICATE-----
1403
- MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
1404
- QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
1405
- Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG
1406
- A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
1407
- T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD
1408
- ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en
1409
- fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8
1410
- f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO
1411
- qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN
1412
- RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0
1413
- gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn
1414
- 6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid
1415
- FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6
1416
- Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj
1417
- B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op
1418
- aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
1419
- AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY
1420
- T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p
1421
- +DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg
1422
- JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy
1423
- zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO
1424
- ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh
1425
- 1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf
1426
- GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff
1427
- Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP
1428
- cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk=
1429
- -----END CERTIFICATE-----
1430
-
1431
- Visa eCommerce Root
1432
- ===================
1433
- -----BEGIN CERTIFICATE-----
1434
- MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
1435
- EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
1436
- QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
1437
- WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
1438
- VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
1439
- bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
1440
- F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
1441
- RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
1442
- TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
1443
- /k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
1444
- GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
1445
- MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
1446
- CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
1447
- YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
1448
- zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
1449
- YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
1450
- 398znM/jra6O1I7mT1GvFpLgXPYHDw==
1451
- -----END CERTIFICATE-----
1452
-
1453
- TC TrustCenter, Germany, Class 2 CA
1454
- ===================================
1455
- -----BEGIN CERTIFICATE-----
1456
- MIIDXDCCAsWgAwIBAgICA+owDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQI
1457
- EwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3Ig
1458
- U2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBD
1459
- bGFzcyAyIENBMSkwJwYJKoZIhvcNAQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05
1460
- ODAzMDkxMTU5NTlaFw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFt
1461
- YnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy
1462
- aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3Mg
1463
- MiBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZI
1464
- hvcNAQEBBQADgY0AMIGJAoGBANo46O0yAClxgwENv4wB3NrGrTmkqYov1YtcaF9QxmL1Zr3KkSLs
1465
- qh1R1z2zUbKDTl3LSbDwTFXlay3HhQswHJJOgtTKAu33b77c4OMUuAVT8pr0VotanoWT0bSCVq5N
1466
- u6hLVxa8/vhYnvgpjbB7zXjJT6yLZwzxnPv8V5tXXE8NAgMBAAGjazBpMA8GA1UdEwEB/wQFMAMB
1467
- Af8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3LnRydXN0Y2VudGVy
1468
- LmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0GCSqGSIb3DQEBBAUAA4GBAIRS+yjf
1469
- /x91AbwBvgRWl2p0QiQxg/lGsQaKic+WLDO/jLVfenKhhQbOhvgFjuj5Jcrag4wGrOs2bYWRNAQ2
1470
- 9ELw+HkuCkhcq8xRT3h2oNmsGb0q0WkEKJHKNhAngFdb0lz1wlurZIFjdFH0l7/NEij3TWZ/p/Ac
1471
- ASZ4smZHcFFk
1472
- -----END CERTIFICATE-----
1473
-
1474
- TC TrustCenter, Germany, Class 3 CA
1475
- ===================================
1476
- -----BEGIN CERTIFICATE-----
1477
- MIIDXDCCAsWgAwIBAgICA+swDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQI
1478
- EwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3Ig
1479
- U2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBD
1480
- bGFzcyAzIENBMSkwJwYJKoZIhvcNAQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05
1481
- ODAzMDkxMTU5NTlaFw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFt
1482
- YnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy
1483
- aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3Mg
1484
- MyBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZI
1485
- hvcNAQEBBQADgY0AMIGJAoGBALa0wTUFLg2N7KBAahwOJ6ZQkmtQGwfeLud2zODa/ISoXoxjaitN
1486
- 2U4CdhHBC/KNecoAtvGwDtf7pBc9r6tpepYnv68zoZoqWarEtTcI8hKlMbZD9TKWcSgoq40oht+7
1487
- 7uMMfTDWw1Krj10nnGvAo+cFa1dJRLNu6mTP0o56UHd3AgMBAAGjazBpMA8GA1UdEwEB/wQFMAMB
1488
- Af8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3LnRydXN0Y2VudGVy
1489
- LmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0GCSqGSIb3DQEBBAUAA4GBABY9xs3B
1490
- u4VxhUafPiCPUSiZ7C1FIWMjWwS7TJC4iJIETb19AaM/9uzO8d7+feXhPrvGq14L3T2WxMup1Pkm
1491
- 5gZOngylerpuw3yCGdHHsbHD2w2Om0B8NwvxXej9H5CIpQ5ON2QhqE6NtJ/x3kit1VYYUimLRzQS
1492
- CdS7kjXvD9s0
1493
- -----END CERTIFICATE-----
1494
-
1495
- Certum Root CA
1496
- ==============
1497
- -----BEGIN CERTIFICATE-----
1498
- MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
1499
- ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
1500
- Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
1501
- by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
1502
- wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
1503
- kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
1504
- 89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
1505
- Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
1506
- NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
1507
- hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
1508
- GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
1509
- GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
1510
- 0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
1511
- qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
1512
- -----END CERTIFICATE-----
1513
-
1514
- Comodo AAA Services root
1515
- ========================
1516
- -----BEGIN CERTIFICATE-----
1517
- MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
1518
- R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
1519
- TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
1520
- MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
1521
- c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
1522
- BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
1523
- ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
1524
- C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
1525
- i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
1526
- Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
1527
- Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
1528
- Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
1529
- BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
1530
- cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
1531
- LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
1532
- 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
1533
- Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
1534
- 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
1535
- 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
1536
- -----END CERTIFICATE-----
1537
-
1538
- Comodo Secure Services root
1539
- ===========================
1540
- -----BEGIN CERTIFICATE-----
1541
- MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
1542
- R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
1543
- TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
1544
- MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
1545
- Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
1546
- BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
1547
- ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
1548
- 9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
1549
- rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
1550
- oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
1551
- p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
1552
- FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
1553
- gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
1554
- YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
1555
- aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
1556
- 4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
1557
- Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
1558
- DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
1559
- pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
1560
- RR3B7Hzs/Sk=
1561
- -----END CERTIFICATE-----
1562
-
1563
- Comodo Trusted Services root
1564
- ============================
1565
- -----BEGIN CERTIFICATE-----
1566
- MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
1567
- R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
1568
- TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
1569
- MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
1570
- bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
1571
- IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
1572
- AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
1573
- 3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
1574
- /9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
1575
- juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
1576
- ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
1577
- DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
1578
- /zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
1579
- ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
1580
- cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
1581
- uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
1582
- pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
1583
- BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
1584
- R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
1585
- 9y5Xt5hwXsjEeLBi
1586
- -----END CERTIFICATE-----
1587
-
1588
- IPS Chained CAs root
1589
- ====================
1590
- -----BEGIN CERTIFICATE-----
1591
- MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARwxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1592
- EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1593
- Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1594
- Qi02MDkyOTQ1MjEzMDEGA1UECxMqSVBTIENBIENoYWluZWQgQ0FzIENlcnRpZmljYXRpb24gQXV0
1595
- aG9yaXR5MTMwMQYDVQQDEypJUFMgQ0EgQ2hhaW5lZCBDQXMgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
1596
- dHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczAeFw0wMTEyMjkwMDUzNThaFw0yNTEy
1597
- MjcwMDUzNThaMIIBHDELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UEBxMJ
1598
- QmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBzLmwu
1599
- MSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMTMwMQYDVQQLEypJ
1600
- UFMgQ0EgQ2hhaW5lZCBDQXMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMzAxBgNVBAMTKklQUyBD
1601
- QSBDaGFpbmVkIENBcyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqGSIb3DQEJARYPaXBz
1602
- QG1haWwuaXBzLmVzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcVpJJspQgvJhPUOtopKdJ
1603
- C7/SMejHT8KGC/po/UNaivNgkjWZOLtNA1IhW/A3mTXhQSCBhYEFcYGdtJUZqV92NC5jNzVXjrQf
1604
- Qj8VXOF6wV8TGDIxya2+o8eDZh65nAQTy2nBBt4wBrszo7Uf8I9vzv+W6FS+ZoCua9tBhDaiPQID
1605
- AQABo4IEQzCCBD8wHQYDVR0OBBYEFKGtMbH5PuEXpsirNPxShwkeYlJBMIIBTgYDVR0jBIIBRTCC
1606
- AUGAFKGtMbH5PuEXpsirNPxShwkeYlJBoYIBJKSCASAwggEcMQswCQYDVQQGEwJFUzESMBAGA1UE
1607
- CBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBw
1608
- dWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoUImlwc0BtYWlsLmlwcy5lcyBDLkkuRi4g
1609
- IEItNjA5Mjk0NTIxMzAxBgNVBAsTKklQUyBDQSBDaGFpbmVkIENBcyBDZXJ0aWZpY2F0aW9uIEF1
1610
- dGhvcml0eTEzMDEGA1UEAxMqSVBTIENBIENoYWluZWQgQ0FzIENlcnRpZmljYXRpb24gQXV0aG9y
1611
- aXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNV
1612
- HQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUF
1613
- BwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGC
1614
- NwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1Ud
1615
- EgQTMBGBD2lwc0BtYWlsLmlwcy5lczBCBglghkgBhvhCAQ0ENRYzQ2hhaW5lZCBDQSBDZXJ0aWZp
1616
- Y2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8v
1617
- d3d3Lmlwcy5lcy9pcHMyMDAyLzA3BglghkgBhvhCAQQEKhYoaHR0cDovL3d3dy5pcHMuZXMvaXBz
1618
- MjAwMi9pcHMyMDAyQ0FDLmNybDA8BglghkgBhvhCAQMELxYtaHR0cDovL3d3dy5pcHMuZXMvaXBz
1619
- MjAwMi9yZXZvY2F0aW9uQ0FDLmh0bWw/MDkGCWCGSAGG+EIBBwQsFipodHRwOi8vd3d3Lmlwcy5l
1620
- cy9pcHMyMDAyL3JlbmV3YWxDQUMuaHRtbD8wNwYJYIZIAYb4QgEIBCoWKGh0dHA6Ly93d3cuaXBz
1621
- LmVzL2lwczIwMDIvcG9saWN5Q0FDLmh0bWwwbQYDVR0fBGYwZDAuoCygKoYoaHR0cDovL3d3dy5p
1622
- cHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0FDLmNybDAyoDCgLoYsaHR0cDovL3d3d2JhY2suaXBzLmVz
1623
- L2lwczIwMDIvaXBzMjAwMkNBQy5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw
1624
- Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAERyMJ1WWKJBGyi3leGmGpVfp3hAK+/b
1625
- lkr8THFj2XOVvQLiogbHvpcqk4A0hgP63Ng9HgfNHnNDJGD1HWHc3JagvPsd4+cSACczAsDAK1M9
1626
- 2GsDgaPb1pOVIO/Tln4mkImcJpvNb2ar7QMiRDjMWb2f2/YHogF/JsRj9SVCXmK9
1627
- -----END CERTIFICATE-----
1628
-
1629
- IPS CLASE1 root
1630
- ===============
1631
- -----BEGIN CERTIFICATE-----
1632
- MIIH6jCCB1OgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARIxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1633
- EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1634
- Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1635
- Qi02MDkyOTQ1MjEuMCwGA1UECxMlSVBTIENBIENMQVNFMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
1636
- eTEuMCwGA1UEAxMlSVBTIENBIENMQVNFMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqG
1637
- SIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAwNTkzOFoXDTI1MTIyNzAwNTkzOFow
1638
- ggESMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmEx
1639
- LjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoU
1640
- Imlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxLjAsBgNVBAsTJUlQUyBDQSBDTEFT
1641
- RTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLjAsBgNVBAMTJUlQUyBDQSBDTEFTRTEgQ2VydGlm
1642
- aWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczCBnzANBgkq
1643
- hkiG9w0BAQEFAAOBjQAwgYkCgYEA4FEnpwvdr9G5Q1uCN0VWcu+atsIS7ywSzHb5BlmvXSHU0lq4
1644
- oNTzav3KaY1mSPd05u42veiWkXWmcSjK5yISMmmwPh5r9FBSYmL9Yzt9fuzuOOpi9GyocY3h6YvJ
1645
- P8a1zZRCb92CRTzo3wno7wpVqVZHYUxJZHMQKD/Kvwn/xi8CAwEAAaOCBEowggRGMB0GA1UdDgQW
1646
- BBTrsxl588GlHKzcuh9morKbadB4CDCCAUQGA1UdIwSCATswggE3gBTrsxl588GlHKzcuh9morKb
1647
- adB4CKGCARqkggEWMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UE
1648
- BxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBz
1649
- LmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMS4wLAYDVQQL
1650
- EyVJUFMgQ0EgQ0xBU0UxIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVJUFMgQ0Eg
1651
- Q0xBU0UxIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5p
1652
- cHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMB
1653
- BggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYB
1654
- BAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0R
1655
- BBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBBBglghkgB
1656
- hvhCAQ0ENBYyQ0xBU0UxIENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5l
1657
- cy8wKQYJYIZIAYb4QgECBBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMDoGCWCGSAGG+EIB
1658
- BAQtFitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTEuY3JsMD8GCWCGSAGG
1659
- +EIBAwQyFjBodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25DTEFTRTEuaHRtbD8w
1660
- PAYJYIZIAYb4QgEHBC8WLWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbENMQVNFMS5o
1661
- dG1sPzA6BglghkgBhvhCAQgELRYraHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lDTEFT
1662
- RTEuaHRtbDBzBgNVHR8EbDBqMDGgL6AthitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIw
1663
- MDJDTEFTRTEuY3JsMDWgM6Axhi9odHRwOi8vd3d3YmFjay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAy
1664
- Q0xBU0UxLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9vY3NwLmlwcy5l
1665
- cy8wDQYJKoZIhvcNAQEFBQADgYEAK9Dr/drIyllq2tPMMi7JVBuKYn4VLenZMdMu9Ccj/1urxUq2
1666
- ckCuU3T0vAW0xtnIyXf7t/k0f3gA+Nak5FI/LEpjV4F1Wo7ojPsCwJTGKbqz3Bzosq/SLmJbGqmO
1667
- DszFV0VRFOlOHIilkfSj945RyKm+hjM+5i9Ibq9UkE6tsSU=
1668
- -----END CERTIFICATE-----
1669
-
1670
- IPS CLASE3 root
1671
- ===============
1672
- -----BEGIN CERTIFICATE-----
1673
- MIIH6jCCB1OgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARIxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1674
- EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1675
- Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1676
- Qi02MDkyOTQ1MjEuMCwGA1UECxMlSVBTIENBIENMQVNFMyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
1677
- eTEuMCwGA1UEAxMlSVBTIENBIENMQVNFMyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqG
1678
- SIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAxMDE0NFoXDTI1MTIyNzAxMDE0NFow
1679
- ggESMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmEx
1680
- LjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoU
1681
- Imlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxLjAsBgNVBAsTJUlQUyBDQSBDTEFT
1682
- RTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLjAsBgNVBAMTJUlQUyBDQSBDTEFTRTMgQ2VydGlm
1683
- aWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczCBnzANBgkq
1684
- hkiG9w0BAQEFAAOBjQAwgYkCgYEAqxf+DrDGaBtT8FK+n/ra+osTBLsBjzLZH49NzjaY2uQARIwo
1685
- 2BNEKqRrThckQpzTiKRBgtYj+4vJhuW5qYIF3PHeH+AMmVWY8jjsbJ0gA8DvqqPGZARRLXgNo9Ko
1686
- OtYkTOmWehisEyMiG3zoMRGzXwmqMHBxRiVrSXGAK5UBsh8CAwEAAaOCBEowggRGMB0GA1UdDgQW
1687
- BBS4k/8uy9wsjqLnev42USGjmFsMNDCCAUQGA1UdIwSCATswggE3gBS4k/8uy9wsjqLnev42USGj
1688
- mFsMNKGCARqkggEWMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UE
1689
- BxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBz
1690
- LmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMS4wLAYDVQQL
1691
- EyVJUFMgQ0EgQ0xBU0UzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVJUFMgQ0Eg
1692
- Q0xBU0UzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5p
1693
- cHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMB
1694
- BggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYB
1695
- BAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0R
1696
- BBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBBBglghkgB
1697
- hvhCAQ0ENBYyQ0xBU0UzIENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5l
1698
- cy8wKQYJYIZIAYb4QgECBBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMDoGCWCGSAGG+EIB
1699
- BAQtFitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTMuY3JsMD8GCWCGSAGG
1700
- +EIBAwQyFjBodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25DTEFTRTMuaHRtbD8w
1701
- PAYJYIZIAYb4QgEHBC8WLWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbENMQVNFMy5o
1702
- dG1sPzA6BglghkgBhvhCAQgELRYraHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lDTEFT
1703
- RTMuaHRtbDBzBgNVHR8EbDBqMDGgL6AthitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIw
1704
- MDJDTEFTRTMuY3JsMDWgM6Axhi9odHRwOi8vd3d3YmFjay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAy
1705
- Q0xBU0UzLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9vY3NwLmlwcy5l
1706
- cy8wDQYJKoZIhvcNAQEFBQADgYEAF2VcmZVDAyevJuXr0LMXI/dDqsfwfewPxqmurpYPdikc4gYt
1707
- fibFPPqhwYHOU7BC0ZdXGhd+pFFhxu7pXu8Fuuu9D6eSb9ijBmgpjnn1/7/5p6/ksc7C0YBCJwUE
1708
- NPjDfxZ4IwwHJPJGR607VNCv1TGyr33I6unUVtkOE7LFRVA=
1709
- -----END CERTIFICATE-----
1710
-
1711
- IPS CLASEA1 root
1712
- ================
1713
- -----BEGIN CERTIFICATE-----
1714
- MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1715
- EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1716
- Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1717
- Qi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
1718
- dHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUExIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJ
1719
- KoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwHhcNMDExMjI5MDEwNTMyWhcNMjUxMjI3MDEwNTMy
1720
- WjCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9u
1721
- YTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE
1722
- ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENM
1723
- QVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUExIENl
1724
- cnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwgZ8w
1725
- DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALsw19zQVL01Tp/FTILq0VA8R5j8m2mdd81u4D/u6zJf
1726
- X5/S0HnllXNEITLgCtud186Nq1KLK3jgm1t99P1tCeWu4WwdByOgF9H5fahGRpEiqLJpxq339fWU
1727
- oTCUvQDMRH/uxJ7JweaPCjbB/SQ9AaD1e+J8eGZDi09Z8pvZ+kmzAgMBAAGjggRTMIIETzAdBgNV
1728
- HQ4EFgQUZyaW56G/2LUDnf473P7yiuYV3TAwggFGBgNVHSMEggE9MIIBOYAUZyaW56G/2LUDnf47
1729
- 3P7yiuYV3TChggEcpIIBGDCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ
1730
- BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2Vydmlj
1731
- ZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0G
1732
- A1UECxMmSVBTIENBIENMQVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQ
1733
- UyBDQSBDTEFTRUExIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNA
1734
- bWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsG
1735
- AQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIB
1736
- FQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcw
1737
- GgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBC
1738
- BglghkgBhvhCAQ0ENRYzQ0xBU0VBMSBDQSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3
1739
- dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyLzA7Bglg
1740
- hkgBhvhCAQQELhYsaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0xBU0VBMS5jcmww
1741
- QAYJYIZIAYb4QgEDBDMWMWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmV2b2NhdGlvbkNMQVNF
1742
- QTEuaHRtbD8wPQYJYIZIAYb4QgEHBDAWLmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdh
1743
- bENMQVNFQTEuaHRtbD8wOwYJYIZIAYb4QgEIBC4WLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIv
1744
- cG9saWN5Q0xBU0VBMS5odG1sMHUGA1UdHwRuMGwwMqAwoC6GLGh0dHA6Ly93d3cuaXBzLmVzL2lw
1745
- czIwMDIvaXBzMjAwMkNMQVNFQTEuY3JsMDagNKAyhjBodHRwOi8vd3d3YmFjay5pcHMuZXMvaXBz
1746
- MjAwMi9pcHMyMDAyQ0xBU0VBMS5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw
1747
- Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAH66iqyAAIQVCtWYUQxkxZwCWINmyq0e
1748
- B81+atqAB98DNEock8RLWCA1NnHtogo1EqWmZaeFaQoO42Hu6r4okzPV7Oi+xNtff6j5YzHIa5bi
1749
- KcJboOeXNp13XjFr/tOn2yrb25aLH2betgPAK7N41lUH5Y85UN4HI3LmvSAUS7SG
1750
- -----END CERTIFICATE-----
1751
-
1752
- IPS CLASEA3 root
1753
- ================
1754
- -----BEGIN CERTIFICATE-----
1755
- MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1756
- EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1757
- Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1758
- Qi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
1759
- dHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUEzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJ
1760
- KoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwHhcNMDExMjI5MDEwNzUwWhcNMjUxMjI3MDEwNzUw
1761
- WjCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9u
1762
- YTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE
1763
- ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENM
1764
- QVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUEzIENl
1765
- cnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwgZ8w
1766
- DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO6AAPYaZC6tasiDsYun7o/ZttvNG7uGBiJ2MwwSbUhW
1767
- YdLcgiViL5/SaTBlA0IjWLxH3GvWdV0XPOH/8lhneaDBgbHUVqLyjRGZ/fZ98cfEXgIqmuJKtROK
1768
- AP2Md4bm15T1IHUuDky/dMQ/gT6DtKM4Ninn6Cr1jIhBqoCm42zvAgMBAAGjggRTMIIETzAdBgNV
1769
- HQ4EFgQUHp9XUEe2YZM50yz82l09BXW3mQIwggFGBgNVHSMEggE9MIIBOYAUHp9XUEe2YZM50yz8
1770
- 2l09BXW3mQKhggEcpIIBGDCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ
1771
- BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2Vydmlj
1772
- ZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0G
1773
- A1UECxMmSVBTIENBIENMQVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQ
1774
- UyBDQSBDTEFTRUEzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNA
1775
- bWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsG
1776
- AQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIB
1777
- FQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcw
1778
- GgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBC
1779
- BglghkgBhvhCAQ0ENRYzQ0xBU0VBMyBDQSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3
1780
- dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyLzA7Bglg
1781
- hkgBhvhCAQQELhYsaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0xBU0VBMy5jcmww
1782
- QAYJYIZIAYb4QgEDBDMWMWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmV2b2NhdGlvbkNMQVNF
1783
- QTMuaHRtbD8wPQYJYIZIAYb4QgEHBDAWLmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdh
1784
- bENMQVNFQTMuaHRtbD8wOwYJYIZIAYb4QgEIBC4WLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIv
1785
- cG9saWN5Q0xBU0VBMy5odG1sMHUGA1UdHwRuMGwwMqAwoC6GLGh0dHA6Ly93d3cuaXBzLmVzL2lw
1786
- czIwMDIvaXBzMjAwMkNMQVNFQTMuY3JsMDagNKAyhjBodHRwOi8vd3d3YmFjay5pcHMuZXMvaXBz
1787
- MjAwMi9pcHMyMDAyQ0xBU0VBMy5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw
1788
- Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAEo9IEca2on0eisxeewBwMwB9dbB/MjD
1789
- 81ACUZBYKp/nNQlbMAqBACVHr9QPDp5gJqiVp4MI3y2s6Q73nMify5NF8bpqxmdRSmlPa/59Cy9S
1790
- KcJQrSRE7SOzSMtEQMEDlQwKeAYSAfWRMS1Jjbs/RU4s4OjNtckUFQzjB4ObJnXv
1791
- -----END CERTIFICATE-----
1792
-
1793
- IPS Servidores root
1794
- ===================
1795
- -----BEGIN CERTIFICATE-----
1796
- MIICtzCCAiACAQAwDQYJKoZIhvcNAQEEBQAwgaMxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCQVJD
1797
- RUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UEChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYG
1798
- A1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQDEw5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3
1799
- DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTk4MDEwMTIzMjEwN1oXDTA5MTIyOTIzMjEwN1owgaMx
1800
- CzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcG
1801
- A1UEChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQD
1802
- Ew5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMIGfMA0GCSqG
1803
- SIb3DQEBAQUAA4GNADCBiQKBgQCsT1J0nznqjtwlxLyYXZhkJAk8IbPMGbWOlI6H0fg3PqHILVik
1804
- gDVboXVsHUUMH2Fjal5vmwpMwci4YSM1gf/+rHhwLWjhOgeYlQJU3c0jt4BT18g3RXIGJBK6E2Eh
1805
- im51KODFDzT9NthFf+G4Nu+z4cYgjui0OLzhPvYR3oydAQIDAQABMA0GCSqGSIb3DQEBBAUAA4GB
1806
- ACzzw3lYJN7GO9HgQmm47mSzPWIBubOE3yN93ZjPEKn+ANgilgUTB1RXxafey9m4iEL2mdsUdx+2
1807
- /iU94aI+A6mB0i1sR/WWRowiq8jMDQ6XXotBtDvECgZAHd1G9AHduoIuPD14cJ58GNCr+Lh3B0Zx
1808
- 8coLY1xq+XKU1QFPoNtC
1809
- -----END CERTIFICATE-----
1810
-
1811
- IPS Timestamping root
1812
- =====================
1813
- -----BEGIN CERTIFICATE-----
1814
- MIIIODCCB6GgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCAR4xCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1815
- EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1816
- Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1817
- Qi02MDkyOTQ1MjE0MDIGA1UECxMrSVBTIENBIFRpbWVzdGFtcGluZyBDZXJ0aWZpY2F0aW9uIEF1
1818
- dGhvcml0eTE0MDIGA1UEAxMrSVBTIENBIFRpbWVzdGFtcGluZyBDZXJ0aWZpY2F0aW9uIEF1dGhv
1819
- cml0eTEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAxMTAxOFoXDTI1
1820
- MTIyNzAxMTAxOFowggEeMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQH
1821
- EwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMu
1822
- bC4xKzApBgNVBAoUImlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxNDAyBgNVBAsT
1823
- K0lQUyBDQSBUaW1lc3RhbXBpbmcgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxNDAyBgNVBAMTK0lQ
1824
- UyBDQSBUaW1lc3RhbXBpbmcgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEW
1825
- D2lwc0BtYWlsLmlwcy5lczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLjuVqWajOY2ycJi
1826
- oGaBjRrVetJznw6EZLqVtJCneK/K/lRhW86yIFcBrkSSQxA4Efdo/BdApWgnMjvEp+ZCccWZ73b/
1827
- K5Uk9UmSGGjKALWkWi9uy9YbLA1UZ2t6KaFYq6JaANZbuxjC3/YeE1Z2m6Vo4pjOxgOKNNtMg0Gm
1828
- qaMCAwEAAaOCBIAwggR8MB0GA1UdDgQWBBSL0BBQCYHynQnVDmB4AyKiP8jKZjCCAVAGA1UdIwSC
1829
- AUcwggFDgBSL0BBQCYHynQnVDmB4AyKiP8jKZqGCASakggEiMIIBHjELMAkGA1UEBhMCRVMxEjAQ
1830
- BgNVBAgTCUJhcmNlbG9uYTESMBAGA1UEBxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJu
1831
- ZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBzLmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5J
1832
- LkYuICBCLTYwOTI5NDUyMTQwMgYDVQQLEytJUFMgQ0EgVGltZXN0YW1waW5nIENlcnRpZmljYXRp
1833
- b24gQXV0aG9yaXR5MTQwMgYDVQQDEytJUFMgQ0EgVGltZXN0YW1waW5nIENlcnRpZmljYXRpb24g
1834
- QXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB
1835
- /zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMG
1836
- CCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYK
1837
- KwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVz
1838
- MBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBHBglghkgBhvhCAQ0EOhY4VGltZXN0YW1waW5n
1839
- IENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5lcy8wKQYJYIZIAYb4QgEC
1840
- BBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMEAGCWCGSAGG+EIBBAQzFjFodHRwOi8vd3d3
1841
- Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJUaW1lc3RhbXBpbmcuY3JsMEUGCWCGSAGG+EIBAwQ4FjZo
1842
- dHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25UaW1lc3RhbXBpbmcuaHRtbD8wQgYJ
1843
- YIZIAYb4QgEHBDUWM2h0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbFRpbWVzdGFtcGlu
1844
- Zy5odG1sPzBABglghkgBhvhCAQgEMxYxaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lU
1845
- aW1lc3RhbXBpbmcuaHRtbDB/BgNVHR8EeDB2MDegNaAzhjFodHRwOi8vd3d3Lmlwcy5lcy9pcHMy
1846
- MDAyL2lwczIwMDJUaW1lc3RhbXBpbmcuY3JsMDugOaA3hjVodHRwOi8vd3d3YmFjay5pcHMuZXMv
1847
- aXBzMjAwMi9pcHMyMDAyVGltZXN0YW1waW5nLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUH
1848
- MAGGE2h0dHA6Ly9vY3NwLmlwcy5lcy8wDQYJKoZIhvcNAQEFBQADgYEAZbrBzAAalZHK6Ww6vzoe
1849
- FAh8+4Pua2JR0zORtWB5fgTYXXk36MNbsMRnLWhasl8OCvrNPzpFoeo2zyYepxEoxZSPhExTCMWT
1850
- s/zif/WN87GphV+I3pGW7hdbrqXqcGV4LCFkAZXOzkw+UPS2Wctjjba9GNSHSl/c7+lW8AoM6HU=
1851
- -----END CERTIFICATE-----
1852
-
1853
- QuoVadis Root CA
1854
- ================
1855
- -----BEGIN CERTIFICATE-----
1856
- MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
1857
- ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
1858
- eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
1859
- MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
1860
- cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
1861
- EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
1862
- AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
1863
- J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
1864
- F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
1865
- YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
1866
- AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
1867
- PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
1868
- ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
1869
- MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
1870
- YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
1871
- ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
1872
- Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
1873
- Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
1874
- BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
1875
- FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
1876
- aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
1877
- tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
1878
- fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
1879
- LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
1880
- gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
1881
- 5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
1882
- 5nrQNiOKSnQ2+Q==
1883
- -----END CERTIFICATE-----
1884
-
1885
- QuoVadis Root CA 2
1886
- ==================
1887
- -----BEGIN CERTIFICATE-----
1888
- MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
1889
- EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
1890
- ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
1891
- aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1892
- DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
1893
- XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
1894
- lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
1895
- lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
1896
- lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
1897
- 66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
1898
- wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
1899
- D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
1900
- BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
1901
- J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
1902
- DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
1903
- a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
1904
- ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
1905
- Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
1906
- UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
1907
- VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
1908
- +JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
1909
- IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
1910
- WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
1911
- f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
1912
- 4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
1913
- VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
1914
- -----END CERTIFICATE-----
1915
-
1916
- QuoVadis Root CA 3
1917
- ==================
1918
- -----BEGIN CERTIFICATE-----
1919
- MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
1920
- EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
1921
- OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
1922
- aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1923
- DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
1924
- DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
1925
- KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
1926
- DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
1927
- BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
1928
- p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
1929
- nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
1930
- MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
1931
- Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
1932
- uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
1933
- BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
1934
- YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
1935
- aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
1936
- BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
1937
- VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
1938
- ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
1939
- AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
1940
- qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
1941
- hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
1942
- POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
1943
- Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
1944
- 8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
1945
- bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
1946
- g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
1947
- vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
1948
- qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
1949
- -----END CERTIFICATE-----
1950
-
1951
- Security Communication Root CA
1952
- ==============================
1953
- -----BEGIN CERTIFICATE-----
1954
- MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
1955
- U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
1956
- HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
1957
- U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
1958
- ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
1959
- 8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
1960
- DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
1961
- 5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
1962
- DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
1963
- JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
1964
- DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
1965
- 0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
1966
- mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
1967
- s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
1968
- 6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
1969
- FL39vmwLAw==
1970
- -----END CERTIFICATE-----
1971
-
1972
- Sonera Class 1 Root CA
1973
- ======================
1974
- -----BEGIN CERTIFICATE-----
1975
- MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
1976
- U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw
1977
- NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
1978
- IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88
1979
- 7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9
1980
- EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl
1981
- 0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645
1982
- 2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa
1983
- HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT
1984
- iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9
1985
- 28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV
1986
- yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR
1987
- vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P
1988
- qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z
1989
- IRlXvVWa
1990
- -----END CERTIFICATE-----
1991
-
1992
- Sonera Class 2 Root CA
1993
- ======================
1994
- -----BEGIN CERTIFICATE-----
1995
- MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
1996
- U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
1997
- NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
1998
- IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
1999
- /Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
2000
- dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
2001
- f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
2002
- tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
2003
- nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
2004
- XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
2005
- 0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
2006
- cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
2007
- Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
2008
- EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
2009
- llpwrN9M
2010
- -----END CERTIFICATE-----
2011
-
2012
- Staat der Nederlanden Root CA
2013
- =============================
2014
- -----BEGIN CERTIFICATE-----
2015
- MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
2016
- ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
2017
- Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
2018
- HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
2019
- bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
2020
- vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
2021
- jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
2022
- C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
2023
- vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
2024
- 22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
2025
- HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
2026
- dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
2027
- BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
2028
- EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
2029
- MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
2030
- nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
2031
- iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
2032
- -----END CERTIFICATE-----
2033
-
2034
- TDC Internet Root CA
2035
- ====================
2036
- -----BEGIN CERTIFICATE-----
2037
- MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE
2038
- ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx
2039
- NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu
2040
- ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
2041
- MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j
2042
- xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL
2043
- znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc
2044
- 5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6
2045
- otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI
2046
- AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM
2047
- VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM
2048
- MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC
2049
- AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe
2050
- UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G
2051
- CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m
2052
- gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
2053
- 2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb
2054
- O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU
2055
- Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l
2056
- -----END CERTIFICATE-----
2057
-
2058
- TDC OCES Root CA
2059
- ================
2060
- -----BEGIN CERTIFICATE-----
2061
- MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE
2062
- ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5
2063
- MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB
2064
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH
2065
- nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0
2066
- zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV
2067
- iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde
2068
- dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO
2069
- 3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB
2070
- 5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k
2071
- ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm
2072
- cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp
2073
- Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x
2074
- LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM
2075
- MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm
2076
- aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy
2077
- MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647
2078
- +RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6
2079
- NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4
2080
- A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc
2081
- A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9
2082
- AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1
2083
- AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw==
2084
- -----END CERTIFICATE-----
2085
-
2086
- UTN DATACorp SGC Root CA
2087
- ========================
2088
- -----BEGIN CERTIFICATE-----
2089
- MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
2090
- BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
2091
- IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
2092
- BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
2093
- MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
2094
- HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
2095
- dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
2096
- AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
2097
- raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
2098
- wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
2099
- 9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
2100
- 33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
2101
- DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
2102
- BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
2103
- LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
2104
- DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
2105
- Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
2106
- I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
2107
- EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
2108
- DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
2109
- -----END CERTIFICATE-----
2110
-
2111
- UTN USERFirst Email Root CA
2112
- ===========================
2113
- -----BEGIN CERTIFICATE-----
2114
- MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
2115
- BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
2116
- IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0
2117
- BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05
2118
- OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx
2119
- FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx
2120
- ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz
2121
- dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
2122
- MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx
2123
- B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8
2124
- om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG
2125
- TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl
2126
- yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE
2127
- AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV
2128
- HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll
2129
- bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
2130
- AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne
2131
- xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+
2132
- 5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV
2133
- NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ
2134
- w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
2135
- -----END CERTIFICATE-----
2136
-
2137
- UTN USERFirst Hardware Root CA
2138
- ==============================
2139
- -----BEGIN CERTIFICATE-----
2140
- MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
2141
- BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
2142
- IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
2143
- BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
2144
- OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
2145
- eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
2146
- ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
2147
- DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
2148
- wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
2149
- tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
2150
- i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
2151
- Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
2152
- gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
2153
- lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
2154
- UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
2155
- BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
2156
- //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
2157
- XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
2158
- lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
2159
- iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
2160
- nfhmqA==
2161
- -----END CERTIFICATE-----
2162
-
2163
- UTN USERFirst Object Root CA
2164
- ============================
2165
- -----BEGIN CERTIFICATE-----
2166
- MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE
2167
- BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
2168
- IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb
2169
- BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz
2170
- NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx
2171
- HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy
2172
- dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB
2173
- BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR
2174
- loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ
2175
- w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu
2176
- lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7
2177
- RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL
2178
- BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8
2179
- ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly
2180
- c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw
2181
- DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
2182
- NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO
2183
- PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE
2184
- qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG
2185
- hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
2186
- -----END CERTIFICATE-----
2187
-
2188
- Camerfirma Chambers of Commerce Root
2189
- ====================================
2190
- -----BEGIN CERTIFICATE-----
2191
- MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
2192
- QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
2193
- ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
2194
- NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
2195
- cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
2196
- MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
2197
- AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
2198
- xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
2199
- NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
2200
- DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
2201
- d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
2202
- EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
2203
- cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
2204
- AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
2205
- bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
2206
- VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
2207
- aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
2208
- fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
2209
- L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
2210
- UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
2211
- ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
2212
- erfutGWaIZDgqtCYvDi1czyL+Nw=
2213
- -----END CERTIFICATE-----
2214
-
2215
- Camerfirma Global Chambersign Root
2216
- ==================================
2217
- -----BEGIN CERTIFICATE-----
2218
- MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
2219
- QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
2220
- ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
2221
- NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
2222
- YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
2223
- MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
2224
- ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
2225
- 1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
2226
- by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
2227
- 6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
2228
- 8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
2229
- BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
2230
- aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
2231
- Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
2232
- aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
2233
- ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
2234
- bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
2235
- PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
2236
- gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
2237
- PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
2238
- IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
2239
- t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
2240
- -----END CERTIFICATE-----
2241
-
2242
- NetLock Qualified (Class QA) Root
2243
- =================================
2244
- -----BEGIN CERTIFICATE-----
2245
- MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
2246
- CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
2247
- BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn
2248
- eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0
2249
- bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER
2250
- MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0
2251
- LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0
2252
- dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP
2253
- aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV
2254
- CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e
2255
- 8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb
2256
- m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ
2257
- 0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM
2258
- 0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
2259
- HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2
2260
- YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
2261
- biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p
2262
- a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz
2263
- YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg
2264
- YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg
2265
- ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov
2266
- L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr
2267
- Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0
2268
- aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg
2269
- YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0
2270
- IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3
2271
- DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN
2272
- wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg
2273
- W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc
2274
- R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR
2275
- 5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko
2276
- -----END CERTIFICATE-----
2277
-
2278
- NetLock Notary (Class A) Root
2279
- =============================
2280
- -----BEGIN CERTIFICATE-----
2281
- MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
2282
- EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
2283
- dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
2284
- ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
2285
- DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
2286
- EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
2287
- VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
2288
- cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
2289
- D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
2290
- z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
2291
- /tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
2292
- tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
2293
- 4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
2294
- A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
2295
- Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
2296
- bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
2297
- IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
2298
- LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
2299
- ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
2300
- IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
2301
- IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
2302
- b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
2303
- bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
2304
- Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
2305
- bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
2306
- ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
2307
- ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
2308
- CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
2309
- KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
2310
- 8CgHrTwXZoi1/baI
2311
- -----END CERTIFICATE-----
2312
-
2313
- NetLock Business (Class B) Root
2314
- ===============================
2315
- -----BEGIN CERTIFICATE-----
2316
- MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
2317
- CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
2318
- BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg
2319
- VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD
2320
- VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv
2321
- bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg
2322
- VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
2323
- iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S
2324
- o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr
2325
- 1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
2326
- HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ
2327
- RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh
2328
- dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0
2329
- ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv
2330
- c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg
2331
- YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
2332
- c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz
2333
- Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA
2334
- bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl
2335
- IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2
2336
- YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj
2337
- cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM
2338
- 43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR
2339
- stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI
2340
- -----END CERTIFICATE-----
2341
-
2342
- NetLock Express (Class C) Root
2343
- ==============================
2344
- -----BEGIN CERTIFICATE-----
2345
- MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT
2346
- CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
2347
- BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD
2348
- KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ
2349
- BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
2350
- dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j
2351
- ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB
2352
- jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z
2353
- W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63
2354
- euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw
2355
- DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN
2356
- RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn
2357
- YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB
2358
- IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i
2359
- aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0
2360
- ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
2361
- ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo
2362
- dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y
2363
- emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k
2364
- IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ
2365
- UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg
2366
- YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2
2367
- xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW
2368
- gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A==
2369
- -----END CERTIFICATE-----
2370
-
2371
- XRamp Global CA Root
2372
- ====================
2373
- -----BEGIN CERTIFICATE-----
2374
- MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
2375
- BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
2376
- dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
2377
- dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
2378
- HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
2379
- U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
2380
- dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
2381
- IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
2382
- foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
2383
- zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
2384
- AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
2385
- xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
2386
- EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
2387
- oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
2388
- AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
2389
- /Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
2390
- qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
2391
- nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
2392
- 8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
2393
- -----END CERTIFICATE-----
2394
-
2395
- Go Daddy Class 2 CA
2396
- ===================
2397
- -----BEGIN CERTIFICATE-----
2398
- MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
2399
- VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
2400
- ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
2401
- A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
2402
- RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
2403
- ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
2404
- 2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
2405
- qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
2406
- YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
2407
- vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
2408
- BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
2409
- atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
2410
- MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
2411
- A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
2412
- PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
2413
- I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
2414
- HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
2415
- Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
2416
- vZ8=
2417
- -----END CERTIFICATE-----
2418
-
2419
- Starfield Class 2 CA
2420
- ====================
2421
- -----BEGIN CERTIFICATE-----
2422
- MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
2423
- U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
2424
- Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
2425
- MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
2426
- A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
2427
- SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
2428
- bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
2429
- JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
2430
- epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
2431
- F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
2432
- MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
2433
- hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
2434
- bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
2435
- QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
2436
- afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
2437
- PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
2438
- xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
2439
- KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
2440
- QBFGmh95DmK/D5fs4C8fF5Q=
2441
- -----END CERTIFICATE-----
2442
-
2443
- StartCom Ltd.
2444
- =============
2445
- -----BEGIN CERTIFICATE-----
2446
- MIIFFjCCBH+gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBsDELMAkGA1UEBhMCSUwxDzANBgNVBAgT
2447
- BklzcmFlbDEOMAwGA1UEBxMFRWlsYXQxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xGjAYBgNVBAsT
2448
- EUNBIEF1dGhvcml0eSBEZXAuMSkwJwYDVQQDEyBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhv
2449
- cml0eTEhMB8GCSqGSIb3DQEJARYSYWRtaW5Ac3RhcnRjb20ub3JnMB4XDTA1MDMxNzE3Mzc0OFoX
2450
- DTM1MDMxMDE3Mzc0OFowgbAxCzAJBgNVBAYTAklMMQ8wDQYDVQQIEwZJc3JhZWwxDjAMBgNVBAcT
2451
- BUVpbGF0MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMRowGAYDVQQLExFDQSBBdXRob3JpdHkgRGVw
2452
- LjEpMCcGA1UEAxMgRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0B
2453
- CQEWEmFkbWluQHN0YXJ0Y29tLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA7YRgACOe
2454
- yEpRKSfeOqE5tWmrCbIvNP1h3D3TsM+x18LEwrHkllbEvqoUDufMOlDIOmKdw6OsWXuO7lUaHEe+
2455
- o5c5s7XvIywI6Nivcy+5yYPo7QAPyHWlLzRMGOh2iCNJitu27Wjaw7ViKUylS7eYtAkUEKD4/mJ2
2456
- IhULpNYILzUCAwEAAaOCAjwwggI4MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMB0GA1Ud
2457
- DgQWBBQcicOWzL3+MtUNjIExtpidjShkjTCB3QYDVR0jBIHVMIHSgBQcicOWzL3+MtUNjIExtpid
2458
- jShkjaGBtqSBszCBsDELMAkGA1UEBhMCSUwxDzANBgNVBAgTBklzcmFlbDEOMAwGA1UEBxMFRWls
2459
- YXQxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xGjAYBgNVBAsTEUNBIEF1dGhvcml0eSBEZXAuMSkw
2460
- JwYDVQQDEyBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS
2461
- YWRtaW5Ac3RhcnRjb20ub3JnggEAMB0GA1UdEQQWMBSBEmFkbWluQHN0YXJ0Y29tLm9yZzAdBgNV
2462
- HRIEFjAUgRJhZG1pbkBzdGFydGNvbS5vcmcwEQYJYIZIAYb4QgEBBAQDAgAHMC8GCWCGSAGG+EIB
2463
- DQQiFiBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAyBglghkgBhvhCAQQEJRYjaHR0
2464
- cDovL2NlcnQuc3RhcnRjb20ub3JnL2NhLWNybC5jcmwwKAYJYIZIAYb4QgECBBsWGWh0dHA6Ly9j
2465
- ZXJ0LnN0YXJ0Y29tLm9yZy8wOQYJYIZIAYb4QgEIBCwWKmh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9y
2466
- Zy9pbmRleC5waHA/YXBwPTExMTANBgkqhkiG9w0BAQQFAAOBgQBscSXhnjSRIe/bbL0BCFaPiNhB
2467
- OlP1ct8nV0t2hPdopP7rPwl+KLhX6h/BquL/lp9JmeaylXOWxkjHXo0Hclb4g4+fd68p00UOpO6w
2468
- NnQt8M2YI3s3S9r+UZjEHjQ8iP2ZO1CnwYszx8JSFhKVU2Ui77qLzmLbcCOxgN8aIDjnfg==
2469
- -----END CERTIFICATE-----
2470
-
2471
- StartCom Certification Authority
2472
- ================================
2473
- -----BEGIN CERTIFICATE-----
2474
- MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
2475
- U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
2476
- ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
2477
- NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
2478
- LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
2479
- U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
2480
- ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
2481
- o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
2482
- Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
2483
- eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
2484
- 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
2485
- 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
2486
- osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
2487
- untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
2488
- UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
2489
- 37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
2490
- FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
2491
- Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
2492
- YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
2493
- AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
2494
- Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
2495
- U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
2496
- LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
2497
- cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
2498
- cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
2499
- dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
2500
- AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
2501
- 3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
2502
- vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
2503
- fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
2504
- fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
2505
- EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
2506
- yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
2507
- 1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
2508
- lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
2509
- g14=
2510
- -----END CERTIFICATE-----
2511
-
2512
- Taiwan GRCA
2513
- ===========
2514
- -----BEGIN CERTIFICATE-----
2515
- MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
2516
- EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
2517
- DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
2518
- dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
2519
- ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
2520
- w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
2521
- BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
2522
- 1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
2523
- htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
2524
- J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
2525
- Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
2526
- B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
2527
- O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
2528
- lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
2529
- HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
2530
- 09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
2531
- TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
2532
- Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
2533
- Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
2534
- D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
2535
- DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
2536
- Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
2537
- 7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
2538
- CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
2539
- +fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
2540
- -----END CERTIFICATE-----
2541
-
2542
- Firmaprofesional Root CA
2543
- ========================
2544
- -----BEGIN CERTIFICATE-----
2545
- MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT
2546
- GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp
2547
- Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA
2548
- ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL
2549
- MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT
2550
- OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2
2551
- ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB
2552
- AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V
2553
- j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH
2554
- lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf
2555
- 3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8
2556
- NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww
2557
- KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG
2558
- AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud
2559
- DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD
2560
- ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq
2561
- u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf
2562
- wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
2563
- 7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG
2564
- VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
2565
- -----END CERTIFICATE-----
2566
-
2567
- Wells Fargo Root CA
2568
- ===================
2569
- -----BEGIN CERTIFICATE-----
2570
- MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV
2571
- BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv
2572
- cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
2573
- MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl
2574
- bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv
2575
- MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
2576
- SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX
2577
- x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3
2578
- E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5
2579
- OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j
2580
- sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj
2581
- YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF
2582
- BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD
2583
- ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv
2584
- m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R
2585
- OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx
2586
- x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023
2587
- tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s=
2588
- -----END CERTIFICATE-----
2589
-
2590
- Swisscom Root CA 1
2591
- ==================
2592
- -----BEGIN CERTIFICATE-----
2593
- MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
2594
- EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
2595
- dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
2596
- MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
2597
- aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
2598
- IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
2599
- MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
2600
- NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
2601
- AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
2602
- b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
2603
- 7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
2604
- cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
2605
- WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
2606
- haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
2607
- MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
2608
- HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
2609
- BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
2610
- MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
2611
- jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
2612
- MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
2613
- VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
2614
- vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
2615
- OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
2616
- 1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
2617
- nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
2618
- x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
2619
- NY6E0F/6MBr1mmz0DlP5OlvRHA==
2620
- -----END CERTIFICATE-----
2621
-
2622
- DigiCert Assured ID Root CA
2623
- ===========================
2624
- -----BEGIN CERTIFICATE-----
2625
- MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
2626
- EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
2627
- IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
2628
- MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
2629
- ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
2630
- ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
2631
- 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
2632
- UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
2633
- /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
2634
- oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
2635
- GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
2636
- 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
2637
- hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
2638
- EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
2639
- SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
2640
- 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
2641
- +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
2642
- -----END CERTIFICATE-----
2643
-
2644
- DigiCert Global Root CA
2645
- =======================
2646
- -----BEGIN CERTIFICATE-----
2647
- MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
2648
- EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
2649
- HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
2650
- MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
2651
- dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
2652
- hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
2653
- TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
2654
- BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
2655
- 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
2656
- 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
2657
- o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
2658
- 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
2659
- BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
2660
- EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
2661
- tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
2662
- UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
2663
- CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
2664
- -----END CERTIFICATE-----
2665
-
2666
- DigiCert High Assurance EV Root CA
2667
- ==================================
2668
- -----BEGIN CERTIFICATE-----
2669
- MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
2670
- EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
2671
- KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
2672
- MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
2673
- MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
2674
- Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
2675
- Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
2676
- OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
2677
- MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
2678
- NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
2679
- h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
2680
- Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
2681
- JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
2682
- V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
2683
- myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
2684
- mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
2685
- vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
2686
- -----END CERTIFICATE-----
2687
-
2688
- Certplus Class 2 Primary CA
2689
- ===========================
2690
- -----BEGIN CERTIFICATE-----
2691
- MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
2692
- BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
2693
- OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
2694
- dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
2695
- ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
2696
- 5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
2697
- Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
2698
- YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
2699
- e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
2700
- CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
2701
- YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
2702
- L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
2703
- P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
2704
- TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
2705
- 7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
2706
- //1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
2707
- l7+ijrRU
2708
- -----END CERTIFICATE-----
2709
-
2710
- DST Root CA X3
2711
- ==============
2712
- -----BEGIN CERTIFICATE-----
2713
- MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
2714
- ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
2715
- DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
2716
- cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
2717
- ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
2718
- rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
2719
- UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
2720
- xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
2721
- utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
2722
- AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
2723
- MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
2724
- dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
2725
- GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
2726
- RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
2727
- fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
2728
- -----END CERTIFICATE-----
2729
-
2730
- DST ACES CA X6
2731
- ==============
2732
- -----BEGIN CERTIFICATE-----
2733
- MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
2734
- EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
2735
- MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
2736
- MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
2737
- CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
2738
- AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
2739
- DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
2740
- pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
2741
- GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
2742
- MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
2743
- EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
2744
- Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
2745
- dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
2746
- CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
2747
- 5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
2748
- Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
2749
- nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
2750
- vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
2751
- oKfN5XozNmr6mis=
2752
- -----END CERTIFICATE-----
2753
-
2754
- TURKTRUST Certificate Services Provider Root 1
2755
- ==============================================
2756
- -----BEGIN CERTIFICATE-----
2757
- MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
2758
- bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
2759
- MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
2760
- acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
2761
- MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
2762
- U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
2763
- TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
2764
- aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
2765
- AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
2766
- yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
2767
- Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
2768
- 8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
2769
- W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
2770
- BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
2771
- sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
2772
- q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
2773
- B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
2774
- nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
2775
- -----END CERTIFICATE-----
2776
-
2777
- TURKTRUST Certificate Services Provider Root 2
2778
- ==============================================
2779
- -----BEGIN CERTIFICATE-----
2780
- MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
2781
- bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
2782
- MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
2783
- QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
2784
- MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
2785
- dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
2786
- A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
2787
- acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
2788
- CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
2789
- LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
2790
- x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
2791
- QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
2792
- 5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
2793
- AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
2794
- A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
2795
- Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
2796
- Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
2797
- hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
2798
- 9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
2799
- UrbnBEI=
2800
- -----END CERTIFICATE-----
2801
-
2802
- SwissSign Platinum CA - G2
2803
- ==========================
2804
- -----BEGIN CERTIFICATE-----
2805
- MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT
2806
- BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw
2807
- HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM
2808
- U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ
2809
- KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu
2810
- 669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF
2811
- eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne
2812
- WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo
2813
- j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6
2814
- 8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T
2815
- aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy
2816
- domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D
2817
- +m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV
2818
- CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
2819
- EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv
2820
- zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW
2821
- IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1
2822
- Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3
2823
- NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4
2824
- U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8
2825
- KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl
2826
- 9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B
2827
- aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs
2828
- OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY
2829
- Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci
2830
- IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g==
2831
- -----END CERTIFICATE-----
2832
-
2833
- SwissSign Gold CA - G2
2834
- ======================
2835
- -----BEGIN CERTIFICATE-----
2836
- MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
2837
- EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
2838
- MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
2839
- c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
2840
- AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
2841
- t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
2842
- jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
2843
- vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
2844
- ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
2845
- AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
2846
- jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
2847
- peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
2848
- 7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
2849
- GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
2850
- AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
2851
- OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
2852
- L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
2853
- 5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
2854
- 44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
2855
- Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
2856
- Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
2857
- mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
2858
- vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
2859
- KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
2860
- NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
2861
- viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
2862
- -----END CERTIFICATE-----
2863
-
2864
- SwissSign Silver CA - G2
2865
- ========================
2866
- -----BEGIN CERTIFICATE-----
2867
- MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
2868
- BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
2869
- DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
2870
- aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
2871
- 9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
2872
- N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
2873
- +/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
2874
- 6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
2875
- MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
2876
- qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
2877
- FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
2878
- ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
2879
- celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
2880
- CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
2881
- BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
2882
- tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
2883
- cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
2884
- 4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
2885
- kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
2886
- 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
2887
- /uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
2888
- DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
2889
- e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
2890
- WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
2891
- DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
2892
- DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
2893
- -----END CERTIFICATE-----
2894
-
2895
- GeoTrust Primary Certification Authority
2896
- ========================================
2897
- -----BEGIN CERTIFICATE-----
2898
- MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
2899
- EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
2900
- ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
2901
- CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
2902
- cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
2903
- CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
2904
- b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
2905
- nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
2906
- RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
2907
- tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
2908
- AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
2909
- hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
2910
- Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
2911
- NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
2912
- Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
2913
- 1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
2914
- -----END CERTIFICATE-----
2915
-
2916
- thawte Primary Root CA
2917
- ======================
2918
- -----BEGIN CERTIFICATE-----
2919
- MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
2920
- BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
2921
- aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
2922
- cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
2923
- MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
2924
- SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
2925
- KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
2926
- FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
2927
- oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
2928
- 1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
2929
- q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
2930
- aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
2931
- afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
2932
- VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
2933
- AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
2934
- uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
2935
- xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
2936
- jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
2937
- z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
2938
- -----END CERTIFICATE-----
2939
-
2940
- VeriSign Class 3 Public Primary Certification Authority - G5
2941
- ============================================================
2942
- -----BEGIN CERTIFICATE-----
2943
- MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
2944
- BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
2945
- ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
2946
- IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
2947
- ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
2948
- yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
2949
- biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
2950
- dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
2951
- YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
2952
- ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
2953
- j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
2954
- Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
2955
- Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
2956
- fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
2957
- BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
2958
- Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
2959
- aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
2960
- SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
2961
- X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
2962
- KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
2963
- Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
2964
- ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
2965
- -----END CERTIFICATE-----
2966
-
2967
- SecureTrust CA
2968
- ==============
2969
- -----BEGIN CERTIFICATE-----
2970
- MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
2971
- EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
2972
- dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
2973
- BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
2974
- ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
2975
- OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
2976
- DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
2977
- GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
2978
- 01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
2979
- ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
2980
- BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
2981
- aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
2982
- KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
2983
- SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
2984
- mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
2985
- nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
2986
- 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
2987
- -----END CERTIFICATE-----
2988
-
2989
- Secure Global CA
2990
- ================
2991
- -----BEGIN CERTIFICATE-----
2992
- MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
2993
- EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
2994
- bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
2995
- MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
2996
- Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
2997
- YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
2998
- bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
2999
- 8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
3000
- HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
3001
- 0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
3002
- EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
3003
- oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
3004
- MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
3005
- OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
3006
- CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
3007
- 3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
3008
- f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
3009
- -----END CERTIFICATE-----
3010
-
3011
- COMODO Certification Authority
3012
- ==============================
3013
- -----BEGIN CERTIFICATE-----
3014
- MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
3015
- BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
3016
- A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
3017
- dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
3018
- MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
3019
- T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
3020
- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
3021
- +7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
3022
- xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
3023
- 4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
3024
- 1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
3025
- rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
3026
- BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
3027
- b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
3028
- AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
3029
- OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
3030
- RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
3031
- IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
3032
- +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
3033
- -----END CERTIFICATE-----
3034
-
3035
- DigiNotar Root CA
3036
- =================
3037
- -----BEGIN CERTIFICATE-----
3038
- MIIFijCCA3KgAwIBAgIQDHbanJEMTiye/hXQWJM8TDANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQG
3039
- EwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90YXIgUm9vdCBDQTEgMB4G
3040
- CSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwHhcNMDcwNTE2MTcxOTM2WhcNMjUwMzMxMTgx
3041
- OTIxWjBfMQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90
3042
- YXIgUm9vdCBDQTEgMB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwggIiMA0GCSqGSIb3
3043
- DQEBAQUAA4ICDwAwggIKAoICAQCssFjBAL3YIQgLK5r+blYwBZ8bd5AQQVzDDYcRd46B8cp86Yxq
3044
- 7Th0Nbva3/m7wAk3tJZzgX0zGpg595NvlX89ubF1h7pRSOiLcD6VBMXYtsMW2YiwsYcdcNqGtA8U
3045
- i3rPENF0NqISe3eGSnnme98CEWilToauNFibJBN4ViIlHgGLS1Fx+4LMWZZpiFpoU8W5DQI3y0u8
3046
- ZkqQfioLBQftFl9VkHXYRskbg+IIvvEjzJkd1ioPgyAVWCeCLvriIsJJsbkBgWqdbZ1Ad2h2TiEq
3047
- bYRAhU52mXyC8/O3AlnUJgEbjt+tUwbRrhjd4rI6y9eIOI6sWym5GdOY+RgDz0iChmYLG2kPyes4
3048
- iHomGgVMktck1JbyrFIto0fVUvY//s6EBnCmqj6i8rZWNBhXouSBbefK8GrTx5FrAoNBfBXva5pk
3049
- XuPQPOWx63tdhvvL5ndJzaNl3Pe5nLjkC1+Tz8wwGjIczhxjlaX56uF0i57pK6kwe6AYHw4YC+Vb
3050
- qdPRbB4HZ4+RS6mKvNJmqpMBiLKR+jFc1abBUggJzQpjotMipuih2TkGl/VujQKQjBR7P4DNG5y6
3051
- xFhyI6+2Vp/GekIzKQc/gsnmHwUNzUwoNovTyD4cxojvXu6JZOkd69qJfjKmadHdzIif0dDJZiHc
3052
- BmfFlHqabWJMfczgZICynkeOowIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
3053
- AwIBBjAdBgNVHQ4EFgQUiGi/4I41xDs4a2L3KDuEgcgM100wDQYJKoZIhvcNAQEFBQADggIBADsC
3054
- jcs8MOhuoK3yc7NfniUTBAXT9uOLuwt5zlPe5JbF0a9zvNXD0EBVfEB/zRtfCdXyfJ9oHbtdzno5
3055
- wozWmHvFg1Wo1X1AyuAe94leY12hE8JdiraKfADzI8PthV9xdvBoY6pFITlIYXg23PFDk9Qlx/KA
3056
- ZeFTAnVR/Ho67zerhChXDNjU1JlWbOOi/lmEtDHoM/hklJRRl6s5xUvt2t2AC298KQ3EjopyDedT
3057
- FLJgQT2EkTFoPSdE2+Xe9PpjRchMPpj1P0G6Tss3DbpmmPHdy59c91Q2gmssvBNhl0L4eLvMyKKf
3058
- yvBovWsdst+Nbwed2o5nx0ceyrm/KkKRt2NTZvFCo+H0Wk1Ya7XkpDOtXHAd3ODy63MUkZoDweoA
3059
- ZbwH/M8SESIsrqC9OuCiKthZ6SnTGDWkrBFfGbW1G/8iSlzGeuQX7yCpp/Q/rYqnmgQlnQ7KN+ZQ
3060
- /YxCKQSa7LnPS3K94gg2ryMvYuXKAdNw23yCIywWMQzGNgeQerEfZ1jEO1hZibCMjFCz2IbLaKPE
3061
- CudpSyDOwR5WS5WpI2jYMNjD67BVUc3l/Su49bsRn1NU9jQZjHkJNsphFyUXC4KYcwx3dMPVDceo
3062
- EkzHp1RxRy4sGn3J4ys7SN4nhKdjNrN9j6BkOSQNPXuHr2ZcdBtLc7LljPCGmbjlxd+Ewbfr
3063
- -----END CERTIFICATE-----
3064
-
3065
- Network Solutions Certificate Authority
3066
- =======================================
3067
- -----BEGIN CERTIFICATE-----
3068
- MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
3069
- EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
3070
- IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
3071
- MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
3072
- MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
3073
- CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
3074
- jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
3075
- aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
3076
- crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
3077
- /Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
3078
- AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
3079
- BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
3080
- bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
3081
- A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
3082
- 4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
3083
- GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
3084
- wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
3085
- ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
3086
- -----END CERTIFICATE-----
3087
-
3088
- WellsSecure Public Root Certificate Authority
3089
- =============================================
3090
- -----BEGIN CERTIFICATE-----
3091
- MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
3092
- F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
3093
- NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
3094
- MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
3095
- bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
3096
- VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
3097
- CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
3098
- iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
3099
- i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
3100
- bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
3101
- K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
3102
- AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
3103
- cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
3104
- lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
3105
- i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
3106
- GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
3107
- Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
3108
- K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
3109
- bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
3110
- qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
3111
- E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
3112
- tylv2G0xffX8oRAHh84vWdw+WNs=
3113
- -----END CERTIFICATE-----
1
+ ##
2
+ ## cacert.pem-foo -- Bundle of CA Root Certificates
3
+ ##
4
+ ## Converted at: Sat Aug 23 21:39:56 2008 UTC
5
+ ##
6
+ ## This is a bundle of X.509 certificates of public Certificate Authorities
7
+ ## (CA). These were automatically extracted from Mozilla's root certificates
8
+ ## file (certdata.txt). This file can be found in the mozilla source tree:
9
+ ## '/mozilla/security/nss/lib/ckfw/builtins/certdata.txt'
10
+ ##
11
+ ## It contains the certificates in PEM format and therefore
12
+ ## can be directly used with curl / libcurl / php_curl, or with
13
+ ## an Apache+mod_ssl webserver for SSL client authentication.
14
+ ## Just configure this file as the SSLCACertificateFile.
15
+ ##
16
+
17
+ # ***** BEGIN LICENSE BLOCK *****
18
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
19
+ #
20
+ # The contents of this file are subject to the Mozilla Public License Version
21
+ # 1.1 (the "License"); you may not use this file except in compliance with
22
+ # the License. You may obtain a copy of the License at
23
+ # http://www.mozilla.org/MPL/
24
+ #
25
+ # Software distributed under the License is distributed on an "AS IS" basis,
26
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
27
+ # for the specific language governing rights and limitations under the
28
+ # License.
29
+ #
30
+ # The Original Code is the Netscape security libraries.
31
+ #
32
+ # The Initial Developer of the Original Code is
33
+ # Netscape Communications Corporation.
34
+ # Portions created by the Initial Developer are Copyright (C) 1994-2000
35
+ # the Initial Developer. All Rights Reserved.
36
+ #
37
+ # Contributor(s):
38
+ #
39
+ # Alternatively, the contents of this file may be used under the terms of
40
+ # either the GNU General Public License Version 2 or later (the "GPL"), or
41
+ # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
42
+ # in which case the provisions of the GPL or the LGPL are applicable instead
43
+ # of those above. If you wish to allow use of your version of this file only
44
+ # under the terms of either the GPL or the LGPL, and not to allow others to
45
+ # use your version of this file under the terms of the MPL, indicate your
46
+ # decision by deleting the provisions above and replace them with the notice
47
+ # and other provisions required by the GPL or the LGPL. If you do not delete
48
+ # the provisions above, a recipient may use your version of this file under
49
+ # the terms of any one of the MPL, the GPL or the LGPL.
50
+ #
51
+ # ***** END LICENSE BLOCK *****
52
+ # @(#) $RCSfile: certdata.txt,v $ $Revision: 1.49 $ $Date: 2008/08/14 18:15:56 $
53
+
54
+ Verisign/RSA Secure Server CA
55
+ =============================
56
+ -----BEGIN CERTIFICATE-----
57
+ MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
58
+ IDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2VydmVy
59
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVow
60
+ XzELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQL
61
+ EyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUA
62
+ A4GJADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII0haGN1Xp
63
+ sSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphIuR2nKRoTLkoRWZweFdVJ
64
+ VCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZIhvcNAQECBQADfgBl3X7hsuyw4jrg7HFG
65
+ mhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2
66
+ qUtN8iD3zV9/ZHuO3ABc1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA==
67
+ -----END CERTIFICATE-----
68
+
69
+ GTE CyberTrust Root CA
70
+ ======================
71
+ -----BEGIN CERTIFICATE-----
72
+ MIIB+jCCAWMCAgGjMA0GCSqGSIb3DQEBBAUAMEUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
73
+ Q29ycG9yYXRpb24xHDAaBgNVBAMTE0dURSBDeWJlclRydXN0IFJvb3QwHhcNOTYwMjIzMjMwMTAw
74
+ WhcNMDYwMjIzMjM1OTAwWjBFMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9u
75
+ MRwwGgYDVQQDExNHVEUgQ3liZXJUcnVzdCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
76
+ gQC45k+625h8cXyvRLfTD0bZZOWTwUKOx7pJjTUteueLveUFMVnGsS8KDPufpz+iCWaEVh43KRuH
77
+ 6X4MypqfpX/1FZSj1aJGgthoTNE3FQZor734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/51KiOQswk
78
+ wB6RJ0q1bQaAYznEol44AwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABKzdcZfHeFhVYAA1IFLezEP
79
+ I2PnPfMD+fQ2qLvZ46WXTeorKeDWanOB5sCJo9Px4KWlIjeaY8JIILTbcuPI9tl8vrGvU9oUtCG4
80
+ 1tWW4/5ODFlitppK+ULdjG+BqXH/9ApybW1EDp3zdHSo1TRJ6V6e6bR64eVaH4QwnNOfpSXY
81
+ -----END CERTIFICATE-----
82
+
83
+ GTE CyberTrust Global Root
84
+ ==========================
85
+ -----BEGIN CERTIFICATE-----
86
+ MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
87
+ Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG
88
+ A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz
89
+ MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL
90
+ Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0
91
+ IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u
92
+ sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql
93
+ HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID
94
+ AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW
95
+ M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF
96
+ NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
97
+ -----END CERTIFICATE-----
98
+
99
+ Thawte Personal Basic CA
100
+ ========================
101
+ -----BEGIN CERTIFICATE-----
102
+ MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCWkExFTATBgNVBAgT
103
+ DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs
104
+ dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMY
105
+ VGhhd3RlIFBlcnNvbmFsIEJhc2ljIENBMSgwJgYJKoZIhvcNAQkBFhlwZXJzb25hbC1iYXNpY0B0
106
+ aGF3dGUuY29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgcsxCzAJBgNVBAYTAlpB
107
+ MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhh
108
+ d3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24x
109
+ ITAfBgNVBAMTGFRoYXd0ZSBQZXJzb25hbCBCYXNpYyBDQTEoMCYGCSqGSIb3DQEJARYZcGVyc29u
110
+ YWwtYmFzaWNAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLyTU23AUE+C
111
+ FeZIlDWmWr5vQvoPR+53dXLdjUmbllegeNTKP1GzaQuRdhciB5dqxFGTS+CN7zeVoQxN2jSQHReJ
112
+ l+A1OFdKwPQIcOk8RHtQfmGakOMj04gRRif1CwcOu93RfyAKiLlWCy4cgNrx454p7xS9CkT7G1sY
113
+ 0b8jkyECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAt4plrsD16
114
+ iddZopQBHyvdEktTwq1/qqcAXJFAVyVKOKqEcLnZgA+le1z7c8a914phXAPjLSeoF+CEhULcXpvG
115
+ t7Jtu3Sv5D/Lp7ew4F2+eIMllNLbgQ95B21P9DkVWlIBe94y1k049hJcBlDfBVu9FEuh3ym6O0GN
116
+ 92NWod8isQ==
117
+ -----END CERTIFICATE-----
118
+
119
+ Thawte Personal Premium CA
120
+ ==========================
121
+ -----BEGIN CERTIFICATE-----
122
+ MIIDKTCCApKgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzzELMAkGA1UEBhMCWkExFTATBgNVBAgT
123
+ DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs
124
+ dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEjMCEGA1UEAxMa
125
+ VGhhd3RlIFBlcnNvbmFsIFByZW1pdW0gQ0ExKjAoBgkqhkiG9w0BCQEWG3BlcnNvbmFsLXByZW1p
126
+ dW1AdGhhd3RlLmNvbTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHPMQswCQYDVQQG
127
+ EwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAYBgNVBAoT
128
+ EVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlz
129
+ aW9uMSMwIQYDVQQDExpUaGF3dGUgUGVyc29uYWwgUHJlbWl1bSBDQTEqMCgGCSqGSIb3DQEJARYb
130
+ cGVyc29uYWwtcHJlbWl1bUB0aGF3dGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJ
131
+ Ztn4B0TPuYwu8KHvE0VsBd/eJxZRNkERbGw77f4QfRKe5ZtCmv5gMcNmt3M6SK5O0DI3lIi1DbbZ
132
+ 8/JE2dWIEt12TfIa/G8jHnrx2JhFTgcQ7xZC0EN1bUre4qrJMf8fAHB8Zs8QJQi6+u4A6UYDZicR
133
+ FTuqW/KY3TZCstqIdQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBAUAA4GB
134
+ AGk2ifc0KjNyL2071CKyuG+axTZmDhs8obF1Wub9NdP4qPIHb4Vnjt4rueIXsDqg8A6iAJrf8xQV
135
+ brvIhVqYgPn/vnQdPfP+MCXRNzRn+qVxeTBhKXLA4CxM+1bkOqhv5TJZUtt1KFBZDPgLGeSs2a+W
136
+ jS9Q2wfD6h+rM+D1KzGJ
137
+ -----END CERTIFICATE-----
138
+
139
+ Thawte Personal Freemail CA
140
+ ===========================
141
+ -----BEGIN CERTIFICATE-----
142
+ MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgT
143
+ DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3Vs
144
+ dGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMb
145
+ VGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVl
146
+ bWFpbEB0aGF3dGUuY29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgdExCzAJBgNV
147
+ BAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UE
148
+ ChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
149
+ aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJ
150
+ ARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC
151
+ gYEA1GnX1LCUZFtx6UfYDFG26nKRsIRefS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6W
152
+ ZBrCFG5ErHzmj+hND3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVquzgk
153
+ CGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQF
154
+ AAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1XAjPMPuoSpaKH2JCI4wXD/S6ZJwXrEcp
155
+ 352YXtJsYHFcoqzceePnbgBHH7UNKOgCneSa/RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK
156
+ /qarigd1iwzdUYRr5PjRzneigQ==
157
+ -----END CERTIFICATE-----
158
+
159
+ Thawte Server CA
160
+ ================
161
+ -----BEGIN CERTIFICATE-----
162
+ MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
163
+ DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
164
+ dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE
165
+ AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j
166
+ b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV
167
+ BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u
168
+ c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG
169
+ A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0
170
+ ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl
171
+ /Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7
172
+ 1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR
173
+ MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J
174
+ GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ
175
+ GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=
176
+ -----END CERTIFICATE-----
177
+
178
+ Thawte Premium Server CA
179
+ ========================
180
+ -----BEGIN CERTIFICATE-----
181
+ MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
182
+ DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
183
+ dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
184
+ AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
185
+ ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
186
+ AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
187
+ VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
188
+ aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
189
+ cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
190
+ aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
191
+ Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
192
+ qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
193
+ SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
194
+ 8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
195
+ UCemDaYj+bvLpgcUQg==
196
+ -----END CERTIFICATE-----
197
+
198
+ Equifax Secure CA
199
+ =================
200
+ -----BEGIN CERTIFICATE-----
201
+ MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
202
+ ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
203
+ MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
204
+ B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
205
+ nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
206
+ fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
207
+ 8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
208
+ A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
209
+ CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
210
+ A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
211
+ spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
212
+ Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
213
+ zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
214
+ BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
215
+ 70+sB3c4
216
+ -----END CERTIFICATE-----
217
+
218
+ ABAecom (sub., Am. Bankers Assn.) Root CA
219
+ =========================================
220
+ -----BEGIN CERTIFICATE-----
221
+ MIIDtTCCAp2gAwIBAgIRANAeQJAAAEZSAAAAAQAAAAQwDQYJKoZIhvcNAQEFBQAwgYkxCzAJBgNV
222
+ BAYTAlVTMQswCQYDVQQIEwJEQzETMBEGA1UEBxMKV2FzaGluZ3RvbjEXMBUGA1UEChMOQUJBLkVD
223
+ T00sIElOQy4xGTAXBgNVBAMTEEFCQS5FQ09NIFJvb3QgQ0ExJDAiBgkqhkiG9w0BCQEWFWFkbWlu
224
+ QGRpZ3NpZ3RydXN0LmNvbTAeFw05OTA3MTIxNzMzNTNaFw0wOTA3MDkxNzMzNTNaMIGJMQswCQYD
225
+ VQQGEwJVUzELMAkGA1UECBMCREMxEzARBgNVBAcTCldhc2hpbmd0b24xFzAVBgNVBAoTDkFCQS5F
226
+ Q09NLCBJTkMuMRkwFwYDVQQDExBBQkEuRUNPTSBSb290IENBMSQwIgYJKoZIhvcNAQkBFhVhZG1p
227
+ bkBkaWdzaWd0cnVzdC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx0xHgeVVD
228
+ BwhMywVCAOINg0Y95JO6tgbTDVm9PsHOQ2cBiiGo77zM0KLMsFWWU4RmBQDaREmA2FQKpSWGlO1j
229
+ Vv9wbKOhGdJ4vmgqRF4vz8wYXke8OrFGPR7wuSw0X4x8TAgpnUBV6zx9g9618PeKgw6hTLQ6pbNf
230
+ WiKX7BmbwQVo/ea3qZGULOR4SCQaJRk665WcOQqKz0Ky8BzVX/tr7WhWezkscjiw7pOp03t3POtx
231
+ A6k4ShZsiSrK2jMTecJVjO2cu/LLWxD4LmE1xilMKtAqY9FlWbT4zfn0AIS2V0KFnTKo+SpU+/94
232
+ Qby9cSj0u5C8/5Y0BONFnqFGKECBAgMBAAGjFjAUMBIGA1UdEwEB/wQIMAYBAf8CAQgwDQYJKoZI
233
+ hvcNAQEFBQADggEBAARvJYbk5pYntNlCwNDJALF/VD6Hsm0kqS8Kfv2kRLD4VAe9G52dyntQJHsR
234
+ W0mjpr8SdNWJt7cvmGQlFLdh6X9ggGvTZOirvRrWUfrAtF13Gn9kCF55xgVM8XrdTX3O5kh7VNJh
235
+ koHWG9YA8A6eKHegTYjHInYZw8eeG6Z3ePhfm1bR8PIXrI6dWeYf/le22V7hXZ9F7GFoGUHhsiAm
236
+ /lowdiT/QHI8eZ98IkirRs3bs4Ysj78FQdPB4xTjQRcm0HyncUwZ6EoPclgxfexgeqMiKL0ZJGA/
237
+ O4dzwGvky663qyVDslUte6sGDnVdNOVdc22esnVApVnJTzFxiNmIf1Q=
238
+ -----END CERTIFICATE-----
239
+
240
+ Digital Signature Trust Co. Global CA 1
241
+ =======================================
242
+ -----BEGIN CERTIFICATE-----
243
+ MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
244
+ ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy
245
+ MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
246
+ IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA
247
+ A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE
248
+ NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i
249
+ o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
250
+ BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
251
+ dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
252
+ IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY
253
+ MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM
254
+ BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
255
+ ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq
256
+ kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4
257
+ RbyhkwS7hp86W0N6w4pl
258
+ -----END CERTIFICATE-----
259
+
260
+ Digital Signature Trust Co. Global CA 3
261
+ =======================================
262
+ -----BEGIN CERTIFICATE-----
263
+ MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
264
+ ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy
265
+ MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
266
+ IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA
267
+ A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD
268
+ VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS
269
+ xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
270
+ BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
271
+ dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
272
+ IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
273
+ MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM
274
+ BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
275
+ AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi
276
+ up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1
277
+ mPnHfxsb1gYgAlihw6ID
278
+ -----END CERTIFICATE-----
279
+
280
+ Digital Signature Trust Co. Global CA 2
281
+ =======================================
282
+ -----BEGIN CERTIFICATE-----
283
+ MIID2DCCAsACEQDQHkCLAAACfAAAAAIAAAABMA0GCSqGSIb3DQEBBQUAMIGpMQswCQYDVQQGEwJ1
284
+ czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0
285
+ YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBS
286
+ b290Q0EgWDExITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODEyMDExODE4
287
+ NTVaFw0wODExMjgxODE4NTVaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UE
288
+ BxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjER
289
+ MA8GA1UECxMIRFNUQ0EgWDExFjAUBgNVBAMTDURTVCBSb290Q0EgWDExITAfBgkqhkiG9w0BCQEW
290
+ EmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANLGJrbn
291
+ pT3BxGjVUG9TxW9JEwm4ryxIjRRqoxdfWvnTLnUv2Chi0ZMv/E3Uq4flCMeZ55I/db3rJbQVwZsZ
292
+ PdJEjdd0IG03Ao9pk1uKxBmd9LIO/BZsubEFkoPRhSxglD5FVaDZqwgh5mDoO3TymVBRaNADLbGA
293
+ vqPYUrBEzUNKcI5YhZXhTizWLUFv1oTnyJhEykfbLCSlaSbPa7gnYsP0yXqSI+0TZ4KuRS5F5X5y
294
+ P4WdlGIQ5jyRoa13AOAV7POEgHJ6jm5gl8ckWRA0g1vhpaRptlc1HHhZxtMvOnNn7pTKBBMFYgZw
295
+ I7P0fO5F2WQLW0mqpEPOJsREEmy43XkCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAojeyP2n714Z5
296
+ VEkxlTMr89EJFEliYIalsBHiUMIdBlc+LegzZL6bqq1fG03UmZWii5rJYnK1aerZWKs17RWiQ9a2
297
+ vAd5ZWRzfdd5ynvVWlHG4VMElo04z6MXrDlxawHDi1M8Y+nuecDkvpIyZHqzH5eUYr3qsiAVlfuX
298
+ 8ngvYzZAOONGDx3drJXK50uQe7FLqdTF65raqtWjlBRGjS0f8zrWkzr2Pnn86Oawde3uPclwx12q
299
+ gUtGJRzHbBXjlU4PqjI3lAoXJJIThFjSY28r9+ZbYgsTF7ANUkz+/m9c4pFuHf2kYtdo+o56T9II
300
+ 2pPc8JIRetDccpMMc5NihWjQ9A==
301
+ -----END CERTIFICATE-----
302
+
303
+ Digital Signature Trust Co. Global CA 4
304
+ =======================================
305
+ -----BEGIN CERTIFICATE-----
306
+ MIID2DCCAsACEQDQHkCLAAB3bQAAAAEAAAAEMA0GCSqGSIb3DQEBBQUAMIGpMQswCQYDVQQGEwJ1
307
+ czENMAsGA1UECBMEVXRhaDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0
308
+ YWwgU2lnbmF0dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBS
309
+ b290Q0EgWDIxITAfBgkqhkiG9w0BCQEWEmNhQGRpZ3NpZ3RydXN0LmNvbTAeFw05ODExMzAyMjQ2
310
+ MTZaFw0wODExMjcyMjQ2MTZaMIGpMQswCQYDVQQGEwJ1czENMAsGA1UECBMEVXRhaDEXMBUGA1UE
311
+ BxMOU2FsdCBMYWtlIENpdHkxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0dXJlIFRydXN0IENvLjER
312
+ MA8GA1UECxMIRFNUQ0EgWDIxFjAUBgNVBAMTDURTVCBSb290Q0EgWDIxITAfBgkqhkiG9w0BCQEW
313
+ EmNhQGRpZ3NpZ3RydXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANx18IzA
314
+ dZaawGIfJvfE4Zrq4FZzW5nNAUSoCLbVp9oaBBg5kkp4o4HC9Xd6ULRw/5qrxsfKboNPQpj7Jgva
315
+ 3G3WqZlVUmfpKAOS3OWwBZoPFflrWXJW8vo5/Kpo7g8fEIMv/J36F5bdguPmRX3AS4BEH+0s4IT9
316
+ kVySVGkl5WJp3OXuAFK9MwutdQKFp2RQLcUZGTDAJtvJ0/0uma1ZtQtN1EGuhUhDWdy3qOKi3sOP
317
+ 17ihYqZoUFLkzzGnlIXan0YyF1bl8utmPRL/Q9uY73fPy4GNNLHGUEom0eQ+QVCvbK4iNC7Va26D
318
+ unm4dmVI2gkpZGMiuftHdoWMhkTLCdsCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAtTYOXeFhKFoR
319
+ ZcA/gwN5Tb4opgsHAlKFzfiR0BBstWogWxyQ2TA8xkieil5k+aFxd+8EJx8H6+Qm93N0yUQYGmbT
320
+ 4EOvkTvRyyzYdFQ6HE3K1GjNI3wdEJ5F6fYAbqbNGf9PLCmPV03Ed5K+4EwJ+11EhmYhqLkyolbV
321
+ 6YyDfFk/xPEL553snr2cGA4+wjl5KLcDDQjLxufZATdQEOzMYRZA1K8xdHv8PzGn0EdzMzkbzE5q
322
+ 10mDEQb+64JYMzJM8FasHpwvVpp7wUocpf1VNs78lk30sPDst2yC7S8xmUJMqbINuBVd8d+6ybVK
323
+ 1GSYsyapMMj9puyrliGtf8J4tg==
324
+ -----END CERTIFICATE-----
325
+
326
+ Verisign Class 1 Public Primary Certification Authority
327
+ =======================================================
328
+ -----BEGIN CERTIFICATE-----
329
+ MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJBgNVBAYTAlVT
330
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
331
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTla
332
+ MF8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3Mg
333
+ MSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEF
334
+ AAOBjQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0NH8xlbgyw
335
+ 0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR4k5FVmkfeAKA2txHkSm7
336
+ NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATANBgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf
337
+ 7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZoEWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnx
338
+ giJduLHdgSOjeyUVRjB5FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0A
339
+ NACY89FxlA==
340
+ -----END CERTIFICATE-----
341
+
342
+ Verisign Class 2 Public Primary Certification Authority
343
+ =======================================================
344
+ -----BEGIN CERTIFICATE-----
345
+ MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
346
+ FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmltYXJ5
347
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
348
+ XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAy
349
+ IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
350
+ A4GNADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyhYGt+eSz6
351
+ Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7FYCTXOvnzAhsPz6zSvz/
352
+ S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBAIobK/o5wXTX
353
+ XtgZZKJYSi034DNHD6zt96rbHuSLBlxgJ8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUY
354
+ YAS/QoD90KioHgE796Ncr6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2
355
+ lw0Xd8rY
356
+ -----END CERTIFICATE-----
357
+
358
+ Verisign Class 3 Public Primary Certification Authority
359
+ =======================================================
360
+ -----BEGIN CERTIFICATE-----
361
+ MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
362
+ FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
363
+ IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
364
+ XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
365
+ IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
366
+ A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
367
+ f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
368
+ hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA
369
+ TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah
370
+ WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
371
+ Tqj/ZA1k
372
+ -----END CERTIFICATE-----
373
+
374
+ Verisign Class 1 Public Primary Certification Authority - G2
375
+ ============================================================
376
+ -----BEGIN CERTIFICATE-----
377
+ MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
378
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
379
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
380
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
381
+ dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
382
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
383
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
384
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
385
+ dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd
386
+ k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq
387
+ WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB
388
+ MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM
389
+ XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC
390
+ lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ
391
+ -----END CERTIFICATE-----
392
+
393
+ Verisign Class 2 Public Primary Certification Authority - G2
394
+ ============================================================
395
+ -----BEGIN CERTIFICATE-----
396
+ MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV
397
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
398
+ cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
399
+ Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
400
+ c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV
401
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
402
+ cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
403
+ Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
404
+ c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx
405
+ nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC
406
+ wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA
407
+ ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK
408
+ 1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk
409
+ LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg==
410
+ -----END CERTIFICATE-----
411
+
412
+ Verisign Class 3 Public Primary Certification Authority - G2
413
+ ============================================================
414
+ -----BEGIN CERTIFICATE-----
415
+ MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
416
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
417
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
418
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
419
+ dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
420
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
421
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
422
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
423
+ dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO
424
+ FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71
425
+ lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB
426
+ MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT
427
+ 1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD
428
+ Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9
429
+ -----END CERTIFICATE-----
430
+
431
+ Verisign Class 4 Public Primary Certification Authority - G2
432
+ ============================================================
433
+ -----BEGIN CERTIFICATE-----
434
+ MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
435
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMgUHJpbWFy
436
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
437
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
438
+ dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
439
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMgUHJpbWFy
440
+ eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
441
+ biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
442
+ dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4
443
+ xBewRNzjMHPVKmIquNDMHO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDH
444
+ qGKB3FtKqsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwIDAQAB
445
+ MA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwjcSGIL4LcY/oCRaxF
446
+ WdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0ycyfYaT5DdPauxYma51N86Xv2S/PB
447
+ ZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRPT8qAkbYp
448
+ -----END CERTIFICATE-----
449
+
450
+ GlobalSign Root CA
451
+ ==================
452
+ -----BEGIN CERTIFICATE-----
453
+ MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
454
+ GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
455
+ b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
456
+ BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
457
+ VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
458
+ DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
459
+ THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
460
+ Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
461
+ c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
462
+ gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
463
+ HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
464
+ AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
465
+ Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
466
+ j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
467
+ hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
468
+ X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
469
+ -----END CERTIFICATE-----
470
+
471
+ GlobalSign Root CA - R2
472
+ =======================
473
+ -----BEGIN CERTIFICATE-----
474
+ MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
475
+ YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
476
+ bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
477
+ aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
478
+ bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
479
+ ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
480
+ s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
481
+ S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
482
+ TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
483
+ ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
484
+ FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
485
+ YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
486
+ BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
487
+ 9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
488
+ 01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
489
+ 9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
490
+ TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
491
+ -----END CERTIFICATE-----
492
+
493
+ ValiCert Class 1 VA
494
+ ===================
495
+ -----BEGIN CERTIFICATE-----
496
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
497
+ b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
498
+ YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
499
+ bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy
500
+ MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
501
+ d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg
502
+ UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
503
+ LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
504
+ A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi
505
+ GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm
506
+ DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG
507
+ lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX
508
+ icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP
509
+ Orf1LXLI
510
+ -----END CERTIFICATE-----
511
+
512
+ ValiCert Class 2 VA
513
+ ===================
514
+ -----BEGIN CERTIFICATE-----
515
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
516
+ b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
517
+ YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
518
+ bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
519
+ MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
520
+ d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg
521
+ UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
522
+ LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
523
+ A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC
524
+ CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf
525
+ ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ
526
+ SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV
527
+ UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8
528
+ W9ViH0Pd
529
+ -----END CERTIFICATE-----
530
+
531
+ RSA Root Certificate 1
532
+ ======================
533
+ -----BEGIN CERTIFICATE-----
534
+ MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
535
+ b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
536
+ YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
537
+ bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
538
+ MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
539
+ d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg
540
+ UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
541
+ LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
542
+ A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td
543
+ 3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H
544
+ BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs
545
+ 3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF
546
+ V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
547
+ on+jjBXu
548
+ -----END CERTIFICATE-----
549
+
550
+ Verisign Class 1 Public Primary Certification Authority - G3
551
+ ============================================================
552
+ -----BEGIN CERTIFICATE-----
553
+ MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
554
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
555
+ cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
556
+ IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
557
+ dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
558
+ CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
559
+ dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
560
+ cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg
561
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
562
+ ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E
563
+ bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ
564
+ rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+
565
+ Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB
566
+ FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
567
+ q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N
568
+ y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3
569
+ ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h
570
+ a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc
571
+ D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g==
572
+ -----END CERTIFICATE-----
573
+
574
+ Verisign Class 2 Public Primary Certification Authority - G3
575
+ ============================================================
576
+ -----BEGIN CERTIFICATE-----
577
+ MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT
578
+ MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
579
+ azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug
580
+ b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0
581
+ aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ
582
+ BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
583
+ c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
584
+ aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD
585
+ ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
586
+ AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6
587
+ tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7
588
+ C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS
589
+ 0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs
590
+ Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0
591
+ JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf
592
+ 0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU
593
+ sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx
594
+ JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j
595
+ GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q
596
+ -----END CERTIFICATE-----
597
+
598
+ Verisign Class 3 Public Primary Certification Authority - G3
599
+ ============================================================
600
+ -----BEGIN CERTIFICATE-----
601
+ MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
602
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
603
+ cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
604
+ IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
605
+ dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
606
+ CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
607
+ dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
608
+ cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
609
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
610
+ ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
611
+ EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
612
+ cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
613
+ EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
614
+ 055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
615
+ ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
616
+ j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
617
+ /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
618
+ xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
619
+ t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
620
+ -----END CERTIFICATE-----
621
+
622
+ Verisign Class 4 Public Primary Certification Authority - G3
623
+ ============================================================
624
+ -----BEGIN CERTIFICATE-----
625
+ MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
626
+ UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
627
+ cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
628
+ IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
629
+ dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
630
+ CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
631
+ dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
632
+ cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
633
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
634
+ ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
635
+ tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
636
+ 8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
637
+ Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
638
+ Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
639
+ j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
640
+ mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
641
+ fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
642
+ RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
643
+ UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
644
+ -----END CERTIFICATE-----
645
+
646
+ Entrust.net Secure Server CA
647
+ ============================
648
+ -----BEGIN CERTIFICATE-----
649
+ MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV
650
+ BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg
651
+ cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl
652
+ ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv
653
+ cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG
654
+ A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi
655
+ eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p
656
+ dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0
657
+ aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ
658
+ aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5
659
+ gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw
660
+ ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw
661
+ CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l
662
+ dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
663
+ bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl
664
+ cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
665
+ dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw
666
+ NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow
667
+ HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA
668
+ BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN
669
+ Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9
670
+ n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
671
+ -----END CERTIFICATE-----
672
+
673
+ Entrust.net Secure Personal CA
674
+ ==============================
675
+ -----BEGIN CERTIFICATE-----
676
+ MIIE7TCCBFagAwIBAgIEOAOR7jANBgkqhkiG9w0BAQQFADCByTELMAkGA1UEBhMCVVMxFDASBgNV
677
+ BAoTC0VudHJ1c3QubmV0MUgwRgYDVQQLFD93d3cuZW50cnVzdC5uZXQvQ2xpZW50X0NBX0luZm8v
678
+ Q1BTIGluY29ycC4gYnkgcmVmLiBsaW1pdHMgbGlhYi4xJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1
679
+ c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9u
680
+ IEF1dGhvcml0eTAeFw05OTEwMTIxOTI0MzBaFw0xOTEwMTIxOTU0MzBaMIHJMQswCQYDVQQGEwJV
681
+ UzEUMBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3dy5lbnRydXN0Lm5ldC9DbGllbnRf
682
+ Q0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBsaWFiLjElMCMGA1UECxMcKGMpIDE5
683
+ OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5uZXQgQ2xpZW50IENlcnRp
684
+ ZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDIOpleMRffrCdv
685
+ kHvkGf9FozTC28GoT/Bo6oT9n3V5z8GKUZSvx1cDR2SerYIbWtp/N3hHuzeYEpbOxhN979IMMFGp
686
+ OZ5V+Pux5zDeg7K6PvHViTs7hbqqdCz+PzFur5GVbgbUB01LLFZHGARS2g4Qk79jkJvh34zmAqTm
687
+ T173iwIBA6OCAeAwggHcMBEGCWCGSAGG+EIBAQQEAwIABzCCASIGA1UdHwSCARkwggEVMIHkoIHh
688
+ oIHepIHbMIHYMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxSDBGBgNVBAsUP3d3
689
+ dy5lbnRydXN0Lm5ldC9DbGllbnRfQ0FfSW5mby9DUFMgaW5jb3JwLiBieSByZWYuIGxpbWl0cyBs
690
+ aWFiLjElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50
691
+ cnVzdC5uZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCyg
692
+ KqAohiZodHRwOi8vd3d3LmVudHJ1c3QubmV0L0NSTC9DbGllbnQxLmNybDArBgNVHRAEJDAigA8x
693
+ OTk5MTAxMjE5MjQzMFqBDzIwMTkxMDEyMTkyNDMwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU
694
+ xPucKXuXzUyW/O5bs8qZdIuV6kwwHQYDVR0OBBYEFMT7nCl7l81MlvzuW7PKmXSLlepMMAwGA1Ud
695
+ EwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEEBQADgYEAP66K
696
+ 8ddmAwWePvrqHEa7pFuPeJoSSJn59DXeDDYHAmsQOokUgZwxpnyyQbJq5wcBoUv5nyU7lsqZwz6h
697
+ URzzwy5E97BnRqqS5TvaHBkUODDV4qIxJS7x7EU47fgGWANzYrAQMY9Av2TgXD7FTx/aEkP/TOYG
698
+ JqibGapEPHayXOw=
699
+ -----END CERTIFICATE-----
700
+
701
+ Entrust.net Premium 2048 Secure Server CA
702
+ =========================================
703
+ -----BEGIN CERTIFICATE-----
704
+ MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
705
+ ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
706
+ bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
707
+ BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
708
+ NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
709
+ d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
710
+ MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
711
+ ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
712
+ MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
713
+ Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
714
+ hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
715
+ nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
716
+ VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC
717
+ AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER
718
+ gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B
719
+ AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
720
+ oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS
721
+ o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z
722
+ 2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX
723
+ OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ==
724
+ -----END CERTIFICATE-----
725
+
726
+ Baltimore CyberTrust Root
727
+ =========================
728
+ -----BEGIN CERTIFICATE-----
729
+ MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
730
+ ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
731
+ ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
732
+ SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
733
+ dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
734
+ uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
735
+ UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
736
+ G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
737
+ XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
738
+ l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
739
+ VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
740
+ BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
741
+ cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
742
+ hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
743
+ Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
744
+ RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
745
+ -----END CERTIFICATE-----
746
+
747
+ Equifax Secure Global eBusiness CA
748
+ ==================================
749
+ -----BEGIN CERTIFICATE-----
750
+ MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
751
+ RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp
752
+ bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx
753
+ HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds
754
+ b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV
755
+ PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN
756
+ qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn
757
+ hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
758
+ BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs
759
+ MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN
760
+ I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY
761
+ NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
762
+ -----END CERTIFICATE-----
763
+
764
+ Equifax Secure eBusiness CA 1
765
+ =============================
766
+ -----BEGIN CERTIFICATE-----
767
+ MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
768
+ RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB
769
+ LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE
770
+ ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz
771
+ IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ
772
+ 1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a
773
+ IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk
774
+ MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW
775
+ Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF
776
+ AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5
777
+ lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
778
+ KpYrtWKmpj29f5JZzVoqgrI3eQ==
779
+ -----END CERTIFICATE-----
780
+
781
+ Equifax Secure eBusiness CA 2
782
+ =============================
783
+ -----BEGIN CERTIFICATE-----
784
+ MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE
785
+ ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y
786
+ MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
787
+ DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB
788
+ nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn
789
+ 2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5
790
+ BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG
791
+ A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx
792
+ JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG
793
+ A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e
794
+ uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB
795
+ Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1
796
+ jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia
797
+ 78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm
798
+ V+GRMOrN
799
+ -----END CERTIFICATE-----
800
+
801
+ Visa International Global Root 2
802
+ ================================
803
+ -----BEGIN CERTIFICATE-----
804
+ MIIDgDCCAmigAwIBAgICAx4wDQYJKoZIhvcNAQEFBQAwYTELMAkGA1UEBhMCVVMxDTALBgNVBAoT
805
+ BFZJU0ExLzAtBgNVBAsTJlZpc2EgSW50ZXJuYXRpb25hbCBTZXJ2aWNlIEFzc29jaWF0aW9uMRIw
806
+ EAYDVQQDEwlHUCBSb290IDIwHhcNMDAwODE2MjI1MTAwWhcNMjAwODE1MjM1OTAwWjBhMQswCQYD
807
+ VQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZp
808
+ Y2UgQXNzb2NpYXRpb24xEjAQBgNVBAMTCUdQIFJvb3QgMjCCASIwDQYJKoZIhvcNAQEBBQADggEP
809
+ ADCCAQoCggEBAKkBcLWqxEDwq2omYXkZAPy/mzdZDK9vZBv42pWUJGkzEXDK41Z0ohdXZFwgBuHW
810
+ 73G3O/erwWnQSaSxBNf0V2KJXLB1LRckaeNCYOTudNargFbYiCjh+20i/SN8RnNPflRzHqgsVVh1
811
+ t0zzWkWlAhr62p3DRcMiXvOL8WAp0sdftAw6UYPvMPjU58fy+pmjIlC++QU3o63tmsPm7Igbthkn
812
+ GziLgE3sucfFicv8GjLtI/C1AVj59o/ghalMCXI5Etuz9c9OYmTaxhkVOmMd6RdVoUwiPDQyRvhl
813
+ V7or7zaMavrZ2UT0qt2E1w0cslSsMoW0ZA3eQbuxNMYBhjJk1Z8CAwEAAaNCMEAwHQYDVR0OBBYE
814
+ FJ59SzS/ca3CBfYDdYDOqU8axCRMMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0G
815
+ CSqGSIb3DQEBBQUAA4IBAQAhpXYUVfmtJ3CPPPTVbMjMCqujmAuKBiPFyWHbmQdpNSYx/scuhMKZ
816
+ YdQN6X0uEyt8joW2hcdLzzW2LEc9zikv2G+fiRxkk78IvXbQkIqUs38oW26sTTMs7WXcFsziza6k
817
+ PWKSBpUmv9+55CCmc2rBvveURNZNbyoLaxhNdBA2aGpawWqn3TYpjLgwi08hPwAuVDAHOrqK5MOe
818
+ yti12HvOdUVmB/RtLdh6yumJivIj2C/LbgA2T/vwLwHMD8AiZfSr4k5hLQOCfZEWtTDVFN5ex5D8
819
+ ofyrEK9ca3CnB+8phuiyJccg/ybdd+95RBTEvd07xQObdyPsoOy7Wjm1zK0G
820
+ -----END CERTIFICATE-----
821
+
822
+ beTRUSTed Root CA
823
+ =================
824
+ -----BEGIN CERTIFICATE-----
825
+ MIIFLDCCBBSgAwIBAgIEOU99hzANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJXVzESMBAGA1UE
826
+ ChMJYmVUUlVTVGVkMRswGQYDVQQDExJiZVRSVVNUZWQgUm9vdCBDQXMxGjAYBgNVBAMTEWJlVFJV
827
+ U1RlZCBSb290IENBMB4XDTAwMDYyMDE0MjEwNFoXDTEwMDYyMDEzMjEwNFowWjELMAkGA1UEBhMC
828
+ V1cxEjAQBgNVBAoTCWJlVFJVU1RlZDEbMBkGA1UEAxMSYmVUUlVTVGVkIFJvb3QgQ0FzMRowGAYD
829
+ VQQDExFiZVRSVVNUZWQgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS0
830
+ c3oTCjhVAb6JVuGUntS+WutKNHUbYSnE4a0IYCF4SP+00PpeQY1hRIfo7clY+vyTmt9P6j41ffgz
831
+ eubx181vSUs9Ty1uDoM6GHh3o8/n9E1z2Jo7Gh2+lVPPIJfCzz4kUmwMjmVZxXH/YgmPqsWPzGCg
832
+ c0rXOD8Vcr+il7dw6K/ifhYGTPWqZCZyByWtNfwYsSbX2P8ZDoMbjNx4RWc0PfSvHI3kbWvtILNn
833
+ mrRhyxdviTX/507AMhLn7uzf/5cwdO2NR47rtMNE5qdMf1ZD6Li8tr76g5fmu/vEtpO+GRg+jIG5
834
+ c4gW9JZDnGdzF5DYCW5jrEq2I8QBoa2k5MUCAwEAAaOCAfgwggH0MA8GA1UdEwEB/wQFMAMBAf8w
835
+ ggFZBgNVHSAEggFQMIIBTDCCAUgGCisGAQQBsT4BAAAwggE4MIIBAQYIKwYBBQUHAgIwgfQagfFS
836
+ ZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFu
837
+ Y2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBv
838
+ ZiB1c2UsIGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudCwgd2hpY2ggY2FuIGJl
839
+ IGZvdW5kIGF0IGJlVFJVU1RlZCdzIHdlYiBzaXRlLCBodHRwczovL3d3dy5iZVRSVVNUZWQuY29t
840
+ L3ZhdWx0L3Rlcm1zMDEGCCsGAQUFBwIBFiVodHRwczovL3d3dy5iZVRSVVNUZWQuY29tL3ZhdWx0
841
+ L3Rlcm1zMDQGA1UdHwQtMCswKaAnoCWkIzAhMRIwEAYDVQQKEwliZVRSVVNUZWQxCzAJBgNVBAYT
842
+ AldXMB0GA1UdDgQWBBQquZtpLjub2M3eKjEENGvKBxirZzAfBgNVHSMEGDAWgBQquZtpLjub2M3e
843
+ KjEENGvKBxirZzAOBgNVHQ8BAf8EBAMCAf4wDQYJKoZIhvcNAQEFBQADggEBAHlh26Nebhax6nZR
844
+ +csVm8tpvuaBa58oH2U+3RGFktToQb9+M70j5/Egv6S0phkBxoyNNXxlpE8JpNbYIxUFE6dDea/b
845
+ ow6be3ga8wSGWsb2jCBHOElQBp1yZzrwmAOtlmdE/D8QDYZN5AA7KXvOOzuZhmElQITcE2K3+spZ
846
+ 1gMe1lMBzW1MaFVA4e5rxyoAAEiCswoBw2AqDPeCNe5IhpbkdNQ96gFxugR1QKepfzk5mlWXKWWu
847
+ GVUlBXJH0+gY3Ljpr0NzARJ0o+FcXxVdJPP55PS2Z2cS52QiivalQaYctmBjRYoQtLpGEK5BV2Vs
848
+ PyMQPyEQWbfkQN0mDCP2qq4=
849
+ -----END CERTIFICATE-----
850
+
851
+ AddTrust Low-Value Services Root
852
+ ================================
853
+ -----BEGIN CERTIFICATE-----
854
+ MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
855
+ QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
856
+ cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
857
+ CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
858
+ ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
859
+ AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
860
+ 54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
861
+ oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
862
+ Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
863
+ GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
864
+ HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
865
+ AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
866
+ RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
867
+ HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
868
+ ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
869
+ iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
870
+ eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
871
+ mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
872
+ ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
873
+ -----END CERTIFICATE-----
874
+
875
+ AddTrust External Root
876
+ ======================
877
+ -----BEGIN CERTIFICATE-----
878
+ MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
879
+ QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
880
+ VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
881
+ NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
882
+ cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
883
+ Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
884
+ +iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
885
+ Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
886
+ aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
887
+ 2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
888
+ 7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
889
+ BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
890
+ VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
891
+ VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
892
+ IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
893
+ j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
894
+ 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
895
+ e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
896
+ G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
897
+ -----END CERTIFICATE-----
898
+
899
+ AddTrust Public Services Root
900
+ =============================
901
+ -----BEGIN CERTIFICATE-----
902
+ MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
903
+ QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
904
+ cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
905
+ BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
906
+ dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
907
+ AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
908
+ nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
909
+ d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
910
+ Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
911
+ HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
912
+ A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
913
+ /zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
914
+ FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
915
+ A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
916
+ JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
917
+ +YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
918
+ GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
919
+ Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
920
+ EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
921
+ -----END CERTIFICATE-----
922
+
923
+ AddTrust Qualified Certificates Root
924
+ ====================================
925
+ -----BEGIN CERTIFICATE-----
926
+ MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
927
+ QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
928
+ cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
929
+ CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
930
+ IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
931
+ 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
932
+ 64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
933
+ KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
934
+ L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
935
+ wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
936
+ MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
937
+ BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
938
+ BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
939
+ azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
940
+ ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
941
+ GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
942
+ dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
943
+ RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
944
+ iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
945
+ -----END CERTIFICATE-----
946
+
947
+ Verisign Time Stamping Authority CA
948
+ ===================================
949
+ -----BEGIN CERTIFICATE-----
950
+ MIIDzTCCAzagAwIBAgIQU2GyYK7bcY6nlLMTM/QHCTANBgkqhkiG9w0BAQUFADCBwTELMAkGA1UE
951
+ BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQLEzNDbGFzcyAzIFB1YmxpYyBQ
952
+ cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIxOjA4BgNVBAsTMShjKSAxOTk4IFZl
953
+ cmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWdu
954
+ IFRydXN0IE5ldHdvcmswHhcNMDAwOTI2MDAwMDAwWhcNMTAwOTI1MjM1OTU5WjCBpTEXMBUGA1UE
955
+ ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNV
956
+ BAsTMlRlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBhIChjKTAwMSww
957
+ KgYDVQQDEyNWZXJpU2lnbiBUaW1lIFN0YW1waW5nIEF1dGhvcml0eSBDQTCBnzANBgkqhkiG9w0B
958
+ AQEFAAOBjQAwgYkCgYEA0hmdZ8IAIVlizrQJIkRpivglWtvtDbc2fk7gu5Q+kCWHwmFHKdm9VLhj
959
+ zCx9abQzNvQ3B5rB3UBU/OB4naCTuQk9I1F/RMIUdNsKvsvJMDRAmD7Q1yUQgZS9B0+c1lQn3y6o
960
+ v8uQjI11S7zi6ESHzeZBCiVu6PQkAsVSD27smHUCAwEAAaOB3zCB3DAPBgNVHRMECDAGAQH/AgEA
961
+ MEUGA1UdIAQ+MDwwOgYMYIZIAYb4RQEHFwEDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZl
962
+ cmlzaWduLmNvbS9ycGEwMQYDVR0fBCowKDAmoCSgIoYgaHR0cDovL2NybC52ZXJpc2lnbi5jb20v
963
+ cGNhMy5jcmwwCwYDVR0PBAQDAgEGMEIGCCsGAQUFBwEBBDYwNDAyBggrBgEFBQcwAaYmFiRodHRw
964
+ Oi8vb2NzcC52ZXJpc2lnbi5jb20vb2NzcC9zdGF0dXMwDQYJKoZIhvcNAQEFBQADgYEAgnBold+2
965
+ DcIBcBlK0lRWHqzyRUyHuPU163hLBanInTsZIS5wNEqi9YngFXVF5yg3ADQnKeg3S/LvRJdrF1Ea
966
+ w1adPBqK9kpGRjeM+sv1ZFo4aC4cw+9wzrhGBha/937ntag+RaypJXUie28/sJyU58dzq6wf7iWb
967
+ wBbtt8pb8BQ=
968
+ -----END CERTIFICATE-----
969
+
970
+ Thawte Time Stamping CA
971
+ =======================
972
+ -----BEGIN CERTIFICATE-----
973
+ MIICoTCCAgqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBizELMAkGA1UEBhMCWkExFTATBgNVBAgT
974
+ DFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsG
975
+ A1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcg
976
+ Q0EwHhcNOTcwMTAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTATBgNV
977
+ BAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEd
978
+ MBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBp
979
+ bmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANYrWHhhRYZT6jR7UZztsOYuGA7+4F+o
980
+ J9O0yeB8WU4WDnNUYMF/9p8u6TqFJBU820cEY8OexJQaWt9MevPZQx08EHp5JduQ/vBR5zDWQQD9
981
+ nyjfeb6Uu522FOMjhdepQeBMpHmwKxqL8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzAR
982
+ MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAZ9viwuaHPUCDhjc1fR/OmsMMZiCo
983
+ uqoEiYbC9RAIDb/LogWK0E02PvTX72nGXuSwlG9KuefeW4i2e9vjJ+V2w/A1wcu1J5szedyQpgCe
984
+ d/r8zSeUQhac0xxo7L9c3eWpexAKMnRUEzGLhQOEkbdYATAUOK8oyvyxUBkZCayJSdM=
985
+ -----END CERTIFICATE-----
986
+
987
+ Entrust.net Global Secure Server CA
988
+ ===================================
989
+ -----BEGIN CERTIFICATE-----
990
+ MIIElTCCA/6gAwIBAgIEOJsRPDANBgkqhkiG9w0BAQQFADCBujEUMBIGA1UEChMLRW50cnVzdC5u
991
+ ZXQxPzA9BgNVBAsUNnd3dy5lbnRydXN0Lm5ldC9TU0xfQ1BTIGluY29ycC4gYnkgcmVmLiAobGlt
992
+ aXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UE
993
+ AxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0w
994
+ MDAyMDQxNzIwMDBaFw0yMDAyMDQxNzUwMDBaMIG6MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDE/MD0G
995
+ A1UECxQ2d3d3LmVudHJ1c3QubmV0L1NTTF9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlh
996
+ Yi4pMSUwIwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRy
997
+ dXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3
998
+ DQEBAQUAA4GNADCBiQKBgQDHwV9OcfHO8GCGD9JYf9Mzly0XonUwtZZkJi9ow0SrqHXmAGc0V55l
999
+ xyKbc+bT3QgON1WqJUaBbL3+qPZ1V1eMkGxKwz6LS0MKyRFWmponIpnPVZ5h2QLifLZ8OAfc439P
1000
+ mrkDQYC2dWcTC5/oVzbIXQA23mYU2m52H083jIITiQIDAQABo4IBpDCCAaAwEQYJYIZIAYb4QgEB
1001
+ BAQDAgAHMIHjBgNVHR8EgdswgdgwgdWggdKggc+kgcwwgckxFDASBgNVBAoTC0VudHJ1c3QubmV0
1002
+ MT8wPQYDVQQLFDZ3d3cuZW50cnVzdC5uZXQvU1NMX0NQUyBpbmNvcnAuIGJ5IHJlZi4gKGxpbWl0
1003
+ cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAwIEVudHJ1c3QubmV0IExpbWl0ZWQxOjA4BgNVBAMT
1004
+ MUVudHJ1c3QubmV0IFNlY3VyZSBTZXJ2ZXIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNV
1005
+ BAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMDAyMDQxNzIwMDBagQ8yMDIwMDIwNDE3NTAwMFowCwYD
1006
+ VR0PBAQDAgEGMB8GA1UdIwQYMBaAFMtswGvjuz7L/CKc/vuLkpyw8m4iMB0GA1UdDgQWBBTLbMBr
1007
+ 47s+y/winP77i5KcsPJuIjAMBgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4w
1008
+ AwIEkDANBgkqhkiG9w0BAQQFAAOBgQBi24GRzsiad0Iv7L0no1MPUBvqTpLwqa+poLpIYcvvyQbv
1009
+ H9X07t9WLebKahlzqlO+krNQAraFJnJj2HVQYnUUt7NQGj/KEQALhUVpbbalrlHhStyCP2yMNLJ3
1010
+ a9kC9n8O6mUE8c1UyrrJzOCE98g+EZfTYAkYvAX/bIkz8OwVDw==
1011
+ -----END CERTIFICATE-----
1012
+
1013
+ Entrust.net Global Secure Personal CA
1014
+ =====================================
1015
+ -----BEGIN CERTIFICATE-----
1016
+ MIIEgzCCA+ygAwIBAgIEOJ725DANBgkqhkiG9w0BAQQFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
1017
+ ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9HQ0NBX0NQUyBpbmNvcnAuIGJ5IHJlZi4gKGxp
1018
+ bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAyMDAwIEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
1019
+ BAMTKkVudHJ1c3QubmV0IENsaWVudCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMDAyMDcx
1020
+ NjE2NDBaFw0yMDAyMDcxNjQ2NDBaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
1021
+ d3d3LmVudHJ1c3QubmV0L0dDQ0FfQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
1022
+ MCMGA1UECxMcKGMpIDIwMDAgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
1023
+ ZXQgQ2xpZW50IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
1024
+ iQKBgQCTdLS25MVL1qFof2LV7PdRV7NySpj10InJrWPNTTVRaoTUrcloeW+46xHbh65cJFET8VQl
1025
+ hK8pK5/jgOLZy93GRUk0iJBeAZfv6lOm3fzB3ksqJeTpNfpVBQbliXrqpBFXO/x8PTbNZzVtpKkl
1026
+ Wb1m9fkn5JVn1j+SgF7yNH0rhQIDAQABo4IBnjCCAZowEQYJYIZIAYb4QgEBBAQDAgAHMIHdBgNV
1027
+ HR8EgdUwgdIwgc+ggcyggcmkgcYwgcMxFDASBgNVBAoTC0VudHJ1c3QubmV0MUAwPgYDVQQLFDd3
1028
+ d3cuZW50cnVzdC5uZXQvR0NDQV9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUw
1029
+ IwYDVQQLExwoYykgMjAwMCBFbnRydXN0Lm5ldCBMaW1pdGVkMTMwMQYDVQQDEypFbnRydXN0Lm5l
1030
+ dCBDbGllbnQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
1031
+ IoAPMjAwMDAyMDcxNjE2NDBagQ8yMDIwMDIwNzE2NDY0MFowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
1032
+ MBaAFISLdP3FjcD/J20gN0V8/i3OutN9MB0GA1UdDgQWBBSEi3T9xY3A/ydtIDdFfP4tzrrTfTAM
1033
+ BgNVHRMEBTADAQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0BAQQF
1034
+ AAOBgQBObzWAO9GK9Q6nIMstZVXQkvTnhLUGJoMShAusO7JE7r3PQNsgDrpuFOow4DtifH+La3xK
1035
+ p9U1PL6oXOpLu5OOgGarDyn9TS2/GpsKkMWr2tGzhtQvJFJcem3G8v7lTRowjJDyutdKPkN+1MhQ
1036
+ Gof4T4HHdguEOnKdzmVml64mXg==
1037
+ -----END CERTIFICATE-----
1038
+
1039
+ Entrust Root Certification Authority
1040
+ ====================================
1041
+ -----BEGIN CERTIFICATE-----
1042
+ MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
1043
+ BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
1044
+ b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
1045
+ A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
1046
+ MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
1047
+ MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
1048
+ Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
1049
+ dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
1050
+ ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
1051
+ A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
1052
+ Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
1053
+ j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
1054
+ rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
1055
+ DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
1056
+ MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
1057
+ hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
1058
+ A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
1059
+ Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
1060
+ v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
1061
+ W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
1062
+ tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
1063
+ -----END CERTIFICATE-----
1064
+
1065
+ AOL Time Warner Root Certification Authority 1
1066
+ ==============================================
1067
+ -----BEGIN CERTIFICATE-----
1068
+ MIID5jCCAs6gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMxHTAbBgNVBAoT
1069
+ FEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNhIE9ubGluZSBJbmMuMTcwNQYD
1070
+ VQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAxMB4XDTAy
1071
+ MDUyOTA2MDAwMFoXDTM3MTEyMDE1MDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wg
1072
+ VGltZSBXYXJuZXIgSW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMu
1073
+ QU9MIFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZI
1074
+ hvcNAQEBBQADggEPADCCAQoCggEBAJnej8Mlo2k06AX3dLm/WpcZuS+U0pPlLYnKhHw/EEMbjIt8
1075
+ hFj4JHxIzyr9wBXZGH6EGhfT257XyuTZ16pYUYfw8ItITuLCxFlpMGK2MKKMCxGZYTVtfu/FsRkG
1076
+ IBKOQuHfD5YQUqjPnF+VFNivO3ULMSAfRC+iYkGzuxgh28pxPIzstrkNn+9R7017EvILDOGsQI93
1077
+ f7DKeHEMXRZxcKLXwjqFzQ6axOAAsNUl6twr5JQtOJyJQVdkKGUZHLZEtMgxa44Be3ZZJX8VHIQI
1078
+ fHNlIAqhBC4aMqiaILGcLCFZ5/vP7nAtCMpjPiybkxlqpMKX/7eGV4iFbJ4VFitNLLMCAwEAAaNj
1079
+ MGEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUoTYwFsuGkABFgFOxj8jYPXy+XxIwHwYDVR0j
1080
+ BBgwFoAUoTYwFsuGkABFgFOxj8jYPXy+XxIwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUA
1081
+ A4IBAQCKIBilvrMvtKaEAEAwKfq0FHNMeUWn9nDg6H5kHgqVfGphwu9OH77/yZkfB2FK4V1Mza3u
1082
+ 0FIy2VkyvNp5ctZ7CegCgTXTCt8RHcl5oIBN/lrXVtbtDyqvpxh1MwzqwWEFT2qaifKNuZ8u77Bf
1083
+ WgDrvq2g+EQFZ7zLBO+eZMXpyD8Fv8YvBxzDNnGGyjhmSs3WuEvGbKeXO/oTLW4jYYehY0KswsuX
1084
+ n2Fozy1MBJ3XJU8KDk2QixhWqJNIV9xvrr2eZ1d3iVCzvhGbRWeDhhmH05i9CBoWH1iCC+GWaQVL
1085
+ juyDUTEH1dSf/1l7qG6Fz9NLqUmwX7A5KGgOc90lmt4S
1086
+ -----END CERTIFICATE-----
1087
+
1088
+ AOL Time Warner Root Certification Authority 2
1089
+ ==============================================
1090
+ -----BEGIN CERTIFICATE-----
1091
+ MIIF5jCCA86gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBgzELMAkGA1UEBhMCVVMxHTAbBgNVBAoT
1092
+ FEFPTCBUaW1lIFdhcm5lciBJbmMuMRwwGgYDVQQLExNBbWVyaWNhIE9ubGluZSBJbmMuMTcwNQYD
1093
+ VQQDEy5BT0wgVGltZSBXYXJuZXIgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAyMB4XDTAy
1094
+ MDUyOTA2MDAwMFoXDTM3MDkyODIzNDMwMFowgYMxCzAJBgNVBAYTAlVTMR0wGwYDVQQKExRBT0wg
1095
+ VGltZSBXYXJuZXIgSW5jLjEcMBoGA1UECxMTQW1lcmljYSBPbmxpbmUgSW5jLjE3MDUGA1UEAxMu
1096
+ QU9MIFRpbWUgV2FybmVyIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZI
1097
+ hvcNAQEBBQADggIPADCCAgoCggIBALQ3WggWmRToVbEbJGv8x4vmh6mJ7ouZzU9AhqS2TcnZsdw8
1098
+ TQ2FTBVsRotSeJ/4I/1n9SQ6aF3Q92RhQVSji6UI0ilbm2BPJoPRYxJWSXakFsKlnUWsi4SVqBax
1099
+ 7J/qJBrvuVdcmiQhLE0OcR+mrF1FdAOYxFSMFkpBd4aVdQxHAWZg/BXxD+r1FHjHDtdugRxev17n
1100
+ OirYlxcwfACtCJ0zr7iZYYCLqJV+FNwSbKTQ2O9ASQI2+W6p1h2WVgSysy0WVoaP2SBXgM1nEG2w
1101
+ TPDaRrbqJS5Gr42whTg0ixQmgiusrpkLjhTXUr2eacOGAgvqdnUxCc4zGSGFQ+aJLZ8lN2fxI2rS
1102
+ AG2X+Z/nKcrdH9cG6rjJuQkhn8g/BsXS6RJGAE57COtCPStIbp1n3UsC5ETzkxmlJ85per5n0/xQ
1103
+ pCyrw2u544BMzwVhSyvcG7mm0tCq9Stz+86QNZ8MUhy/XCFhEVsVS6kkUfykXPcXnbDS+gfpj1bk
1104
+ GoxoigTTfFrjnqKhynFbotSg5ymFXQNoKk/SBtc9+cMDLz9l+WceR0DTYw/j1Y75hauXTLPXJuuW
1105
+ CpTehTacyH+BCQJJKg71ZDIMgtG6aoIbs0t0EfOMd9afv9w3pKdVBC/UMejTRrkDfNoSTllkt1Ex
1106
+ MVCgyhwn2RAurda9EGYrw7AiShJbAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
1107
+ FE9pbQN+nZ8HGEO8txBO1b+pxCAoMB8GA1UdIwQYMBaAFE9pbQN+nZ8HGEO8txBO1b+pxCAoMA4G
1108
+ A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAO/Ouyuguh4X7ZVnnrREUpVe8WJ8kEle7
1109
+ +z802u6teio0cnAxa8cZmIDJgt43d15Ui47y6mdPyXSEkVYJ1eV6moG2gcKtNuTxVBFT8zRFASbI
1110
+ 5Rq8NEQh3q0l/HYWdyGQgJhXnU7q7C+qPBR7V8F+GBRn7iTGvboVsNIYvbdVgaxTwOjdaRITQrcC
1111
+ tQVBynlQboIOcXKTRuidDV29rs4prWPVVRaAMCf/drr3uNZK49m1+VLQTkCpx+XCMseqdiThawVQ
1112
+ 68W/ClTluUI8JPu3B5wwn3la5uBAUhX0/Kr0VvlEl4ftDmVyXr4m+02kLQgH3thcoNyBM5kYJRF3
1113
+ p+v9WAksmWsbivNSPxpNSGDxoPYzAlOL7SUJuA0t7Zdz7NeWH45gDtoQmy8YJPamTQr5O8t1wswv
1114
+ ziRpyQoijlmn94IM19drNZxDAGrElWe6nEXLuA4399xOAU++CrYD062KRffaJ00psUjf5BHklka9
1115
+ bAI+1lHIlRcBFanyqqryvy9lG2/QuRqT9Y41xICHPpQvZuTpqP9BnHAqTyo5GJUefvthATxRCC4o
1116
+ GKQWDzH9OmwjkyB24f0HhdFbP9IcczLd+rn4jM8Ch3qaluTtT4mNU0OrDhPAARW0eTjb/G49nlG2
1117
+ uBOLZ8/5fNkiHfZdxRwBL5joeiQYvITX+txyW/fBOmg=
1118
+ -----END CERTIFICATE-----
1119
+
1120
+ beTRUSTed Root CA-Baltimore Implementation
1121
+ ==========================================
1122
+ -----BEGIN CERTIFICATE-----
1123
+ MIIFajCCBFKgAwIBAgIEPLU9RjANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwliZVRSVVNUZWQx
1124
+ GzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMqYmVUUlVTVGVkIFJvb3QgQ0Et
1125
+ QmFsdGltb3JlIEltcGxlbWVudGF0aW9uMB4XDTAyMDQxMTA3Mzg1MVoXDTIyMDQxMTA3Mzg1MVow
1126
+ ZjESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNV
1127
+ BAMTKmJlVFJVU1RlZCBSb290IENBLUJhbHRpbW9yZSBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZI
1128
+ hvcNAQEBBQADggEPADCCAQoCggEBALx+xDmcjOPWHIb/ymKt4H8wRXqOGrO4x/nRNv8i805qX4QQ
1129
+ +2aBw5R5MdKR4XeOGCrDFN5R9U+jK7wYFuK13XneIviCfsuBH/0nLI/6l2Qijvj/YaOcGx6Sj8Co
1130
+ Cd8JEey3fTGaGuqDIQY8n7pc/5TqarjDa1U0Tz0yH92BFODEPM2dMPgwqZfT7syj0B9fHBOB1Bir
1131
+ lNFjw55/NZKeX0Tq7PQiXLfoPX2k+YmpkbIq2eszh+6l/ePazIjmiSZuxyuC0F6dWdsU7JGDBcNe
1132
+ DsYq0ATdcT0gTlgn/FP7eHgZFLL8kFKJOGJgB7Sg7KxrUNb9uShr71ItOrL/8QFArDcCAwEAAaOC
1133
+ Ah4wggIaMA8GA1UdEwEB/wQFMAMBAf8wggG1BgNVHSAEggGsMIIBqDCCAaQGDysGAQQBsT4AAAEJ
1134
+ KIORMTCCAY8wggFIBggrBgEFBQcCAjCCAToaggE2UmVsaWFuY2Ugb24gb3IgdXNlIG9mIHRoaXMg
1135
+ Q2VydGlmaWNhdGUgY3JlYXRlcyBhbiBhY2tub3dsZWRnbWVudCBhbmQgYWNjZXB0YW5jZSBvZiB0
1136
+ aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwg
1137
+ dGhlIENlcnRpZmljYXRpb24gUHJhY3RpY2UgU3RhdGVtZW50IGFuZCB0aGUgUmVseWluZyBQYXJ0
1138
+ eSBBZ3JlZW1lbnQsIHdoaWNoIGNhbiBiZSBmb3VuZCBhdCB0aGUgYmVUUlVTVGVkIHdlYiBzaXRl
1139
+ LCBodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNfc2VydmljZXMvaW5kZXguaHRtbDBB
1140
+ BggrBgEFBQcCARY1aHR0cDovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2VzL2lu
1141
+ ZGV4Lmh0bWwwHQYDVR0OBBYEFEU9w6nR3D8kVpgccxiIav+DR+22MB8GA1UdIwQYMBaAFEU9w6nR
1142
+ 3D8kVpgccxiIav+DR+22MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEASZK8o+6s
1143
+ vfoNyYt5hhwjdrCAWXf82n+0S9/DZEtqTg6t8n1ZdwWtColzsPq8y9yNAIiPpqCy6qxSJ7+hSHyX
1144
+ EHu67RMdmgduyzFiEuhjA6p9beP4G3YheBufS0OM00mG9htc9i5gFdPp43t1P9ACg9AYgkHNZTfq
1145
+ jjJ+vWuZXTARyNtIVBw74acT02pIk/c9jH8F6M7ziCpjBLjqflh8AXtb4cV97yHgjQ5dUX2xZ/2j
1146
+ vTg2xvI4hocalmhgRvsoFEdV4aeADGvi6t9NfJBIoDa9CReJf8Py05yc493EG931t3GzUwWJBtDL
1147
+ SoDByFOQtTwxiBdQn8nEDovYqAJjDQ==
1148
+ -----END CERTIFICATE-----
1149
+
1150
+ beTRUSTed Root CA - Entrust Implementation
1151
+ ==========================================
1152
+ -----BEGIN CERTIFICATE-----
1153
+ MIIGUTCCBTmgAwIBAgIEPLVPQDANBgkqhkiG9w0BAQUFADBmMRIwEAYDVQQKEwliZVRSVVNUZWQx
1154
+ GzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEzMDEGA1UEAxMqYmVUUlVTVGVkIFJvb3QgQ0Eg
1155
+ LSBFbnRydXN0IEltcGxlbWVudGF0aW9uMB4XDTAyMDQxMTA4MjQyN1oXDTIyMDQxMTA4NTQyN1ow
1156
+ ZjESMBAGA1UEChMJYmVUUlVTVGVkMRswGQYDVQQLExJiZVRSVVNUZWQgUm9vdCBDQXMxMzAxBgNV
1157
+ BAMTKmJlVFJVU1RlZCBSb290IENBIC0gRW50cnVzdCBJbXBsZW1lbnRhdGlvbjCCASIwDQYJKoZI
1158
+ hvcNAQEBBQADggEPADCCAQoCggEBALr0RAOqEmq1Q+xVkrYwfTVXDNvzDSduTPdQqJtOK2/b9a0c
1159
+ S12zqcH+e0TrW6MFDR/FNCswACnxeECypP869AGIF37m1CbTukzqMvtDd5eHI8XbQ6P1KqNRXuE7
1160
+ 0mVpflUVm3rnafdE4Fe1FehmYA8NA/uCjqPoEXtsvsdjDheT389Lrm5zdeDzqrmkwAkbhepxKYhB
1161
+ MvnwKg5sCfJ0a2ZsUhMfGLzUPvfYbiCeyv78IZTuEyhL11xeDGbu6bsPwTSxfwh28z0mcMmLJR1i
1162
+ JAzqHHVOwBLkuhMdMCktVjMFu5dZfsZJT4nXLySotohAtWSSU1Yk5KKghbNekLQSM80CAwEAAaOC
1163
+ AwUwggMBMIIBtwYDVR0gBIIBrjCCAaowggGmBg8rBgEEAbE+AAACCSiDkTEwggGRMIIBSQYIKwYB
1164
+ BQUHAgIwggE7GoIBN1JlbGlhbmNlIG9uIG9yIHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNyZWF0
1165
+ ZXMgYW4gYWNrbm93bGVkZ21lbnQgYW5kIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
1166
+ ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIHRoZSBDZXJ0aWZpY2F0aW9u
1167
+ IFByYWN0aWNlIFN0YXRlbWVudCBhbmQgdGhlIFJlbHlpbmcgUGFydHkgQWdyZWVtZW50LCB3aGlj
1168
+ aCBjYW4gYmUgZm91bmQgYXQgdGhlIGJlVFJVU1RlZCB3ZWIgc2l0ZSwgaHR0cHM6Ly93d3cuYmV0
1169
+ cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9pbmRleC5odG1sMEIGCCsGAQUFBwIBFjZodHRw
1170
+ czovL3d3dy5iZXRydXN0ZWQuY29tL3Byb2R1Y3RzX3NlcnZpY2VzL2luZGV4Lmh0bWwwEQYJYIZI
1171
+ AYb4QgEBBAQDAgAHMIGJBgNVHR8EgYEwfzB9oHugeaR3MHUxEjAQBgNVBAoTCWJlVFJVU1RlZDEb
1172
+ MBkGA1UECxMSYmVUUlVTVGVkIFJvb3QgQ0FzMTMwMQYDVQQDEypiZVRSVVNUZWQgUm9vdCBDQSAt
1173
+ IEVudHJ1c3QgSW1wbGVtZW50YXRpb24xDTALBgNVBAMTBENSTDEwKwYDVR0QBCQwIoAPMjAwMjA0
1174
+ MTEwODI0MjdagQ8yMDIyMDQxMTA4NTQyN1owCwYDVR0PBAQDAgEGMB8GA1UdIwQYMBaAFH1w5a44
1175
+ iwY/qhwaj/nPJDCqhIQWMB0GA1UdDgQWBBR9cOWuOIsGP6ocGo/5zyQwqoSEFjAMBgNVHRMEBTAD
1176
+ AQH/MB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEAKrgX
1177
+ zh8QlOu4mre5X+za95IkrNySO8cgjfKZ5V04ocI07cUTWVwFtStPYZuR+0H8/NU8TZh2BvWBfevd
1178
+ kObRVlTa4y0MnxEylCIBevZsLHRnBMylj44ss0O1lKLQfelifwa+JwGDnjr9iu6YQ0pr17WXOzq/
1179
+ T220Y/ozADQuLW2WyXvKmWO6vvT2MKAtmJbpVkQFqUSjYRDrgqFnXbxdJ3Wqiig2KjiS2d2kXgCl
1180
+ zMx8KSreKJCrt+G2/30lC0DYqjSjLd4H61/OCt3Kfjp9JsFiaDrmLzfzgYYhxKlkqu9FNtEaZnz4
1181
+ 6TfW1mG+oq1I59/mdP7TbX3SJdysYlep9w==
1182
+ -----END CERTIFICATE-----
1183
+
1184
+ beTRUSTed Root CA - RSA Implementation
1185
+ ======================================
1186
+ -----BEGIN CERTIFICATE-----
1187
+ MIIFaDCCBFCgAwIBAgIQO1nHe81bV569N1KsdrSqGjANBgkqhkiG9w0BAQUFADBiMRIwEAYDVQQK
1188
+ EwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENBczEvMC0GA1UEAxMmYmVUUlVT
1189
+ VGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wHhcNMDIwNDExMTExODEzWhcNMjIwNDEy
1190
+ MTEwNzI1WjBiMRIwEAYDVQQKEwliZVRSVVNUZWQxGzAZBgNVBAsTEmJlVFJVU1RlZCBSb290IENB
1191
+ czEvMC0GA1UEAxMmYmVUUlVTVGVkIFJvb3QgQ0EgLSBSU0EgSW1wbGVtZW50YXRpb24wggEiMA0G
1192
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkujQwCY5X0LkGLG9uJIAiv11DpvpPrILnHGhwhRuj
1193
+ brWqeNluB0s/6d/16uhUoWGKDi9pdRi3DOUUjXFumLhV/AyV0Jtu4S2I1DpAa5LxmZZk3tv/ePTu
1194
+ lh1HiXzUvrmIdyM6CeYEnm2qXtLIvZpOGd+J6lsOfsPktPDgaTuID0GQ+NRxQyTBjyZLO1bp/4xs
1195
+ N+lFrYWMU8NghpBKlsmzVLC7F/AcRdnUGxlkVgoZ98zh/4avflherHqQH8koOUV7orbHnB/ahdQh
1196
+ hlkwk75TMzf270HPM8ercmsl9fNTGwxMLvF1S++gh/f+ihXQbNXL+WhTuXAVE8L1LvtDNXUtAgMB
1197
+ AAGjggIYMIICFDAMBgNVHRMEBTADAQH/MIIBtQYDVR0gBIIBrDCCAagwggGkBg8rBgEEAbE+AAAD
1198
+ CSiDkTEwggGPMEEGCCsGAQUFBwIBFjVodHRwOi8vd3d3LmJldHJ1c3RlZC5jb20vcHJvZHVjdHNf
1199
+ c2VydmljZXMvaW5kZXguaHRtbDCCAUgGCCsGAQUFBwICMIIBOhqCATZSZWxpYW5jZSBvbiBvciB1
1200
+ c2Ugb2YgdGhpcyBDZXJ0aWZpY2F0ZSBjcmVhdGVzIGFuIGFja25vd2xlZGdtZW50IGFuZCBhY2Nl
1201
+ cHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNvbmRpdGlv
1202
+ bnMgb2YgdXNlLCB0aGUgQ2VydGlmaWNhdGlvbiBQcmFjdGljZSBTdGF0ZW1lbnQgYW5kIHRoZSBS
1203
+ ZWx5aW5nIFBhcnR5IEFncmVlbWVudCwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSBiZVRSVVNU
1204
+ ZWQgd2ViIHNpdGUsIGh0dHA6Ly93d3cuYmV0cnVzdGVkLmNvbS9wcm9kdWN0c19zZXJ2aWNlcy9p
1205
+ bmRleC5odG1sMAsGA1UdDwQEAwIBBjAfBgNVHSMEGDAWgBSp7BR++dlDzFMrFK3P9/BZiUHNGTAd
1206
+ BgNVHQ4EFgQUqewUfvnZQ8xTKxStz/fwWYlBzRkwDQYJKoZIhvcNAQEFBQADggEBANuXsHXqDMTB
1207
+ mMpWBcCorSZIry0g6IHHtt9DwSwddUvUQo3neqh03GZCWYez9Wlt2ames30cMcH1VOJZJEnl7r05
1208
+ pmuKmET7m9cqg5c0Lcd9NUwtNLg+DcTsiCevnpL9UGGCqGAHFFPMZRPB9kdEadIxyKbdLrML3kqN
1209
+ Wz2rDcI1UqJWN8wyiyiFQpyRQHpwKzg21eFzGh/l+n5f3NacOzDq28BbJ1zTcwfBwvNMm2+fG8oe
1210
+ qqg4MwlYsq78B+g23FW6L09A/nq9BqaBwZMifIYRCgZ3SK41ty8ymmFei74pnykkiFY5LKjSq5YD
1211
+ WtRIn7lAhAuYaPsBQ9Yb4gmxlxw=
1212
+ -----END CERTIFICATE-----
1213
+
1214
+ RSA Security 2048 v3
1215
+ ====================
1216
+ -----BEGIN CERTIFICATE-----
1217
+ MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
1218
+ ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
1219
+ MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
1220
+ BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
1221
+ AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
1222
+ Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
1223
+ WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
1224
+ KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
1225
+ +Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
1226
+ MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
1227
+ FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
1228
+ v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
1229
+ 0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
1230
+ VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
1231
+ nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
1232
+ pKnXwiJPZ9d37CAFYd4=
1233
+ -----END CERTIFICATE-----
1234
+
1235
+ RSA Security 1024 v3
1236
+ ====================
1237
+ -----BEGIN CERTIFICATE-----
1238
+ MIICXDCCAcWgAwIBAgIQCgEBAQAAAnwAAAALAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
1239
+ ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMTAyNCBWMzAeFw0wMTAy
1240
+ MjIyMTAxNDlaFw0yNjAyMjIyMDAxNDlaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
1241
+ BgNVBAsTFFJTQSBTZWN1cml0eSAxMDI0IFYzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDV
1242
+ 3f5mCc8kPD6ugU5OisRpgFtZO9+5TUzKtS3DJy08rwBCbbwoppbPf9dYrIMKo1W1exeQFYRMiu4m
1243
+ mdxY78c4pqqv0I5CyGLXq6yp+0p9v+r+Ek3d/yYtbzZUaMjShFbuklNhCbM/OZuoyZu9zp9+1Blq
1244
+ FikYvtc6adwlWzMaUQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAf
1245
+ BgNVHSMEGDAWgBTEwBykB5T9zU0B1FTapQxf3q4FWjAdBgNVHQ4EFgQUxMAcpAeU/c1NAdRU2qUM
1246
+ X96uBVowDQYJKoZIhvcNAQEFBQADgYEAPy1q4yZDlX2Jl2X7deRyHUZXxGFraZ8SmyzVWujAovBD
1247
+ leMf6XbN3Ou8k6BlCsdNT1+nr6JGFLkM88y9am63nd4lQtBU/55oc2PcJOsiv6hy8l4A4Q1OOkNu
1248
+ mU4/iXgDmMrzVcydro7BqkWY+o8aoI2II/EVQQ2lRj6RP4vr93E=
1249
+ -----END CERTIFICATE-----
1250
+
1251
+ GeoTrust Global CA
1252
+ ==================
1253
+ -----BEGIN CERTIFICATE-----
1254
+ MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
1255
+ Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
1256
+ MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
1257
+ LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
1258
+ CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
1259
+ BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
1260
+ 8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
1261
+ T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
1262
+ vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
1263
+ AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
1264
+ DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
1265
+ zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
1266
+ d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
1267
+ mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
1268
+ XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
1269
+ Mw==
1270
+ -----END CERTIFICATE-----
1271
+
1272
+ GeoTrust Global CA 2
1273
+ ====================
1274
+ -----BEGIN CERTIFICATE-----
1275
+ MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
1276
+ R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
1277
+ MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
1278
+ LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
1279
+ ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
1280
+ NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
1281
+ LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
1282
+ Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
1283
+ HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
1284
+ MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
1285
+ K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
1286
+ srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
1287
+ ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
1288
+ OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
1289
+ x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
1290
+ H4z1Ir+rzoPz4iIprn2DQKi6bA==
1291
+ -----END CERTIFICATE-----
1292
+
1293
+ GeoTrust Universal CA
1294
+ =====================
1295
+ -----BEGIN CERTIFICATE-----
1296
+ MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
1297
+ R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
1298
+ MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
1299
+ Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
1300
+ ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
1301
+ JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
1302
+ RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
1303
+ 7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
1304
+ 8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
1305
+ qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
1306
+ Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
1307
+ Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
1308
+ KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
1309
+ ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
1310
+ XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
1311
+ hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
1312
+ aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
1313
+ qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
1314
+ oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
1315
+ xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
1316
+ KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
1317
+ DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
1318
+ xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
1319
+ p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
1320
+ P/rmMuGNG2+k5o7Y+SlIis5z/iw=
1321
+ -----END CERTIFICATE-----
1322
+
1323
+ GeoTrust Universal CA 2
1324
+ =======================
1325
+ -----BEGIN CERTIFICATE-----
1326
+ MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
1327
+ R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
1328
+ MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
1329
+ SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
1330
+ A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
1331
+ DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
1332
+ j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
1333
+ JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
1334
+ QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
1335
+ WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
1336
+ 20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
1337
+ ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
1338
+ SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
1339
+ 8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
1340
+ +/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
1341
+ BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
1342
+ dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
1343
+ 4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
1344
+ mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
1345
+ A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
1346
+ Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
1347
+ pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
1348
+ FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
1349
+ gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
1350
+ X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
1351
+ -----END CERTIFICATE-----
1352
+
1353
+ UTN-USER First-Network Applications
1354
+ ===================================
1355
+ -----BEGIN CERTIFICATE-----
1356
+ MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE
1357
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
1358
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp
1359
+ BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5
1360
+ WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T
1361
+ YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
1362
+ dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB
1363
+ cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug
1364
+ mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj
1365
+ DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu
1366
+ Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi
1367
+ P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE
1368
+ j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w
1369
+ HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j
1370
+ cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G
1371
+ CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
1372
+ IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK
1373
+ RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp
1374
+ xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq
1375
+ DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE
1376
+ -----END CERTIFICATE-----
1377
+
1378
+ America Online Root Certification Authority 1
1379
+ =============================================
1380
+ -----BEGIN CERTIFICATE-----
1381
+ MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
1382
+ QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
1383
+ Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG
1384
+ A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
1385
+ T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD
1386
+ ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG
1387
+ v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z
1388
+ DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh
1389
+ sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP
1390
+ 8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T
1391
+ AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z
1392
+ o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf
1393
+ GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF
1394
+ VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft
1395
+ 3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g
1396
+ Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
1397
+ sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
1398
+ -----END CERTIFICATE-----
1399
+
1400
+ America Online Root Certification Authority 2
1401
+ =============================================
1402
+ -----BEGIN CERTIFICATE-----
1403
+ MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
1404
+ QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
1405
+ Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG
1406
+ A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
1407
+ T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD
1408
+ ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en
1409
+ fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8
1410
+ f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO
1411
+ qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN
1412
+ RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0
1413
+ gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn
1414
+ 6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid
1415
+ FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6
1416
+ Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj
1417
+ B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op
1418
+ aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
1419
+ AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY
1420
+ T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p
1421
+ +DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg
1422
+ JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy
1423
+ zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO
1424
+ ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh
1425
+ 1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf
1426
+ GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff
1427
+ Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP
1428
+ cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk=
1429
+ -----END CERTIFICATE-----
1430
+
1431
+ Visa eCommerce Root
1432
+ ===================
1433
+ -----BEGIN CERTIFICATE-----
1434
+ MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
1435
+ EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
1436
+ QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
1437
+ WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
1438
+ VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
1439
+ bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
1440
+ F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
1441
+ RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
1442
+ TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
1443
+ /k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
1444
+ GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
1445
+ MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
1446
+ CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
1447
+ YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
1448
+ zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
1449
+ YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
1450
+ 398znM/jra6O1I7mT1GvFpLgXPYHDw==
1451
+ -----END CERTIFICATE-----
1452
+
1453
+ TC TrustCenter, Germany, Class 2 CA
1454
+ ===================================
1455
+ -----BEGIN CERTIFICATE-----
1456
+ MIIDXDCCAsWgAwIBAgICA+owDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQI
1457
+ EwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3Ig
1458
+ U2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBD
1459
+ bGFzcyAyIENBMSkwJwYJKoZIhvcNAQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05
1460
+ ODAzMDkxMTU5NTlaFw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFt
1461
+ YnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy
1462
+ aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3Mg
1463
+ MiBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZI
1464
+ hvcNAQEBBQADgY0AMIGJAoGBANo46O0yAClxgwENv4wB3NrGrTmkqYov1YtcaF9QxmL1Zr3KkSLs
1465
+ qh1R1z2zUbKDTl3LSbDwTFXlay3HhQswHJJOgtTKAu33b77c4OMUuAVT8pr0VotanoWT0bSCVq5N
1466
+ u6hLVxa8/vhYnvgpjbB7zXjJT6yLZwzxnPv8V5tXXE8NAgMBAAGjazBpMA8GA1UdEwEB/wQFMAMB
1467
+ Af8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3LnRydXN0Y2VudGVy
1468
+ LmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0GCSqGSIb3DQEBBAUAA4GBAIRS+yjf
1469
+ /x91AbwBvgRWl2p0QiQxg/lGsQaKic+WLDO/jLVfenKhhQbOhvgFjuj5Jcrag4wGrOs2bYWRNAQ2
1470
+ 9ELw+HkuCkhcq8xRT3h2oNmsGb0q0WkEKJHKNhAngFdb0lz1wlurZIFjdFH0l7/NEij3TWZ/p/Ac
1471
+ ASZ4smZHcFFk
1472
+ -----END CERTIFICATE-----
1473
+
1474
+ TC TrustCenter, Germany, Class 3 CA
1475
+ ===================================
1476
+ -----BEGIN CERTIFICATE-----
1477
+ MIIDXDCCAsWgAwIBAgICA+swDQYJKoZIhvcNAQEEBQAwgbwxCzAJBgNVBAYTAkRFMRAwDgYDVQQI
1478
+ EwdIYW1idXJnMRAwDgYDVQQHEwdIYW1idXJnMTowOAYDVQQKEzFUQyBUcnVzdENlbnRlciBmb3Ig
1479
+ U2VjdXJpdHkgaW4gRGF0YSBOZXR3b3JrcyBHbWJIMSIwIAYDVQQLExlUQyBUcnVzdENlbnRlciBD
1480
+ bGFzcyAzIENBMSkwJwYJKoZIhvcNAQkBFhpjZXJ0aWZpY2F0ZUB0cnVzdGNlbnRlci5kZTAeFw05
1481
+ ODAzMDkxMTU5NTlaFw0xMTAxMDExMTU5NTlaMIG8MQswCQYDVQQGEwJERTEQMA4GA1UECBMHSGFt
1482
+ YnVyZzEQMA4GA1UEBxMHSGFtYnVyZzE6MDgGA1UEChMxVEMgVHJ1c3RDZW50ZXIgZm9yIFNlY3Vy
1483
+ aXR5IGluIERhdGEgTmV0d29ya3MgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3Mg
1484
+ MyBDQTEpMCcGCSqGSIb3DQEJARYaY2VydGlmaWNhdGVAdHJ1c3RjZW50ZXIuZGUwgZ8wDQYJKoZI
1485
+ hvcNAQEBBQADgY0AMIGJAoGBALa0wTUFLg2N7KBAahwOJ6ZQkmtQGwfeLud2zODa/ISoXoxjaitN
1486
+ 2U4CdhHBC/KNecoAtvGwDtf7pBc9r6tpepYnv68zoZoqWarEtTcI8hKlMbZD9TKWcSgoq40oht+7
1487
+ 7uMMfTDWw1Krj10nnGvAo+cFa1dJRLNu6mTP0o56UHd3AgMBAAGjazBpMA8GA1UdEwEB/wQFMAMB
1488
+ Af8wDgYDVR0PAQH/BAQDAgGGMDMGCWCGSAGG+EIBCAQmFiRodHRwOi8vd3d3LnRydXN0Y2VudGVy
1489
+ LmRlL2d1aWRlbGluZXMwEQYJYIZIAYb4QgEBBAQDAgAHMA0GCSqGSIb3DQEBBAUAA4GBABY9xs3B
1490
+ u4VxhUafPiCPUSiZ7C1FIWMjWwS7TJC4iJIETb19AaM/9uzO8d7+feXhPrvGq14L3T2WxMup1Pkm
1491
+ 5gZOngylerpuw3yCGdHHsbHD2w2Om0B8NwvxXej9H5CIpQ5ON2QhqE6NtJ/x3kit1VYYUimLRzQS
1492
+ CdS7kjXvD9s0
1493
+ -----END CERTIFICATE-----
1494
+
1495
+ Certum Root CA
1496
+ ==============
1497
+ -----BEGIN CERTIFICATE-----
1498
+ MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
1499
+ ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
1500
+ Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
1501
+ by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
1502
+ wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
1503
+ kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
1504
+ 89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
1505
+ Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
1506
+ NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
1507
+ hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
1508
+ GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
1509
+ GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
1510
+ 0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
1511
+ qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
1512
+ -----END CERTIFICATE-----
1513
+
1514
+ Comodo AAA Services root
1515
+ ========================
1516
+ -----BEGIN CERTIFICATE-----
1517
+ MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
1518
+ R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
1519
+ TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
1520
+ MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
1521
+ c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
1522
+ BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
1523
+ ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
1524
+ C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
1525
+ i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
1526
+ Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
1527
+ Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
1528
+ Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
1529
+ BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
1530
+ cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
1531
+ LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
1532
+ 7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
1533
+ Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
1534
+ 8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
1535
+ 12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
1536
+ -----END CERTIFICATE-----
1537
+
1538
+ Comodo Secure Services root
1539
+ ===========================
1540
+ -----BEGIN CERTIFICATE-----
1541
+ MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
1542
+ R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
1543
+ TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
1544
+ MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
1545
+ Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
1546
+ BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
1547
+ ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
1548
+ 9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
1549
+ rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
1550
+ oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
1551
+ p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
1552
+ FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
1553
+ gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
1554
+ YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
1555
+ aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
1556
+ 4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
1557
+ Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
1558
+ DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
1559
+ pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
1560
+ RR3B7Hzs/Sk=
1561
+ -----END CERTIFICATE-----
1562
+
1563
+ Comodo Trusted Services root
1564
+ ============================
1565
+ -----BEGIN CERTIFICATE-----
1566
+ MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
1567
+ R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
1568
+ TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
1569
+ MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
1570
+ bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
1571
+ IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
1572
+ AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
1573
+ 3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
1574
+ /9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
1575
+ juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
1576
+ ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
1577
+ DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
1578
+ /zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
1579
+ ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
1580
+ cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
1581
+ uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
1582
+ pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
1583
+ BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
1584
+ R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
1585
+ 9y5Xt5hwXsjEeLBi
1586
+ -----END CERTIFICATE-----
1587
+
1588
+ IPS Chained CAs root
1589
+ ====================
1590
+ -----BEGIN CERTIFICATE-----
1591
+ MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARwxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1592
+ EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1593
+ Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1594
+ Qi02MDkyOTQ1MjEzMDEGA1UECxMqSVBTIENBIENoYWluZWQgQ0FzIENlcnRpZmljYXRpb24gQXV0
1595
+ aG9yaXR5MTMwMQYDVQQDEypJUFMgQ0EgQ2hhaW5lZCBDQXMgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
1596
+ dHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczAeFw0wMTEyMjkwMDUzNThaFw0yNTEy
1597
+ MjcwMDUzNThaMIIBHDELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UEBxMJ
1598
+ QmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBzLmwu
1599
+ MSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMTMwMQYDVQQLEypJ
1600
+ UFMgQ0EgQ2hhaW5lZCBDQXMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxMzAxBgNVBAMTKklQUyBD
1601
+ QSBDaGFpbmVkIENBcyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqGSIb3DQEJARYPaXBz
1602
+ QG1haWwuaXBzLmVzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcVpJJspQgvJhPUOtopKdJ
1603
+ C7/SMejHT8KGC/po/UNaivNgkjWZOLtNA1IhW/A3mTXhQSCBhYEFcYGdtJUZqV92NC5jNzVXjrQf
1604
+ Qj8VXOF6wV8TGDIxya2+o8eDZh65nAQTy2nBBt4wBrszo7Uf8I9vzv+W6FS+ZoCua9tBhDaiPQID
1605
+ AQABo4IEQzCCBD8wHQYDVR0OBBYEFKGtMbH5PuEXpsirNPxShwkeYlJBMIIBTgYDVR0jBIIBRTCC
1606
+ AUGAFKGtMbH5PuEXpsirNPxShwkeYlJBoYIBJKSCASAwggEcMQswCQYDVQQGEwJFUzESMBAGA1UE
1607
+ CBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBw
1608
+ dWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoUImlwc0BtYWlsLmlwcy5lcyBDLkkuRi4g
1609
+ IEItNjA5Mjk0NTIxMzAxBgNVBAsTKklQUyBDQSBDaGFpbmVkIENBcyBDZXJ0aWZpY2F0aW9uIEF1
1610
+ dGhvcml0eTEzMDEGA1UEAxMqSVBTIENBIENoYWluZWQgQ0FzIENlcnRpZmljYXRpb24gQXV0aG9y
1611
+ aXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNV
1612
+ HQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUF
1613
+ BwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGC
1614
+ NwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1Ud
1615
+ EgQTMBGBD2lwc0BtYWlsLmlwcy5lczBCBglghkgBhvhCAQ0ENRYzQ2hhaW5lZCBDQSBDZXJ0aWZp
1616
+ Y2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8v
1617
+ d3d3Lmlwcy5lcy9pcHMyMDAyLzA3BglghkgBhvhCAQQEKhYoaHR0cDovL3d3dy5pcHMuZXMvaXBz
1618
+ MjAwMi9pcHMyMDAyQ0FDLmNybDA8BglghkgBhvhCAQMELxYtaHR0cDovL3d3dy5pcHMuZXMvaXBz
1619
+ MjAwMi9yZXZvY2F0aW9uQ0FDLmh0bWw/MDkGCWCGSAGG+EIBBwQsFipodHRwOi8vd3d3Lmlwcy5l
1620
+ cy9pcHMyMDAyL3JlbmV3YWxDQUMuaHRtbD8wNwYJYIZIAYb4QgEIBCoWKGh0dHA6Ly93d3cuaXBz
1621
+ LmVzL2lwczIwMDIvcG9saWN5Q0FDLmh0bWwwbQYDVR0fBGYwZDAuoCygKoYoaHR0cDovL3d3dy5p
1622
+ cHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0FDLmNybDAyoDCgLoYsaHR0cDovL3d3d2JhY2suaXBzLmVz
1623
+ L2lwczIwMDIvaXBzMjAwMkNBQy5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw
1624
+ Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAERyMJ1WWKJBGyi3leGmGpVfp3hAK+/b
1625
+ lkr8THFj2XOVvQLiogbHvpcqk4A0hgP63Ng9HgfNHnNDJGD1HWHc3JagvPsd4+cSACczAsDAK1M9
1626
+ 2GsDgaPb1pOVIO/Tln4mkImcJpvNb2ar7QMiRDjMWb2f2/YHogF/JsRj9SVCXmK9
1627
+ -----END CERTIFICATE-----
1628
+
1629
+ IPS CLASE1 root
1630
+ ===============
1631
+ -----BEGIN CERTIFICATE-----
1632
+ MIIH6jCCB1OgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARIxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1633
+ EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1634
+ Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1635
+ Qi02MDkyOTQ1MjEuMCwGA1UECxMlSVBTIENBIENMQVNFMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
1636
+ eTEuMCwGA1UEAxMlSVBTIENBIENMQVNFMSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqG
1637
+ SIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAwNTkzOFoXDTI1MTIyNzAwNTkzOFow
1638
+ ggESMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmEx
1639
+ LjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoU
1640
+ Imlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxLjAsBgNVBAsTJUlQUyBDQSBDTEFT
1641
+ RTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLjAsBgNVBAMTJUlQUyBDQSBDTEFTRTEgQ2VydGlm
1642
+ aWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczCBnzANBgkq
1643
+ hkiG9w0BAQEFAAOBjQAwgYkCgYEA4FEnpwvdr9G5Q1uCN0VWcu+atsIS7ywSzHb5BlmvXSHU0lq4
1644
+ oNTzav3KaY1mSPd05u42veiWkXWmcSjK5yISMmmwPh5r9FBSYmL9Yzt9fuzuOOpi9GyocY3h6YvJ
1645
+ P8a1zZRCb92CRTzo3wno7wpVqVZHYUxJZHMQKD/Kvwn/xi8CAwEAAaOCBEowggRGMB0GA1UdDgQW
1646
+ BBTrsxl588GlHKzcuh9morKbadB4CDCCAUQGA1UdIwSCATswggE3gBTrsxl588GlHKzcuh9morKb
1647
+ adB4CKGCARqkggEWMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UE
1648
+ BxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBz
1649
+ LmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMS4wLAYDVQQL
1650
+ EyVJUFMgQ0EgQ0xBU0UxIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVJUFMgQ0Eg
1651
+ Q0xBU0UxIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5p
1652
+ cHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMB
1653
+ BggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYB
1654
+ BAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0R
1655
+ BBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBBBglghkgB
1656
+ hvhCAQ0ENBYyQ0xBU0UxIENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5l
1657
+ cy8wKQYJYIZIAYb4QgECBBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMDoGCWCGSAGG+EIB
1658
+ BAQtFitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTEuY3JsMD8GCWCGSAGG
1659
+ +EIBAwQyFjBodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25DTEFTRTEuaHRtbD8w
1660
+ PAYJYIZIAYb4QgEHBC8WLWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbENMQVNFMS5o
1661
+ dG1sPzA6BglghkgBhvhCAQgELRYraHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lDTEFT
1662
+ RTEuaHRtbDBzBgNVHR8EbDBqMDGgL6AthitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIw
1663
+ MDJDTEFTRTEuY3JsMDWgM6Axhi9odHRwOi8vd3d3YmFjay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAy
1664
+ Q0xBU0UxLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9vY3NwLmlwcy5l
1665
+ cy8wDQYJKoZIhvcNAQEFBQADgYEAK9Dr/drIyllq2tPMMi7JVBuKYn4VLenZMdMu9Ccj/1urxUq2
1666
+ ckCuU3T0vAW0xtnIyXf7t/k0f3gA+Nak5FI/LEpjV4F1Wo7ojPsCwJTGKbqz3Bzosq/SLmJbGqmO
1667
+ DszFV0VRFOlOHIilkfSj945RyKm+hjM+5i9Ibq9UkE6tsSU=
1668
+ -----END CERTIFICATE-----
1669
+
1670
+ IPS CLASE3 root
1671
+ ===============
1672
+ -----BEGIN CERTIFICATE-----
1673
+ MIIH6jCCB1OgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARIxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1674
+ EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1675
+ Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1676
+ Qi02MDkyOTQ1MjEuMCwGA1UECxMlSVBTIENBIENMQVNFMyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
1677
+ eTEuMCwGA1UEAxMlSVBTIENBIENMQVNFMyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEeMBwGCSqG
1678
+ SIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAxMDE0NFoXDTI1MTIyNzAxMDE0NFow
1679
+ ggESMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQHEwlCYXJjZWxvbmEx
1680
+ LjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMubC4xKzApBgNVBAoU
1681
+ Imlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxLjAsBgNVBAsTJUlQUyBDQSBDTEFT
1682
+ RTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLjAsBgNVBAMTJUlQUyBDQSBDTEFTRTMgQ2VydGlm
1683
+ aWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEWD2lwc0BtYWlsLmlwcy5lczCBnzANBgkq
1684
+ hkiG9w0BAQEFAAOBjQAwgYkCgYEAqxf+DrDGaBtT8FK+n/ra+osTBLsBjzLZH49NzjaY2uQARIwo
1685
+ 2BNEKqRrThckQpzTiKRBgtYj+4vJhuW5qYIF3PHeH+AMmVWY8jjsbJ0gA8DvqqPGZARRLXgNo9Ko
1686
+ OtYkTOmWehisEyMiG3zoMRGzXwmqMHBxRiVrSXGAK5UBsh8CAwEAAaOCBEowggRGMB0GA1UdDgQW
1687
+ BBS4k/8uy9wsjqLnev42USGjmFsMNDCCAUQGA1UdIwSCATswggE3gBS4k/8uy9wsjqLnev42USGj
1688
+ mFsMNKGCARqkggEWMIIBEjELMAkGA1UEBhMCRVMxEjAQBgNVBAgTCUJhcmNlbG9uYTESMBAGA1UE
1689
+ BxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJuZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBz
1690
+ LmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5JLkYuICBCLTYwOTI5NDUyMS4wLAYDVQQL
1691
+ EyVJUFMgQ0EgQ0xBU0UzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVJUFMgQ0Eg
1692
+ Q0xBU0UzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5p
1693
+ cHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMB
1694
+ BggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYB
1695
+ BAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0R
1696
+ BBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBBBglghkgB
1697
+ hvhCAQ0ENBYyQ0xBU0UzIENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5l
1698
+ cy8wKQYJYIZIAYb4QgECBBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMDoGCWCGSAGG+EIB
1699
+ BAQtFitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJDTEFTRTMuY3JsMD8GCWCGSAGG
1700
+ +EIBAwQyFjBodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25DTEFTRTMuaHRtbD8w
1701
+ PAYJYIZIAYb4QgEHBC8WLWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbENMQVNFMy5o
1702
+ dG1sPzA6BglghkgBhvhCAQgELRYraHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lDTEFT
1703
+ RTMuaHRtbDBzBgNVHR8EbDBqMDGgL6AthitodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL2lwczIw
1704
+ MDJDTEFTRTMuY3JsMDWgM6Axhi9odHRwOi8vd3d3YmFjay5pcHMuZXMvaXBzMjAwMi9pcHMyMDAy
1705
+ Q0xBU0UzLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9vY3NwLmlwcy5l
1706
+ cy8wDQYJKoZIhvcNAQEFBQADgYEAF2VcmZVDAyevJuXr0LMXI/dDqsfwfewPxqmurpYPdikc4gYt
1707
+ fibFPPqhwYHOU7BC0ZdXGhd+pFFhxu7pXu8Fuuu9D6eSb9ijBmgpjnn1/7/5p6/ksc7C0YBCJwUE
1708
+ NPjDfxZ4IwwHJPJGR607VNCv1TGyr33I6unUVtkOE7LFRVA=
1709
+ -----END CERTIFICATE-----
1710
+
1711
+ IPS CLASEA1 root
1712
+ ================
1713
+ -----BEGIN CERTIFICATE-----
1714
+ MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1715
+ EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1716
+ Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1717
+ Qi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
1718
+ dHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUExIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJ
1719
+ KoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwHhcNMDExMjI5MDEwNTMyWhcNMjUxMjI3MDEwNTMy
1720
+ WjCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9u
1721
+ YTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE
1722
+ ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENM
1723
+ QVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUExIENl
1724
+ cnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwgZ8w
1725
+ DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALsw19zQVL01Tp/FTILq0VA8R5j8m2mdd81u4D/u6zJf
1726
+ X5/S0HnllXNEITLgCtud186Nq1KLK3jgm1t99P1tCeWu4WwdByOgF9H5fahGRpEiqLJpxq339fWU
1727
+ oTCUvQDMRH/uxJ7JweaPCjbB/SQ9AaD1e+J8eGZDi09Z8pvZ+kmzAgMBAAGjggRTMIIETzAdBgNV
1728
+ HQ4EFgQUZyaW56G/2LUDnf473P7yiuYV3TAwggFGBgNVHSMEggE9MIIBOYAUZyaW56G/2LUDnf47
1729
+ 3P7yiuYV3TChggEcpIIBGDCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ
1730
+ BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2Vydmlj
1731
+ ZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0G
1732
+ A1UECxMmSVBTIENBIENMQVNFQTEgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQ
1733
+ UyBDQSBDTEFTRUExIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNA
1734
+ bWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsG
1735
+ AQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIB
1736
+ FQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcw
1737
+ GgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBC
1738
+ BglghkgBhvhCAQ0ENRYzQ0xBU0VBMSBDQSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3
1739
+ dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyLzA7Bglg
1740
+ hkgBhvhCAQQELhYsaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0xBU0VBMS5jcmww
1741
+ QAYJYIZIAYb4QgEDBDMWMWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmV2b2NhdGlvbkNMQVNF
1742
+ QTEuaHRtbD8wPQYJYIZIAYb4QgEHBDAWLmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdh
1743
+ bENMQVNFQTEuaHRtbD8wOwYJYIZIAYb4QgEIBC4WLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIv
1744
+ cG9saWN5Q0xBU0VBMS5odG1sMHUGA1UdHwRuMGwwMqAwoC6GLGh0dHA6Ly93d3cuaXBzLmVzL2lw
1745
+ czIwMDIvaXBzMjAwMkNMQVNFQTEuY3JsMDagNKAyhjBodHRwOi8vd3d3YmFjay5pcHMuZXMvaXBz
1746
+ MjAwMi9pcHMyMDAyQ0xBU0VBMS5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw
1747
+ Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAH66iqyAAIQVCtWYUQxkxZwCWINmyq0e
1748
+ B81+atqAB98DNEock8RLWCA1NnHtogo1EqWmZaeFaQoO42Hu6r4okzPV7Oi+xNtff6j5YzHIa5bi
1749
+ KcJboOeXNp13XjFr/tOn2yrb25aLH2betgPAK7N41lUH5Y85UN4HI3LmvSAUS7SG
1750
+ -----END CERTIFICATE-----
1751
+
1752
+ IPS CLASEA3 root
1753
+ ================
1754
+ -----BEGIN CERTIFICATE-----
1755
+ MIIH9zCCB2CgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1756
+ EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1757
+ Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1758
+ Qi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENMQVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
1759
+ dHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUEzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJ
1760
+ KoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwHhcNMDExMjI5MDEwNzUwWhcNMjUxMjI3MDEwNzUw
1761
+ WjCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9u
1762
+ YTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UE
1763
+ ChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0GA1UECxMmSVBTIENBIENM
1764
+ QVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQUyBDQSBDTEFTRUEzIENl
1765
+ cnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXMwgZ8w
1766
+ DQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO6AAPYaZC6tasiDsYun7o/ZttvNG7uGBiJ2MwwSbUhW
1767
+ YdLcgiViL5/SaTBlA0IjWLxH3GvWdV0XPOH/8lhneaDBgbHUVqLyjRGZ/fZ98cfEXgIqmuJKtROK
1768
+ AP2Md4bm15T1IHUuDky/dMQ/gT6DtKM4Ninn6Cr1jIhBqoCm42zvAgMBAAGjggRTMIIETzAdBgNV
1769
+ HQ4EFgQUHp9XUEe2YZM50yz82l09BXW3mQIwggFGBgNVHSMEggE9MIIBOYAUHp9XUEe2YZM50yz8
1770
+ 2l09BXW3mQKhggEcpIIBGDCCARQxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCYXJjZWxvbmExEjAQ
1771
+ BgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1Ymxpc2hpbmcgU2Vydmlj
1772
+ ZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAgQi02MDkyOTQ1MjEvMC0G
1773
+ A1UECxMmSVBTIENBIENMQVNFQTMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxLzAtBgNVBAMTJklQ
1774
+ UyBDQSBDTEFTRUEzIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNA
1775
+ bWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB/zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsG
1776
+ AQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIB
1777
+ FQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYKKwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcw
1778
+ GgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVzMBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBC
1779
+ BglghkgBhvhCAQ0ENRYzQ0xBU0VBMyBDQSBDZXJ0aWZpY2F0ZSBpc3N1ZWQgYnkgaHR0cDovL3d3
1780
+ dy5pcHMuZXMvMCkGCWCGSAGG+EIBAgQcFhpodHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyLzA7Bglg
1781
+ hkgBhvhCAQQELhYsaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9pcHMyMDAyQ0xBU0VBMy5jcmww
1782
+ QAYJYIZIAYb4QgEDBDMWMWh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmV2b2NhdGlvbkNMQVNF
1783
+ QTMuaHRtbD8wPQYJYIZIAYb4QgEHBDAWLmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdh
1784
+ bENMQVNFQTMuaHRtbD8wOwYJYIZIAYb4QgEIBC4WLGh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIv
1785
+ cG9saWN5Q0xBU0VBMy5odG1sMHUGA1UdHwRuMGwwMqAwoC6GLGh0dHA6Ly93d3cuaXBzLmVzL2lw
1786
+ czIwMDIvaXBzMjAwMkNMQVNFQTMuY3JsMDagNKAyhjBodHRwOi8vd3d3YmFjay5pcHMuZXMvaXBz
1787
+ MjAwMi9pcHMyMDAyQ0xBU0VBMy5jcmwwLwYIKwYBBQUHAQEEIzAhMB8GCCsGAQUFBzABhhNodHRw
1788
+ Oi8vb2NzcC5pcHMuZXMvMA0GCSqGSIb3DQEBBQUAA4GBAEo9IEca2on0eisxeewBwMwB9dbB/MjD
1789
+ 81ACUZBYKp/nNQlbMAqBACVHr9QPDp5gJqiVp4MI3y2s6Q73nMify5NF8bpqxmdRSmlPa/59Cy9S
1790
+ KcJQrSRE7SOzSMtEQMEDlQwKeAYSAfWRMS1Jjbs/RU4s4OjNtckUFQzjB4ObJnXv
1791
+ -----END CERTIFICATE-----
1792
+
1793
+ IPS Servidores root
1794
+ ===================
1795
+ -----BEGIN CERTIFICATE-----
1796
+ MIICtzCCAiACAQAwDQYJKoZIhvcNAQEEBQAwgaMxCzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCQVJD
1797
+ RUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcGA1UEChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYG
1798
+ A1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQDEw5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3
1799
+ DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTk4MDEwMTIzMjEwN1oXDTA5MTIyOTIzMjEwN1owgaMx
1800
+ CzAJBgNVBAYTAkVTMRIwEAYDVQQIEwlCQVJDRUxPTkExEjAQBgNVBAcTCUJBUkNFTE9OQTEZMBcG
1801
+ A1UEChMQSVBTIFNlZ3VyaWRhZCBDQTEYMBYGA1UECxMPQ2VydGlmaWNhY2lvbmVzMRcwFQYDVQQD
1802
+ Ew5JUFMgU0VSVklET1JFUzEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMIGfMA0GCSqG
1803
+ SIb3DQEBAQUAA4GNADCBiQKBgQCsT1J0nznqjtwlxLyYXZhkJAk8IbPMGbWOlI6H0fg3PqHILVik
1804
+ gDVboXVsHUUMH2Fjal5vmwpMwci4YSM1gf/+rHhwLWjhOgeYlQJU3c0jt4BT18g3RXIGJBK6E2Eh
1805
+ im51KODFDzT9NthFf+G4Nu+z4cYgjui0OLzhPvYR3oydAQIDAQABMA0GCSqGSIb3DQEBBAUAA4GB
1806
+ ACzzw3lYJN7GO9HgQmm47mSzPWIBubOE3yN93ZjPEKn+ANgilgUTB1RXxafey9m4iEL2mdsUdx+2
1807
+ /iU94aI+A6mB0i1sR/WWRowiq8jMDQ6XXotBtDvECgZAHd1G9AHduoIuPD14cJ58GNCr+Lh3B0Zx
1808
+ 8coLY1xq+XKU1QFPoNtC
1809
+ -----END CERTIFICATE-----
1810
+
1811
+ IPS Timestamping root
1812
+ =====================
1813
+ -----BEGIN CERTIFICATE-----
1814
+ MIIIODCCB6GgAwIBAgIBADANBgkqhkiG9w0BAQUFADCCAR4xCzAJBgNVBAYTAkVTMRIwEAYDVQQI
1815
+ EwlCYXJjZWxvbmExEjAQBgNVBAcTCUJhcmNlbG9uYTEuMCwGA1UEChMlSVBTIEludGVybmV0IHB1
1816
+ Ymxpc2hpbmcgU2VydmljZXMgcy5sLjErMCkGA1UEChQiaXBzQG1haWwuaXBzLmVzIEMuSS5GLiAg
1817
+ Qi02MDkyOTQ1MjE0MDIGA1UECxMrSVBTIENBIFRpbWVzdGFtcGluZyBDZXJ0aWZpY2F0aW9uIEF1
1818
+ dGhvcml0eTE0MDIGA1UEAxMrSVBTIENBIFRpbWVzdGFtcGluZyBDZXJ0aWZpY2F0aW9uIEF1dGhv
1819
+ cml0eTEeMBwGCSqGSIb3DQEJARYPaXBzQG1haWwuaXBzLmVzMB4XDTAxMTIyOTAxMTAxOFoXDTI1
1820
+ MTIyNzAxMTAxOFowggEeMQswCQYDVQQGEwJFUzESMBAGA1UECBMJQmFyY2Vsb25hMRIwEAYDVQQH
1821
+ EwlCYXJjZWxvbmExLjAsBgNVBAoTJUlQUyBJbnRlcm5ldCBwdWJsaXNoaW5nIFNlcnZpY2VzIHMu
1822
+ bC4xKzApBgNVBAoUImlwc0BtYWlsLmlwcy5lcyBDLkkuRi4gIEItNjA5Mjk0NTIxNDAyBgNVBAsT
1823
+ K0lQUyBDQSBUaW1lc3RhbXBpbmcgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxNDAyBgNVBAMTK0lQ
1824
+ UyBDQSBUaW1lc3RhbXBpbmcgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHjAcBgkqhkiG9w0BCQEW
1825
+ D2lwc0BtYWlsLmlwcy5lczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLjuVqWajOY2ycJi
1826
+ oGaBjRrVetJznw6EZLqVtJCneK/K/lRhW86yIFcBrkSSQxA4Efdo/BdApWgnMjvEp+ZCccWZ73b/
1827
+ K5Uk9UmSGGjKALWkWi9uy9YbLA1UZ2t6KaFYq6JaANZbuxjC3/YeE1Z2m6Vo4pjOxgOKNNtMg0Gm
1828
+ qaMCAwEAAaOCBIAwggR8MB0GA1UdDgQWBBSL0BBQCYHynQnVDmB4AyKiP8jKZjCCAVAGA1UdIwSC
1829
+ AUcwggFDgBSL0BBQCYHynQnVDmB4AyKiP8jKZqGCASakggEiMIIBHjELMAkGA1UEBhMCRVMxEjAQ
1830
+ BgNVBAgTCUJhcmNlbG9uYTESMBAGA1UEBxMJQmFyY2Vsb25hMS4wLAYDVQQKEyVJUFMgSW50ZXJu
1831
+ ZXQgcHVibGlzaGluZyBTZXJ2aWNlcyBzLmwuMSswKQYDVQQKFCJpcHNAbWFpbC5pcHMuZXMgQy5J
1832
+ LkYuICBCLTYwOTI5NDUyMTQwMgYDVQQLEytJUFMgQ0EgVGltZXN0YW1waW5nIENlcnRpZmljYXRp
1833
+ b24gQXV0aG9yaXR5MTQwMgYDVQQDEytJUFMgQ0EgVGltZXN0YW1waW5nIENlcnRpZmljYXRpb24g
1834
+ QXV0aG9yaXR5MR4wHAYJKoZIhvcNAQkBFg9pcHNAbWFpbC5pcHMuZXOCAQAwDAYDVR0TBAUwAwEB
1835
+ /zAMBgNVHQ8EBQMDB/+AMGsGA1UdJQRkMGIGCCsGAQUFBwMBBggrBgEFBQcDAgYIKwYBBQUHAwMG
1836
+ CCsGAQUFBwMEBggrBgEFBQcDCAYKKwYBBAGCNwIBFQYKKwYBBAGCNwIBFgYKKwYBBAGCNwoDAQYK
1837
+ KwYBBAGCNwoDBDARBglghkgBhvhCAQEEBAMCAAcwGgYDVR0RBBMwEYEPaXBzQG1haWwuaXBzLmVz
1838
+ MBoGA1UdEgQTMBGBD2lwc0BtYWlsLmlwcy5lczBHBglghkgBhvhCAQ0EOhY4VGltZXN0YW1waW5n
1839
+ IENBIENlcnRpZmljYXRlIGlzc3VlZCBieSBodHRwOi8vd3d3Lmlwcy5lcy8wKQYJYIZIAYb4QgEC
1840
+ BBwWGmh0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvMEAGCWCGSAGG+EIBBAQzFjFodHRwOi8vd3d3
1841
+ Lmlwcy5lcy9pcHMyMDAyL2lwczIwMDJUaW1lc3RhbXBpbmcuY3JsMEUGCWCGSAGG+EIBAwQ4FjZo
1842
+ dHRwOi8vd3d3Lmlwcy5lcy9pcHMyMDAyL3Jldm9jYXRpb25UaW1lc3RhbXBpbmcuaHRtbD8wQgYJ
1843
+ YIZIAYb4QgEHBDUWM2h0dHA6Ly93d3cuaXBzLmVzL2lwczIwMDIvcmVuZXdhbFRpbWVzdGFtcGlu
1844
+ Zy5odG1sPzBABglghkgBhvhCAQgEMxYxaHR0cDovL3d3dy5pcHMuZXMvaXBzMjAwMi9wb2xpY3lU
1845
+ aW1lc3RhbXBpbmcuaHRtbDB/BgNVHR8EeDB2MDegNaAzhjFodHRwOi8vd3d3Lmlwcy5lcy9pcHMy
1846
+ MDAyL2lwczIwMDJUaW1lc3RhbXBpbmcuY3JsMDugOaA3hjVodHRwOi8vd3d3YmFjay5pcHMuZXMv
1847
+ aXBzMjAwMi9pcHMyMDAyVGltZXN0YW1waW5nLmNybDAvBggrBgEFBQcBAQQjMCEwHwYIKwYBBQUH
1848
+ MAGGE2h0dHA6Ly9vY3NwLmlwcy5lcy8wDQYJKoZIhvcNAQEFBQADgYEAZbrBzAAalZHK6Ww6vzoe
1849
+ FAh8+4Pua2JR0zORtWB5fgTYXXk36MNbsMRnLWhasl8OCvrNPzpFoeo2zyYepxEoxZSPhExTCMWT
1850
+ s/zif/WN87GphV+I3pGW7hdbrqXqcGV4LCFkAZXOzkw+UPS2Wctjjba9GNSHSl/c7+lW8AoM6HU=
1851
+ -----END CERTIFICATE-----
1852
+
1853
+ QuoVadis Root CA
1854
+ ================
1855
+ -----BEGIN CERTIFICATE-----
1856
+ MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
1857
+ ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
1858
+ eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
1859
+ MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
1860
+ cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
1861
+ EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
1862
+ AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
1863
+ J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
1864
+ F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
1865
+ YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
1866
+ AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
1867
+ PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
1868
+ ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
1869
+ MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
1870
+ YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
1871
+ ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
1872
+ Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
1873
+ Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
1874
+ BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
1875
+ FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
1876
+ aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
1877
+ tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
1878
+ fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
1879
+ LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
1880
+ gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
1881
+ 5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
1882
+ 5nrQNiOKSnQ2+Q==
1883
+ -----END CERTIFICATE-----
1884
+
1885
+ QuoVadis Root CA 2
1886
+ ==================
1887
+ -----BEGIN CERTIFICATE-----
1888
+ MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
1889
+ EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
1890
+ ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
1891
+ aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1892
+ DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
1893
+ XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
1894
+ lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
1895
+ lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
1896
+ lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
1897
+ 66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
1898
+ wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
1899
+ D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
1900
+ BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
1901
+ J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
1902
+ DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
1903
+ a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
1904
+ ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
1905
+ Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
1906
+ UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
1907
+ VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
1908
+ +JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
1909
+ IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
1910
+ WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
1911
+ f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
1912
+ 4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
1913
+ VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
1914
+ -----END CERTIFICATE-----
1915
+
1916
+ QuoVadis Root CA 3
1917
+ ==================
1918
+ -----BEGIN CERTIFICATE-----
1919
+ MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
1920
+ EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
1921
+ OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
1922
+ aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1923
+ DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
1924
+ DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
1925
+ KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
1926
+ DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
1927
+ BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
1928
+ p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
1929
+ nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
1930
+ MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
1931
+ Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
1932
+ uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
1933
+ BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
1934
+ YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
1935
+ aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
1936
+ BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
1937
+ VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
1938
+ ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
1939
+ AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
1940
+ qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
1941
+ hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
1942
+ POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
1943
+ Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
1944
+ 8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
1945
+ bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
1946
+ g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
1947
+ vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
1948
+ qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
1949
+ -----END CERTIFICATE-----
1950
+
1951
+ Security Communication Root CA
1952
+ ==============================
1953
+ -----BEGIN CERTIFICATE-----
1954
+ MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
1955
+ U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
1956
+ HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
1957
+ U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
1958
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
1959
+ 8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
1960
+ DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
1961
+ 5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
1962
+ DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
1963
+ JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
1964
+ DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
1965
+ 0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
1966
+ mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
1967
+ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
1968
+ 6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
1969
+ FL39vmwLAw==
1970
+ -----END CERTIFICATE-----
1971
+
1972
+ Sonera Class 1 Root CA
1973
+ ======================
1974
+ -----BEGIN CERTIFICATE-----
1975
+ MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
1976
+ U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw
1977
+ NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
1978
+ IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88
1979
+ 7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9
1980
+ EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl
1981
+ 0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645
1982
+ 2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa
1983
+ HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT
1984
+ iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9
1985
+ 28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV
1986
+ yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR
1987
+ vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P
1988
+ qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z
1989
+ IRlXvVWa
1990
+ -----END CERTIFICATE-----
1991
+
1992
+ Sonera Class 2 Root CA
1993
+ ======================
1994
+ -----BEGIN CERTIFICATE-----
1995
+ MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
1996
+ U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
1997
+ NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
1998
+ IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
1999
+ /Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
2000
+ dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
2001
+ f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
2002
+ tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
2003
+ nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
2004
+ XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
2005
+ 0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
2006
+ cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
2007
+ Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
2008
+ EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
2009
+ llpwrN9M
2010
+ -----END CERTIFICATE-----
2011
+
2012
+ Staat der Nederlanden Root CA
2013
+ =============================
2014
+ -----BEGIN CERTIFICATE-----
2015
+ MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
2016
+ ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
2017
+ Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
2018
+ HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
2019
+ bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
2020
+ vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
2021
+ jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
2022
+ C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
2023
+ vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
2024
+ 22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
2025
+ HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
2026
+ dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
2027
+ BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
2028
+ EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
2029
+ MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
2030
+ nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
2031
+ iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
2032
+ -----END CERTIFICATE-----
2033
+
2034
+ TDC Internet Root CA
2035
+ ====================
2036
+ -----BEGIN CERTIFICATE-----
2037
+ MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE
2038
+ ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx
2039
+ NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu
2040
+ ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
2041
+ MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j
2042
+ xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL
2043
+ znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc
2044
+ 5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6
2045
+ otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI
2046
+ AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM
2047
+ VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM
2048
+ MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC
2049
+ AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe
2050
+ UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G
2051
+ CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m
2052
+ gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
2053
+ 2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb
2054
+ O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU
2055
+ Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l
2056
+ -----END CERTIFICATE-----
2057
+
2058
+ TDC OCES Root CA
2059
+ ================
2060
+ -----BEGIN CERTIFICATE-----
2061
+ MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE
2062
+ ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5
2063
+ MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB
2064
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH
2065
+ nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0
2066
+ zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV
2067
+ iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde
2068
+ dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO
2069
+ 3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB
2070
+ 5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k
2071
+ ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm
2072
+ cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp
2073
+ Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x
2074
+ LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM
2075
+ MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm
2076
+ aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy
2077
+ MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647
2078
+ +RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6
2079
+ NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4
2080
+ A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc
2081
+ A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9
2082
+ AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1
2083
+ AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw==
2084
+ -----END CERTIFICATE-----
2085
+
2086
+ UTN DATACorp SGC Root CA
2087
+ ========================
2088
+ -----BEGIN CERTIFICATE-----
2089
+ MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
2090
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
2091
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
2092
+ BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
2093
+ MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
2094
+ HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
2095
+ dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
2096
+ AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
2097
+ raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
2098
+ wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
2099
+ 9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
2100
+ 33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
2101
+ DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
2102
+ BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
2103
+ LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
2104
+ DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
2105
+ Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
2106
+ I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
2107
+ EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
2108
+ DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
2109
+ -----END CERTIFICATE-----
2110
+
2111
+ UTN USERFirst Email Root CA
2112
+ ===========================
2113
+ -----BEGIN CERTIFICATE-----
2114
+ MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
2115
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
2116
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0
2117
+ BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05
2118
+ OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx
2119
+ FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx
2120
+ ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz
2121
+ dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
2122
+ MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx
2123
+ B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8
2124
+ om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG
2125
+ TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl
2126
+ yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE
2127
+ AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV
2128
+ HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll
2129
+ bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
2130
+ AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne
2131
+ xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+
2132
+ 5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV
2133
+ NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ
2134
+ w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
2135
+ -----END CERTIFICATE-----
2136
+
2137
+ UTN USERFirst Hardware Root CA
2138
+ ==============================
2139
+ -----BEGIN CERTIFICATE-----
2140
+ MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
2141
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
2142
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
2143
+ BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
2144
+ OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
2145
+ eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
2146
+ ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
2147
+ DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
2148
+ wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
2149
+ tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
2150
+ i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
2151
+ Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
2152
+ gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
2153
+ lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
2154
+ UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
2155
+ BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
2156
+ //bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
2157
+ XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
2158
+ lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
2159
+ iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
2160
+ nfhmqA==
2161
+ -----END CERTIFICATE-----
2162
+
2163
+ UTN USERFirst Object Root CA
2164
+ ============================
2165
+ -----BEGIN CERTIFICATE-----
2166
+ MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE
2167
+ BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
2168
+ IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb
2169
+ BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz
2170
+ NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx
2171
+ HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy
2172
+ dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB
2173
+ BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR
2174
+ loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ
2175
+ w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu
2176
+ lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7
2177
+ RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL
2178
+ BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8
2179
+ ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly
2180
+ c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw
2181
+ DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
2182
+ NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO
2183
+ PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE
2184
+ qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG
2185
+ hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
2186
+ -----END CERTIFICATE-----
2187
+
2188
+ Camerfirma Chambers of Commerce Root
2189
+ ====================================
2190
+ -----BEGIN CERTIFICATE-----
2191
+ MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
2192
+ QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
2193
+ ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
2194
+ NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
2195
+ cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
2196
+ MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
2197
+ AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
2198
+ xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
2199
+ NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
2200
+ DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
2201
+ d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
2202
+ EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
2203
+ cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
2204
+ AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
2205
+ bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
2206
+ VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
2207
+ aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
2208
+ fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
2209
+ L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
2210
+ UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
2211
+ ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
2212
+ erfutGWaIZDgqtCYvDi1czyL+Nw=
2213
+ -----END CERTIFICATE-----
2214
+
2215
+ Camerfirma Global Chambersign Root
2216
+ ==================================
2217
+ -----BEGIN CERTIFICATE-----
2218
+ MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
2219
+ QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
2220
+ ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
2221
+ NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
2222
+ YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
2223
+ MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
2224
+ ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
2225
+ 1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
2226
+ by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
2227
+ 6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
2228
+ 8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
2229
+ BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
2230
+ aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
2231
+ Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
2232
+ aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
2233
+ ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
2234
+ bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
2235
+ PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
2236
+ gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
2237
+ PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
2238
+ IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
2239
+ t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
2240
+ -----END CERTIFICATE-----
2241
+
2242
+ NetLock Qualified (Class QA) Root
2243
+ =================================
2244
+ -----BEGIN CERTIFICATE-----
2245
+ MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
2246
+ CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
2247
+ BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn
2248
+ eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0
2249
+ bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER
2250
+ MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0
2251
+ LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0
2252
+ dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP
2253
+ aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV
2254
+ CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e
2255
+ 8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb
2256
+ m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ
2257
+ 0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM
2258
+ 0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
2259
+ HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2
2260
+ YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
2261
+ biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p
2262
+ a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz
2263
+ YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg
2264
+ YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg
2265
+ ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov
2266
+ L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr
2267
+ Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0
2268
+ aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg
2269
+ YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0
2270
+ IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3
2271
+ DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN
2272
+ wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg
2273
+ W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc
2274
+ R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR
2275
+ 5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko
2276
+ -----END CERTIFICATE-----
2277
+
2278
+ NetLock Notary (Class A) Root
2279
+ =============================
2280
+ -----BEGIN CERTIFICATE-----
2281
+ MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
2282
+ EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
2283
+ dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
2284
+ ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
2285
+ DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
2286
+ EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
2287
+ VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
2288
+ cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
2289
+ D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
2290
+ z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
2291
+ /tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
2292
+ tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
2293
+ 4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
2294
+ A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
2295
+ Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
2296
+ bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
2297
+ IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
2298
+ LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
2299
+ ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
2300
+ IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
2301
+ IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
2302
+ b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
2303
+ bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
2304
+ Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
2305
+ bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
2306
+ ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
2307
+ ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
2308
+ CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
2309
+ KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
2310
+ 8CgHrTwXZoi1/baI
2311
+ -----END CERTIFICATE-----
2312
+
2313
+ NetLock Business (Class B) Root
2314
+ ===============================
2315
+ -----BEGIN CERTIFICATE-----
2316
+ MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
2317
+ CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
2318
+ BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg
2319
+ VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD
2320
+ VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv
2321
+ bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg
2322
+ VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
2323
+ iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S
2324
+ o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr
2325
+ 1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
2326
+ HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ
2327
+ RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh
2328
+ dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0
2329
+ ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv
2330
+ c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg
2331
+ YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
2332
+ c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz
2333
+ Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA
2334
+ bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl
2335
+ IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2
2336
+ YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj
2337
+ cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM
2338
+ 43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR
2339
+ stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI
2340
+ -----END CERTIFICATE-----
2341
+
2342
+ NetLock Express (Class C) Root
2343
+ ==============================
2344
+ -----BEGIN CERTIFICATE-----
2345
+ MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT
2346
+ CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
2347
+ BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD
2348
+ KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ
2349
+ BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
2350
+ dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j
2351
+ ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB
2352
+ jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z
2353
+ W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63
2354
+ euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw
2355
+ DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN
2356
+ RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn
2357
+ YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB
2358
+ IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i
2359
+ aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0
2360
+ ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
2361
+ ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo
2362
+ dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y
2363
+ emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k
2364
+ IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ
2365
+ UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg
2366
+ YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2
2367
+ xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW
2368
+ gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A==
2369
+ -----END CERTIFICATE-----
2370
+
2371
+ XRamp Global CA Root
2372
+ ====================
2373
+ -----BEGIN CERTIFICATE-----
2374
+ MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
2375
+ BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
2376
+ dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
2377
+ dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
2378
+ HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
2379
+ U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
2380
+ dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
2381
+ IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
2382
+ foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
2383
+ zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
2384
+ AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
2385
+ xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
2386
+ EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
2387
+ oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
2388
+ AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
2389
+ /Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
2390
+ qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
2391
+ nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
2392
+ 8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
2393
+ -----END CERTIFICATE-----
2394
+
2395
+ Go Daddy Class 2 CA
2396
+ ===================
2397
+ -----BEGIN CERTIFICATE-----
2398
+ MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
2399
+ VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
2400
+ ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
2401
+ A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
2402
+ RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
2403
+ ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
2404
+ 2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
2405
+ qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
2406
+ YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
2407
+ vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
2408
+ BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
2409
+ atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
2410
+ MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
2411
+ A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
2412
+ PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
2413
+ I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
2414
+ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
2415
+ Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
2416
+ vZ8=
2417
+ -----END CERTIFICATE-----
2418
+
2419
+ Starfield Class 2 CA
2420
+ ====================
2421
+ -----BEGIN CERTIFICATE-----
2422
+ MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
2423
+ U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
2424
+ Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
2425
+ MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
2426
+ A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
2427
+ SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
2428
+ bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
2429
+ JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
2430
+ epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
2431
+ F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
2432
+ MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
2433
+ hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
2434
+ bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
2435
+ QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
2436
+ afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
2437
+ PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
2438
+ xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
2439
+ KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
2440
+ QBFGmh95DmK/D5fs4C8fF5Q=
2441
+ -----END CERTIFICATE-----
2442
+
2443
+ StartCom Ltd.
2444
+ =============
2445
+ -----BEGIN CERTIFICATE-----
2446
+ MIIFFjCCBH+gAwIBAgIBADANBgkqhkiG9w0BAQQFADCBsDELMAkGA1UEBhMCSUwxDzANBgNVBAgT
2447
+ BklzcmFlbDEOMAwGA1UEBxMFRWlsYXQxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xGjAYBgNVBAsT
2448
+ EUNBIEF1dGhvcml0eSBEZXAuMSkwJwYDVQQDEyBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhv
2449
+ cml0eTEhMB8GCSqGSIb3DQEJARYSYWRtaW5Ac3RhcnRjb20ub3JnMB4XDTA1MDMxNzE3Mzc0OFoX
2450
+ DTM1MDMxMDE3Mzc0OFowgbAxCzAJBgNVBAYTAklMMQ8wDQYDVQQIEwZJc3JhZWwxDjAMBgNVBAcT
2451
+ BUVpbGF0MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMRowGAYDVQQLExFDQSBBdXRob3JpdHkgRGVw
2452
+ LjEpMCcGA1UEAxMgRnJlZSBTU0wgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxITAfBgkqhkiG9w0B
2453
+ CQEWEmFkbWluQHN0YXJ0Y29tLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA7YRgACOe
2454
+ yEpRKSfeOqE5tWmrCbIvNP1h3D3TsM+x18LEwrHkllbEvqoUDufMOlDIOmKdw6OsWXuO7lUaHEe+
2455
+ o5c5s7XvIywI6Nivcy+5yYPo7QAPyHWlLzRMGOh2iCNJitu27Wjaw7ViKUylS7eYtAkUEKD4/mJ2
2456
+ IhULpNYILzUCAwEAAaOCAjwwggI4MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgHmMB0GA1Ud
2457
+ DgQWBBQcicOWzL3+MtUNjIExtpidjShkjTCB3QYDVR0jBIHVMIHSgBQcicOWzL3+MtUNjIExtpid
2458
+ jShkjaGBtqSBszCBsDELMAkGA1UEBhMCSUwxDzANBgNVBAgTBklzcmFlbDEOMAwGA1UEBxMFRWls
2459
+ YXQxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xGjAYBgNVBAsTEUNBIEF1dGhvcml0eSBEZXAuMSkw
2460
+ JwYDVQQDEyBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYS
2461
+ YWRtaW5Ac3RhcnRjb20ub3JnggEAMB0GA1UdEQQWMBSBEmFkbWluQHN0YXJ0Y29tLm9yZzAdBgNV
2462
+ HRIEFjAUgRJhZG1pbkBzdGFydGNvbS5vcmcwEQYJYIZIAYb4QgEBBAQDAgAHMC8GCWCGSAGG+EIB
2463
+ DQQiFiBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAyBglghkgBhvhCAQQEJRYjaHR0
2464
+ cDovL2NlcnQuc3RhcnRjb20ub3JnL2NhLWNybC5jcmwwKAYJYIZIAYb4QgECBBsWGWh0dHA6Ly9j
2465
+ ZXJ0LnN0YXJ0Y29tLm9yZy8wOQYJYIZIAYb4QgEIBCwWKmh0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9y
2466
+ Zy9pbmRleC5waHA/YXBwPTExMTANBgkqhkiG9w0BAQQFAAOBgQBscSXhnjSRIe/bbL0BCFaPiNhB
2467
+ OlP1ct8nV0t2hPdopP7rPwl+KLhX6h/BquL/lp9JmeaylXOWxkjHXo0Hclb4g4+fd68p00UOpO6w
2468
+ NnQt8M2YI3s3S9r+UZjEHjQ8iP2ZO1CnwYszx8JSFhKVU2Ui77qLzmLbcCOxgN8aIDjnfg==
2469
+ -----END CERTIFICATE-----
2470
+
2471
+ StartCom Certification Authority
2472
+ ================================
2473
+ -----BEGIN CERTIFICATE-----
2474
+ MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
2475
+ U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
2476
+ ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
2477
+ NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
2478
+ LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
2479
+ U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
2480
+ ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
2481
+ o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
2482
+ Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
2483
+ eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
2484
+ 2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
2485
+ 6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
2486
+ osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
2487
+ untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
2488
+ UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
2489
+ 37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
2490
+ FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
2491
+ Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
2492
+ YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
2493
+ AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
2494
+ Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
2495
+ U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
2496
+ LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
2497
+ cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
2498
+ cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
2499
+ dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
2500
+ AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
2501
+ 3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
2502
+ vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
2503
+ fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
2504
+ fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
2505
+ EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
2506
+ yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
2507
+ 1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
2508
+ lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
2509
+ g14=
2510
+ -----END CERTIFICATE-----
2511
+
2512
+ Taiwan GRCA
2513
+ ===========
2514
+ -----BEGIN CERTIFICATE-----
2515
+ MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
2516
+ EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
2517
+ DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
2518
+ dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
2519
+ ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
2520
+ w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
2521
+ BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
2522
+ 1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
2523
+ htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
2524
+ J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
2525
+ Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
2526
+ B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
2527
+ O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
2528
+ lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
2529
+ HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
2530
+ 09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
2531
+ TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
2532
+ Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
2533
+ Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
2534
+ D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
2535
+ DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
2536
+ Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
2537
+ 7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
2538
+ CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
2539
+ +fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
2540
+ -----END CERTIFICATE-----
2541
+
2542
+ Firmaprofesional Root CA
2543
+ ========================
2544
+ -----BEGIN CERTIFICATE-----
2545
+ MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT
2546
+ GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp
2547
+ Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA
2548
+ ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL
2549
+ MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT
2550
+ OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2
2551
+ ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB
2552
+ AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V
2553
+ j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH
2554
+ lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf
2555
+ 3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8
2556
+ NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww
2557
+ KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG
2558
+ AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud
2559
+ DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD
2560
+ ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq
2561
+ u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf
2562
+ wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
2563
+ 7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG
2564
+ VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
2565
+ -----END CERTIFICATE-----
2566
+
2567
+ Wells Fargo Root CA
2568
+ ===================
2569
+ -----BEGIN CERTIFICATE-----
2570
+ MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV
2571
+ BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv
2572
+ cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
2573
+ MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl
2574
+ bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv
2575
+ MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
2576
+ SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX
2577
+ x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3
2578
+ E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5
2579
+ OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j
2580
+ sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj
2581
+ YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF
2582
+ BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD
2583
+ ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv
2584
+ m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R
2585
+ OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx
2586
+ x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023
2587
+ tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s=
2588
+ -----END CERTIFICATE-----
2589
+
2590
+ Swisscom Root CA 1
2591
+ ==================
2592
+ -----BEGIN CERTIFICATE-----
2593
+ MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
2594
+ EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
2595
+ dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
2596
+ MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
2597
+ aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
2598
+ IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
2599
+ MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
2600
+ NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
2601
+ AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
2602
+ b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
2603
+ 7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
2604
+ cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
2605
+ WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
2606
+ haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
2607
+ MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
2608
+ HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
2609
+ BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
2610
+ MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
2611
+ jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
2612
+ MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
2613
+ VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
2614
+ vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
2615
+ OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
2616
+ 1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
2617
+ nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
2618
+ x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
2619
+ NY6E0F/6MBr1mmz0DlP5OlvRHA==
2620
+ -----END CERTIFICATE-----
2621
+
2622
+ DigiCert Assured ID Root CA
2623
+ ===========================
2624
+ -----BEGIN CERTIFICATE-----
2625
+ MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
2626
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
2627
+ IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
2628
+ MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
2629
+ ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
2630
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
2631
+ 9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
2632
+ UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
2633
+ /lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
2634
+ oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
2635
+ GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
2636
+ 66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
2637
+ hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
2638
+ EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
2639
+ SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
2640
+ 8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
2641
+ +o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
2642
+ -----END CERTIFICATE-----
2643
+
2644
+ DigiCert Global Root CA
2645
+ =======================
2646
+ -----BEGIN CERTIFICATE-----
2647
+ MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
2648
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
2649
+ HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
2650
+ MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
2651
+ dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
2652
+ hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
2653
+ TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
2654
+ BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
2655
+ 4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
2656
+ 7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
2657
+ o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
2658
+ 8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
2659
+ BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
2660
+ EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
2661
+ tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
2662
+ UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
2663
+ CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
2664
+ -----END CERTIFICATE-----
2665
+
2666
+ DigiCert High Assurance EV Root CA
2667
+ ==================================
2668
+ -----BEGIN CERTIFICATE-----
2669
+ MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
2670
+ EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
2671
+ KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
2672
+ MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
2673
+ MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
2674
+ Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
2675
+ Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
2676
+ OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
2677
+ MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
2678
+ NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
2679
+ h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
2680
+ Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
2681
+ JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
2682
+ V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
2683
+ myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
2684
+ mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
2685
+ vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
2686
+ -----END CERTIFICATE-----
2687
+
2688
+ Certplus Class 2 Primary CA
2689
+ ===========================
2690
+ -----BEGIN CERTIFICATE-----
2691
+ MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
2692
+ BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
2693
+ OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
2694
+ dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
2695
+ ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
2696
+ 5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
2697
+ Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
2698
+ YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
2699
+ e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
2700
+ CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
2701
+ YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
2702
+ L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
2703
+ P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
2704
+ TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
2705
+ 7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
2706
+ //1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
2707
+ l7+ijrRU
2708
+ -----END CERTIFICATE-----
2709
+
2710
+ DST Root CA X3
2711
+ ==============
2712
+ -----BEGIN CERTIFICATE-----
2713
+ MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
2714
+ ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
2715
+ DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
2716
+ cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
2717
+ ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
2718
+ rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
2719
+ UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
2720
+ xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
2721
+ utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
2722
+ AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
2723
+ MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
2724
+ dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
2725
+ GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
2726
+ RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
2727
+ fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
2728
+ -----END CERTIFICATE-----
2729
+
2730
+ DST ACES CA X6
2731
+ ==============
2732
+ -----BEGIN CERTIFICATE-----
2733
+ MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
2734
+ EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
2735
+ MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
2736
+ MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
2737
+ CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
2738
+ AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
2739
+ DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
2740
+ pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
2741
+ GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
2742
+ MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
2743
+ EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
2744
+ Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
2745
+ dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
2746
+ CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
2747
+ 5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
2748
+ Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
2749
+ nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
2750
+ vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
2751
+ oKfN5XozNmr6mis=
2752
+ -----END CERTIFICATE-----
2753
+
2754
+ TURKTRUST Certificate Services Provider Root 1
2755
+ ==============================================
2756
+ -----BEGIN CERTIFICATE-----
2757
+ MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
2758
+ bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
2759
+ MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
2760
+ acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
2761
+ MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
2762
+ U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
2763
+ TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
2764
+ aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
2765
+ AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
2766
+ yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
2767
+ Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
2768
+ 8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
2769
+ W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
2770
+ BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
2771
+ sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
2772
+ q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
2773
+ B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
2774
+ nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
2775
+ -----END CERTIFICATE-----
2776
+
2777
+ TURKTRUST Certificate Services Provider Root 2
2778
+ ==============================================
2779
+ -----BEGIN CERTIFICATE-----
2780
+ MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
2781
+ bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
2782
+ MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
2783
+ QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
2784
+ MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
2785
+ dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
2786
+ A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
2787
+ acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
2788
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
2789
+ LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
2790
+ x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
2791
+ QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
2792
+ 5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
2793
+ AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
2794
+ A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
2795
+ Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
2796
+ Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
2797
+ hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
2798
+ 9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
2799
+ UrbnBEI=
2800
+ -----END CERTIFICATE-----
2801
+
2802
+ SwissSign Platinum CA - G2
2803
+ ==========================
2804
+ -----BEGIN CERTIFICATE-----
2805
+ MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT
2806
+ BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw
2807
+ HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM
2808
+ U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ
2809
+ KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu
2810
+ 669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF
2811
+ eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne
2812
+ WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo
2813
+ j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6
2814
+ 8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T
2815
+ aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy
2816
+ domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D
2817
+ +m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV
2818
+ CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
2819
+ EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv
2820
+ zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW
2821
+ IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1
2822
+ Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3
2823
+ NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4
2824
+ U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8
2825
+ KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl
2826
+ 9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B
2827
+ aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs
2828
+ OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY
2829
+ Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci
2830
+ IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g==
2831
+ -----END CERTIFICATE-----
2832
+
2833
+ SwissSign Gold CA - G2
2834
+ ======================
2835
+ -----BEGIN CERTIFICATE-----
2836
+ MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
2837
+ EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
2838
+ MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
2839
+ c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
2840
+ AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
2841
+ t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
2842
+ jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
2843
+ vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
2844
+ ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
2845
+ AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
2846
+ jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
2847
+ peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
2848
+ 7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
2849
+ GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
2850
+ AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
2851
+ OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
2852
+ L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
2853
+ 5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
2854
+ 44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
2855
+ Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
2856
+ Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
2857
+ mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
2858
+ vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
2859
+ KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
2860
+ NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
2861
+ viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
2862
+ -----END CERTIFICATE-----
2863
+
2864
+ SwissSign Silver CA - G2
2865
+ ========================
2866
+ -----BEGIN CERTIFICATE-----
2867
+ MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
2868
+ BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
2869
+ DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
2870
+ aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
2871
+ 9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
2872
+ N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
2873
+ +/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
2874
+ 6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
2875
+ MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
2876
+ qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
2877
+ FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
2878
+ ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
2879
+ celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
2880
+ CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
2881
+ BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
2882
+ tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
2883
+ cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
2884
+ 4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
2885
+ kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
2886
+ 3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
2887
+ /uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
2888
+ DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
2889
+ e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
2890
+ WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
2891
+ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
2892
+ DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
2893
+ -----END CERTIFICATE-----
2894
+
2895
+ GeoTrust Primary Certification Authority
2896
+ ========================================
2897
+ -----BEGIN CERTIFICATE-----
2898
+ MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
2899
+ EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
2900
+ ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
2901
+ CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
2902
+ cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
2903
+ CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
2904
+ b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
2905
+ nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
2906
+ RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
2907
+ tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
2908
+ AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
2909
+ hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
2910
+ Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
2911
+ NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
2912
+ Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
2913
+ 1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
2914
+ -----END CERTIFICATE-----
2915
+
2916
+ thawte Primary Root CA
2917
+ ======================
2918
+ -----BEGIN CERTIFICATE-----
2919
+ MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
2920
+ BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
2921
+ aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
2922
+ cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
2923
+ MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
2924
+ SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
2925
+ KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
2926
+ FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
2927
+ oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
2928
+ 1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
2929
+ q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
2930
+ aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
2931
+ afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
2932
+ VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
2933
+ AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
2934
+ uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
2935
+ xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
2936
+ jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
2937
+ z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
2938
+ -----END CERTIFICATE-----
2939
+
2940
+ VeriSign Class 3 Public Primary Certification Authority - G5
2941
+ ============================================================
2942
+ -----BEGIN CERTIFICATE-----
2943
+ MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
2944
+ BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
2945
+ ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
2946
+ IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
2947
+ ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
2948
+ yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
2949
+ biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
2950
+ dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
2951
+ YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
2952
+ ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
2953
+ j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
2954
+ Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
2955
+ Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
2956
+ fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
2957
+ BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
2958
+ Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
2959
+ aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
2960
+ SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
2961
+ X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
2962
+ KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
2963
+ Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
2964
+ ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
2965
+ -----END CERTIFICATE-----
2966
+
2967
+ SecureTrust CA
2968
+ ==============
2969
+ -----BEGIN CERTIFICATE-----
2970
+ MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
2971
+ EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
2972
+ dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
2973
+ BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
2974
+ ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
2975
+ OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
2976
+ DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
2977
+ GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
2978
+ 01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
2979
+ ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
2980
+ BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
2981
+ aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
2982
+ KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
2983
+ SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
2984
+ mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
2985
+ nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
2986
+ 3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
2987
+ -----END CERTIFICATE-----
2988
+
2989
+ Secure Global CA
2990
+ ================
2991
+ -----BEGIN CERTIFICATE-----
2992
+ MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
2993
+ EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
2994
+ bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
2995
+ MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
2996
+ Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
2997
+ YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
2998
+ bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
2999
+ 8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
3000
+ HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
3001
+ 0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
3002
+ EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
3003
+ oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
3004
+ MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
3005
+ OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
3006
+ CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
3007
+ 3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
3008
+ f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
3009
+ -----END CERTIFICATE-----
3010
+
3011
+ COMODO Certification Authority
3012
+ ==============================
3013
+ -----BEGIN CERTIFICATE-----
3014
+ MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
3015
+ BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
3016
+ A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
3017
+ dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
3018
+ MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
3019
+ T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
3020
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
3021
+ +7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
3022
+ xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
3023
+ 4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
3024
+ 1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
3025
+ rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
3026
+ BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
3027
+ b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
3028
+ AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
3029
+ OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
3030
+ RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
3031
+ IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
3032
+ +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
3033
+ -----END CERTIFICATE-----
3034
+
3035
+ DigiNotar Root CA
3036
+ =================
3037
+ -----BEGIN CERTIFICATE-----
3038
+ MIIFijCCA3KgAwIBAgIQDHbanJEMTiye/hXQWJM8TDANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQG
3039
+ EwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90YXIgUm9vdCBDQTEgMB4G
3040
+ CSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwHhcNMDcwNTE2MTcxOTM2WhcNMjUwMzMxMTgx
3041
+ OTIxWjBfMQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90
3042
+ YXIgUm9vdCBDQTEgMB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwggIiMA0GCSqGSIb3
3043
+ DQEBAQUAA4ICDwAwggIKAoICAQCssFjBAL3YIQgLK5r+blYwBZ8bd5AQQVzDDYcRd46B8cp86Yxq
3044
+ 7Th0Nbva3/m7wAk3tJZzgX0zGpg595NvlX89ubF1h7pRSOiLcD6VBMXYtsMW2YiwsYcdcNqGtA8U
3045
+ i3rPENF0NqISe3eGSnnme98CEWilToauNFibJBN4ViIlHgGLS1Fx+4LMWZZpiFpoU8W5DQI3y0u8
3046
+ ZkqQfioLBQftFl9VkHXYRskbg+IIvvEjzJkd1ioPgyAVWCeCLvriIsJJsbkBgWqdbZ1Ad2h2TiEq
3047
+ bYRAhU52mXyC8/O3AlnUJgEbjt+tUwbRrhjd4rI6y9eIOI6sWym5GdOY+RgDz0iChmYLG2kPyes4
3048
+ iHomGgVMktck1JbyrFIto0fVUvY//s6EBnCmqj6i8rZWNBhXouSBbefK8GrTx5FrAoNBfBXva5pk
3049
+ XuPQPOWx63tdhvvL5ndJzaNl3Pe5nLjkC1+Tz8wwGjIczhxjlaX56uF0i57pK6kwe6AYHw4YC+Vb
3050
+ qdPRbB4HZ4+RS6mKvNJmqpMBiLKR+jFc1abBUggJzQpjotMipuih2TkGl/VujQKQjBR7P4DNG5y6
3051
+ xFhyI6+2Vp/GekIzKQc/gsnmHwUNzUwoNovTyD4cxojvXu6JZOkd69qJfjKmadHdzIif0dDJZiHc
3052
+ BmfFlHqabWJMfczgZICynkeOowIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
3053
+ AwIBBjAdBgNVHQ4EFgQUiGi/4I41xDs4a2L3KDuEgcgM100wDQYJKoZIhvcNAQEFBQADggIBADsC
3054
+ jcs8MOhuoK3yc7NfniUTBAXT9uOLuwt5zlPe5JbF0a9zvNXD0EBVfEB/zRtfCdXyfJ9oHbtdzno5
3055
+ wozWmHvFg1Wo1X1AyuAe94leY12hE8JdiraKfADzI8PthV9xdvBoY6pFITlIYXg23PFDk9Qlx/KA
3056
+ ZeFTAnVR/Ho67zerhChXDNjU1JlWbOOi/lmEtDHoM/hklJRRl6s5xUvt2t2AC298KQ3EjopyDedT
3057
+ FLJgQT2EkTFoPSdE2+Xe9PpjRchMPpj1P0G6Tss3DbpmmPHdy59c91Q2gmssvBNhl0L4eLvMyKKf
3058
+ yvBovWsdst+Nbwed2o5nx0ceyrm/KkKRt2NTZvFCo+H0Wk1Ya7XkpDOtXHAd3ODy63MUkZoDweoA
3059
+ ZbwH/M8SESIsrqC9OuCiKthZ6SnTGDWkrBFfGbW1G/8iSlzGeuQX7yCpp/Q/rYqnmgQlnQ7KN+ZQ
3060
+ /YxCKQSa7LnPS3K94gg2ryMvYuXKAdNw23yCIywWMQzGNgeQerEfZ1jEO1hZibCMjFCz2IbLaKPE
3061
+ CudpSyDOwR5WS5WpI2jYMNjD67BVUc3l/Su49bsRn1NU9jQZjHkJNsphFyUXC4KYcwx3dMPVDceo
3062
+ EkzHp1RxRy4sGn3J4ys7SN4nhKdjNrN9j6BkOSQNPXuHr2ZcdBtLc7LljPCGmbjlxd+Ewbfr
3063
+ -----END CERTIFICATE-----
3064
+
3065
+ Network Solutions Certificate Authority
3066
+ =======================================
3067
+ -----BEGIN CERTIFICATE-----
3068
+ MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
3069
+ EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
3070
+ IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
3071
+ MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
3072
+ MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
3073
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
3074
+ jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
3075
+ aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
3076
+ crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
3077
+ /Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
3078
+ AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
3079
+ BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
3080
+ bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
3081
+ A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
3082
+ 4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
3083
+ GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
3084
+ wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
3085
+ ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
3086
+ -----END CERTIFICATE-----
3087
+
3088
+ WellsSecure Public Root Certificate Authority
3089
+ =============================================
3090
+ -----BEGIN CERTIFICATE-----
3091
+ MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
3092
+ F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
3093
+ NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
3094
+ MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
3095
+ bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
3096
+ VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
3097
+ CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
3098
+ iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
3099
+ i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
3100
+ bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
3101
+ K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
3102
+ AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
3103
+ cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
3104
+ lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
3105
+ i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
3106
+ GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
3107
+ Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
3108
+ K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
3109
+ bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
3110
+ qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
3111
+ E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
3112
+ tylv2G0xffX8oRAHh84vWdw+WNs=
3113
+ -----END CERTIFICATE-----
lib/CF/cloudfiles.php CHANGED
@@ -1,2149 +1,2149 @@
1
- <?php
2
- /**
3
- * This is the PHP Cloud Files API.
4
- *
5
- * <code>
6
- * # Authenticate to Cloud Files. The default is to automatically try
7
- * # to re-authenticate if an authentication token expires.
8
- * #
9
- * # NOTE: Some versions of cURL include an outdated certificate authority (CA)
10
- * # file. This API ships with a newer version obtained directly from
11
- * # cURL's web site (http://curl.haxx.se). To use the newer CA bundle,
12
- * # call the CF_Authentication instance's 'ssl_use_cabundle()' method.
13
- * #
14
- * $auth = new CF_Authentication($username, $api_key);
15
- * # $auth->ssl_use_cabundle(); # bypass cURL's old CA bundle
16
- * $auth->authenticate();
17
- *
18
- * # Establish a connection to the storage system
19
- * #
20
- * # NOTE: Some versions of cURL include an outdated certificate authority (CA)
21
- * # file. This API ships with a newer version obtained directly from
22
- * # cURL's web site (http://curl.haxx.se). To use the newer CA bundle,
23
- * # call the CF_Connection instance's 'ssl_use_cabundle()' method.
24
- * #
25
- * $conn = new CF_Connection($auth);
26
- * # $conn->ssl_use_cabundle(); # bypass cURL's old CA bundle
27
- *
28
- * # Create a remote Container and storage Object
29
- * #
30
- * $images = $conn->create_container("photos");
31
- * $bday = $images->create_object("first_birthday.jpg");
32
- *
33
- * # Upload content from a local file by streaming it. Note that we use
34
- * # a "float" for the file size to overcome PHP's 32-bit integer limit for
35
- * # very large files.
36
- * #
37
- * $fname = "/home/user/photos/birthdays/birthday1.jpg"; # filename to upload
38
- * $size = (float) sprintf("%u", filesize($fname));
39
- * $fp = open($fname, "r");
40
- * $bday->write($fp, $size);
41
- *
42
- * # Or... use a convenience function instead
43
- * #
44
- * $bday->load_from_filename("/home/user/photos/birthdays/birthday1.jpg");
45
- *
46
- * # Now, publish the "photos" container to serve the images by CDN.
47
- * # Use the "$uri" value to put in your web pages or send the link in an
48
- * # email message, etc.
49
- * #
50
- * $uri = $images->make_public();
51
- *
52
- * # Or... print out the Object's public URI
53
- * #
54
- * print $bday->public_uri();
55
- * </code>
56
- *
57
- * See the included tests directory for additional sample code.
58
- *
59
- * Requres PHP 5.x (for Exceptions and OO syntax) and PHP's cURL module.
60
- *
61
- * It uses the supporting "cloudfiles_http.php" module for HTTP(s) support and
62
- * allows for connection re-use and streaming of content into/out of Cloud Files
63
- * via PHP's cURL module.
64
- *
65
- * See COPYING for license information.
66
- *
67
- * @author Eric "EJ" Johnson <ej@racklabs.com>
68
- * @copyright Copyright (c) 2008, Rackspace US, Inc.
69
- * @package php-cloudfiles
70
- */
71
-
72
- /**
73
- */
74
- require_once("cloudfiles_exceptions.php");
75
- require("cloudfiles_http.php");
76
- define("DEFAULT_CF_API_VERSION", 1);
77
- define("MAX_CONTAINER_NAME_LEN", 256);
78
- define("MAX_OBJECT_NAME_LEN", 1024);
79
- define("MAX_OBJECT_SIZE", 5*1024*1024*1024+1);
80
- define("US_AUTHURL", "https://auth.api.rackspacecloud.com");
81
- define("UK_AUTHURL", "https://lon.auth.api.rackspacecloud.com");
82
- /**
83
- * Class for handling Cloud Files Authentication, call it's {@link authenticate()}
84
- * method to obtain authorized service urls and an authentication token.
85
- *
86
- * Example:
87
- * <code>
88
- * # Create the authentication instance
89
- * #
90
- * $auth = new CF_Authentication("username", "api_key");
91
- *
92
- * # NOTE: For UK Customers please specify your AuthURL Manually
93
- * # There is a Predfined constant to use EX:
94
- * #
95
- * # $auth = new CF_Authentication("username, "api_key", NULL, UK_AUTHURL);
96
- * # Using the UK_AUTHURL keyword will force the api to use the UK AuthUrl.
97
- * # rather then the US one. The NULL Is passed for legacy purposes and must
98
- * # be passed to function correctly.
99
- *
100
- * # NOTE: Some versions of cURL include an outdated certificate authority (CA)
101
- * # file. This API ships with a newer version obtained directly from
102
- * # cURL's web site (http://curl.haxx.se). To use the newer CA bundle,
103
- * # call the CF_Authentication instance's 'ssl_use_cabundle()' method.
104
- * #
105
- * # $auth->ssl_use_cabundle(); # bypass cURL's old CA bundle
106
- *
107
- * # Perform authentication request
108
- * #
109
- * $auth->authenticate();
110
- * </code>
111
- *
112
- * @package php-cloudfiles
113
- */
114
- class CF_Authentication
115
- {
116
- public $dbug;
117
- public $username;
118
- public $api_key;
119
- public $auth_host;
120
- public $account;
121
-
122
- /**
123
- * Instance variables that are set after successful authentication
124
- */
125
- public $storage_url;
126
- public $cdnm_url;
127
- public $auth_token;
128
-
129
- /**
130
- * Class constructor (PHP 5 syntax)
131
- *
132
- * @param string $username Mosso username
133
- * @param string $api_key Mosso API Access Key
134
- * @param string $account <i>Account name</i>
135
- * @param string $auth_host <i>Authentication service URI</i>
136
- */
137
- function __construct($username=NULL, $api_key=NULL, $account=NULL, $auth_host=US_AUTHURL)
138
- {
139
-
140
- $this->dbug = False;
141
- $this->username = $username;
142
- $this->api_key = $api_key;
143
- $this->account_name = $account;
144
- $this->auth_host = $auth_host;
145
-
146
- $this->storage_url = NULL;
147
- $this->cdnm_url = NULL;
148
- $this->auth_token = NULL;
149
-
150
- $this->cfs_http = new CF_Http(DEFAULT_CF_API_VERSION);
151
- }
152
-
153
- /**
154
- * Use the Certificate Authority bundle included with this API
155
- *
156
- * Most versions of PHP with cURL support include an outdated Certificate
157
- * Authority (CA) bundle (the file that lists all valid certificate
158
- * signing authorities). The SSL certificates used by the Cloud Files
159
- * storage system are perfectly valid but have been created/signed by
160
- * a CA not listed in these outdated cURL distributions.
161
- *
162
- * As a work-around, we've included an updated CA bundle obtained
163
- * directly from cURL's web site (http://curl.haxx.se). You can direct
164
- * the API to use this CA bundle by calling this method prior to making
165
- * any remote calls. The best place to use this method is right after
166
- * the CF_Authentication instance has been instantiated.
167
- *
168
- * You can specify your own CA bundle by passing in the full pathname
169
- * to the bundle. You can use the included CA bundle by leaving the
170
- * argument blank.
171
- *
172
- * @param string $path Specify path to CA bundle (default to included)
173
- */
174
- function ssl_use_cabundle($path=NULL)
175
- {
176
- $this->cfs_http->ssl_use_cabundle($path);
177
- }
178
-
179
- /**
180
- * Attempt to validate Username/API Access Key
181
- *
182
- * Attempts to validate credentials with the authentication service. It
183
- * either returns <kbd>True</kbd> or throws an Exception. Accepts a single
184
- * (optional) argument for the storage system API version.
185
- *
186
- * Example:
187
- * <code>
188
- * # Create the authentication instance
189
- * #
190
- * $auth = new CF_Authentication("username", "api_key");
191
- *
192
- * # Perform authentication request
193
- * #
194
- * $auth->authenticate();
195
- * </code>
196
- *
197
- * @param string $version API version for Auth service (optional)
198
- * @return boolean <kbd>True</kbd> if successfully authenticated
199
- * @throws AuthenticationException invalid credentials
200
- * @throws InvalidResponseException invalid response
201
- */
202
- function authenticate($version=DEFAULT_CF_API_VERSION)
203
- {
204
- list($status,$reason,$surl,$curl,$atoken) =
205
- $this->cfs_http->authenticate($this->username, $this->api_key,
206
- $this->account_name, $this->auth_host);
207
-
208
- if ($status == 401) {
209
- throw new AuthenticationException("Invalid username or access key.");
210
- }
211
- if ($status != 204) {
212
- throw new InvalidResponseException(
213
- "Unexpected response (".$status."): ".$reason);
214
- }
215
-
216
- if (!($surl || $curl) || !$atoken) {
217
- throw new InvalidResponseException(
218
- "Expected headers missing from auth service.");
219
- }
220
- $this->storage_url = $surl;
221
- $this->cdnm_url = $curl;
222
- $this->auth_token = $atoken;
223
- return True;
224
- }
225
- /**
226
- * Use Cached Token and Storage URL's rather then grabbing from the Auth System
227
- *
228
- * Example:
229
- * <code>
230
- * #Create an Auth instance
231
- * $auth = new CF_Authentication();
232
- * #Pass Cached URL's and Token as Args
233
- * $auth->load_cached_credentials("auth_token", "storage_url", "cdn_management_url");
234
- * </code>
235
- *
236
- * @param string $auth_token A Cloud Files Auth Token (Required)
237
- * @param string $storage_url The Cloud Files Storage URL (Required)
238
- * @param string $cdnm_url CDN Management URL (Required)
239
- * @return boolean <kbd>True</kbd> if successful
240
- * @throws SyntaxException If any of the Required Arguments are missing
241
- */
242
- function load_cached_credentials($auth_token, $storage_url, $cdnm_url)
243
- {
244
- if(!$storage_url || !$cdnm_url)
245
- {
246
- throw new SyntaxException("Missing Required Interface URL's!");
247
- return False;
248
- }
249
- if(!$auth_token)
250
- {
251
- throw new SyntaxException("Missing Auth Token!");
252
- return False;
253
- }
254
-
255
- $this->storage_url = $storage_url;
256
- $this->cdnm_url = $cdnm_url;
257
- $this->auth_token = $auth_token;
258
- return True;
259
- }
260
- /**
261
- * Grab Cloud Files info to be Cached for later use with the load_cached_credentials method.
262
- *
263
- * Example:
264
- * <code>
265
- * #Create an Auth instance
266
- * $auth = new CF_Authentication("UserName","API_Key");
267
- * $auth->authenticate();
268
- * $array = $auth->export_credentials();
269
- * </code>
270
- *
271
- * @return array of url's and an auth token.
272
- */
273
- function export_credentials()
274
- {
275
- $arr = array();
276
- $arr['storage_url'] = $this->storage_url;
277
- $arr['cdnm_url'] = $this->cdnm_url;
278
- $arr['auth_token'] = $this->auth_token;
279
-
280
- return $arr;
281
- }
282
-
283
-
284
- /**
285
- * Make sure the CF_Authentication instance has authenticated.
286
- *
287
- * Ensures that the instance variables necessary to communicate with
288
- * Cloud Files have been set from a previous authenticate() call.
289
- *
290
- * @return boolean <kbd>True</kbd> if successfully authenticated
291
- */
292
- function authenticated()
293
- {
294
- if (!($this->storage_url || $this->cdnm_url) || !$this->auth_token) {
295
- return False;
296
- }
297
- return True;
298
- }
299
-
300
- /**
301
- * Toggle debugging - set cURL verbose flag
302
- */
303
- function setDebug($bool)
304
- {
305
- $this->dbug = $bool;
306
- $this->cfs_http->setDebug($bool);
307
- }
308
- }
309
-
310
- /**
311
- * Class for establishing connections to the Cloud Files storage system.
312
- * Connection instances are used to communicate with the storage system at
313
- * the account level; listing and deleting Containers and returning Container
314
- * instances.
315
- *
316
- * Example:
317
- * <code>
318
- * # Create the authentication instance
319
- * #
320
- * $auth = new CF_Authentication("username", "api_key");
321
- *
322
- * # Perform authentication request
323
- * #
324
- * $auth->authenticate();
325
- *
326
- * # Create a connection to the storage/cdn system(s) and pass in the
327
- * # validated CF_Authentication instance.
328
- * #
329
- * $conn = new CF_Connection($auth);
330
- *
331
- * # NOTE: Some versions of cURL include an outdated certificate authority (CA)
332
- * # file. This API ships with a newer version obtained directly from
333
- * # cURL's web site (http://curl.haxx.se). To use the newer CA bundle,
334
- * # call the CF_Authentication instance's 'ssl_use_cabundle()' method.
335
- * #
336
- * # $conn->ssl_use_cabundle(); # bypass cURL's old CA bundle
337
- * </code>
338
- *
339
- * @package php-cloudfiles
340
- */
341
- class CF_Connection
342
- {
343
- public $dbug;
344
- public $cfs_http;
345
- public $cfs_auth;
346
-
347
- /**
348
- * Pass in a previously authenticated CF_Authentication instance.
349
- *
350
- * Example:
351
- * <code>
352
- * # Create the authentication instance
353
- * #
354
- * $auth = new CF_Authentication("username", "api_key");
355
- *
356
- * # Perform authentication request
357
- * #
358
- * $auth->authenticate();
359
- *
360
- * # Create a connection to the storage/cdn system(s) and pass in the
361
- * # validated CF_Authentication instance.
362
- * #
363
- * $conn = new CF_Connection($auth);
364
- *
365
- * # If you are connecting via Rackspace servers and have access
366
- * # to the servicenet network you can set the $servicenet to True
367
- * # like this.
368
- *
369
- * $conn = new CF_Connection($auth, $servicenet=True);
370
- *
371
- * </code>
372
- *
373
- * If the environement variable RACKSPACE_SERVICENET is defined it will
374
- * force to connect via the servicenet.
375
- *
376
- * @param obj $cfs_auth previously authenticated CF_Authentication instance
377
- * @param boolean $servicenet enable/disable access via Rackspace servicenet.
378
- * @throws AuthenticationException not authenticated
379
- */
380
- function __construct($cfs_auth, $servicenet=False)
381
- {
382
- if (isset($_ENV['RACKSPACE_SERVICENET']))
383
- $servicenet=True;
384
- $this->cfs_http = new CF_Http(DEFAULT_CF_API_VERSION);
385
- $this->cfs_auth = $cfs_auth;
386
- if (!$this->cfs_auth->authenticated()) {
387
- $e = "Need to pass in a previously authenticated ";
388
- $e .= "CF_Authentication instance.";
389
- throw new AuthenticationException($e);
390
- }
391
- $this->cfs_http->setCFAuth($this->cfs_auth, $servicenet=$servicenet);
392
- $this->dbug = False;
393
- }
394
-
395
- /**
396
- * Toggle debugging of instance and back-end HTTP module
397
- *
398
- * @param boolean $bool enable/disable cURL debugging
399
- */
400
- function setDebug($bool)
401
- {
402
- $this->dbug = (boolean) $bool;
403
- $this->cfs_http->setDebug($this->dbug);
404
- }
405
-
406
- /**
407
- * Close a connection
408
- *
409
- * Example:
410
- * <code>
411
- *
412
- * $conn->close();
413
- *
414
- * </code>
415
- *
416
- * Will close all current cUrl active connections.
417
- *
418
- */
419
- public function close()
420
- {
421
- $this->cfs_http->close();
422
- }
423
-
424
- /**
425
- * Cloud Files account information
426
- *
427
- * Return an array of two floats (since PHP only supports 32-bit integers);
428
- * number of containers on the account and total bytes used for the account.
429
- *
430
- * Example:
431
- * <code>
432
- * # ... authentication code excluded (see previous examples) ...
433
- * #
434
- * $conn = new CF_Authentication($auth);
435
- *
436
- * list($quantity, $bytes) = $conn->get_info();
437
- * print "Number of containers: " . $quantity . "\n";
438
- * print "Bytes stored in container: " . $bytes . "\n";
439
- * </code>
440
- *
441
- * @return array (number of containers, total bytes stored)
442
- * @throws InvalidResponseException unexpected response
443
- */
444
- function get_info()
445
- {
446
- list($status, $reason, $container_count, $total_bytes) =
447
- $this->cfs_http->head_account();
448
- #if ($status == 401 && $this->_re_auth()) {
449
- # return $this->get_info();
450
- #}
451
- if ($status < 200 || $status > 299) {
452
- throw new InvalidResponseException(
453
- "Invalid response (".$status."): ".$this->cfs_http->get_error());
454
- }
455
- return array($container_count, $total_bytes);
456
- }
457
-
458
- /**
459
- * Create a Container
460
- *
461
- * Given a Container name, return a Container instance, creating a new
462
- * remote Container if it does not exit.
463
- *
464
- * Example:
465
- * <code>
466
- * # ... authentication code excluded (see previous examples) ...
467
- * #
468
- * $conn = new CF_Authentication($auth);
469
- *
470
- * $images = $conn->create_container("my photos");
471
- * </code>
472
- *
473
- * @param string $container_name container name
474
- * @return CF_Container
475
- * @throws SyntaxException invalid name
476
- * @throws InvalidResponseException unexpected response
477
- */
478
- function create_container($container_name=NULL)
479
- {
480
- if ($container_name != "0" and !isset($container_name))
481
- throw new SyntaxException("Container name not set.");
482
-
483
- if (!isset($container_name) or $container_name == "")
484
- throw new SyntaxException("Container name not set.");
485
-
486
- if (strpos($container_name, "/") !== False) {
487
- $r = "Container name '".$container_name;
488
- $r .= "' cannot contain a '/' character.";
489
- throw new SyntaxException($r);
490
- }
491
- if (strlen($container_name) > MAX_CONTAINER_NAME_LEN) {
492
- throw new SyntaxException(sprintf(
493
- "Container name exeeds %d bytes.",
494
- MAX_CONTAINER_NAME_LEN));
495
- }
496
-
497
- $return_code = $this->cfs_http->create_container($container_name);
498
- if (!$return_code) {
499
- throw new InvalidResponseException("Invalid response ("
500
- . $return_code. "): " . $this->cfs_http->get_error());
501
- }
502
- #if ($status == 401 && $this->_re_auth()) {
503
- # return $this->create_container($container_name);
504
- #}
505
- if ($return_code != 201 && $return_code != 202) {
506
- throw new InvalidResponseException(
507
- "Invalid response (".$return_code."): "
508
- . $this->cfs_http->get_error());
509
- }
510
- return new CF_Container($this->cfs_auth, $this->cfs_http, $container_name);
511
- }
512
-
513
- /**
514
- * Delete a Container
515
- *
516
- * Given either a Container instance or name, remove the remote Container.
517
- * The Container must be empty prior to removing it.
518
- *
519
- * Example:
520
- * <code>
521
- * # ... authentication code excluded (see previous examples) ...
522
- * #
523
- * $conn = new CF_Authentication($auth);
524
- *
525
- * $conn->delete_container("my photos");
526
- * </code>
527
- *
528
- * @param string|obj $container container name or instance
529
- * @return boolean <kbd>True</kbd> if successfully deleted
530
- * @throws SyntaxException missing proper argument
531
- * @throws InvalidResponseException invalid response
532
- * @throws NonEmptyContainerException container not empty
533
- * @throws NoSuchContainerException remote container does not exist
534
- */
535
- function delete_container($container=NULL)
536
- {
537
- $container_name = NULL;
538
-
539
- if (is_object($container)) {
540
- if (get_class($container) == "CF_Container") {
541
- $container_name = $container->name;
542
- }
543
- }
544
- if (is_string($container)) {
545
- $container_name = $container;
546
- }
547
-
548
- if ($container_name != "0" and !isset($container_name))
549
- throw new SyntaxException("Must specify container object or name.");
550
-
551
- $return_code = $this->cfs_http->delete_container($container_name);
552
-
553
- if (!$return_code) {
554
- throw new InvalidResponseException("Failed to obtain http response");
555
- }
556
- #if ($status == 401 && $this->_re_auth()) {
557
- # return $this->delete_container($container);
558
- #}
559
- if ($return_code == 409) {
560
- throw new NonEmptyContainerException(
561
- "Container must be empty prior to removing it.");
562
- }
563
- if ($return_code == 404) {
564
- throw new NoSuchContainerException(
565
- "Specified container did not exist to delete.");
566
- }
567
- if ($return_code != 204) {
568
- throw new InvalidResponseException(
569
- "Invalid response (".$return_code."): "
570
- . $this->cfs_http->get_error());
571
- }
572
- return True;
573
- }
574
-
575
- /**
576
- * Return a Container instance
577
- *
578
- * For the given name, return a Container instance if the remote Container
579
- * exists, otherwise throw a Not Found exception.
580
- *
581
- * Example:
582
- * <code>
583
- * # ... authentication code excluded (see previous examples) ...
584
- * #
585
- * $conn = new CF_Authentication($auth);
586
- *
587
- * $images = $conn->get_container("my photos");
588
- * print "Number of Objects: " . $images->count . "\n";
589
- * print "Bytes stored in container: " . $images->bytes . "\n";
590
- * </code>
591
- *
592
- * @param string $container_name name of the remote Container
593
- * @return container CF_Container instance
594
- * @throws NoSuchContainerException thrown if no remote Container
595
- * @throws InvalidResponseException unexpected response
596
- */
597
- function get_container($container_name=NULL)
598
- {
599
- list($status, $reason, $count, $bytes) =
600
- $this->cfs_http->head_container($container_name);
601
- #if ($status == 401 && $this->_re_auth()) {
602
- # return $this->get_container($container_name);
603
- #}
604
- if ($status == 404) {
605
- throw new NoSuchContainerException("Container not found.");
606
- }
607
- if ($status < 200 || $status > 299) {
608
- throw new InvalidResponseException(
609
- "Invalid response: ".$this->cfs_http->get_error());
610
- }
611
- return new CF_Container($this->cfs_auth, $this->cfs_http,
612
- $container_name, $count, $bytes);
613
- }
614
-
615
- /**
616
- * Return array of Container instances
617
- *
618
- * Return an array of CF_Container instances on the account. The instances
619
- * will be fully populated with Container attributes (bytes stored and
620
- * Object count)
621
- *
622
- * Example:
623
- * <code>
624
- * # ... authentication code excluded (see previous examples) ...
625
- * #
626
- * $conn = new CF_Authentication($auth);
627
- *
628
- * $clist = $conn->get_containers();
629
- * foreach ($clist as $cont) {
630
- * print "Container name: " . $cont->name . "\n";
631
- * print "Number of Objects: " . $cont->count . "\n";
632
- * print "Bytes stored in container: " . $cont->bytes . "\n";
633
- * }
634
- * </code>
635
- *
636
- * @return array An array of CF_Container instances
637
- * @throws InvalidResponseException unexpected response
638
- */
639
- function get_containers($limit=0, $marker=NULL)
640
- {
641
- list($status, $reason, $container_info) =
642
- $this->cfs_http->list_containers_info($limit, $marker);
643
- #if ($status == 401 && $this->_re_auth()) {
644
- # return $this->get_containers();
645
- #}
646
- if ($status < 200 || $status > 299) {
647
- throw new InvalidResponseException(
648
- "Invalid response: ".$this->cfs_http->get_error());
649
- }
650
- $containers = array();
651
- foreach ($container_info as $name => $info) {
652
- $containers[] = new CF_Container($this->cfs_auth, $this->cfs_http,
653
- $info['name'], $info["count"], $info["bytes"], False);
654
- }
655
- return $containers;
656
- }
657
-
658
- /**
659
- * Return list of remote Containers
660
- *
661
- * Return an array of strings containing the names of all remote Containers.
662
- *
663
- * Example:
664
- * <code>
665
- * # ... authentication code excluded (see previous examples) ...
666
- * #
667
- * $conn = new CF_Authentication($auth);
668
- *
669
- * $container_list = $conn->list_containers();
670
- * print_r($container_list);
671
- * Array
672
- * (
673
- * [0] => "my photos",
674
- * [1] => "my docs"
675
- * )
676
- * </code>
677
- *
678
- * @param integer $limit restrict results to $limit Containers
679
- * @param string $marker return results greater than $marker
680
- * @return array list of remote Containers
681
- * @throws InvalidResponseException unexpected response
682
- */
683
- function list_containers($limit=0, $marker=NULL)
684
- {
685
- list($status, $reason, $containers) =
686
- $this->cfs_http->list_containers($limit, $marker);
687
- #if ($status == 401 && $this->_re_auth()) {
688
- # return $this->list_containers($limit, $marker);
689
- #}
690
- if ($status < 200 || $status > 299) {
691
- throw new InvalidResponseException(
692
- "Invalid response (".$status."): ".$this->cfs_http->get_error());
693
- }
694
- return $containers;
695
- }
696
-
697
- /**
698
- * Return array of information about remote Containers
699
- *
700
- * Return a nested array structure of Container info.
701
- *
702
- * Example:
703
- * <code>
704
- * # ... authentication code excluded (see previous examples) ...
705
- * #
706
- *
707
- * $container_info = $conn->list_containers_info();
708
- * print_r($container_info);
709
- * Array
710
- * (
711
- * ["my photos"] =>
712
- * Array
713
- * (
714
- * ["bytes"] => 78,
715
- * ["count"] => 2
716
- * )
717
- * ["docs"] =>
718
- * Array
719
- * (
720
- * ["bytes"] => 37323,
721
- * ["count"] => 12
722
- * )
723
- * )
724
- * </code>
725
- *
726
- * @param integer $limit restrict results to $limit Containers
727
- * @param string $marker return results greater than $marker
728
- * @return array nested array structure of Container info
729
- * @throws InvalidResponseException unexpected response
730
- */
731
- function list_containers_info($limit=0, $marker=NULL)
732
- {
733
- list($status, $reason, $container_info) =
734
- $this->cfs_http->list_containers_info($limit, $marker);
735
- #if ($status == 401 && $this->_re_auth()) {
736
- # return $this->list_containers_info($limit, $marker);
737
- #}
738
- if ($status < 200 || $status > 299) {
739
- throw new InvalidResponseException(
740
- "Invalid response (".$status."): ".$this->cfs_http->get_error());
741
- }
742
- return $container_info;
743
- }
744
-
745
- /**
746
- * Return list of Containers that have been published to the CDN.
747
- *
748
- * Return an array of strings containing the names of published Containers.
749
- * Note that this function returns the list of any Container that has
750
- * ever been CDN-enabled regardless of it's existence in the storage
751
- * system.
752
- *
753
- * Example:
754
- * <code>
755
- * # ... authentication code excluded (see previous examples) ...
756
- * #
757
- * $conn = new CF_Authentication($auth);
758
- *
759
- * $public_containers = $conn->list_public_containers();
760
- * print_r($public_containers);
761
- * Array
762
- * (
763
- * [0] => "images",
764
- * [1] => "css",
765
- * [2] => "javascript"
766
- * )
767
- * </code>
768
- *
769
- * @param bool $enabled_only Will list all containers ever CDN enabled if * set to false or only currently enabled CDN containers if set to true. * Defaults to false.
770
- * @return array list of published Container names
771
- * @throws InvalidResponseException unexpected response
772
- */
773
- function list_public_containers($enabled_only=False)
774
- {
775
- list($status, $reason, $containers) =
776
- $this->cfs_http->list_cdn_containers($enabled_only);
777
- #if ($status == 401 && $this->_re_auth()) {
778
- # return $this->list_public_containers();
779
- #}
780
- if ($status < 200 || $status > 299) {
781
- throw new InvalidResponseException(
782
- "Invalid response (".$status."): ".$this->cfs_http->get_error());
783
- }
784
- return $containers;
785
- }
786
-
787
- /**
788
- * Set a user-supplied callback function to report download progress
789
- *
790
- * The callback function is used to report incremental progress of a data
791
- * download functions (e.g. $container->list_objects(), $obj->read(), etc).
792
- * The specified function will be periodically called with the number of
793
- * bytes transferred until the entire download is complete. This callback
794
- * function can be useful for implementing "progress bars" for large
795
- * downloads.
796
- *
797
- * The specified callback function should take a single integer parameter.
798
- *
799
- * <code>
800
- * function read_callback($bytes_transferred) {
801
- * print ">> downloaded " . $bytes_transferred . " bytes.\n";
802
- * # ... do other things ...
803
- * return;
804
- * }
805
- *
806
- * $conn = new CF_Connection($auth_obj);
807
- * $conn->set_read_progress_function("read_callback");
808
- * print_r($conn->list_containers());
809
- *
810
- * # output would look like this:
811
- * #
812
- * >> downloaded 10 bytes.
813
- * >> downloaded 11 bytes.
814
- * Array
815
- * (
816
- * [0] => fuzzy.txt
817
- * [1] => space name
818
- * )
819
- * </code>
820
- *
821
- * @param string $func_name the name of the user callback function
822
- */
823
- function set_read_progress_function($func_name)
824
- {
825
- $this->cfs_http->setReadProgressFunc($func_name);
826
- }
827
-
828
- /**
829
- * Set a user-supplied callback function to report upload progress
830
- *
831
- * The callback function is used to report incremental progress of a data
832
- * upload functions (e.g. $obj->write() call). The specified function will
833
- * be periodically called with the number of bytes transferred until the
834
- * entire upload is complete. This callback function can be useful
835
- * for implementing "progress bars" for large uploads/downloads.
836
- *
837
- * The specified callback function should take a single integer parameter.
838
- *
839
- * <code>
840
- * function write_callback($bytes_transferred) {
841
- * print ">> uploaded " . $bytes_transferred . " bytes.\n";
842
- * # ... do other things ...
843
- * return;
844
- * }
845
- *
846
- * $conn = new CF_Connection($auth_obj);
847
- * $conn->set_write_progress_function("write_callback");
848
- * $container = $conn->create_container("stuff");
849
- * $obj = $container->create_object("foo");
850
- * $obj->write("The callback function will be called during upload.");
851
- *
852
- * # output would look like this:
853
- * # >> uploaded 51 bytes.
854
- * #
855
- * </code>
856
- *
857
- * @param string $func_name the name of the user callback function
858
- */
859
- function set_write_progress_function($func_name)
860
- {
861
- $this->cfs_http->setWriteProgressFunc($func_name);
862
- }
863
-
864
- /**
865
- * Use the Certificate Authority bundle included with this API
866
- *
867
- * Most versions of PHP with cURL support include an outdated Certificate
868
- * Authority (CA) bundle (the file that lists all valid certificate
869
- * signing authorities). The SSL certificates used by the Cloud Files
870
- * storage system are perfectly valid but have been created/signed by
871
- * a CA not listed in these outdated cURL distributions.
872
- *
873
- * As a work-around, we've included an updated CA bundle obtained
874
- * directly from cURL's web site (http://curl.haxx.se). You can direct
875
- * the API to use this CA bundle by calling this method prior to making
876
- * any remote calls. The best place to use this method is right after
877
- * the CF_Authentication instance has been instantiated.
878
- *
879
- * You can specify your own CA bundle by passing in the full pathname
880
- * to the bundle. You can use the included CA bundle by leaving the
881
- * argument blank.
882
- *
883
- * @param string $path Specify path to CA bundle (default to included)
884
- */
885
- function ssl_use_cabundle($path=NULL)
886
- {
887
- $this->cfs_http->ssl_use_cabundle($path);
888
- }
889
-
890
- #private function _re_auth()
891
- #{
892
- # $new_auth = new CF_Authentication(
893
- # $this->cfs_auth->username,
894
- # $this->cfs_auth->api_key,
895
- # $this->cfs_auth->auth_host,
896
- # $this->cfs_auth->account);
897
- # $new_auth->authenticate();
898
- # $this->cfs_auth = $new_auth;
899
- # $this->cfs_http->setCFAuth($this->cfs_auth);
900
- # return True;
901
- #}
902
- }
903
-
904
- /**
905
- * Container operations
906
- *
907
- * Containers are storage compartments where you put your data (objects).
908
- * A container is similar to a directory or folder on a conventional filesystem
909
- * with the exception that they exist in a flat namespace, you can not create
910
- * containers inside of containers.
911
- *
912
- * You also have the option of marking a Container as "public" so that the
913
- * Objects stored in the Container are publicly available via the CDN.
914
- *
915
- * @package php-cloudfiles
916
- */
917
- class CF_Container
918
- {
919
- public $cfs_auth;
920
- public $cfs_http;
921
- public $name;
922
- public $object_count;
923
- public $bytes_used;
924
-
925
- public $cdn_enabled;
926
- public $cdn_uri;
927
- public $cdn_ttl;
928
- public $cdn_log_retention;
929
- public $cdn_acl_user_agent;
930
- public $cdn_acl_referrer;
931
-
932
- /**
933
- * Class constructor
934
- *
935
- * Constructor for Container
936
- *
937
- * @param obj $cfs_auth CF_Authentication instance
938
- * @param obj $cfs_http HTTP connection manager
939
- * @param string $name name of Container
940
- * @param int $count number of Objects stored in this Container
941
- * @param int $bytes number of bytes stored in this Container
942
- * @throws SyntaxException invalid Container name
943
- */
944
- function __construct(&$cfs_auth, &$cfs_http, $name, $count=0,
945
- $bytes=0, $docdn=True)
946
- {
947
- if (strlen($name) > MAX_CONTAINER_NAME_LEN) {
948
- throw new SyntaxException("Container name exceeds "
949
- . "maximum allowed length.");
950
- }
951
- if (strpos($name, "/") !== False) {
952
- throw new SyntaxException(
953
- "Container names cannot contain a '/' character.");
954
- }
955
- $this->cfs_auth = $cfs_auth;
956
- $this->cfs_http = $cfs_http;
957
- $this->name = $name;
958
- $this->object_count = $count;
959
- $this->bytes_used = $bytes;
960
- $this->cdn_enabled = NULL;
961
- $this->cdn_uri = NULL;
962
- $this->cdn_ttl = NULL;
963
- $this->cdn_log_retention = NULL;
964
- $this->cdn_acl_user_agent = NULL;
965
- $this->cdn_acl_referrer = NULL;
966
- if ($this->cfs_http->getCDNMUrl() != NULL && $docdn) {
967
- $this->_cdn_initialize();
968
- }
969
- }
970
-
971
- /**
972
- * String representation of Container
973
- *
974
- * Pretty print the Container instance.
975
- *
976
- * @return string Container details
977
- */
978
- function __toString()
979
- {
980
- $me = sprintf("name: %s, count: %.0f, bytes: %.0f",
981
- $this->name, $this->object_count, $this->bytes_used);
982
- if ($this->cfs_http->getCDNMUrl() != NULL) {
983
- $me .= sprintf(", cdn: %s, cdn uri: %s, cdn ttl: %.0f, logs retention: %s",
984
- $this->is_public() ? "Yes" : "No",
985
- $this->cdn_uri, $this->cdn_ttl,
986
- $this->cdn_log_retention ? "Yes" : "No"
987
- );
988
-
989
- if ($this->cdn_acl_user_agent != NULL) {
990
- $me .= ", cdn acl user agent: " . $this->cdn_acl_user_agent;
991
- }
992
-
993
- if ($this->cdn_acl_referrer != NULL) {
994
- $me .= ", cdn acl referrer: " . $this->cdn_acl_referrer;
995
- }
996
-
997
-
998
- }
999
- return $me;
1000
- }
1001
-
1002
- /**
1003
- * Enable Container content to be served via CDN or modify CDN attributes
1004
- *
1005
- * Either enable this Container's content to be served via CDN or
1006
- * adjust its CDN attributes. This Container will always return the
1007
- * same CDN-enabled URI each time it is toggled public/private/public.
1008
- *
1009
- * Example:
1010
- * <code>
1011
- * # ... authentication code excluded (see previous examples) ...
1012
- * #
1013
-