Version Description
- Tweak: Make sure that for AdSense ads only the AdSense ad option is used and not the plain text one
- Fix: Spelling issue
Download this release
Release Info
Developer | ReneHermi |
Plugin | AdSense Plugin WP QUADS |
Version | 1.5.2 |
Comparing to | |
See all releases |
Code changes from version 1.5.1 to 1.5.2
- includes/admin/settings/register-settings.php +6 -5
- quick-adsense-reloaded.php +2 -2
- readme.txt +7 -281
includes/admin/settings/register-settings.php
CHANGED
@@ -195,12 +195,13 @@ function quads_get_registered_settings() {
|
|
195 |
'adsense_header' => array(
|
196 |
'id' => 'adsense_header',
|
197 |
'name' => '<strong>' . __( 'AdSense Code', 'quick-adsense-reloaded' ) . '</strong>',
|
198 |
-
'desc' => '<div class="adsense_admin_header">' . sprintf( __( '
|
199 |
. '<ul style="margin-top:10px;">'
|
200 |
-
. '<li
|
201 |
-
. '<li
|
202 |
. '</ul>'
|
203 |
-
. '<div style="clear:both;">' . sprintf( __( '<strong>Ads are not showing? Read the <a href="%s" target="_blank">troubleshooting guide</a> to find out how to resolve this issue.', 'quick-adsense-reloaded' ),'http://wpquads.com/docs/adsense-ads-are-not-showing/?utm_source=plugin&utm_campaign=wpquads-settings&utm_medium=website&utm_term=toplink') . '
|
|
|
204 |
. '<div id="quads-open-toggle" class="button">'.__('Open All Ads','quick-adsense-reloaded').'</div>',
|
205 |
'type' => 'header'
|
206 |
),
|
@@ -367,7 +368,7 @@ function quads_get_registered_settings() {
|
|
367 |
),
|
368 |
'create_settings' => array(
|
369 |
'id' => 'create_settings',
|
370 |
-
'name' => __( 'Remove
|
371 |
//'desc' => __( 'Make the WPQUADS settings available from <strong>Settings->WPQUADS</strong>. This will remove the primary menu button from the admin sidebar', 'quick-adsense-reloaded' ),
|
372 |
'desc' => __('Remove'),
|
373 |
'helper-desc' => __( 'Make the WPQUADS settings available from <strong>Settings->WPQUADS</strong>. This will remove the primary menu button from the admin sidebar', 'quick-adsense-reloaded' ),
|
195 |
'adsense_header' => array(
|
196 |
'id' => 'adsense_header',
|
197 |
'name' => '<strong>' . __( 'AdSense Code', 'quick-adsense-reloaded' ) . '</strong>',
|
198 |
+
'desc' => '<div class="adsense_admin_header">' . sprintf( __( 'Enter your ad codes below:</div>'
|
199 |
. '<ul style="margin-top:10px;">'
|
200 |
+
. '<li style="font-weight:600;">Select <i>AdSense</i> if you are using AdSense!</li>'
|
201 |
+
. '<li style="font-weight:600;">Use <i>Plain Text / HTML / JS</i> for all other ads! Putting AdSense into Plain text field can result in non visible ads.</li></ul>', 'quick-adsense-reloaded' ), 'http://wpquads.com/effective-adsense-banner-size-formats/?utm_campaign=plugin&utm_source=general_tab&utm_medium=admin&utm_content=best_banner_sizes' )
|
202 |
. '</ul>'
|
203 |
+
. '<div style="clear:both;">' . sprintf( __( '<strong>Ads are not showing? Read the <a href="%s" target="_blank">troubleshooting guide</a> to find out how to resolve this issue.', 'quick-adsense-reloaded' ),'http://wpquads.com/docs/adsense-ads-are-not-showing/?utm_source=plugin&utm_campaign=wpquads-settings&utm_medium=website&utm_term=toplink') . ''
|
204 |
+
. '<br><a href="%s" target="_blank">Read here</a> to find out the most effective AdSense banner sizes. </div>'
|
205 |
. '<div id="quads-open-toggle" class="button">'.__('Open All Ads','quick-adsense-reloaded').'</div>',
|
206 |
'type' => 'header'
|
207 |
),
|
368 |
),
|
369 |
'create_settings' => array(
|
370 |
'id' => 'create_settings',
|
371 |
+
'name' => __( 'Remove menu button', 'quick-adsense-reloaded' ),
|
372 |
//'desc' => __( 'Make the WPQUADS settings available from <strong>Settings->WPQUADS</strong>. This will remove the primary menu button from the admin sidebar', 'quick-adsense-reloaded' ),
|
373 |
'desc' => __('Remove'),
|
374 |
'helper-desc' => __( 'Make the WPQUADS settings available from <strong>Settings->WPQUADS</strong>. This will remove the primary menu button from the admin sidebar', 'quick-adsense-reloaded' ),
|
quick-adsense-reloaded.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
* Description: Insert Google AdSense or any Ads code into your website. A fork of Quick AdSense
|
7 |
* Author: Rene Hermenau, WP-Staging
|
8 |
* Author URI: https://wordpress.org/plugins/quick-adsense-reloaded/
|
9 |
-
* Version: 1.5.
|
10 |
* Text Domain: quick-adsense-reloaded
|
11 |
* Domain Path: languages
|
12 |
* Credits: WP QUADS - Quick AdSense Reloaded is a fork of Quick AdSense
|
@@ -35,7 +35,7 @@ if( !defined( 'ABSPATH' ) )
|
|
35 |
|
36 |
// Plugin version
|
37 |
if( !defined( 'QUADS_VERSION' ) ) {
|
38 |
-
define( 'QUADS_VERSION', '1.5.
|
39 |
}
|
40 |
|
41 |
// Plugin name
|
6 |
* Description: Insert Google AdSense or any Ads code into your website. A fork of Quick AdSense
|
7 |
* Author: Rene Hermenau, WP-Staging
|
8 |
* Author URI: https://wordpress.org/plugins/quick-adsense-reloaded/
|
9 |
+
* Version: 1.5.2
|
10 |
* Text Domain: quick-adsense-reloaded
|
11 |
* Domain Path: languages
|
12 |
* Credits: WP QUADS - Quick AdSense Reloaded is a fork of Quick AdSense
|
35 |
|
36 |
// Plugin version
|
37 |
if( !defined( 'QUADS_VERSION' ) ) {
|
38 |
+
define( 'QUADS_VERSION', '1.5.2' );
|
39 |
}
|
40 |
|
41 |
// Plugin name
|
readme.txt
CHANGED
@@ -8,8 +8,8 @@ License: GPLv2 or later
|
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
Tags: adsense, ads, ad, google adsense, advertising, amp, ad injection, ad inserter, ad manager
|
10 |
Requires at least: 3.6+
|
11 |
-
Tested up to: 4.
|
12 |
-
Stable tag: 1.5.
|
13 |
|
14 |
Quick Adsense Reloaded! Quickest way to insert Google AdSense & other ads into your website. Google AdSense integration with Google AMP support
|
15 |
|
@@ -129,8 +129,11 @@ Alternative Installation:
|
|
129 |
|
130 |
== Changelog ==
|
131 |
|
132 |
-
= 1.5.
|
|
|
|
|
133 |
|
|
|
134 |
* Tweak: Change description in readme.txt
|
135 |
* Fix: Show only active and not empty widgets in widget admin section of wordpress
|
136 |
|
@@ -149,284 +152,7 @@ Alternative Installation:
|
|
149 |
* New: Tested up to WP 4.7.3
|
150 |
* Tweak: Rename adsense widgets
|
151 |
|
152 |
-
|
153 |
-
= 1.4.7 =
|
154 |
-
* Fix: Not all quicktag generated adsense ads are shown if no default ads are used
|
155 |
-
|
156 |
-
= 1.4.6 =
|
157 |
-
* New: Theme API for custom theme integration of AdSense ads supports margin and alignment options now
|
158 |
-
* New: Create WP QUADS admin menue logo
|
159 |
-
* Fix: Admin warning if no adsense spots are activated is not working properly
|
160 |
-
|
161 |
-
= 1.4.5 =
|
162 |
-
* New: Add new option to hide AMP ads on certain posts with WP QUADS PRO
|
163 |
-
|
164 |
-
* Fix: Save Changes button is behind admin footer on plugin settings tab
|
165 |
-
* Fix: Ad Check "Highlight ads" button dark colored and unreadable with some themes
|
166 |
-
* Fix: Do not use ajax saving on license and import/export tab
|
167 |
-
* Fix: Fix css issue on admin notice
|
168 |
-
* Fix: Ad Check Highlight button color not readable - css fix
|
169 |
-
* Fix: wrong amount of max ads limit when AMP ads are used
|
170 |
-
* Fix: Make sure AdSense ads are injected only in the main query
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
= 1.4.4 =
|
175 |
-
* Fix: Undefined variable if WP QUADS PRO beta version is used with more than 3 AdSebse paragraph AdSense spots
|
176 |
-
* Fix: Deactivate License button not working
|
177 |
-
* Fix: Admin notice if AdSense codes are empty
|
178 |
-
* Fix: PHP Warning when AdSense ad codes are empty
|
179 |
-
* Fix: Not more than 3 AdSense widgets are shown at the same time
|
180 |
-
|
181 |
-
= 1.4.3 =
|
182 |
-
* New: Add filter to add 3 more paragraph AdSense ads placed with WP QUADS PRO
|
183 |
-
* New: Add ad health and checking function to detect if there are error in adsense settings
|
184 |
-
* New: Support link to troubleshooting guide if AdSense ads are not shown
|
185 |
-
* New: Add floating Save Settings button
|
186 |
-
* New: Grey out unused AdSense ad spots in general settings
|
187 |
-
* New: Tested up to Wordpress 4.7.1
|
188 |
-
* New: Use up to 20 maximum AdSense ads on one page from a collection of 10 different ads
|
189 |
-
* New: Allow the use of the same ad on several different ad positions at the same time
|
190 |
-
* New: Complete rewrite of the main processing function for easier maintanance
|
191 |
-
|
192 |
-
* Fix: Settings are lost after updating when db option quads_version is empty
|
193 |
-
* Fix: AdSense option Hide on device X condition not working width shortcode [quads]
|
194 |
-
* Fix: Rewrite admin html and css for a more robust structure to prevent to be overwritten by other plugin devs who think its cool to load their css stuff all over the admin area
|
195 |
-
* Fix: Button Open All Ads only works on second click
|
196 |
-
* Fix: Hide Sizing Options when ad type is not AdSense
|
197 |
-
* Fix: Meta Box option "Hide all ads" is not hiding custom created ads with commercial themes like bimber.
|
198 |
-
|
199 |
-
* Tweak: Enable quicktags button per default on first time installation
|
200 |
-
* Tweak: Performance update. Uses less ressources
|
201 |
-
|
202 |
-
|
203 |
-
= 1.4.2 =
|
204 |
-
* Skiped internally
|
205 |
-
|
206 |
-
= 1.4.1 =
|
207 |
-
* Skiped internally
|
208 |
-
|
209 |
-
= 1.4.0 =
|
210 |
-
* New: Add poll when AdSense plugin is deactivated
|
211 |
-
* Fix: Responsive AdSense ads are not working if shortcode [quads] is used
|
212 |
-
* Fix: On first time WP QUADS AdSense plugin installation make sure that post types post and blog are activated
|
213 |
-
* Fix: On update installation make sure that post types post and blog are activated
|
214 |
-
* Fix: Notice Undefined index on first time installation
|
215 |
-
* Tweak: Remove mail address for support and link to our Google AdSense support ticket page
|
216 |
-
|
217 |
-
|
218 |
-
= 1.3.9 =
|
219 |
-
* Fix: Redirect after first time installation not working
|
220 |
-
* New: Support for tag visibility condition with WP QUADS 1.3.1
|
221 |
-
* New: Add a "Rate Later" option to the rating container
|
222 |
-
* Tweak: Rename toggle button to "Open All Ads"
|
223 |
-
|
224 |
-
= 1.3.8 =
|
225 |
-
* Fix: Remove "three dots" content on unused adverts spots
|
226 |
-
* Fix: Even empty ads are taken into account for random ads
|
227 |
-
* Fix: Visibility conditionals for widget ads are not used
|
228 |
-
* Fix: Old align settings are not imported from old plugin Quick AdSense
|
229 |
-
|
230 |
-
* New: Show/Hide ads on custom post types with WP QUADS PRO
|
231 |
-
* New: Hide adverts for specific custom user role with WP QUADS PRO
|
232 |
-
|
233 |
-
* Tweak: Do not show menu link to WP QUADS PRO plugin if its already installed
|
234 |
-
|
235 |
-
= 1.3.7 =
|
236 |
-
* Fix: Do not show ads on 404 error pages
|
237 |
-
* New: Allow use of other amp vendor codes with use of wp quads pro
|
238 |
-
|
239 |
-
= 1.3.6 =
|
240 |
-
* Fix: Do not show ads on search pages
|
241 |
-
* Fix: Change ad condition for Tablet viewport to 1024px
|
242 |
-
* New: Allow recursive use of shortcodes in ad codes
|
243 |
-
|
244 |
-
= 1.3.5 =
|
245 |
-
* New: Support for multiple margin values: top, right, bottom, left (Needs WP QUADS PRO min. version 1.2.7)
|
246 |
-
* Fix: Undefined adalign notice
|
247 |
-
|
248 |
-
= 1.3.4 =
|
249 |
-
* Fix: Meta Box Settings "Hide ads" are ignored. Error caused by code changes in 1.3.2
|
250 |
-
|
251 |
-
= 1.3.3 =
|
252 |
-
* Skip version
|
253 |
-
|
254 |
-
= 1.3.2 =
|
255 |
-
* New: Button for opening all ads for easier editing
|
256 |
-
* Fix: Plain Text / HTML as default mode
|
257 |
-
* Fix: Invalid argument supplied for foreach() message when using custom shortcodes in ad content
|
258 |
-
|
259 |
-
= 1.3.1 =
|
260 |
-
* Tweak: Cleaner graphical admin tabs
|
261 |
-
|
262 |
-
= 1.3.0 =
|
263 |
-
* Fix: Make sure existing adsense code is not changed after updating
|
264 |
-
* Fix: Missing quads-ad class in custom Ad spots
|
265 |
-
* Fix: Hide on (mobile, desktop, tablet) device rules not working for custom Ad spots
|
266 |
-
* Fix: WP QUADS PRO can not be detected if folder name is not default wp-content/plugins/wp-quads-pro
|
267 |
-
* Fix: Can not export settings without reloading page
|
268 |
-
* Tweak: Change description of load order
|
269 |
-
|
270 |
-
= 1.2.9 =
|
271 |
-
* New: AMP support with WP QUADS PRO and Automattic AMP plugin
|
272 |
-
|
273 |
-
= 1.2.8 =
|
274 |
-
* Fix: Can not parse responsive AdSense async code when its custom modified
|
275 |
-
* Fix: Use custom AdSense ads with modified css rules
|
276 |
-
* Fix: Do not change adsense default format
|
277 |
-
|
278 |
-
= 1.2.7 =
|
279 |
-
* New: Ignore Cloudflare Rocket Script Loader for AdSense generated code
|
280 |
-
* New: Settings are saved without page reload
|
281 |
-
* New: Basic Responsive Support for Ads including widget ads
|
282 |
-
* New: No more script security errors when saving settings
|
283 |
-
* New: Improved Graphical User Interface
|
284 |
-
* New: Another class name for ad container
|
285 |
-
* Tweak: Remove deprecated debug code
|
286 |
-
* Tweak: Better description what to do after creating widget adsense code
|
287 |
-
* Fix: Adsense ad label 'Advertisment' not shown
|
288 |
-
* Fix: Remove ad container completely when it is deactivated via WP QUADS PRO
|
289 |
-
|
290 |
-
= 1.2.6 =
|
291 |
-
* Fix: WP auto P tags breaks inline javascript
|
292 |
-
* New: Support for Custom Banner Sizes and AdSense Label in WP QUADS PRO
|
293 |
-
* New: Banner for click fraud monitor plugin in admin settings
|
294 |
-
* Tweak: UI improvements in admin settings
|
295 |
-
|
296 |
-
= 1.2.5 =
|
297 |
-
* New: New cleaner design for adsense admin dashboard
|
298 |
-
|
299 |
-
= 1.2.4 =
|
300 |
-
* Fix: Error warning when plugin is activated
|
301 |
-
|
302 |
-
= 1.2.3 =
|
303 |
-
* Fix: AdSense Custom Theme API integration is ignoring the new responsive ads when WP QUADS PRO plugin is installed
|
304 |
-
* New: Ad Background color white per default
|
305 |
-
* Tweak: clean up code
|
306 |
-
|
307 |
-
= 1.2.2 =
|
308 |
-
* Fix: Some AdSense setting are not stored
|
309 |
-
|
310 |
-
= 1.2.1 =
|
311 |
-
* Fix: Fatal Error on frontpage
|
312 |
-
|
313 |
-
= 1.2.0 =
|
314 |
-
* New: Create AdSense pro version with mobile support
|
315 |
-
* New: AdSense WP QUADS Pro Version with responsive adsense support
|
316 |
-
|
317 |
-
= 1.1.9 =
|
318 |
-
* Fix: Change rating urls
|
319 |
-
|
320 |
-
= 1.1.8 =
|
321 |
-
* New: Click Fraud Monitor integration
|
322 |
-
|
323 |
-
= 1.1.7 =
|
324 |
-
* New: Tested up to WP 4.6.0
|
325 |
-
* New: Allow shortcodes in adsense input fields
|
326 |
-
* New: Add css class quads-id1-10 for ad container
|
327 |
-
|
328 |
-
= 1.1.6 =
|
329 |
-
* Tweak: Plugin Title
|
330 |
-
* Fix: Show ads only when query is main query
|
331 |
-
|
332 |
-
= 1.1.5 =
|
333 |
-
* Fix: Max ad count sometimes not working as expected and ads are not shown and max count is not reached, though
|
334 |
-
* Fix: Link to widget section not working
|
335 |
-
|
336 |
-
= 1.1.4 =
|
337 |
-
* Fix: Undefined var $showall
|
338 |
-
|
339 |
-
= 1.1.3 =
|
340 |
-
* Fix: Import Screen is showing No such file or directory error notice
|
341 |
-
* New: Tested up to WP 4.5.2
|
342 |
-
|
343 |
-
= 1.1.2 =
|
344 |
-
* New: Specify plugin load priority
|
345 |
-
|
346 |
-
= 1.1.1 =
|
347 |
-
* Fix: fopen error message on import settings page when Quick AdSense ist not installed and inactive
|
348 |
-
|
349 |
-
= 1.1.0 =
|
350 |
-
* Fix: Rating container not always hiding after rating the plugin
|
351 |
-
|
352 |
-
= 1.0.9 =
|
353 |
-
* Tweak: Disable all AdSense ads on 404 pages (Google AdSense does not allow this.)
|
354 |
-
* New: A nice looking rating div for asking to rate this plugin. Can be deactivated with one click and will never appear again.
|
355 |
-
|
356 |
-
= 1.0.8 =
|
357 |
-
* Tweak: Default alignment is center
|
358 |
-
|
359 |
-
= 1.0.7 =
|
360 |
-
* Fix: Change shortcode description to echo do_shortcode('[quads id="4"]');
|
361 |
-
|
362 |
-
= 1.0.6 =
|
363 |
-
* Fix: Url to widget section leads to 127.0.0.1
|
364 |
-
|
365 |
-
= 1.0.5 =
|
366 |
-
* Fix: Check if Quick AdSense is installed is throwing error message when it is not installed.
|
367 |
-
* New: Show a <!--NoAds--> Quicktag button in the html editor. Necessary to hide ads on not defined post_types like woocommerce product pages
|
368 |
-
* Tweak: Tested up to WP 4.5
|
369 |
-
* Tweak: Change author name to Rene Hermenau
|
370 |
-
|
371 |
-
= 1.0.4 =
|
372 |
-
* Tweak: Clean up code and remove admin-notices.php
|
373 |
-
* Tweak: Add new class quads-locations for ads wrapper in content
|
374 |
-
|
375 |
-
= 1.0.3 =
|
376 |
-
* Fix: php 5.2 does not support anonymous function
|
377 |
-
* Tweak: Lower amount of tags in readme.txt
|
378 |
-
|
379 |
-
= 1.0.2 =
|
380 |
-
* Fix: undefined var notice if plugin is installed first time
|
381 |
-
* Fix: Hide AdsWidget option on front page is ignored
|
382 |
-
|
383 |
-
= 1.0.1 =
|
384 |
-
* Fix: Undefined variable notice if plugin is activated first time
|
385 |
-
|
386 |
-
= 1.0.0 =
|
387 |
-
* Tweak: Remove is_main_query() check
|
388 |
-
|
389 |
-
|
390 |
-
= 0.9.9 =
|
391 |
-
* New: API for easy integration of custom ad positions. See /includes/api.php for how to use custom ads positions in your theme
|
392 |
-
(Custom ad positions are calculated within max allowed ads setting)
|
393 |
-
|
394 |
-
= 0.9.8 =
|
395 |
-
* Fix: Still not fixed on all systems: Invalid argument supplied for foreach()
|
396 |
-
* Fix: Undefined index in widgets.php
|
397 |
-
|
398 |
-
= 0.9.7 =
|
399 |
-
* Fix: Invalid argument supplied for foreach()
|
400 |
-
* Fix: undefined var cusrnd
|
401 |
-
|
402 |
-
= 0.9.6 =
|
403 |
-
* New: Use new Meta Box on post and pages for disabling ads instead using quicktags
|
404 |
-
* New: Remove quicktags for disabling ads from editor (backward compatible)
|
405 |
-
|
406 |
-
= 0.9.5 =
|
407 |
-
* New: Rebirth - Change name to WP QUADS
|
408 |
-
* New: Modify official shortcodes to [quads]. Old shortcodes [quads_ad] are still supported
|
409 |
-
|
410 |
-
= 0.9.4 =
|
411 |
-
* New: Allow the use of shortcodes to integrate google adsense ads, e.g. [quad_ad id="1"] or echo do_shortcode('[[quad_ad id="1"]]'); in template files. Max ad setting will be used for shortcode embeded ads as well.
|
412 |
-
* Tweak: Cleaner GUI
|
413 |
-
* Tweak: Clean up code and remove deprecated ads code
|
414 |
-
* Fix: Stored setting for ad position 9 was not shown properly in option field.
|
415 |
-
* Fix: Quicktags not shown
|
416 |
-
|
417 |
-
= 0.9.3 =
|
418 |
-
* Fix: Alignment is ignored
|
419 |
-
|
420 |
-
= 0.9.2 =
|
421 |
-
* Fix: AdSense Widgets shown although setting "Hide Ads when user is logged in" is enabled
|
422 |
-
* Fix: Empty quads.min.js loaded on frontend
|
423 |
-
* Fix: AdSense Widgets not created correctly
|
424 |
-
* Fix: Google AdSense max ads value ignored for widgets
|
425 |
-
* Tweak: Removing of create_function() due to security reasons ( Dont be evil() )
|
426 |
-
|
427 |
-
|
428 |
-
= 0.9.1 =
|
429 |
-
* Hooray! Quick Adsense Reloaded is alive
|
430 |
|
431 |
== Upgrade Notice ==
|
432 |
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
Tags: adsense, ads, ad, google adsense, advertising, amp, ad injection, ad inserter, ad manager
|
10 |
Requires at least: 3.6+
|
11 |
+
Tested up to: 4.8
|
12 |
+
Stable tag: 1.5.2
|
13 |
|
14 |
Quick Adsense Reloaded! Quickest way to insert Google AdSense & other ads into your website. Google AdSense integration with Google AMP support
|
15 |
|
129 |
|
130 |
== Changelog ==
|
131 |
|
132 |
+
= 1.5.2 =
|
133 |
+
* Tweak: Make sure that for AdSense ads only the AdSense ad option is used and not the plain text one
|
134 |
+
* Fix: Spelling issue
|
135 |
|
136 |
+
= 1.5.1 =
|
137 |
* Tweak: Change description in readme.txt
|
138 |
* Fix: Show only active and not empty widgets in widget admin section of wordpress
|
139 |
|
152 |
* New: Tested up to WP 4.7.3
|
153 |
* Tweak: Rename adsense widgets
|
154 |
|
155 |
+
Complete changelog: https://wpquads.com/changelog
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
|
157 |
== Upgrade Notice ==
|
158 |
|