Array
(
    [0] => yii\web\Application Object
        (
            [defaultRoute] => site
            [catchAll] => 
            [controller] => 
            [_homeUrl:yii\web\Application:private] => 
            [controllerNamespace] => app\controllers
            [name] => HIS
            [charset] => UTF-8
            [language] => ru-RU
            [sourceLanguage] => ru
            [layout] => main
            [requestedRoute] => subdomain/product
            [requestedAction] => 
            [requestedParams] => 
            [extensions] => Array
                (
                    [alexandernst/yii2-device-detect] => Array
                        (
                            [name] => alexandernst/yii2-device-detect
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@alexandernst/devicedetect] => /var/www/his.ua/vendor/alexandernst/yii2-device-detect
                                )

                        )

                    [drmabuse/yii2-slick-carousel] => Array
                        (
                            [name] => drmabuse/yii2-slick-carousel
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@drmabuse/slick] => /var/www/his.ua/vendor/drmabuse/yii2-slick-carousel
                                )

                        )

                    [yiisoft/yii2-httpclient] => Array
                        (
                            [name] => yiisoft/yii2-httpclient
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@yii/httpclient] => /var/www/his.ua/vendor/yiisoft/yii2-httpclient/src
                                )

                        )

                    [himiklab/yii2-recaptcha-widget] => Array
                        (
                            [name] => himiklab/yii2-recaptcha-widget
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@himiklab/yii2/recaptcha] => /var/www/his.ua/vendor/himiklab/yii2-recaptcha-widget/src
                                )

                        )

                    [kartik-v/yii2-krajee-base] => Array
                        (
                            [name] => kartik-v/yii2-krajee-base
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/base] => /var/www/his.ua/vendor/kartik-v/yii2-krajee-base/src
                                )

                        )

                    [kartik-v/yii2-widget-activeform] => Array
                        (
                            [name] => kartik-v/yii2-widget-activeform
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/form] => /var/www/his.ua/vendor/kartik-v/yii2-widget-activeform/src
                                )

                        )

                    [kartik-v/yii2-popover-x] => Array
                        (
                            [name] => kartik-v/yii2-popover-x
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/popover] => /var/www/his.ua/vendor/kartik-v/yii2-popover-x/src
                                )

                        )

                    [kartik-v/yii2-editable] => Array
                        (
                            [name] => kartik-v/yii2-editable
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/editable] => /var/www/his.ua/vendor/kartik-v/yii2-editable/src
                                )

                        )

                    [kartik-v/yii2-dialog] => Array
                        (
                            [name] => kartik-v/yii2-dialog
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/dialog] => /var/www/his.ua/vendor/kartik-v/yii2-dialog/src
                                )

                        )

                    [kartik-v/yii2-grid] => Array
                        (
                            [name] => kartik-v/yii2-grid
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/grid] => /var/www/his.ua/vendor/kartik-v/yii2-grid/src
                                )

                        )

                    [kartik-v/yii2-widget-colorinput] => Array
                        (
                            [name] => kartik-v/yii2-widget-colorinput
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/color] => /var/www/his.ua/vendor/kartik-v/yii2-widget-colorinput/src
                                )

                        )

                    [kartik-v/yii2-widget-datetimepicker] => Array
                        (
                            [name] => kartik-v/yii2-widget-datetimepicker
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/datetime] => /var/www/his.ua/vendor/kartik-v/yii2-widget-datetimepicker/src
                                )

                        )

                    [kartik-v/yii2-widget-fileinput] => Array
                        (
                            [name] => kartik-v/yii2-widget-fileinput
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@kartik/file] => /var/www/his.ua/vendor/kartik-v/yii2-widget-fileinput/src
                                )

                        )

                    [omnilight/yii2-sypexgeo] => Array
                        (
                            [name] => omnilight/yii2-sypexgeo
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@omnilight/sypexgeo] => /var/www/his.ua/vendor/omnilight/yii2-sypexgeo
                                )

                        )

                    [sammaye/yii2-solr] => Array
                        (
                            [name] => sammaye/yii2-solr
                            [version] => 1.20.0.0
                            [alias] => Array
                                (
                                    [@sammaye/solr] => /var/www/his.ua/vendor/sammaye/yii2-solr
                                )

                        )

                    [yii2tech/csv-grid] => Array
                        (
                            [name] => yii2tech/csv-grid
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@yii2tech/csvgrid] => /var/www/his.ua/vendor/yii2tech/csv-grid/src
                                )

                        )

                    [yiisoft/yii2-authclient] => Array
                        (
                            [name] => yiisoft/yii2-authclient
                            [version] => 2.2.12.0
                            [alias] => Array
                                (
                                    [@yii/authclient] => /var/www/his.ua/vendor/yiisoft/yii2-authclient/src
                                )

                        )

                    [yiisoft/yii2-bootstrap] => Array
                        (
                            [name] => yiisoft/yii2-bootstrap
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@yii/bootstrap] => /var/www/his.ua/vendor/yiisoft/yii2-bootstrap/src
                                )

                        )

                    [yiisoft/yii2-debug] => Array
                        (
                            [name] => yiisoft/yii2-debug
                            [version] => 2.1.19.0
                            [alias] => Array
                                (
                                    [@yii/debug] => /var/www/his.ua/vendor/yiisoft/yii2-debug/src
                                )

                        )

                    [yiisoft/yii2-faker] => Array
                        (
                            [name] => yiisoft/yii2-faker
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@yii/faker] => /var/www/his.ua/vendor/yiisoft/yii2-faker/src
                                )

                        )

                    [yiisoft/yii2-gii] => Array
                        (
                            [name] => yiisoft/yii2-gii
                            [version] => 2.2.4.0
                            [alias] => Array
                                (
                                    [@yii/gii] => /var/www/his.ua/vendor/yiisoft/yii2-gii/src
                                )

                        )

                    [yiisoft/yii2-jui] => Array
                        (
                            [name] => yiisoft/yii2-jui
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@yii/jui] => /var/www/his.ua/vendor/yiisoft/yii2-jui/src
                                )

                        )

                    [yiisoft/yii2-redis] => Array
                        (
                            [name] => yiisoft/yii2-redis
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@yii/redis] => /var/www/his.ua/vendor/yiisoft/yii2-redis/src
                                )

                        )

                    [yiisoft/yii2-swiftmailer] => Array
                        (
                            [name] => yiisoft/yii2-swiftmailer
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@yii/swiftmailer] => /var/www/his.ua/vendor/yiisoft/yii2-swiftmailer/src
                                )

                        )

                    [yurkinx/yii2-image] => Array
                        (
                            [name] => yurkinx/yii2-image
                            [version] => dev-master
                            [alias] => Array
                                (
                                    [@yii/image] => /var/www/his.ua/vendor/yurkinx/yii2-image/yii/image
                                )

                        )

                )

            [bootstrap] => Array
                (
                    [0] => log
                    [1] => devicedetect
                    [2] => Redirects
                )

            [state] => 3
            [loadedModules] => Array
                (
                    [yii\web\Application] => yii\web\Application Object
 *RECURSION*
                )

            [_runtimePath:yii\base\Application:private] => /var/www/his.ua/runtime
            [_vendorPath:yii\base\Application:private] => /var/www/his.ua/vendor
            [params] => Array
                (
                    [developerEmail] => tretcom1@gmail.com
                    [errorsEmail] => tretcom1@gmail.com
                    [adminEmail] => hi@his.ua
                    [shopEmail] => shop@his.ua
                    [proEmail] => anastasiia@his.ua
                    [LiqPay_public_key] => i26445535082
                    [LiqPay_private_key] => viCJVyApwXqYDZEQScvKlQSUe6z2NCd8eUpr0ctF
                    [LiqPay_redirect_URL] => https://www.liqpay.ua/uk/checkout/i26445535082
                    [YandexDiskEmail] => contact@tretstudio.com
                    [YandexDiskPassword] => derPar0l
                    [YandexDiskPath] => Backups/HIS/
                    [defaultLanguage] => ru
                    [companyName] => Hi-supply
                    [companyFullName] => Home Ideas Supply
                    [GoogleMerchantCenterFeedName] => HIS-primary-feed
                    [shippingArticleSlug] => /shop
                    [GTM_ID] => GTM-KLRM75P
                    [devicedetect] => Array
                        (
                            [isMobile] => 
                            [isTablet] => 
                            [isDesktop] => 1
                        )

                )

            [id] => HIS
            [module] => 
            [controllerMap] => Array
                (
                )

            [_basePath:yii\base\Module:private] => /var/www/his.ua
            [_controllerPath:yii\base\Module:private] => 
            [_viewPath:yii\base\Module:private] => 
            [_layoutPath:yii\base\Module:private] => 
            [_modules:yii\base\Module:private] => Array
                (
                    [admin] => Array
                        (
                            [class] => app\modules\admin\Module
                        )

                    [gridview] => Array
                        (
                            [class] => \kartik\grid\Module
                        )

                    [sitemap_1_ru] => Array
                        (
                            [language] => ru
                            [class] => app\components\Sitemap\Sitemap
                            [models] => Array
                                (
                                    [0] => app\models\Articles
                                    [1] => app\models\Collections
                                    [2] => app\models\Events
                                    [3] => app\models\Tags
                                    [4] => app\models\Questions
                                    [5] => app\models\Categories
                                )

                            [urls] => Array
                                (
                                    [0] => Array
                                        (
                                            [loc] => /shop
                                            [changefreq] => daily
                                            [priority] => 1
                                        )

                                    [1] => Array
                                        (
                                            [loc] => /journal
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                    [2] => Array
                                        (
                                            [loc] => /event
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                    [3] => Array
                                        (
                                            [loc] => /tag
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                    [4] => Array
                                        (
                                            [loc] => /question
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                    [5] => Array
                                        (
                                            [loc] => /manufacturer
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                )

                            [enableGzip] => 1
                            [cacheExpire] => 1
                        )

                    [sitemap_2_ru] => Array
                        (
                            [language] => ru
                            [class] => app\components\Sitemap\Sitemap
                            [models] => Array
                                (
                                    [0] => app\models\Products
                                    [1] => app\models\Users
                                    [2] => app\models\Manufacturers
                                    [3] => app\models\Portfolios
                                )

                            [urls] => Array
                                (
                                )

                            [enableGzip] => 1
                            [cacheExpire] => 1
                        )

                    [sitemap_1_ua] => Array
                        (
                            [language] => ua
                            [class] => app\components\Sitemap\Sitemap
                            [models] => Array
                                (
                                    [0] => app\models\Collections
                                    [1] => app\models\Events
                                    [2] => app\models\Tags
                                    [3] => app\models\Questions
                                    [4] => app\models\Categories
                                )

                            [urls] => Array
                                (
                                    [0] => Array
                                        (
                                            [loc] => /ua/shop
                                            [changefreq] => daily
                                            [priority] => 1
                                        )

                                    [1] => Array
                                        (
                                            [loc] => /ua/event
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                    [2] => Array
                                        (
                                            [loc] => /ua/tag
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                    [3] => Array
                                        (
                                            [loc] => /ua/question
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                    [4] => Array
                                        (
                                            [loc] => /ua/manufacturer
                                            [changefreq] => daily
                                            [priority] => 0.8
                                        )

                                )

                            [enableGzip] => 1
                            [cacheExpire] => 1
                        )

                    [sitemap_2_ua] => Array
                        (
                            [language] => ua
                            [class] => app\components\Sitemap\Sitemap
                            [models] => Array
                                (
                                    [0] => app\models\Products
                                    [1] => app\models\Users
                                    [2] => app\models\Manufacturers
                                    [3] => app\models\Portfolios
                                )

                            [urls] => Array
                                (
                                )

                            [enableGzip] => 1
                            [cacheExpire] => 1
                        )

                )

            [_version:yii\base\Module:private] => 
            [_components:yii\di\ServiceLocator:private] => Array
                (
                    [errorHandler] => app\components\CustomErrorHandler Object
                        (
                            [maxSourceLines] => 19
                            [maxTraceSourceLines] => 13
                            [errorAction] => site/error
                            [errorView] => @yii/views/errorHandler/error.php
                            [exceptionView] => @yii/views/errorHandler/exception.php
                            [callStackItemView] => @yii/views/errorHandler/callStackItem.php
                            [previousExceptionView] => @yii/views/errorHandler/previousException.php
                            [displayVars] => Array
                                (
                                    [0] => _GET
                                    [1] => _POST
                                    [2] => _FILES
                                    [3] => _COOKIE
                                    [4] => _SESSION
                                )

                            [traceLine] => {html}
                            [discardExistingOutput] => 1
                            [memoryReserveSize] => 262144
                            [exception] => 
                            [silentExitOnException] => 
                            [_memoryReserve:yii\base\ErrorHandler:private] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                            [_hhvmException:yii\base\ErrorHandler:private] => 
                            [_registered:yii\base\ErrorHandler:private] => 1
                            [_workingDirectory:yii\base\ErrorHandler:private] => /var/www/his.ua/web
                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                        )

                    [request] => app\components\LanguageRequest Object
                        (
                            [_langUrl:app\components\LanguageRequest:private] => /product/oboi-syr
                            [web] => /web
                            [enableCsrfValidation] => 1
                            [csrfParam] => _csrf
                            [csrfCookie] => Array
                                (
                                    [httpOnly] => 1
                                )

                            [enableCsrfCookie] => 1
                            [enableCookieValidation] => 1
                            [cookieValidationKey] => RcCurtnMQ14UeRxyCfp0MfkdNDxlEUCd
                            [methodParam] => _method
                            [parsers] => Array
                                (
                                )

                            [trustedHosts] => Array
                                (
                                )

                            [secureHeaders] => Array
                                (
                                    [0] => X-Forwarded-For
                                    [1] => X-Forwarded-Host
                                    [2] => X-Forwarded-Proto
                                    [3] => X-Forwarded-Port
                                    [4] => Front-End-Https
                                    [5] => X-Rewrite-Url
                                    [6] => X-Original-Host
                                )

                            [ipHeaders] => Array
                                (
                                    [0] => X-Forwarded-For
                                )

                            [portHeaders] => Array
                                (
                                    [0] => X-Forwarded-Port
                                )

                            [secureProtocolHeaders] => Array
                                (
                                    [X-Forwarded-Proto] => Array
                                        (
                                            [0] => https
                                        )

                                    [Front-End-Https] => Array
                                        (
                                            [0] => on
                                        )

                                )

                            [_cookies:yii\web\Request:private] => 
                            [_headers:yii\web\Request:private] => yii\web\HeaderCollection Object
                                (
                                    [_headers:yii\web\HeaderCollection:private] => Array
                                        (
                                            [accept] => Array
                                                (
                                                    [0] => */*
                                                )

                                            [user-agent] => Array
                                                (
                                                    [0] => Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
                                                )

                                            [accept-encoding] => Array
                                                (
                                                    [0] => gzip, br, zstd, deflate
                                                )

                                            [host] => Array
                                                (
                                                    [0] => zegen.his.ua
                                                )

                                        )

                                    [_originalHeaderNames:yii\web\HeaderCollection:private] => Array
                                        (
                                            [accept] => accept
                                            [user-agent] => user-agent
                                            [accept-encoding] => accept-encoding
                                            [host] => host
                                        )

                                )

                            [_rawBody:yii\web\Request:private] => 
                            [_bodyParams:yii\web\Request:private] => 
                            [_queryParams:yii\web\Request:private] => 
                            [_hostInfo:yii\web\Request:private] => https://zegen.his.ua
                            [_hostName:yii\web\Request:private] => 
                            [_baseUrl:yii\web\Request:private] => /web
                            [_scriptUrl:yii\web\Request:private] => /web/index.php
                            [_scriptFile:yii\web\Request:private] => 
                            [_pathInfo:yii\web\Request:private] => product/oboi-syr
                            [_url:yii\web\Request:private] => /product/oboi-syr
                            [_port:yii\web\Request:private] => 
                            [_securePort:yii\web\Request:private] => 
                            [_contentTypes:yii\web\Request:private] => 
                            [_languages:yii\web\Request:private] => 
                            [_csrfToken:yii\web\Request:private] => 
                            [_secureForwardedHeaderParts:yii\web\Request:private] => Array
                                (
                                )

                            [_isConsoleRequest:yii\base\Request:private] => 
                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                            [_scriptFile:yii\base\Request:private] => 
                        )

                    [log] => yii\log\Dispatcher Object
                        (
                            [targets] => Array
                                (
                                    [0] => yii\log\FileTarget Object
                                        (
                                            [logFile] => /var/www/his.ua/runtime/logs/app.log
                                            [enableRotation] => 1
                                            [maxFileSize] => 10240
                                            [maxLogFiles] => 5
                                            [fileMode] => 
                                            [dirMode] => 509
                                            [rotateByCopy] => 1
                                            [categories] => Array
                                                (
                                                )

                                            [except] => Array
                                                (
                                                    [0] => yii\web\HttpException:404
                                                )

                                            [logVars] => Array
                                                (
                                                    [0] => _GET
                                                    [1] => _POST
                                                    [2] => _FILES
                                                    [3] => _COOKIE
                                                    [4] => _SESSION
                                                    [5] => _SERVER
                                                )

                                            [maskVars] => Array
                                                (
                                                    [0] => _SERVER.HTTP_AUTHORIZATION
                                                    [1] => _SERVER.PHP_AUTH_USER
                                                    [2] => _SERVER.PHP_AUTH_PW
                                                )

                                            [prefix] => 
                                            [exportInterval] => 1000
                                            [messages] => Array
                                                (
                                                )

                                            [microtime] => 
                                            [_levels:yii\log\Target:private] => 3
                                            [_enabled:yii\log\Target:private] => 1
                                            [_events:yii\base\Component:private] => Array
                                                (
                                                )

                                            [_eventWildcards:yii\base\Component:private] => Array
                                                (
                                                )

                                            [_behaviors:yii\base\Component:private] => 
                                        )

                                    [1] => yii\log\FileTarget Object
                                        (
                                            [logFile] => /var/www/his.ua/runtime/logs/liqpay.log
                                            [enableRotation] => 1
                                            [maxFileSize] => 102400
                                            [maxLogFiles] => 1000
                                            [fileMode] => 
                                            [dirMode] => 509
                                            [rotateByCopy] => 1
                                            [categories] => Array
                                                (
                                                    [0] => LiqPay
                                                )

                                            [except] => Array
                                                (
                                                )

                                            [logVars] => Array
                                                (
                                                    [0] => _GET
                                                    [1] => _POST
                                                    [2] => _FILES
                                                    [3] => _COOKIE
                                                    [4] => _SESSION
                                                    [5] => _SERVER
                                                )

                                            [maskVars] => Array
                                                (
                                                    [0] => _SERVER.HTTP_AUTHORIZATION
                                                    [1] => _SERVER.PHP_AUTH_USER
                                                    [2] => _SERVER.PHP_AUTH_PW
                                                )

                                            [prefix] => 
                                            [exportInterval] => 1000
                                            [messages] => Array
                                                (
                                                )

                                            [microtime] => 
                                            [_levels:yii\log\Target:private] => 4
                                            [_enabled:yii\log\Target:private] => 1
                                            [_events:yii\base\Component:private] => Array
                                                (
                                                )

                                            [_eventWildcards:yii\base\Component:private] => Array
                                                (
                                                )

                                            [_behaviors:yii\base\Component:private] => 
                                        )

                                )

                            [_logger:yii\log\Dispatcher:private] => yii\log\Logger Object
                                (
                                    [messages] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [0] => Opening DB connection: mysql:host=localhost;dbname=his
                                                    [1] => 4
                                                    [2] => yii\db\Connection::open
                                                    [3] => 1751646946.5659
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1380400
                                                )

                                            [1] => Array
                                                (
                                                    [0] => Opening DB connection: mysql:host=localhost;dbname=his
                                                    [1] => 80
                                                    [2] => yii\db\Connection::open
                                                    [3] => 1751646946.5659
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1381152
                                                )

                                            [2] => Array
                                                (
                                                    [0] => SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))
                                                    [1] => 4
                                                    [2] => yii\db\Command::execute
                                                    [3] => 1751646946.5666
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1403192
                                                )

                                            [3] => Array
                                                (
                                                    [0] => SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))
                                                    [1] => 80
                                                    [2] => yii\db\Command::execute
                                                    [3] => 1751646946.5666
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1404272
                                                )

                                            [4] => Array
                                                (
                                                    [0] => SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))
                                                    [1] => 96
                                                    [2] => yii\db\Command::execute
                                                    [3] => 1751646946.5667
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1404656
                                                )

                                            [5] => Array
                                                (
                                                    [0] => Opening DB connection: mysql:host=localhost;dbname=his
                                                    [1] => 96
                                                    [2] => yii\db\Connection::open
                                                    [3] => 1751646946.5668
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1403496
                                                )

                                            [6] => Array
                                                (
                                                    [0] => SELECT * FROM `redirect` WHERE `old_url`='/product/oboi-syr'
                                                    [1] => 4
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.567
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1479040
                                                )

                                            [7] => Array
                                                (
                                                    [0] => SELECT * FROM `redirect` WHERE `old_url`='/product/oboi-syr'
                                                    [1] => 80
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.567
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1480240
                                                )

                                            [8] => Array
                                                (
                                                    [0] => SELECT * FROM `redirect` WHERE `old_url`='/product/oboi-syr'
                                                    [1] => 96
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.5672
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 1480760
                                                )

                                            [9] => Array
                                                (
                                                    [0] => SELECT * FROM `languages`
                                                    [1] => 4
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.569
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2080544
                                                )

                                            [10] => Array
                                                (
                                                    [0] => SELECT * FROM `languages`
                                                    [1] => 80
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.569
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2081520
                                                )

                                            [11] => Array
                                                (
                                                    [0] => SELECT * FROM `languages`
                                                    [1] => 96
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.5693
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2084208
                                                )

                                            [12] => Array
                                                (
                                                    [0] => SHOW FULL COLUMNS FROM `languages`
                                                    [1] => 4
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.5694
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2085600
                                                )

                                            [13] => Array
                                                (
                                                    [0] => SHOW FULL COLUMNS FROM `languages`
                                                    [1] => 80
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.5694
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2086592
                                                )

                                            [14] => Array
                                                (
                                                    [0] => SHOW FULL COLUMNS FROM `languages`
                                                    [1] => 96
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.5701
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2095176
                                                )

                                            [15] => Array
                                                (
                                                    [0] => SELECT
    `kcu`.`CONSTRAINT_NAME` AS `constraint_name`,
    `kcu`.`COLUMN_NAME` AS `column_name`,
    `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`,
    `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name`
FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc`
JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON
    (
        `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR
        (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL)
    ) AND
    `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND
    `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME`
WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database()
AND `rc`.`TABLE_NAME` = 'languages' AND `kcu`.`TABLE_NAME` = 'languages'
                                                    [1] => 4
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.5703
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2100216
                                                )

                                            [16] => Array
                                                (
                                                    [0] => SELECT
    `kcu`.`CONSTRAINT_NAME` AS `constraint_name`,
    `kcu`.`COLUMN_NAME` AS `column_name`,
    `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`,
    `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name`
FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc`
JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON
    (
        `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR
        (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL)
    ) AND
    `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND
    `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME`
WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database()
AND `rc`.`TABLE_NAME` = 'languages' AND `kcu`.`TABLE_NAME` = 'languages'
                                                    [1] => 80
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.5704
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2102704
                                                )

                                            [17] => Array
                                                (
                                                    [0] => SELECT
    `kcu`.`CONSTRAINT_NAME` AS `constraint_name`,
    `kcu`.`COLUMN_NAME` AS `column_name`,
    `kcu`.`REFERENCED_TABLE_NAME` AS `referenced_table_name`,
    `kcu`.`REFERENCED_COLUMN_NAME` AS `referenced_column_name`
FROM `information_schema`.`REFERENTIAL_CONSTRAINTS` AS `rc`
JOIN `information_schema`.`KEY_COLUMN_USAGE` AS `kcu` ON
    (
        `kcu`.`CONSTRAINT_CATALOG` = `rc`.`CONSTRAINT_CATALOG` OR
        (`kcu`.`CONSTRAINT_CATALOG` IS NULL AND `rc`.`CONSTRAINT_CATALOG` IS NULL)
    ) AND
    `kcu`.`CONSTRAINT_SCHEMA` = `rc`.`CONSTRAINT_SCHEMA` AND
    `kcu`.`CONSTRAINT_NAME` = `rc`.`CONSTRAINT_NAME`
WHERE `rc`.`CONSTRAINT_SCHEMA` = database() AND `kcu`.`TABLE_SCHEMA` = database()
AND `rc`.`TABLE_NAME` = 'languages' AND `kcu`.`TABLE_NAME` = 'languages'
                                                    [1] => 96
                                                    [2] => yii\db\Command::query
                                                    [3] => 1751646946.5708
                                                    [4] => Array
                                                        (
                                                        )

                                                    [5] => 2104112
                                                )

                                        )

                                    [flushInterval] => 1000
                                    [traceLevel] => 0
                                    [dispatcher] => yii\log\Dispatcher Object
 *RECURSION*
                                    [dbEventNames] => Array
                                        (
                                            [0] => yii\db\Command::query
                                            [1] => yii\db\Command::execute
                                        )

                                    [profilingAware] => 
                                    [_events:yii\base\Component:private] => Array
                                        (
                                        )

                                    [_eventWildcards:yii\base\Component:private] => Array
                                        (
                                        )

                                    [_behaviors:yii\base\Component:private] => 
                                )

                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                        )

                    [devicedetect] => alexandernst\devicedetect\DeviceDetect Object
                        (
                            [_mobileDetect:alexandernst\devicedetect\DeviceDetect:private] => Detection\MobileDetect Object
                                (
                                    [cache:protected] => Array
                                        (
                                        )

                                    [userAgent:protected] => Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
                                    [httpHeaders:protected] => Array
                                        (
                                            [HTTP_ACCEPT] => */*
                                            [HTTP_USER_AGENT] => Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
                                            [HTTP_ACCEPT_ENCODING] => gzip, br, zstd, deflate
                                            [HTTP_HOST] => zegen.his.ua
                                        )

                                    [cloudfrontHeaders:protected] => Array
                                        (
                                        )

                                    [matchingRegex:protected] => 
                                    [matchesArray:protected] => 
                                    [detectionType:protected] => mobile
                                )

                            [setParams] => 1
                            [setAlias] => 1
                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                        )

                    [db] => yii\db\Connection Object
                        (
                            [dsn] => mysql:host=localhost;dbname=his
                            [username] => root
                            [password] => trusiNaG0!0ve
                            [attributes] => 
                            [pdo] => PDO Object
                                (
                                )

                            [enableSchemaCache] => 
                            [schemaCacheDuration] => 3600
                            [schemaCacheExclude] => Array
                                (
                                )

                            [schemaCache] => cache
                            [enableQueryCache] => 1
                            [queryCacheDuration] => 3600
                            [queryCache] => cache
                            [charset] => utf8
                            [emulatePrepare] => 
                            [tablePrefix] => 
                            [schemaMap] => Array
                                (
                                    [pgsql] => yii\db\pgsql\Schema
                                    [mysqli] => yii\db\mysql\Schema
                                    [mysql] => yii\db\mysql\Schema
                                    [sqlite] => yii\db\sqlite\Schema
                                    [sqlite2] => yii\db\sqlite\Schema
                                    [sqlsrv] => yii\db\mssql\Schema
                                    [oci] => yii\db\oci\Schema
                                    [mssql] => yii\db\mssql\Schema
                                    [dblib] => yii\db\mssql\Schema
                                    [cubrid] => yii\db\cubrid\Schema
                                )

                            [pdoClass] => 
                            [commandClass] => yii\db\Command
                            [commandMap] => Array
                                (
                                    [pgsql] => yii\db\Command
                                    [mysqli] => yii\db\Command
                                    [mysql] => yii\db\Command
                                    [sqlite] => yii\db\sqlite\Command
                                    [sqlite2] => yii\db\sqlite\Command
                                    [sqlsrv] => yii\db\Command
                                    [oci] => yii\db\oci\Command
                                    [mssql] => yii\db\Command
                                    [dblib] => yii\db\Command
                                    [cubrid] => yii\db\Command
                                )

                            [enableSavepoint] => 1
                            [serverStatusCache] => cache
                            [serverRetryInterval] => 600
                            [enableSlaves] => 1
                            [slaves] => Array
                                (
                                )

                            [slaveConfig] => Array
                                (
                                )

                            [masters] => Array
                                (
                                )

                            [masterConfig] => Array
                                (
                                )

                            [shuffleMasters] => 1
                            [enableLogging] => 1
                            [enableProfiling] => 1
                            [isSybase] => 
                            [_queryBuilderConfigurations:yii\db\Connection:private] => Array
                                (
                                )

                            [_transaction:yii\db\Connection:private] => 
                            [_schema:yii\db\Connection:private] => yii\db\mysql\Schema Object
                                (
                                    [columnSchemaClass] => yii\db\mysql\ColumnSchema
                                    [_oldMysql:yii\db\mysql\Schema:private] => 
                                    [typeMap] => Array
                                        (
                                            [tinyint] => tinyint
                                            [bit] => integer
                                            [smallint] => smallint
                                            [mediumint] => integer
                                            [int] => integer
                                            [integer] => integer
                                            [bigint] => bigint
                                            [float] => float
                                            [double] => double
                                            [real] => float
                                            [decimal] => decimal
                                            [numeric] => decimal
                                            [tinytext] => text
                                            [mediumtext] => text
                                            [longtext] => text
                                            [longblob] => binary
                                            [blob] => binary
                                            [text] => text
                                            [varchar] => string
                                            [string] => string
                                            [char] => char
                                            [datetime] => datetime
                                            [year] => date
                                            [date] => date
                                            [time] => time
                                            [timestamp] => timestamp
                                            [enum] => string
                                            [varbinary] => binary
                                            [json] => json
                                        )

                                    [tableQuoteCharacter:protected] => `
                                    [columnQuoteCharacter:protected] => `
                                    [db] => yii\db\Connection Object
 *RECURSION*
                                    [defaultSchema] => 
                                    [exceptionMap] => Array
                                        (
                                            [SQLSTATE[23] => yii\db\IntegrityException
                                        )

                                    [_schemaNames:yii\db\Schema:private] => 
                                    [_tableNames:yii\db\Schema:private] => Array
                                        (
                                        )

                                    [_tableMetadata:yii\db\Schema:private] => Array
                                        (
                                            [languages] => Array
                                                (
                                                    [schema] => yii\db\TableSchema Object
                                                        (
                                                            [schemaName] => 
                                                            [name] => languages
                                                            [fullName] => languages
                                                            [primaryKey] => Array
                                                                (
                                                                    [0] => language_id
                                                                )

                                                            [sequenceName] => 
                                                            [foreignKeys] => Array
                                                                (
                                                                )

                                                            [columns] => Array
                                                                (
                                                                    [language_id] => yii\db\mysql\ColumnSchema Object
                                                                        (
                                                                            [disableJsonSupport] => 
                                                                            [name] => language_id
                                                                            [allowNull] => 
                                                                            [type] => integer
                                                                            [phpType] => integer
                                                                            [dbType] => int(11)
                                                                            [defaultValue] => 
                                                                            [enumValues] => 
                                                                            [size] => 11
                                                                            [precision] => 11
                                                                            [scale] => 
                                                                            [isPrimaryKey] => 1
                                                                            [autoIncrement] => 1
                                                                            [unsigned] => 
                                                                            [comment] => 
                                                                        )

                                                                    [language_url] => yii\db\mysql\ColumnSchema Object
                                                                        (
                                                                            [disableJsonSupport] => 
                                                                            [name] => language_url
                                                                            [allowNull] => 
                                                                            [type] => string
                                                                            [phpType] => string
                                                                            [dbType] => varchar(2)
                                                                            [defaultValue] => 
                                                                            [enumValues] => 
                                                                            [size] => 2
                                                                            [precision] => 2
                                                                            [scale] => 
                                                                            [isPrimaryKey] => 
                                                                            [autoIncrement] => 
                                                                            [unsigned] => 
                                                                            [comment] => 
                                                                        )

                                                                    [language_locale] => yii\db\mysql\ColumnSchema Object
                                                                        (
                                                                            [disableJsonSupport] => 
                                                                            [name] => language_locale
                                                                            [allowNull] => 
                                                                            [type] => string
                                                                            [phpType] => string
                                                                            [dbType] => varchar(5)
                                                                            [defaultValue] => 
                                                                            [enumValues] => 
                                                                            [size] => 5
                                                                            [precision] => 5
                                                                            [scale] => 
                                                                            [isPrimaryKey] => 
                                                                            [autoIncrement] => 
                                                                            [unsigned] => 
                                                                            [comment] => 
                                                                        )

                                                                    [language_name] => yii\db\mysql\ColumnSchema Object
                                                                        (
                                                                            [disableJsonSupport] => 
                                                                            [name] => language_name
                                                                            [allowNull] => 
                                                                            [type] => string
                                                                            [phpType] => string
                                                                            [dbType] => varchar(25)
                                                                            [defaultValue] => 
                                                                            [enumValues] => 
                                                                            [size] => 25
                                                                            [precision] => 25
                                                                            [scale] => 
                                                                            [isPrimaryKey] => 
                                                                            [autoIncrement] => 
                                                                            [unsigned] => 
                                                                            [comment] => 
                                                                        )

                                                                    [language_in] => yii\db\mysql\ColumnSchema Object
                                                                        (
                                                                            [disableJsonSupport] => 
                                                                            [name] => language_in
                                                                            [allowNull] => 
                                                                            [type] => string
                                                                            [phpType] => string
                                                                            [dbType] => varchar(25)
                                                                            [defaultValue] => 
                                                                            [enumValues] => 
                                                                            [size] => 25
                                                                            [precision] => 25
                                                                            [scale] => 
                                                                            [isPrimaryKey] => 
                                                                            [autoIncrement] => 
                                                                            [unsigned] => 
                                                                            [comment] => 
                                                                        )

                                                                    [language_created] => yii\db\mysql\ColumnSchema Object
                                                                        (
                                                                            [disableJsonSupport] => 
                                                                            [name] => language_created
                                                                            [allowNull] => 
                                                                            [type] => timestamp
                                                                            [phpType] => string
                                                                            [dbType] => timestamp
                                                                            [defaultValue] => yii\db\Expression Object
                                                                                (
                                                                                    [expression] => CURRENT_TIMESTAMP
                                                                                    [params] => Array
                                                                                        (
                                                                                        )

                                                                                )

                                                                            [enumValues] => 
                                                                            [size] => 
                                                                            [precision] => 
                                                                            [scale] => 
                                                                            [isPrimaryKey] => 
                                                                            [autoIncrement] => 
                                                                            [unsigned] => 
                                                                            [comment] => 
                                                                        )

                                                                    [language_amended] => yii\db\mysql\ColumnSchema Object
                                                                        (
                                                                            [disableJsonSupport] => 
                                                                            [name] => language_amended
                                                                            [allowNull] => 
                                                                            [type] => timestamp
                                                                            [phpType] => string
                                                                            [dbType] => timestamp
                                                                            [defaultValue] => yii\db\Expression Object
                                                                                (
                                                                                    [expression] => CURRENT_TIMESTAMP
                                                                                    [params] => Array
                                                                                        (
                                                                                        )

                                                                                )

                                                                            [enumValues] => 
                                                                            [size] => 
                                                                            [precision] => 
                                                                            [scale] => 
                                                                            [isPrimaryKey] => 
                                                                            [autoIncrement] => 
                                                                            [unsigned] => 
                                                                            [comment] => 
                                                                        )

                                                                )

                                                        )

                                                )

                                        )

                                    [_builder:yii\db\Schema:private] => yii\db\mysql\QueryBuilder Object
                                        (
                                            [typeMap] => Array
                                                (
                                                    [pk] => int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY
                                                    [upk] => int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
                                                    [bigpk] => bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY
                                                    [ubigpk] => bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
                                                    [char] => char(1)
                                                    [string] => varchar(255)
                                                    [text] => text
                                                    [tinyint] => tinyint(3)
                                                    [smallint] => smallint(6)
                                                    [integer] => int(11)
                                                    [bigint] => bigint(20)
                                                    [float] => float
                                                    [double] => double
                                                    [decimal] => decimal(10,0)
                                                    [date] => date
                                                    [binary] => blob
                                                    [boolean] => tinyint(1)
                                                    [money] => decimal(19,4)
                                                    [json] => json
                                                    [datetime] => datetime(0)
                                                    [timestamp] => timestamp(0)
                                                    [time] => time(0)
                                                )

                                            [db] => yii\db\Connection Object
 *RECURSION*
                                            [separator] =>  
                                            [conditionBuilders:protected] => Array
                                                (
                                                )

                                            [conditionClasses:protected] => Array
                                                (
                                                    [NOT] => yii\db\conditions\NotCondition
                                                    [AND] => yii\db\conditions\AndCondition
                                                    [OR] => yii\db\conditions\OrCondition
                                                    [BETWEEN] => yii\db\conditions\BetweenCondition
                                                    [NOT BETWEEN] => yii\db\conditions\BetweenCondition
                                                    [IN] => yii\db\conditions\InCondition
                                                    [NOT IN] => yii\db\conditions\InCondition
                                                    [LIKE] => yii\db\conditions\LikeCondition
                                                    [NOT LIKE] => yii\db\conditions\LikeCondition
                                                    [OR LIKE] => yii\db\conditions\LikeCondition
                                                    [OR NOT LIKE] => yii\db\conditions\LikeCondition
                                                    [EXISTS] => yii\db\conditions\ExistsCondition
                                                    [NOT EXISTS] => yii\db\conditions\ExistsCondition
                                                )

                                            [expressionBuilders:protected] => Array
                                                (
                                                    [yii\db\Query] => yii\db\QueryExpressionBuilder
                                                    [yii\db\PdoValue] => yii\db\PdoValueBuilder
                                                    [yii\db\Expression] => yii\db\ExpressionBuilder
                                                    [yii\db\conditions\ConjunctionCondition] => yii\db\conditions\ConjunctionConditionBuilder
                                                    [yii\db\conditions\NotCondition] => yii\db\conditions\NotConditionBuilder
                                                    [yii\db\conditions\AndCondition] => yii\db\conditions\ConjunctionConditionBuilder
                                                    [yii\db\conditions\OrCondition] => yii\db\conditions\ConjunctionConditionBuilder
                                                    [yii\db\conditions\BetweenCondition] => yii\db\conditions\BetweenConditionBuilder
                                                    [yii\db\conditions\InCondition] => yii\db\conditions\InConditionBuilder
                                                    [yii\db\conditions\LikeCondition] => yii\db\conditions\LikeConditionBuilder
                                                    [yii\db\conditions\ExistsCondition] => yii\db\conditions\ExistsConditionBuilder
                                                    [yii\db\conditions\SimpleCondition] => yii\db\conditions\SimpleConditionBuilder
                                                    [yii\db\conditions\HashCondition] => yii\db\conditions\HashConditionBuilder Object
                                                        (
                                                            [queryBuilder:protected] => yii\db\mysql\QueryBuilder Object
 *RECURSION*
                                                        )

                                                    [yii\db\conditions\BetweenColumnsCondition] => yii\db\conditions\BetweenColumnsConditionBuilder
                                                    [yii\db\JsonExpression] => yii\db\mysql\JsonExpressionBuilder
                                                )

                                        )

                                    [_serverVersion:yii\db\Schema:private] => 
                                )

                            [_driverName:yii\db\Connection:private] => mysql
                            [_master:yii\db\Connection:private] => 
                            [_slave:yii\db\Connection:private] => 
                            [_queryCacheInfo:yii\db\Connection:private] => Array
                                (
                                )

                            [_quotedTableNames:yii\db\Connection:private] => Array
                                (
                                    [redirect] => `redirect`
                                    [languages] => `languages`
                                )

                            [_quotedColumnNames:yii\db\Connection:private] => Array
                                (
                                    [old_url] => `old_url`
                                )

                            [_events:yii\base\Component:private] => Array
                                (
                                    [afterOpen] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [0] => Closure Object
                                                        (
                                                            [parameter] => Array
                                                                (
                                                                    [$event] => 
                                                                )

                                                        )

                                                    [1] => 
                                                )

                                        )

                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => Array
                                (
                                )

                        )

                    [cache] => yii\redis\Cache Object
                        (
                            [redis] => yii\redis\Connection Object
                                (
                                    [hostname] => localhost
                                    [scheme] => tcp
                                    [redirectConnectionString] => 
                                    [port] => 6379
                                    [unixSocket] => 
                                    [username] => 
                                    [password] => 
                                    [database] => 0
                                    [connectionTimeout] => 
                                    [dataTimeout] => 
                                    [useSSL] => 
                                    [contextOptions] => Array
                                        (
                                        )

                                    [socketClientFlags] => 4
                                    [retries] => 0
                                    [retryInterval] => 0
                                    [redisCommands] => Array
                                        (
                                            [0] => APPEND
                                            [1] => AUTH
                                            [2] => BGREWRITEAOF
                                            [3] => BGSAVE
                                            [4] => BITCOUNT
                                            [5] => BITFIELD
                                            [6] => BITOP
                                            [7] => BITPOS
                                            [8] => BLPOP
                                            [9] => BRPOP
                                            [10] => BRPOPLPUSH
                                            [11] => CLIENT KILL
                                            [12] => CLIENT LIST
                                            [13] => CLIENT GETNAME
                                            [14] => CLIENT PAUSE
                                            [15] => CLIENT REPLY
                                            [16] => CLIENT SETNAME
                                            [17] => CLUSTER ADDSLOTS
                                            [18] => CLUSTER COUNTKEYSINSLOT
                                            [19] => CLUSTER DELSLOTS
                                            [20] => CLUSTER FAILOVER
                                            [21] => CLUSTER FORGET
                                            [22] => CLUSTER GETKEYSINSLOT
                                            [23] => CLUSTER INFO
                                            [24] => CLUSTER KEYSLOT
                                            [25] => CLUSTER MEET
                                            [26] => CLUSTER NODES
                                            [27] => CLUSTER REPLICATE
                                            [28] => CLUSTER RESET
                                            [29] => CLUSTER SAVECONFIG
                                            [30] => CLUSTER SETSLOT
                                            [31] => CLUSTER SLAVES
                                            [32] => CLUSTER SLOTS
                                            [33] => COMMAND
                                            [34] => COMMAND COUNT
                                            [35] => COMMAND GETKEYS
                                            [36] => COMMAND INFO
                                            [37] => CONFIG GET
                                            [38] => CONFIG REWRITE
                                            [39] => CONFIG SET
                                            [40] => CONFIG RESETSTAT
                                            [41] => DBSIZE
                                            [42] => DEBUG OBJECT
                                            [43] => DEBUG SEGFAULT
                                            [44] => DECR
                                            [45] => DECRBY
                                            [46] => DEL
                                            [47] => DISCARD
                                            [48] => DUMP
                                            [49] => ECHO
                                            [50] => EVAL
                                            [51] => EVALSHA
                                            [52] => EXEC
                                            [53] => EXISTS
                                            [54] => EXPIRE
                                            [55] => EXPIREAT
                                            [56] => FLUSHALL
                                            [57] => FLUSHDB
                                            [58] => GEOADD
                                            [59] => GEOHASH
                                            [60] => GEOPOS
                                            [61] => GEODIST
                                            [62] => GEORADIUS
                                            [63] => GEORADIUSBYMEMBER
                                            [64] => GET
                                            [65] => GETBIT
                                            [66] => GETRANGE
                                            [67] => GETSET
                                            [68] => HDEL
                                            [69] => HEXISTS
                                            [70] => HGET
                                            [71] => HGETALL
                                            [72] => HINCRBY
                                            [73] => HINCRBYFLOAT
                                            [74] => HKEYS
                                            [75] => HLEN
                                            [76] => HMGET
                                            [77] => HMSET
                                            [78] => HSET
                                            [79] => HSETNX
                                            [80] => HSTRLEN
                                            [81] => HVALS
                                            [82] => INCR
                                            [83] => INCRBY
                                            [84] => INCRBYFLOAT
                                            [85] => INFO
                                            [86] => KEYS
                                            [87] => LASTSAVE
                                            [88] => LINDEX
                                            [89] => LINSERT
                                            [90] => LLEN
                                            [91] => LPOP
                                            [92] => LPUSH
                                            [93] => LPUSHX
                                            [94] => LRANGE
                                            [95] => LREM
                                            [96] => LSET
                                            [97] => LTRIM
                                            [98] => MGET
                                            [99] => MIGRATE
                                            [100] => MONITOR
                                            [101] => MOVE
                                            [102] => MSET
                                            [103] => MSETNX
                                            [104] => MULTI
                                            [105] => OBJECT
                                            [106] => PERSIST
                                            [107] => PEXPIRE
                                            [108] => PEXPIREAT
                                            [109] => PFADD
                                            [110] => PFCOUNT
                                            [111] => PFMERGE
                                            [112] => PING
                                            [113] => PSETEX
                                            [114] => PSUBSCRIBE
                                            [115] => PUBSUB
                                            [116] => PTTL
                                            [117] => PUBLISH
                                            [118] => PUNSUBSCRIBE
                                            [119] => QUIT
                                            [120] => RANDOMKEY
                                            [121] => READONLY
                                            [122] => READWRITE
                                            [123] => RENAME
                                            [124] => RENAMENX
                                            [125] => RESTORE
                                            [126] => ROLE
                                            [127] => RPOP
                                            [128] => RPOPLPUSH
                                            [129] => RPUSH
                                            [130] => RPUSHX
                                            [131] => SADD
                                            [132] => SAVE
                                            [133] => SCARD
                                            [134] => SCRIPT DEBUG
                                            [135] => SCRIPT EXISTS
                                            [136] => SCRIPT FLUSH
                                            [137] => SCRIPT KILL
                                            [138] => SCRIPT LOAD
                                            [139] => SDIFF
                                            [140] => SDIFFSTORE
                                            [141] => SELECT
                                            [142] => SET
                                            [143] => SETBIT
                                            [144] => SETEX
                                            [145] => SETNX
                                            [146] => SETRANGE
                                            [147] => SHUTDOWN
                                            [148] => SINTER
                                            [149] => SINTERSTORE
                                            [150] => SISMEMBER
                                            [151] => SLAVEOF
                                            [152] => SLOWLOG
                                            [153] => SMEMBERS
                                            [154] => SMOVE
                                            [155] => SORT
                                            [156] => SPOP
                                            [157] => SRANDMEMBER
                                            [158] => SREM
                                            [159] => STRLEN
                                            [160] => SUBSCRIBE
                                            [161] => SUNION
                                            [162] => SUNIONSTORE
                                            [163] => SWAPDB
                                            [164] => SYNC
                                            [165] => TIME
                                            [166] => TOUCH
                                            [167] => TTL
                                            [168] => TYPE
                                            [169] => UNSUBSCRIBE
                                            [170] => UNLINK
                                            [171] => UNWATCH
                                            [172] => WAIT
                                            [173] => WATCH
                                            [174] => XACK
                                            [175] => XADD
                                            [176] => XCLAIM
                                            [177] => XDEL
                                            [178] => XGROUP
                                            [179] => XINFO
                                            [180] => XLEN
                                            [181] => XPENDING
                                            [182] => XRANGE
                                            [183] => XREAD
                                            [184] => XREADGROUP
                                            [185] => XREVRANGE
                                            [186] => XTRIM
                                            [187] => ZADD
                                            [188] => ZCARD
                                            [189] => ZCOUNT
                                            [190] => ZINCRBY
                                            [191] => ZINTERSTORE
                                            [192] => ZLEXCOUNT
                                            [193] => ZRANGE
                                            [194] => ZRANGEBYLEX
                                            [195] => ZREVRANGEBYLEX
                                            [196] => ZRANGEBYSCORE
                                            [197] => ZRANK
                                            [198] => ZREM
                                            [199] => ZREMRANGEBYLEX
                                            [200] => ZREMRANGEBYRANK
                                            [201] => ZREMRANGEBYSCORE
                                            [202] => ZREVRANGE
                                            [203] => ZREVRANGEBYSCORE
                                            [204] => ZREVRANK
                                            [205] => ZSCORE
                                            [206] => ZUNIONSTORE
                                            [207] => SCAN
                                            [208] => SSCAN
                                            [209] => HSCAN
                                            [210] => ZSCAN
                                        )

                                    [_pool:yii\redis\Connection:private] => Array
                                        (
                                            [tcp://localhost:6379] => Resource id #3
                                        )

                                    [_events:yii\base\Component:private] => Array
                                        (
                                        )

                                    [_eventWildcards:yii\base\Component:private] => Array
                                        (
                                        )

                                    [_behaviors:yii\base\Component:private] => Array
                                        (
                                        )

                                )

                            [enableReplicas] => 
                            [replicas] => Array
                                (
                                )

                            [forceClusterMode] => 
                            [shareDatabase] => 
                            [_replica:yii\redis\Cache:private] => 
                            [_isCluster:yii\redis\Cache:private] => 
                            [_hashTagAvailable:yii\redis\Cache:private] => 
                            [keyPrefix] => 
                            [serializer] => 
                            [defaultDuration] => 0
                            [_igbinaryAvailable:yii\caching\Cache:private] => 
                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                        )

                    [Redirects] => app\components\Redirects Object
                        (
                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                        )

                    [urlManager] => app\components\LanguageUrlManager Object
                        (
                            [enablePrettyUrl] => 1
                            [enableStrictParsing] => 
                            [rules] => Array
                                (
                                    [0] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test$#u
                                            [host] => http://.his.test
                                            [route] => subdomain/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [1] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/ua
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/ua$#u
                                            [host] => http://.his.test
                                            [route] => ua/subdomain/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/ua
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [2] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/cart
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/cart$#u
                                            [host] => http://.his.test
                                            [route] => subdomain/cart-index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/cart
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [3] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/ua/cart
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/ua/cart$#u
                                            [host] => http://.his.test
                                            [route] => ua/subdomain/cart-index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/ua/cart
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [4] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/(?P\w+)$#u
                                            [host] => http://.his.test
                                            [route] => subdomain/
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [a47cc8c92] => action
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/
                                            [_routeRule:yii\web\UrlRule:private] => #^subdomain/(?P\w+)$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [action] => 
                                                )

                                        )

                                    [5] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/ua/
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/ua/(?P\w+)$#u
                                            [host] => http://.his.test
                                            [route] => ua/subdomain/
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [a47cc8c92] => action
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/ua/
                                            [_routeRule:yii\web\UrlRule:private] => #^ua/subdomain/(?P\w+)$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [action] => 
                                                )

                                        )

                                    [6] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/product/
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/product/(?P[a-zA-Z0-9-_\.]+)$#u
                                            [host] => http://.his.test
                                            [route] => subdomain/product
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [a483eb3e6] => actionSlug
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/product/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                    [actionSlug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [7] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/ua/product/
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/ua/product/(?P[a-zA-Z0-9-_\.]+)$#u
                                            [host] => http://.his.test
                                            [route] => ua/subdomain/product
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [a483eb3e6] => actionSlug
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/ua/product/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                    [actionSlug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [8] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/cart/checkout
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/cart/checkout$#u
                                            [host] => http://.his.test
                                            [route] => subdomain/cart-checkout
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/cart/checkout
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [9] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/ua/cart/checkout
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/ua/cart/checkout$#u
                                            [host] => http://.his.test
                                            [route] => ua/subdomain/cart-checkout
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/ua/cart/checkout
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [10] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/cart/thanks/
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/cart/thanks/(?P\d+)$#u
                                            [host] => http://.his.test
                                            [route] => subdomain/cart-thanks
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/cart/thanks/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [11] => yii\web\UrlRule Object
                                        (
                                            [name] => http://.his.test/ua/cart/thanks/
                                            [pattern] => #^http://(?P[a-zA-Z0-9-_\.]+)\.his\.test/ua/cart/thanks/(?P\d+)$#u
                                            [host] => http://.his.test
                                            [route] => ua/subdomain/cart-thanks
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => http://.his.test/ua/cart/thanks/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [12] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua$#u
                                            [host] => https://.his.ua
                                            [route] => subdomain/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [13] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/ua
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/ua$#u
                                            [host] => https://.his.ua
                                            [route] => ua/subdomain/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/ua
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [14] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/cart
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/cart$#u
                                            [host] => https://.his.ua
                                            [route] => subdomain/cart-index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/cart
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [15] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/ua/cart
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/ua/cart$#u
                                            [host] => https://.his.ua
                                            [route] => ua/subdomain/cart-index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/ua/cart
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [16] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/(?P\w+)$#u
                                            [host] => https://.his.ua
                                            [route] => subdomain/
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [a47cc8c92] => action
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/
                                            [_routeRule:yii\web\UrlRule:private] => #^subdomain/(?P\w+)$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [action] => 
                                                )

                                        )

                                    [17] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/ua/
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/ua/(?P\w+)$#u
                                            [host] => https://.his.ua
                                            [route] => ua/subdomain/
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [a47cc8c92] => action
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/ua/
                                            [_routeRule:yii\web\UrlRule:private] => #^ua/subdomain/(?P\w+)$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [action] => 
                                                )

                                        )

                                    [18] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/product/
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/product/(?P[a-zA-Z0-9-_\.]+)$#u
                                            [host] => https://.his.ua
                                            [route] => subdomain/product
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [a483eb3e6] => actionSlug
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/product/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                    [actionSlug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [19] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/ua/product/
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/ua/product/(?P[a-zA-Z0-9-_\.]+)$#u
                                            [host] => https://.his.ua
                                            [route] => ua/subdomain/product
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [a483eb3e6] => actionSlug
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/ua/product/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                    [actionSlug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [20] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/cart/checkout
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/cart/checkout$#u
                                            [host] => https://.his.ua
                                            [route] => subdomain/cart-checkout
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/cart/checkout
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [21] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/ua/cart/checkout
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/ua/cart/checkout$#u
                                            [host] => https://.his.ua
                                            [route] => ua/subdomain/cart-checkout
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/ua/cart/checkout
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [22] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/cart/thanks/
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/cart/thanks/(?P\d+)$#u
                                            [host] => https://.his.ua
                                            [route] => subdomain/cart-thanks
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/cart/thanks/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [23] => yii\web\UrlRule Object
                                        (
                                            [name] => https://.his.ua/ua/cart/thanks/
                                            [pattern] => #^https://(?P[a-zA-Z0-9-_\.]+)\.his\.ua/ua/cart/thanks/(?P\d+)$#u
                                            [host] => https://.his.ua
                                            [route] => ua/subdomain/cart-thanks
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => https://.his.ua/ua/cart/thanks/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [24] => yii\web\UrlRule Object
                                        (
                                            [name] => search
                                            [pattern] => #^search$#u
                                            [host] => 
                                            [route] => site/search
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /search/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [25] => yii\web\UrlRule Object
                                        (
                                            [name] => /ua/search
                                            [pattern] => #^ua/search$#u
                                            [host] => 
                                            [route] => site/search
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /ua/search/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [26] => yii\web\UrlRule Object
                                        (
                                            [name] => /page/
                                            [pattern] => #^page/(?P\d+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a140ab620] => page
                                                )

                                            [_template:yii\web\UrlRule:private] => /page//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [page] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [27] => yii\web\UrlRule Object
                                        (
                                            [name] => /
                                            [pattern] => #^$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => 
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [28] => yii\web\UrlRule Object
                                        (
                                            [name] => shop/favorites
                                            [pattern] => #^shop/favorites$#u
                                            [host] => 
                                            [route] => shop/favorites
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop/favorites/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [29] => yii\web\UrlRule Object
                                        (
                                            [name] => shop//page//pagesize//f/
                                            [pattern] => #^shop/(?P[0-9a-z-_]+)/page/(?P\d+)/pagesize/(?P\d+)/f/(?P(?!.*index)[0-9a-z-_;]+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                    [a140ab620] => page
                                                    [a76143501] => pagesize
                                                    [a7fc45f1d] => filter
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop//page//pagesize//f//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^[0-9a-z-_]+$#u
                                                    [page] => #^\d+$#u
                                                    [pagesize] => #^\d+$#u
                                                    [filter] => #^(?!.*index)[0-9a-z-_;]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [30] => yii\web\UrlRule Object
                                        (
                                            [name] => shop//page/1/pagesize//f/
                                            [pattern] => #^shop/(?P[0-9a-z-_]+)/page/1/pagesize/(?P\d+)/f/(?P(?!.*index)[0-9a-z-_;]+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                    [a76143501] => pagesize
                                                    [a7fc45f1d] => filter
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop//page/1/pagesize//f//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^[0-9a-z-_]+$#u
                                                    [pagesize] => #^\d+$#u
                                                    [filter] => #^(?!.*index)[0-9a-z-_;]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [31] => yii\web\UrlRule Object
                                        (
                                            [name] => shop//page//f/
                                            [pattern] => #^shop/(?P[0-9a-z-_]+)/page/(?P\d+)/f/(?P(?!.*index)[0-9a-z-_;]+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                    [a140ab620] => page
                                                    [a7fc45f1d] => filter
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop//page//f//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^[0-9a-z-_]+$#u
                                                    [page] => #^\d+$#u
                                                    [filter] => #^(?!.*index)[0-9a-z-_;]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [32] => yii\web\UrlRule Object
                                        (
                                            [name] => shop/page//f/
                                            [pattern] => #^shop/page/(?P\d+)/f/(?P(?!.*index)[0-9a-z-_;]+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a140ab620] => page
                                                    [a7fc45f1d] => filter
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop/page//f//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [page] => #^\d+$#u
                                                    [filter] => #^(?!.*index)[0-9a-z-_;]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [33] => yii\web\UrlRule Object
                                        (
                                            [name] => shop//f/
                                            [pattern] => #^shop/(?P(?!.*index)[0-9a-z-_]+)/f/(?P(?!.*index)[0-9a-z-_;]+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                    [a7fc45f1d] => filter
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop//f//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^(?!.*index)[0-9a-z-_]+$#u
                                                    [filter] => #^(?!.*index)[0-9a-z-_;]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [34] => yii\web\UrlRule Object
                                        (
                                            [name] => shop//page//pagesize/
                                            [pattern] => #^shop/(?P[0-9a-z-_]+)/page/(?P\d+)/pagesize/(?P\d+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                    [a140ab620] => page
                                                    [a76143501] => pagesize
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop//page//pagesize//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^[0-9a-z-_]+$#u
                                                    [page] => #^\d+$#u
                                                    [pagesize] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [35] => yii\web\UrlRule Object
                                        (
                                            [name] => shop//page/1/pagesize/
                                            [pattern] => #^shop/(?P[0-9a-z-_]+)/page/1/pagesize/(?P\d+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                    [a76143501] => pagesize
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop//page/1/pagesize//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^[0-9a-z-_]+$#u
                                                    [pagesize] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [36] => yii\web\UrlRule Object
                                        (
                                            [name] => shop//page/
                                            [pattern] => #^shop/(?P[0-9a-z-_]+)/page/(?P\d+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                    [a140ab620] => page
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop//page//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^[0-9a-z-_]+$#u
                                                    [page] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [37] => yii\web\UrlRule Object
                                        (
                                            [name] => shop/page/
                                            [pattern] => #^shop/page/(?P\d+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a140ab620] => page
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop/page//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [page] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [38] => yii\web\UrlRule Object
                                        (
                                            [name] => shop/
                                            [pattern] => #^shop/(?P(?!.*index)[0-9a-z-_]+)$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^(?!.*index)[0-9a-z-_]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [39] => yii\web\UrlRule Object
                                        (
                                            [name] => shop
                                            [pattern] => #^shop$#u
                                            [host] => 
                                            [route] => shop/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /shop/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [40] => yii\web\UrlRule Object
                                        (
                                            [name] => sitemap
                                            [pattern] => #^sitemap$#u
                                            [host] => 
                                            [route] => site/sitemap
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /sitemap/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [41] => yii\web\UrlRule Object
                                        (
                                            [name] => sitemap.xml
                                            [pattern] => #^sitemap\.xml$#u
                                            [host] => 
                                            [route] => sitemap/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /sitemap.xml/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [42] => yii\web\UrlRule Object
                                        (
                                            [name] => sitemap_1_ru.xml
                                            [pattern] => #^sitemap_1_ru\.xml$#u
                                            [host] => 
                                            [route] => sitemap_1_ru/default/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /sitemap_1_ru.xml/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [43] => yii\web\UrlRule Object
                                        (
                                            [name] => sitemap_2_ru.xml
                                            [pattern] => #^sitemap_2_ru\.xml$#u
                                            [host] => 
                                            [route] => sitemap_2_ru/default/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /sitemap_2_ru.xml/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [44] => yii\web\UrlRule Object
                                        (
                                            [name] => sitemap_1_ua.xml
                                            [pattern] => #^sitemap_1_ua\.xml$#u
                                            [host] => 
                                            [route] => sitemap_1_ua/default/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /sitemap_1_ua.xml/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [45] => yii\web\UrlRule Object
                                        (
                                            [name] => sitemap_2_ua.xml
                                            [pattern] => #^sitemap_2_ua\.xml$#u
                                            [host] => 
                                            [route] => sitemap_2_ua/default/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /sitemap_2_ua.xml/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [46] => yii\web\UrlRule Object
                                        (
                                            [name] => pricelist.yml
                                            [pattern] => #^pricelist\.yml$#u
                                            [host] => 
                                            [route] => pricelist/yml
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /pricelist.yml/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [47] => yii\web\UrlRule Object
                                        (
                                            [name] => pricelist_yandex.yml
                                            [pattern] => #^pricelist_yandex\.yml$#u
                                            [host] => 
                                            [route] => pricelist/yandex-yml
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /pricelist_yandex.yml/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [48] => yii\web\UrlRule Object
                                        (
                                            [name] => pricelist_criteo.tsv
                                            [pattern] => #^pricelist_criteo\.tsv$#u
                                            [host] => 
                                            [route] => pricelist/criteo-tsv
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /pricelist_criteo.tsv/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [49] => yii\web\UrlRule Object
                                        (
                                            [name] => gmcfeed.xml
                                            [pattern] => #^gmcfeed\.xml$#u
                                            [host] => 
                                            [route] => pricelist/gmc-feed
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /gmcfeed.xml/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [50] => yii\web\UrlRule Object
                                        (
                                            [name] => news
                                            [pattern] => #^news$#u
                                            [host] => 
                                            [route] => site/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /news/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [51] => yii\web\UrlRule Object
                                        (
                                            [name] => about
                                            [pattern] => #^about$#u
                                            [host] => 
                                            [route] => site/about
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /about/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [52] => yii\web\UrlRule Object
                                        (
                                            [name] => shipping
                                            [pattern] => #^shipping$#u
                                            [host] => 
                                            [route] => site/shipping
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /shipping/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [53] => yii\web\UrlRule Object
                                        (
                                            [name] => contacts
                                            [pattern] => #^contacts$#u
                                            [host] => 
                                            [route] => site/contacts
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /contacts/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [54] => yii\web\UrlRule Object
                                        (
                                            [name] => advertising
                                            [pattern] => #^advertising$#u
                                            [host] => 
                                            [route] => site/advertising
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /advertising/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [55] => yii\web\UrlRule Object
                                        (
                                            [name] => liqpay-callback
                                            [pattern] => #^liqpay-callback$#u
                                            [host] => 
                                            [route] => site/liqpay-callback
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /liqpay-callback/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [56] => yii\web\UrlRule Object
                                        (
                                            [name] => journal//page/
                                            [pattern] => #^journal/(?P[0-9a-z-_]+)/page/(?P\d+)$#u
                                            [host] => 
                                            [route] => journal/category
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                    [a140ab620] => page
                                                )

                                            [_template:yii\web\UrlRule:private] => /journal//page//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^[0-9a-z-_]+$#u
                                                    [page] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [57] => yii\web\UrlRule Object
                                        (
                                            [name] => journal/
                                            [pattern] => #^journal/(?P[0-9a-z-_]+)$#u
                                            [host] => 
                                            [route] => journal/category
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a500680fc] => categorySlug
                                                )

                                            [_template:yii\web\UrlRule:private] => /journal//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categorySlug] => #^[0-9a-z-_]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [58] => yii\web\UrlRule Object
                                        (
                                            [name] => journal/page/
                                            [pattern] => #^journal/page/(?P\d+)$#u
                                            [host] => 
                                            [route] => journal/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a140ab620] => page
                                                )

                                            [_template:yii\web\UrlRule:private] => /journal/page//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [page] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [59] => yii\web\UrlRule Object
                                        (
                                            [name] => journal
                                            [pattern] => #^journal$#u
                                            [host] => 
                                            [route] => journal/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /journal/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [60] => yii\web\UrlRule Object
                                        (
                                            [name] => profile
                                            [pattern] => #^profile$#u
                                            [host] => 
                                            [route] => user/profile
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /profile/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [61] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/manufacturers//images
                                            [pattern] => #^admin/manufacturers/(?P\d+)/images$#u
                                            [host] => 
                                            [route] => admin/manufacturer-image/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4e59b3a6] => manufacturerId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/manufacturers//images/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [manufacturerId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [62] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/manufacturers//images/create
                                            [pattern] => #^admin/manufacturers/(?P\d+)/images/create$#u
                                            [host] => 
                                            [route] => admin/manufacturer-image/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4e59b3a6] => manufacturerId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/manufacturers//images/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [manufacturerId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [63] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/manufacturers//images/update/
                                            [pattern] => #^admin/manufacturers/(?P\d+)/images/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/manufacturer-image/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4e59b3a6] => manufacturerId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/manufacturers//images/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [manufacturerId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [64] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/manufacturers//images/view/
                                            [pattern] => #^admin/manufacturers/(?P\d+)/images/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/manufacturer-image/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4e59b3a6] => manufacturerId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/manufacturers//images/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [manufacturerId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [65] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/manufacturers//images/delete/
                                            [pattern] => #^admin/manufacturers/(?P\d+)/images/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/manufacturer-image/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4e59b3a6] => manufacturerId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/manufacturers//images/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [manufacturerId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [66] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/category//parameters
                                            [pattern] => #^admin/category/(?P\d+)/parameters$#u
                                            [host] => 
                                            [route] => admin/category-parameter/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a9c370b71] => categoryId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/category//parameters/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categoryId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [67] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/category//parameters/create
                                            [pattern] => #^admin/category/(?P\d+)/parameters/create$#u
                                            [host] => 
                                            [route] => admin/category-parameter/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a9c370b71] => categoryId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/category//parameters/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categoryId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [68] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/category//parameters/update/
                                            [pattern] => #^admin/category/(?P\d+)/parameters/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/category-parameter/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a9c370b71] => categoryId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/category//parameters/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categoryId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [69] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/category//parameters/view/
                                            [pattern] => #^admin/category/(?P\d+)/parameters/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/category-parameter/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a9c370b71] => categoryId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/category//parameters/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categoryId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [70] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/category//parameters/delete/
                                            [pattern] => #^admin/category/(?P\d+)/parameters/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/category-parameter/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a9c370b71] => categoryId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/category//parameters/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [categoryId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [71] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//styles
                                            [pattern] => #^admin/product/(?P\d+)/styles$#u
                                            [host] => 
                                            [route] => admin/product-style/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//styles/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [72] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//styles/create
                                            [pattern] => #^admin/product/(?P\d+)/styles/create$#u
                                            [host] => 
                                            [route] => admin/product-style/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//styles/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [73] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//styles/update/
                                            [pattern] => #^admin/product/(?P\d+)/styles/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-style/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//styles/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [74] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//styles/view/
                                            [pattern] => #^admin/product/(?P\d+)/styles/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-style/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//styles/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [75] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//styles/delete/
                                            [pattern] => #^admin/product/(?P\d+)/styles/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-style/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//styles/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [76] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//attributes
                                            [pattern] => #^admin/product/(?P\d+)/attributes$#u
                                            [host] => 
                                            [route] => admin/product-attribute/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//attributes/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [77] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//attributes/create
                                            [pattern] => #^admin/product/(?P\d+)/attributes/create$#u
                                            [host] => 
                                            [route] => admin/product-attribute/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//attributes/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [78] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//attributes/update/
                                            [pattern] => #^admin/product/(?P\d+)/attributes/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-attribute/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//attributes/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [79] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//attributes/view/
                                            [pattern] => #^admin/product/(?P\d+)/attributes/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-attribute/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//attributes/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [80] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//attributes/delete/
                                            [pattern] => #^admin/product/(?P\d+)/attributes/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-attribute/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//attributes/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [81] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//videos
                                            [pattern] => #^admin/product/(?P\d+)/videos$#u
                                            [host] => 
                                            [route] => admin/product-video/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//videos/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [82] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//videos/create
                                            [pattern] => #^admin/product/(?P\d+)/videos/create$#u
                                            [host] => 
                                            [route] => admin/product-video/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//videos/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [83] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//videos/update/
                                            [pattern] => #^admin/product/(?P\d+)/videos/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-video/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//videos/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [84] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//videos/view/
                                            [pattern] => #^admin/product/(?P\d+)/videos/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-video/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//videos/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [85] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//videos/delete/
                                            [pattern] => #^admin/product/(?P\d+)/videos/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-video/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//videos/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [86] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//images
                                            [pattern] => #^admin/product/(?P\d+)/images$#u
                                            [host] => 
                                            [route] => admin/product-image/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//images/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [87] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//images/create
                                            [pattern] => #^admin/product/(?P\d+)/images/create$#u
                                            [host] => 
                                            [route] => admin/product-image/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//images/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [88] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//images/update/
                                            [pattern] => #^admin/product/(?P\d+)/images/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-image/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//images/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [89] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//images/view/
                                            [pattern] => #^admin/product/(?P\d+)/images/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-image/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//images/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [90] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//images/delete/
                                            [pattern] => #^admin/product/(?P\d+)/images/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-image/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//images/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [91] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//colors
                                            [pattern] => #^admin/product/(?P\d+)/colors$#u
                                            [host] => 
                                            [route] => admin/product-color/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//colors/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [92] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//colors/create
                                            [pattern] => #^admin/product/(?P\d+)/colors/create$#u
                                            [host] => 
                                            [route] => admin/product-color/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//colors/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [93] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//colors/update/
                                            [pattern] => #^admin/product/(?P\d+)/colors/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-color/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//colors/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [94] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//colors/view/
                                            [pattern] => #^admin/product/(?P\d+)/colors/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-color/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//colors/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [95] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//colors/delete/
                                            [pattern] => #^admin/product/(?P\d+)/colors/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-color/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//colors/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [96] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//options
                                            [pattern] => #^admin/product/(?P\d+)/options$#u
                                            [host] => 
                                            [route] => admin/product-option/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//options/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [97] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//options/create
                                            [pattern] => #^admin/product/(?P\d+)/options/create$#u
                                            [host] => 
                                            [route] => admin/product-option/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//options/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [98] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//options/update/
                                            [pattern] => #^admin/product/(?P\d+)/options/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-option/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//options/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [99] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//options/view/
                                            [pattern] => #^admin/product/(?P\d+)/options/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-option/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//options/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [100] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//options/delete/
                                            [pattern] => #^admin/product/(?P\d+)/options/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-option/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//options/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [101] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/portfolio//images
                                            [pattern] => #^admin/portfolio/(?P\d+)/images$#u
                                            [host] => 
                                            [route] => admin/portfolio-image/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a60c1f35e] => portfolioId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/portfolio//images/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [portfolioId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [102] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/portfolio//images/create
                                            [pattern] => #^admin/portfolio/(?P\d+)/images/create$#u
                                            [host] => 
                                            [route] => admin/portfolio-image/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a60c1f35e] => portfolioId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/portfolio//images/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [portfolioId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [103] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/portfolio//images/update/
                                            [pattern] => #^admin/portfolio/(?P\d+)/images/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/portfolio-image/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a60c1f35e] => portfolioId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/portfolio//images/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [portfolioId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [104] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/portfolio//images/view/
                                            [pattern] => #^admin/portfolio/(?P\d+)/images/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/portfolio-image/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a60c1f35e] => portfolioId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/portfolio//images/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [portfolioId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [105] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/portfolio//images/delete/
                                            [pattern] => #^admin/portfolio/(?P\d+)/images/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/portfolio-image/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a60c1f35e] => portfolioId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/portfolio//images/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [portfolioId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [106] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//categories
                                            [pattern] => #^admin/product/(?P\d+)/categories$#u
                                            [host] => 
                                            [route] => admin/product-category/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//categories/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [107] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//categories/create
                                            [pattern] => #^admin/product/(?P\d+)/categories/create$#u
                                            [host] => 
                                            [route] => admin/product-category/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//categories/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [108] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//categories/update/
                                            [pattern] => #^admin/product/(?P\d+)/categories/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-category/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//categories/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [109] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//categories/view/
                                            [pattern] => #^admin/product/(?P\d+)/categories/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-category/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//categories/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [110] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/product//categories/delete/
                                            [pattern] => #^admin/product/(?P\d+)/categories/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/product-category/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/product//categories/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [111] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//products
                                            [pattern] => #^admin/collection/(?P\d+)/products$#u
                                            [host] => 
                                            [route] => admin/collection-product/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//products/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [112] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//products/create
                                            [pattern] => #^admin/collection/(?P\d+)/products/create$#u
                                            [host] => 
                                            [route] => admin/collection-product/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//products/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [113] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//products/update/
                                            [pattern] => #^admin/collection/(?P\d+)/products/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/collection-product/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//products/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [114] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//products/view/
                                            [pattern] => #^admin/collection/(?P\d+)/products/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/collection-product/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//products/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [115] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//products/delete/
                                            [pattern] => #^admin/collection/(?P\d+)/products/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/collection-product/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//products/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [116] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//images
                                            [pattern] => #^admin/collection/(?P\d+)/images$#u
                                            [host] => 
                                            [route] => admin/collection-image/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//images/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [117] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//images/create
                                            [pattern] => #^admin/collection/(?P\d+)/images/create$#u
                                            [host] => 
                                            [route] => admin/collection-image/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//images/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [118] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//images/update/
                                            [pattern] => #^admin/collection/(?P\d+)/images/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/collection-image/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//images/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [119] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//images/view/
                                            [pattern] => #^admin/collection/(?P\d+)/images/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/collection-image/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//images/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [120] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/collection//images/delete/
                                            [pattern] => #^admin/collection/(?P\d+)/images/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/collection-image/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa157e19] => collectionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/collection//images/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [collectionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [121] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//comments
                                            [pattern] => #^admin/article/(?P\d+)/comments$#u
                                            [host] => 
                                            [route] => admin/article-comments/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//comments/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [122] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//comments/create
                                            [pattern] => #^admin/article/(?P\d+)/comments/create$#u
                                            [host] => 
                                            [route] => admin/article-comments/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//comments/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [123] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//comments/update/
                                            [pattern] => #^admin/article/(?P\d+)/comments/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-comments/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//comments/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [124] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//comments/view/
                                            [pattern] => #^admin/article/(?P\d+)/comments/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-comments/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//comments/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [125] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//comments/delete/
                                            [pattern] => #^admin/article/(?P\d+)/comments/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-comments/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//comments/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [126] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//tags
                                            [pattern] => #^admin/article/(?P\d+)/tags$#u
                                            [host] => 
                                            [route] => admin/article-tag/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//tags/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [127] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//tags/create
                                            [pattern] => #^admin/article/(?P\d+)/tags/create$#u
                                            [host] => 
                                            [route] => admin/article-tag/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//tags/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [128] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//tags/update/
                                            [pattern] => #^admin/article/(?P\d+)/tags/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-tag/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//tags/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [129] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//tags/view/
                                            [pattern] => #^admin/article/(?P\d+)/tags/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-tag/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//tags/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [130] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//tags/delete/
                                            [pattern] => #^admin/article/(?P\d+)/tags/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-tag/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//tags/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [131] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//products
                                            [pattern] => #^admin/article/(?P\d+)/products$#u
                                            [host] => 
                                            [route] => admin/article-product/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//products/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [132] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//products/create
                                            [pattern] => #^admin/article/(?P\d+)/products/create$#u
                                            [host] => 
                                            [route] => admin/article-product/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//products/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [133] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//products/update/
                                            [pattern] => #^admin/article/(?P\d+)/products/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-product/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//products/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [134] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//products/view/
                                            [pattern] => #^admin/article/(?P\d+)/products/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-product/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//products/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [135] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//products/delete/
                                            [pattern] => #^admin/article/(?P\d+)/products/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-product/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//products/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [136] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//categories
                                            [pattern] => #^admin/article/(?P\d+)/categories$#u
                                            [host] => 
                                            [route] => admin/article-category/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//categories/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [137] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//categories/create
                                            [pattern] => #^admin/article/(?P\d+)/categories/create$#u
                                            [host] => 
                                            [route] => admin/article-category/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//categories/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [138] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//categories/update/
                                            [pattern] => #^admin/article/(?P\d+)/categories/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-category/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//categories/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [139] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//categories/view/
                                            [pattern] => #^admin/article/(?P\d+)/categories/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-category/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//categories/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [140] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/article//categories/delete/
                                            [pattern] => #^admin/article/(?P\d+)/categories/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/article-category/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afea2a0ee] => articleId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/article//categories/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [articleId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [141] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//products
                                            [pattern] => #^admin/action/(?P\d+)/products$#u
                                            [host] => 
                                            [route] => admin/action-product/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//products/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [142] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//products/create
                                            [pattern] => #^admin/action/(?P\d+)/products/create$#u
                                            [host] => 
                                            [route] => admin/action-product/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//products/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [143] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//products/update/
                                            [pattern] => #^admin/action/(?P\d+)/products/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/action-product/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//products/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [144] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//products/view/
                                            [pattern] => #^admin/action/(?P\d+)/products/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/action-product/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//products/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [145] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//products/delete/
                                            [pattern] => #^admin/action/(?P\d+)/products/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/action-product/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//products/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [146] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//users
                                            [pattern] => #^admin/action/(?P\d+)/users$#u
                                            [host] => 
                                            [route] => admin/action-user/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//users/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [147] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//users/create
                                            [pattern] => #^admin/action/(?P\d+)/users/create$#u
                                            [host] => 
                                            [route] => admin/action-user/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//users/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [148] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//users/update/
                                            [pattern] => #^admin/action/(?P\d+)/users/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/action-user/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//users/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [149] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//users/view/
                                            [pattern] => #^admin/action/(?P\d+)/users/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/action-user/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//users/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [150] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/action//users/delete/
                                            [pattern] => #^admin/action/(?P\d+)/users/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/action-user/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a8dc423ad] => actionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/action//users/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [actionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [151] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/order//products
                                            [pattern] => #^admin/order/(?P\d+)/products$#u
                                            [host] => 
                                            [route] => admin/order-product/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa237437] => orderId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/order//products/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [orderId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [152] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/order//products/create
                                            [pattern] => #^admin/order/(?P\d+)/products/create$#u
                                            [host] => 
                                            [route] => admin/order-product/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa237437] => orderId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/order//products/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [orderId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [153] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/order//products/update/
                                            [pattern] => #^admin/order/(?P\d+)/products/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/order-product/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa237437] => orderId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/order//products/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [orderId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [154] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/order//products/view/
                                            [pattern] => #^admin/order/(?P\d+)/products/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/order-product/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa237437] => orderId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/order//products/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [orderId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [155] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/order//products/delete/
                                            [pattern] => #^admin/order/(?P\d+)/products/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/order-product/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [afa237437] => orderId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/order//products/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [orderId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [156] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//employees
                                            [pattern] => #^admin/user/(?P\d+)/employees$#u
                                            [host] => 
                                            [route] => admin/employees/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//employees/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [157] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//employees/create
                                            [pattern] => #^admin/user/(?P\d+)/employees/create$#u
                                            [host] => 
                                            [route] => admin/employees/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//employees/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [158] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//employees/update/
                                            [pattern] => #^admin/user/(?P\d+)/employees/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/employees/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//employees/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [159] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//employees/view/
                                            [pattern] => #^admin/user/(?P\d+)/employees/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/employees/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//employees/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [160] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//employees/delete/
                                            [pattern] => #^admin/user/(?P\d+)/employees/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/employees/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//employees/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [161] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//professions
                                            [pattern] => #^admin/user/(?P\d+)/professions$#u
                                            [host] => 
                                            [route] => admin/user-profession/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//professions/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [162] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//professions/create
                                            [pattern] => #^admin/user/(?P\d+)/professions/create$#u
                                            [host] => 
                                            [route] => admin/user-profession/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//professions/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [163] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//professions/update/
                                            [pattern] => #^admin/user/(?P\d+)/professions/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/user-profession/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//professions/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [164] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//professions/view/
                                            [pattern] => #^admin/user/(?P\d+)/professions/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/user-profession/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//professions/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [165] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/user//professions/delete/
                                            [pattern] => #^admin/user/(?P\d+)/professions/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/user-profession/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a64b64dcc] => userId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/user//professions/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [userId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [166] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/event//users
                                            [pattern] => #^admin/event/(?P\d+)/users$#u
                                            [host] => 
                                            [route] => admin/event-user/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a2b2ebb6c] => eventId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/event//users/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [eventId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [167] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/event//users/create
                                            [pattern] => #^admin/event/(?P\d+)/users/create$#u
                                            [host] => 
                                            [route] => admin/event-user/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a2b2ebb6c] => eventId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/event//users/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [eventId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [168] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/event//users/update/
                                            [pattern] => #^admin/event/(?P\d+)/users/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/event-user/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a2b2ebb6c] => eventId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/event//users/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [eventId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [169] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/event//users/view/
                                            [pattern] => #^admin/event/(?P\d+)/users/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/event-user/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a2b2ebb6c] => eventId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/event//users/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [eventId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [170] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/event//users/delete/
                                            [pattern] => #^admin/event/(?P\d+)/users/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/event-user/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a2b2ebb6c] => eventId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/event//users/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [eventId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [171] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/question//answers
                                            [pattern] => #^admin/question/(?P\d+)/answers$#u
                                            [host] => 
                                            [route] => admin/answers/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4b476eba] => questionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/question//answers/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [questionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [172] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/question//answers/create
                                            [pattern] => #^admin/question/(?P\d+)/answers/create$#u
                                            [host] => 
                                            [route] => admin/answers/create
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4b476eba] => questionId
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/question//answers/create/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [questionId] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [173] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/question//answers/update/
                                            [pattern] => #^admin/question/(?P\d+)/answers/update/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/answers/update
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4b476eba] => questionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/question//answers/update//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [questionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [174] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/question//answers/view/
                                            [pattern] => #^admin/question/(?P\d+)/answers/view/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/answers/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4b476eba] => questionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/question//answers/view//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [questionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [175] => yii\web\UrlRule Object
                                        (
                                            [name] => admin/question//answers/delete/
                                            [pattern] => #^admin/question/(?P\d+)/answers/delete/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin/answers/delete
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4b476eba] => questionId
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin/question//answers/delete//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [questionId] => #^\d+$#u
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [176] => yii\web\UrlRule Object
                                        (
                                            [name] => cart/add//
                                            [pattern] => #^cart/add/(?P\d+)/(?P\w+)$#u
                                            [host] => 
                                            [route] => cart/add
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a36799605] => productId
                                                    [a665648e9] => color
                                                )

                                            [_template:yii\web\UrlRule:private] => /cart/add///
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [productId] => #^\d+$#u
                                                    [color] => #^\w+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [177] => yii\web\UrlRule Object
                                        (
                                            [name] => interviews
                                            [pattern] => #^interviews$#u
                                            [host] => 
                                            [route] => site/interviews
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /interviews/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [178] => yii\web\UrlRule Object
                                        (
                                            [name] => user/
                                            [pattern] => #^user/(?P[a-zA-Z0-9-_\.]+-\d{10})$#u
                                            [host] => 
                                            [route] => user/view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => /user//
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+-\d{10}$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                    [179] => yii\web\UrlRule Object
                                        (
                                            [name] => /
                                            [pattern] => #^(?P(category|article|product|tag|collection|manufacturer|event))/(?P[a-zA-Z0-9-_\.]+)$#u
                                            [host] => 
                                            [route] => /view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4cf2669a] => controller
                                                    [a989d9b62] => slug
                                                )

                                            [_template:yii\web\UrlRule:private] => ///
                                            [_routeRule:yii\web\UrlRule:private] => #^(?P(category|article|product|tag|collection|manufacturer|event))/view$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [slug] => #^[a-zA-Z0-9-_\.]+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [controller] => 
                                                )

                                        )

                                    [180] => yii\web\UrlRule Object
                                        (
                                            [name] => admin//
                                            [pattern] => #^admin/(?P\w+)/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin//view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4cf2669a] => controller
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin///
                                            [_routeRule:yii\web\UrlRule:private] => #^admin/(?P\w+)/view$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [controller] => 
                                                )

                                        )

                                    [181] => yii\web\UrlRule Object
                                        (
                                            [name] => admin///
                                            [pattern] => #^admin/(?P\w+)/(?P\w+)/(?P\d+)$#u
                                            [host] => 
                                            [route] => admin//
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4cf2669a] => controller
                                                    [a47cc8c92] => action
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin////
                                            [_routeRule:yii\web\UrlRule:private] => #^admin/(?P\w+)/(?P\w+)$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [controller] => 
                                                    [action] => 
                                                )

                                        )

                                    [182] => yii\web\UrlRule Object
                                        (
                                            [name] => admin//
                                            [pattern] => #^admin/(?P\w+)/(?P\w+)$#u
                                            [host] => 
                                            [route] => admin//
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4cf2669a] => controller
                                                    [a47cc8c92] => action
                                                )

                                            [_template:yii\web\UrlRule:private] => /admin///
                                            [_routeRule:yii\web\UrlRule:private] => #^admin/(?P\w+)/(?P\w+)$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [controller] => 
                                                    [action] => 
                                                )

                                        )

                                    [183] => yii\web\UrlRule Object
                                        (
                                            [name] => /
                                            [pattern] => #^(?P\w+)/(?P\d+)$#u
                                            [host] => 
                                            [route] => /view
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4cf2669a] => controller
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => ///
                                            [_routeRule:yii\web\UrlRule:private] => #^(?P\w+)/view$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [controller] => 
                                                )

                                        )

                                    [184] => yii\web\UrlRule Object
                                        (
                                            [name] => //
                                            [pattern] => #^(?P\w+)/(?P\w+)/(?P\d+)$#u
                                            [host] => 
                                            [route] => /
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4cf2669a] => controller
                                                    [a47cc8c92] => action
                                                    [abf396750] => id
                                                )

                                            [_template:yii\web\UrlRule:private] => ////
                                            [_routeRule:yii\web\UrlRule:private] => #^(?P\w+)/(?P\w+)$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                    [id] => #^\d+$#u
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [controller] => 
                                                    [action] => 
                                                )

                                        )

                                    [185] => yii\web\UrlRule Object
                                        (
                                            [name] => /
                                            [pattern] => #^(?P\w+)/(?P\w+)$#u
                                            [host] => 
                                            [route] => /
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                    [a4cf2669a] => controller
                                                    [a47cc8c92] => action
                                                )

                                            [_template:yii\web\UrlRule:private] => ///
                                            [_routeRule:yii\web\UrlRule:private] => #^(?P\w+)/(?P\w+)$#u
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                    [controller] => 
                                                    [action] => 
                                                )

                                        )

                                    [186] => yii\web\UrlRule Object
                                        (
                                            [name] => collections
                                            [pattern] => #^collections$#u
                                            [host] => 
                                            [route] => collection/index
                                            [defaults] => Array
                                                (
                                                )

                                            [suffix] => 
                                            [verb] => 
                                            [mode] => 
                                            [encodeParams] => 1
                                            [normalizer] => 
                                            [createStatus:protected] => 
                                            [placeholders:protected] => Array
                                                (
                                                )

                                            [_template:yii\web\UrlRule:private] => /collections/
                                            [_routeRule:yii\web\UrlRule:private] => 
                                            [_paramRules:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                            [_routeParams:yii\web\UrlRule:private] => Array
                                                (
                                                )

                                        )

                                )

                            [suffix] => 
                            [showScriptName] => 
                            [routeParam] => r
                            [cache] => yii\redis\Cache Object
                                (
                                    [redis] => yii\redis\Connection Object
                                        (
                                            [hostname] => localhost
                                            [scheme] => tcp
                                            [redirectConnectionString] => 
                                            [port] => 6379
                                            [unixSocket] => 
                                            [username] => 
                                            [password] => 
                                            [database] => 0
                                            [connectionTimeout] => 
                                            [dataTimeout] => 
                                            [useSSL] => 
                                            [contextOptions] => Array
                                                (
                                                )

                                            [socketClientFlags] => 4
                                            [retries] => 0
                                            [retryInterval] => 0
                                            [redisCommands] => Array
                                                (
                                                    [0] => APPEND
                                                    [1] => AUTH
                                                    [2] => BGREWRITEAOF
                                                    [3] => BGSAVE
                                                    [4] => BITCOUNT
                                                    [5] => BITFIELD
                                                    [6] => BITOP
                                                    [7] => BITPOS
                                                    [8] => BLPOP
                                                    [9] => BRPOP
                                                    [10] => BRPOPLPUSH
                                                    [11] => CLIENT KILL
                                                    [12] => CLIENT LIST
                                                    [13] => CLIENT GETNAME
                                                    [14] => CLIENT PAUSE
                                                    [15] => CLIENT REPLY
                                                    [16] => CLIENT SETNAME
                                                    [17] => CLUSTER ADDSLOTS
                                                    [18] => CLUSTER COUNTKEYSINSLOT
                                                    [19] => CLUSTER DELSLOTS
                                                    [20] => CLUSTER FAILOVER
                                                    [21] => CLUSTER FORGET
                                                    [22] => CLUSTER GETKEYSINSLOT
                                                    [23] => CLUSTER INFO
                                                    [24] => CLUSTER KEYSLOT
                                                    [25] => CLUSTER MEET
                                                    [26] => CLUSTER NODES
                                                    [27] => CLUSTER REPLICATE
                                                    [28] => CLUSTER RESET
                                                    [29] => CLUSTER SAVECONFIG
                                                    [30] => CLUSTER SETSLOT
                                                    [31] => CLUSTER SLAVES
                                                    [32] => CLUSTER SLOTS
                                                    [33] => COMMAND
                                                    [34] => COMMAND COUNT
                                                    [35] => COMMAND GETKEYS
                                                    [36] => COMMAND INFO
                                                    [37] => CONFIG GET
                                                    [38] => CONFIG REWRITE
                                                    [39] => CONFIG SET
                                                    [40] => CONFIG RESETSTAT
                                                    [41] => DBSIZE
                                                    [42] => DEBUG OBJECT
                                                    [43] => DEBUG SEGFAULT
                                                    [44] => DECR
                                                    [45] => DECRBY
                                                    [46] => DEL
                                                    [47] => DISCARD
                                                    [48] => DUMP
                                                    [49] => ECHO
                                                    [50] => EVAL
                                                    [51] => EVALSHA
                                                    [52] => EXEC
                                                    [53] => EXISTS
                                                    [54] => EXPIRE
                                                    [55] => EXPIREAT
                                                    [56] => FLUSHALL
                                                    [57] => FLUSHDB
                                                    [58] => GEOADD
                                                    [59] => GEOHASH
                                                    [60] => GEOPOS
                                                    [61] => GEODIST
                                                    [62] => GEORADIUS
                                                    [63] => GEORADIUSBYMEMBER
                                                    [64] => GET
                                                    [65] => GETBIT
                                                    [66] => GETRANGE
                                                    [67] => GETSET
                                                    [68] => HDEL
                                                    [69] => HEXISTS
                                                    [70] => HGET
                                                    [71] => HGETALL
                                                    [72] => HINCRBY
                                                    [73] => HINCRBYFLOAT
                                                    [74] => HKEYS
                                                    [75] => HLEN
                                                    [76] => HMGET
                                                    [77] => HMSET
                                                    [78] => HSET
                                                    [79] => HSETNX
                                                    [80] => HSTRLEN
                                                    [81] => HVALS
                                                    [82] => INCR
                                                    [83] => INCRBY
                                                    [84] => INCRBYFLOAT
                                                    [85] => INFO
                                                    [86] => KEYS
                                                    [87] => LASTSAVE
                                                    [88] => LINDEX
                                                    [89] => LINSERT
                                                    [90] => LLEN
                                                    [91] => LPOP
                                                    [92] => LPUSH
                                                    [93] => LPUSHX
                                                    [94] => LRANGE
                                                    [95] => LREM
                                                    [96] => LSET
                                                    [97] => LTRIM
                                                    [98] => MGET
                                                    [99] => MIGRATE
                                                    [100] => MONITOR
                                                    [101] => MOVE
                                                    [102] => MSET
                                                    [103] => MSETNX
                                                    [104] => MULTI
                                                    [105] => OBJECT
                                                    [106] => PERSIST
                                                    [107] => PEXPIRE
                                                    [108] => PEXPIREAT
                                                    [109] => PFADD
                                                    [110] => PFCOUNT
                                                    [111] => PFMERGE
                                                    [112] => PING
                                                    [113] => PSETEX
                                                    [114] => PSUBSCRIBE
                                                    [115] => PUBSUB
                                                    [116] => PTTL
                                                    [117] => PUBLISH
                                                    [118] => PUNSUBSCRIBE
                                                    [119] => QUIT
                                                    [120] => RANDOMKEY
                                                    [121] => READONLY
                                                    [122] => READWRITE
                                                    [123] => RENAME
                                                    [124] => RENAMENX
                                                    [125] => RESTORE
                                                    [126] => ROLE
                                                    [127] => RPOP
                                                    [128] => RPOPLPUSH
                                                    [129] => RPUSH
                                                    [130] => RPUSHX
                                                    [131] => SADD
                                                    [132] => SAVE
                                                    [133] => SCARD
                                                    [134] => SCRIPT DEBUG
                                                    [135] => SCRIPT EXISTS
                                                    [136] => SCRIPT FLUSH
                                                    [137] => SCRIPT KILL
                                                    [138] => SCRIPT LOAD
                                                    [139] => SDIFF
                                                    [140] => SDIFFSTORE
                                                    [141] => SELECT
                                                    [142] => SET
                                                    [143] => SETBIT
                                                    [144] => SETEX
                                                    [145] => SETNX
                                                    [146] => SETRANGE
                                                    [147] => SHUTDOWN
                                                    [148] => SINTER
                                                    [149] => SINTERSTORE
                                                    [150] => SISMEMBER
                                                    [151] => SLAVEOF
                                                    [152] => SLOWLOG
                                                    [153] => SMEMBERS
                                                    [154] => SMOVE
                                                    [155] => SORT
                                                    [156] => SPOP
                                                    [157] => SRANDMEMBER
                                                    [158] => SREM
                                                    [159] => STRLEN
                                                    [160] => SUBSCRIBE
                                                    [161] => SUNION
                                                    [162] => SUNIONSTORE
                                                    [163] => SWAPDB
                                                    [164] => SYNC
                                                    [165] => TIME
                                                    [166] => TOUCH
                                                    [167] => TTL
                                                    [168] => TYPE
                                                    [169] => UNSUBSCRIBE
                                                    [170] => UNLINK
                                                    [171] => UNWATCH
                                                    [172] => WAIT
                                                    [173] => WATCH
                                                    [174] => XACK
                                                    [175] => XADD
                                                    [176] => XCLAIM
                                                    [177] => XDEL
                                                    [178] => XGROUP
                                                    [179] => XINFO
                                                    [180] => XLEN
                                                    [181] => XPENDING
                                                    [182] => XRANGE
                                                    [183] => XREAD
                                                    [184] => XREADGROUP
                                                    [185] => XREVRANGE
                                                    [186] => XTRIM
                                                    [187] => ZADD
                                                    [188] => ZCARD
                                                    [189] => ZCOUNT
                                                    [190] => ZINCRBY
                                                    [191] => ZINTERSTORE
                                                    [192] => ZLEXCOUNT
                                                    [193] => ZRANGE
                                                    [194] => ZRANGEBYLEX
                                                    [195] => ZREVRANGEBYLEX
                                                    [196] => ZRANGEBYSCORE
                                                    [197] => ZRANK
                                                    [198] => ZREM
                                                    [199] => ZREMRANGEBYLEX
                                                    [200] => ZREMRANGEBYRANK
                                                    [201] => ZREMRANGEBYSCORE
                                                    [202] => ZREVRANGE
                                                    [203] => ZREVRANGEBYSCORE
                                                    [204] => ZREVRANK
                                                    [205] => ZSCORE
                                                    [206] => ZUNIONSTORE
                                                    [207] => SCAN
                                                    [208] => SSCAN
                                                    [209] => HSCAN
                                                    [210] => ZSCAN
                                                )

                                            [_pool:yii\redis\Connection:private] => Array
                                                (
                                                    [tcp://localhost:6379] => Resource id #3
                                                )

                                            [_events:yii\base\Component:private] => Array
                                                (
                                                )

                                            [_eventWildcards:yii\base\Component:private] => Array
                                                (
                                                )

                                            [_behaviors:yii\base\Component:private] => Array
                                                (
                                                )

                                        )

                                    [enableReplicas] => 
                                    [replicas] => Array
                                        (
                                        )

                                    [forceClusterMode] => 
                                    [shareDatabase] => 
                                    [_replica:yii\redis\Cache:private] => 
                                    [_isCluster:yii\redis\Cache:private] => 
                                    [_hashTagAvailable:yii\redis\Cache:private] => 
                                    [keyPrefix] => 
                                    [serializer] => 
                                    [defaultDuration] => 0
                                    [_igbinaryAvailable:yii\caching\Cache:private] => 
                                    [_events:yii\base\Component:private] => Array
                                        (
                                        )

                                    [_eventWildcards:yii\base\Component:private] => Array
                                        (
                                        )

                                    [_behaviors:yii\base\Component:private] => 
                                )

                            [ruleConfig] => Array
                                (
                                    [class] => yii\web\UrlRule
                                )

                            [normalizer] => yii\web\UrlNormalizer Object
                                (
                                    [collapseSlashes] => 1
                                    [normalizeTrailingSlash] => 1
                                    [action] => 301
                                )

                            [cacheKey:protected] => yii\web\UrlManager
                            [_baseUrl:yii\web\UrlManager:private] => 
                            [_scriptUrl:yii\web\UrlManager:private] => 
                            [_hostInfo:yii\web\UrlManager:private] => 
                            [_ruleCache:yii\web\UrlManager:private] => 
                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                        )

                    [response] => yii\web\Response Object
                        (
                            [format] => html
                            [acceptMimeType] => 
                            [acceptParams] => Array
                                (
                                )

                            [formatters] => Array
                                (
                                    [html] => Array
                                        (
                                            [class] => yii\web\HtmlResponseFormatter
                                        )

                                    [xml] => Array
                                        (
                                            [class] => yii\web\XmlResponseFormatter
                                        )

                                    [json] => Array
                                        (
                                            [class] => yii\web\JsonResponseFormatter
                                        )

                                    [jsonp] => Array
                                        (
                                            [class] => yii\web\JsonResponseFormatter
                                            [useJsonp] => 1
                                        )

                                )

                            [data] => 
                            [content] => 
                            [stream] => 
                            [charset] => UTF-8
                            [statusText] => OK
                            [version] => 1.1
                            [isSent] => 
                            [_statusCode:yii\web\Response:private] => 200
                            [_headers:yii\web\Response:private] => 
                            [_cookies:yii\web\Response:private] => yii\web\CookieCollection Object
                                (
                                    [readOnly] => 
                                    [_cookies:yii\web\CookieCollection:private] => Array
                                        (
                                            [language] => yii\web\Cookie Object
                                                (
                                                    [name] => language
                                                    [value] => ru
                                                    [domain] => 
                                                    [expire] => 1783182946
                                                    [path] => /
                                                    [secure] => 
                                                    [httpOnly] => 1
                                                    [sameSite] => Lax
                                                )

                                        )

                                )

                            [exitStatus] => 0
                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                        )

                    [i18n] => yii\i18n\I18N Object
                        (
                            [translations] => Array
                                (
                                    [app*] => Array
                                        (
                                            [class] => yii\i18n\PhpMessageSource
                                            [fileMap] => Array
                                                (
                                                    [app] => app.php
                                                    [app/error] => error.php
                                                )

                                            [on missingTranslation] => Array
                                                (
                                                    [0] => app\components\TranslationEventHandler
                                                    [1] => handleMissingTranslation
                                                )

                                        )

                                    [yii] => yii\i18n\PhpMessageSource Object
                                        (
                                            [basePath] => @yii/messages
                                            [fileMap] => 
                                            [forceTranslation] => 
                                            [sourceLanguage] => en-US
                                            [_messages:yii\i18n\MessageSource:private] => Array
                                                (
                                                    [ru-RU/yii] => Array
                                                        (
                                                            [ and ] =>  и 
                                                            ["{attribute}" does not support operator "{operator}".] => "{attribute}" не поддерживает оператор "{operator}".
                                                            [(not set)] => (не задано)
                                                            [An internal server error occurred.] => Возникла внутренняя ошибка сервера.
                                                            [Are you sure you want to delete this item?] => Вы уверены, что хотите удалить этот элемент?
                                                            [Condition for "{attribute}" should be either a value or valid operator specification.] => Условие для "{attribute}" должно быть или значением или верной спецификацией оператора.
                                                            [Delete] => Удалить
                                                            [Error] => Ошибка
                                                            [File upload failed.] => Загрузка файла не удалась.
                                                            [Home] => Главная
                                                            [Invalid data received for parameter "{param}".] => Неправильное значение параметра "{param}".
                                                            [Login Required] => Требуется вход.
                                                            [Missing required arguments: {params}] => Отсутствуют обязательные аргументы: {params}
                                                            [Missing required parameters: {params}] => Отсутствуют обязательные параметры: {params}
                                                            [No] => Нет
                                                            [No results found.] => Ничего не найдено.
                                                            [Only files with these MIME types are allowed: {mimeTypes}.] => Разрешена загрузка файлов только со следующими MIME-типами: {mimeTypes}.
                                                            [Only files with these extensions are allowed: {extensions}.] => Разрешена загрузка файлов только со следующими расширениями: {extensions}.
                                                            [Operator "{operator}" must be used with a search attribute.] => Оператор "{operator}" должен использоваться через атрибут поиска.
                                                            [Operator "{operator}" requires multiple operands.] => Оператор "{operator}" требует несколько операндов.
                                                            [Page not found.] => Страница не найдена.
                                                            [Please fix the following errors:] => Исправьте следующие ошибки:
                                                            [Please upload a file.] => Загрузите файл.
                                                            [Powered by {yii}] => Работает на {yii}
                                                            [Showing {begin, number}-{end, number} of {totalCount, number} {totalCount, plural, one{item} other{items}}.] => Показаны записи {begin, number}-{end, number} из {totalCount, number}.
                                                            [The combination {values} of {attributes} has already been taken.] => Комбинация {values} параметров {attributes} уже существует.
                                                            [The file "{file}" is not an image.] => Файл «{file}» не является изображением.
                                                            [The file "{file}" is too big. Its size cannot exceed {formattedLimit}.] => Файл «{file}» слишком большой. Размер не должен превышать {formattedLimit}.
                                                            [The file "{file}" is too small. Its size cannot be smaller than {formattedLimit}.] => Файл «{file}» слишком маленький. Размер должен быть более {formattedLimit}.
                                                            [The format of {attribute} is invalid.] => Неверный формат значения «{attribute}».
                                                            [The format of {filter} is invalid.] => Формат фильтра {filter} не верен.
                                                            [The image "{file}" is too large. The height cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.] => Файл «{file}» слишком большой. Высота не должна превышать {limit, number} {limit, plural, one{пиксель} few{пикселя} many{пикселей} other{пикселя}}.
                                                            [The image "{file}" is too large. The width cannot be larger than {limit, number} {limit, plural, one{pixel} other{pixels}}.] => Файл «{file}» слишком большой. Ширина не должна превышать {limit, number} {limit, plural, one{пиксель} few{пикселя} many{пикселей} other{пикселя}}.
                                                            [The image "{file}" is too small. The height cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.] => Файл «{file}» слишком маленький. Высота должна быть более {limit, number} {limit, plural, one{пиксель} few{пикселя} many{пикселей} other{пикселя}}.
                                                            [The image "{file}" is too small. The width cannot be smaller than {limit, number} {limit, plural, one{pixel} other{pixels}}.] => Файл «{file}» слишком маленький. Ширина должна быть более {limit, number} {limit, plural, one{пиксель} few{пикселя} many{пикселей} other{пикселя}}.
                                                            [The requested view "{name}" was not found.] => Запрашиваемый файл представления "{name}" не найден.
                                                            [The verification code is incorrect.] => Неправильный проверочный код.
                                                            [Total {count, number} {count, plural, one{item} other{items}}.] => Всего {count, number} {count, plural, one{запись} few{записи} many{записей} other{записи}}.
                                                            [Unable to verify your data submission.] => Не удалось проверить переданные данные.
                                                            [Unknown alias: -{name}] => Неизвестный псевдоним: -{name}
                                                            [Unknown filter attribute "{attribute}"] => Неизвестный атрибут фильтра "{attribute}"
                                                            [Unknown option: --{name}] => Неизвестная опция: --{name}
                                                            [Update] => Редактировать
                                                            [View] => Просмотр
                                                            [Yes] => Да
                                                            [Yii Framework] => Yii Framework
                                                            [You are not allowed to perform this action.] => Вам не разрешено производить данное действие.
                                                            [You can upload at most {limit, number} {limit, plural, one{file} other{files}}.] => Вы не можете загружать более {limit, number} {limit, plural, one{файла} few{файлов} many{файлов} other{файла}}.
                                                            [in {delta, plural, =1{a day} other{# days}}] => через {delta, plural, =1{день} one{# день} few{# дня} many{# дней} other{# дня}}
                                                            [in {delta, plural, =1{a minute} other{# minutes}}] => через {delta, plural, =1{минуту} one{# минуту} few{# минуты} many{# минут} other{# минуты}}
                                                            [in {delta, plural, =1{a month} other{# months}}] => через {delta, plural, =1{месяц} one{# месяц} few{# месяца} many{# месяцев} other{# месяца}}
                                                            [in {delta, plural, =1{a second} other{# seconds}}] => через {delta, plural, =1{секунду} one{# секунду} few{# секунды} many{# секунд} other{# секунды}}
                                                            [in {delta, plural, =1{a year} other{# years}}] => через {delta, plural, =1{год} one{# год} few{# года} many{# лет} other{# года}}
                                                            [in {delta, plural, =1{an hour} other{# hours}}] => через {delta, plural, =1{час} one{# час} few{# часа} many{# часов} other{# часа}}
                                                            [just now] => прямо сейчас
                                                            [the input value] => введённое значение
                                                            [{attribute} "{value}" has already been taken.] => Значение «{value}» для «{attribute}» уже занято.
                                                            [{attribute} cannot be blank.] => Необходимо заполнить «{attribute}».
                                                            [{attribute} contains wrong subnet mask.] => Значение «{attribute}» содержит неверную маску подсети.
                                                            [{attribute} is invalid.] => Значение «{attribute}» неверно.
                                                            [{attribute} is not a valid URL.] => Значение «{attribute}» не является правильным URL.
                                                            [{attribute} is not a valid email address.] => Значение «{attribute}» не является правильным email адресом.
                                                            [{attribute} is not in the allowed range.] => Значение «{attribute}» не входит в список разрешенных диапазонов адресов.
                                                            [{attribute} must be "{requiredValue}".] => Значение «{attribute}» должно быть равно «{requiredValue}».
                                                            [{attribute} must be a number.] => Значение «{attribute}» должно быть числом.
                                                            [{attribute} must be a string.] => Значение «{attribute}» должно быть строкой.
                                                            [{attribute} must be a valid IP address.] => Значение «{attribute}» должно быть правильным IP адресом.
                                                            [{attribute} must be an IP address with specified subnet.] => Значение «{attribute}» должно быть IP адресом с подсетью.
                                                            [{attribute} must be an integer.] => Значение «{attribute}» должно быть целым числом.
                                                            [{attribute} must be either "{true}" or "{false}".] => Значение «{attribute}» должно быть равно «{true}» или «{false}».
                                                            [{attribute} must be equal to "{compareValueOrAttribute}".] => Значение «{attribute}» должно быть равно «{compareValueOrAttribute}».
                                                            [{attribute} must be greater than "{compareValueOrAttribute}".] => Значение «{attribute}» должно быть больше значения «{compareValueOrAttribute}».
                                                            [{attribute} must be greater than or equal to "{compareValueOrAttribute}".] => Значение «{attribute}» должно быть больше или равно значения «{compareValueOrAttribute}».
                                                            [{attribute} must be less than "{compareValueOrAttribute}".] => Значение «{attribute}» должно быть меньше значения «{compareValueOrAttribute}».
                                                            [{attribute} must be less than or equal to "{compareValueOrAttribute}".] => Значение «{attribute}» должно быть меньше или равно значения «{compareValueOrAttribute}».
                                                            [{attribute} must be no greater than {max}.] => Значение «{attribute}» не должно превышать {max}.
                                                            [{attribute} must be no less than {min}.] => Значение «{attribute}» должно быть не меньше {min}.
                                                            [{attribute} must not be a subnet.] => Значение «{attribute}» не должно быть подсетью.
                                                            [{attribute} must not be an IPv4 address.] => Значение «{attribute}» не должно быть IPv4 адресом.
                                                            [{attribute} must not be an IPv6 address.] => Значение «{attribute}» не должно быть IPv6 адресом.
                                                            [{attribute} must not be equal to "{compareValueOrAttribute}".] => Значение «{attribute}» не должно быть равно «{compareValueOrAttribute}».
                                                            [{attribute} should contain at least {min, number} {min, plural, one{character} other{characters}}.] => Значение «{attribute}» должно содержать минимум {min, number} {min, plural, one{символ} few{символа} many{символов} other{символа}}.
                                                            [{attribute} should contain at most {max, number} {max, plural, one{character} other{characters}}.] => Значение «{attribute}» должно содержать максимум {max, number} {max, plural, one{символ} few{символа} many{символов} other{символа}}.
                                                            [{attribute} should contain {length, number} {length, plural, one{character} other{characters}}.] => Значение «{attribute}» должно содержать {length, number} {length, plural, one{символ} few{символа} many{символов} other{символа}}.
                                                            [{delta, plural, =1{1 day} other{# days}}] => {delta, plural, one{# день} few{# дня} many{# дней} other{# дня}}
                                                            [{delta, plural, =1{1 hour} other{# hours}}] => {delta, plural, one{# час} few{# часа} many{# часов} other{# часа}}
                                                            [{delta, plural, =1{1 minute} other{# minutes}}] => {delta, plural, one{# минута} few{# минуты} many{# минут} other{# минуты}}
                                                            [{delta, plural, =1{1 month} other{# months}}] => {delta, plural, one{# месяц} few{# месяца} many{# месяцев} other{# месяца}}
                                                            [{delta, plural, =1{1 second} other{# seconds}}] => {delta, plural, one{# секунда} few{# секунды} many{# секунд} other{# секунды}}
                                                            [{delta, plural, =1{1 year} other{# years}}] => {delta, plural, one{# год} few{# года} many{# лет} other{# года}}
                                                            [{delta, plural, =1{a day} other{# days}} ago] => {delta, plural, =1{день} one{# день} few{# дня} many{# дней} other{# дня}} назад
                                                            [{delta, plural, =1{a minute} other{# minutes}} ago] => {delta, plural, =1{минуту} one{# минуту} few{# минуты} many{# минут} other{# минуты}} назад
                                                            [{delta, plural, =1{a month} other{# months}} ago] => {delta, plural, =1{месяц} one{# месяц} few{# месяца} many{# месяцев} other{# месяца}} назад
                                                            [{delta, plural, =1{a second} other{# seconds}} ago] => {delta, plural, =1{секунду} one{# секунду} few{# секунды} many{# секунд} other{# секунды}} назад
                                                            [{delta, plural, =1{a year} other{# years}} ago] => {delta, plural, =1{год} one{# год} few{# года} many{# лет} other{# года}} назад
                                                            [{delta, plural, =1{an hour} other{# hours}} ago] => {delta, plural, =1{час} one{# час} few{# часа} many{# часов} other{# часа}} назад
                                                            [{nFormatted} B] => {nFormatted} Б
                                                            [{nFormatted} GB] => {nFormatted} ГБ
                                                            [{nFormatted} GiB] => {nFormatted} ГиБ
                                                            [{nFormatted} kB] => {nFormatted} КБ
                                                            [{nFormatted} KiB] => {nFormatted} КиБ
                                                            [{nFormatted} MB] => {nFormatted} МБ
                                                            [{nFormatted} MiB] => {nFormatted} МиБ
                                                            [{nFormatted} PB] => {nFormatted} ПБ
                                                            [{nFormatted} PiB] => {nFormatted} ПиБ
                                                            [{nFormatted} TB] => {nFormatted} ТБ
                                                            [{nFormatted} TiB] => {nFormatted} ТиБ
                                                            [{nFormatted} {n, plural, =1{byte} other{bytes}}] => {nFormatted} {n, plural, one{байт} few{байта} many{байтов} other{байта}}
                                                            [{nFormatted} {n, plural, =1{gibibyte} other{gibibytes}}] => {nFormatted} {n, plural, one{гибибайт} few{гибибайта} many{гибибайтов} other{гибибайта}}
                                                            [{nFormatted} {n, plural, =1{gigabyte} other{gigabytes}}] => {nFormatted} {n, plural, one{гигабайт} few{гигабайта} many{гигабайтов} other{гигабайта}}
                                                            [{nFormatted} {n, plural, =1{kibibyte} other{kibibytes}}] => {nFormatted} {n, plural, one{кибибайт} few{кибибайта} many{кибибайтов} other{кибибайта}}
                                                            [{nFormatted} {n, plural, =1{kilobyte} other{kilobytes}}] => {nFormatted} {n, plural, one{килобайт} few{килобайта} many{килобайтов} other{килобайта}}
                                                            [{nFormatted} {n, plural, =1{mebibyte} other{mebibytes}}] => {nFormatted} {n, plural, one{мебибайт} few{мебибайта} many{мебибайтов} other{мебибайта}}
                                                            [{nFormatted} {n, plural, =1{megabyte} other{megabytes}}] => {nFormatted} {n, plural, one{мегабайт} few{мегабайта} many{мегабайтов} other{мегабайта}}
                                                            [{nFormatted} {n, plural, =1{pebibyte} other{pebibytes}}] => {nFormatted} {n, plural, one{пебибайт} few{пебибайта} many{пебибайтов} other{пебибайта}}
                                                            [{nFormatted} {n, plural, =1{petabyte} other{petabytes}}] => {nFormatted} {n, plural, one{петабайт} few{петабайта} many{петабайтов} other{петабайта}}
                                                            [{nFormatted} {n, plural, =1{tebibyte} other{tebibytes}}] => {nFormatted} {n, plural, one{тебибайт} few{тебибайта} many{тебибайтов} other{тебибайта}}
                                                            [{nFormatted} {n, plural, =1{terabyte} other{terabytes}}] => {nFormatted} {n, plural, one{терабайт} few{терабайта} many{терабайтов} other{терабайта}}
                                                            [You should upload at least {limit, number} {limit, plural, one{file} other{files}}.] => Вы должны загрузить как минимум {limit, number} {limit, plural, one{файл} few{файла} many{файлов} other{файла}}.
                                                        )

                                                )

                                            [_events:yii\base\Component:private] => Array
                                                (
                                                )

                                            [_eventWildcards:yii\base\Component:private] => Array
                                                (
                                                )

                                            [_behaviors:yii\base\Component:private] => 
                                        )

                                )

                            [_messageFormatter:yii\i18n\I18N:private] => 
                            [_events:yii\base\Component:private] => Array
                                (
                                )

                            [_eventWildcards:yii\base\Component:private] => Array
                                (
                                )

                            [_behaviors:yii\base\Component:private] => 
                        )

                )

            [_definitions:yii\di\ServiceLocator:private] => Array
                (
                    [errorHandler] => Array
                        (
                            [class] => app\components\CustomErrorHandler
                            [errorAction] => site/error
                        )

                    [alphasms] => Array
                        (
                            [class] => alphasms\gateway\AlphaSMS
                            [config] => Array
                                (
                                    [api_key] => 638b1f15-ae57-42e1-aace-32b3d39af26d
                                    [sms_sender] => 
                                )

                        )

                    [assetManager] => Array
                        (
                            [class] => yii\web\AssetManager
                            [linkAssets] => 1
                            [appendTimestamp] => 1
                            [bundles] => Array
                                (
                                    [yii\web\YiiAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => ..\..\js\assets_min\yii.min.js
                                                )

                                        )

                                    [yii\web\JqueryAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => jquery.min.js
                                                )

                                        )

                                    [yii\jui\JuiAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => jquery-ui.min.js
                                                )

                                            [css] => Array
                                                (
                                                    [0] => themes/smoothness/jquery-ui.min.css
                                                )

                                            [cssOptions] => Array
                                                (
                                                    [rel] => preload
                                                    [as] => style
                                                    [onload] => this.rel='stylesheet'
                                                )

                                        )

                                    [yii\grid\GridViewAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => ..\..\js\assets_min\yii.gridView.min.js
                                                )

                                        )

                                    [yii\authclient\widgets\AuthChoiceAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => ..\..\js\assets_min\authchoice.min.js
                                                )

                                            [css] => Array
                                                (
                                                    [0] => ..\..\css\assets_min\authchoice.min.css
                                                )

                                            [cssOptions] => Array
                                                (
                                                    [rel] => preload
                                                    [as] => style
                                                    [onload] => this.rel='stylesheet'
                                                )

                                        )

                                    [yii\authclient\widgets\AuthChoiceStyleAsset] => Array
                                        (
                                            [css] => Array
                                                (
                                                    [0] => ..\..\css\assets_min\authchoice.min.css
                                                )

                                            [cssOptions] => Array
                                                (
                                                    [rel] => preload
                                                    [as] => style
                                                    [onload] => this.rel='stylesheet'
                                                )

                                        )

                                    [yii\validators\ValidationAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => ..\..\js\assets_min\yii.validation.min.js
                                                )

                                        )

                                    [yii\widgets\ActiveFormAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => ..\..\js\assets_min\yii.activeForm.min.js
                                                )

                                        )

                                    [yii\widgets\PjaxAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => ..\..\js\assets_min\jquery.pjax.min.js
                                                )

                                        )

                                    [yii\bootstrap\BootstrapAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => js/bootstrap.min.js
                                                )

                                            [css] => Array
                                                (
                                                    [0] => css/bootstrap.min.css
                                                )

                                            [cssOptions] => Array
                                                (
                                                    [rel] => preload
                                                    [as] => style
                                                    [onload] => this.rel='stylesheet'
                                                )

                                        )

                                    [yii\bootstrap\BootstrapPluginAsset] => Array
                                        (
                                            [js] => Array
                                                (
                                                    [0] => js/bootstrap.min.js
                                                )

                                        )

                                )

                        )

                    [image] => Array
                        (
                            [class] => yii\image\ImageDriver
                            [driver] => Imagick
                        )

                    [user] => Array
                        (
                            [identityClass] => app\models\Users
                            [enableAutoLogin] => 1
                            [on afterLogin] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$event] => 
                                        )

                                )

                            [class] => yii\web\User
                        )

                    [mailer] => Array
                        (
                            [class] => yii\swiftmailer\Mailer
                            [useFileTransport] => 1
                        )

                    [log] => Array
                        (
                            [traceLevel] => 0
                            [targets] => Array
                                (
                                    [0] => Array
                                        (
                                            [class] => yii\log\FileTarget
                                            [levels] => Array
                                                (
                                                    [0] => error
                                                    [1] => warning
                                                )

                                            [except] => Array
                                                (
                                                    [0] => yii\web\HttpException:404
                                                )

                                        )

                                    [1] => Array
                                        (
                                            [class] => yii\log\FileTarget
                                            [levels] => Array
                                                (
                                                    [0] => info
                                                )

                                            [categories] => Array
                                                (
                                                    [0] => LiqPay
                                                )

                                            [logFile] => @app/runtime/logs/liqpay.log
                                            [maxFileSize] => 102400
                                            [maxLogFiles] => 1000
                                        )

                                )

                            [class] => yii\log\Dispatcher
                        )

                    [db] => Array
                        (
                            [class] => yii\db\Connection
                            [dsn] => mysql:host=localhost;dbname=his
                            [username] => root
                            [password] => trusiNaG0!0ve
                            [charset] => utf8
                            [on afterOpen] => Closure Object
                                (
                                    [parameter] => Array
                                        (
                                            [$event] => 
                                        )

                                )

                        )

                    [cache] => Array
                        (
                            [class] => yii\redis\Cache
                            [redis] => Array
                                (
                                    [hostname] => localhost
                                    [port] => 6379
                                    [database] => 0
                                )

                        )

                    [session] => Array
                        (
                            [class] => yii\web\CacheSession
                            [useCookies] => 1
                            [cookieParams] => Array
                                (
                                    [lifetime] => 2592000
                                )

                        )

                    [request] => Array
                        (
                            [class] => app\components\LanguageRequest
                            [cookieValidationKey] => RcCurtnMQ14UeRxyCfp0MfkdNDxlEUCd
                            [web] => /web
                        )

                    [urlManager] => Array
                        (
                            [class] => app\components\LanguageUrlManager
                            [enablePrettyUrl] => 1
                            [showScriptName] => 
                            [normalizer] => Array
                                (
                                    [class] => yii\web\UrlNormalizer
                                    [collapseSlashes] => 1
                                )

                            [rules] => Array
                                (
                                    [http://.his.test/] => subdomain/view/
                                    [http://.his.test/ua] => /ua/subdomain/view/
                                    [http://.his.test/cart] => /subdomain/cart-index
                                    [http://.his.test/ua/cart] => /ua/subdomain/cart-index
                                    [http://.his.test/] => subdomain/
                                    [http://.his.test/ua/] => /ua/subdomain/
                                    [http://.his.test/product/] => /subdomain/product
                                    [http://.his.test/ua/product/] => /ua/subdomain/product
                                    [http://.his.test/cart/checkout] => /subdomain/cart-checkout
                                    [http://.his.test/ua/cart/checkout] => /ua/subdomain/cart-checkout
                                    [http://.his.test/cart/thanks/] => /subdomain/cart-thanks
                                    [http://.his.test/ua/cart/thanks/] => /ua/subdomain/cart-thanks
                                    [https://.his.ua/] => subdomain/view/
                                    [https://.his.ua/ua] => /ua/subdomain/view/
                                    [https://.his.ua/cart] => /subdomain/cart-index
                                    [https://.his.ua/ua/cart] => /ua/subdomain/cart-index
                                    [https://.his.ua/] => subdomain/
                                    [https://.his.ua/ua/] => /ua/subdomain/
                                    [https://.his.ua/product/] => /subdomain/product
                                    [https://.his.ua/ua/product/] => /ua/subdomain/product
                                    [https://.his.ua/cart/checkout] => /subdomain/cart-checkout
                                    [https://.his.ua/ua/cart/checkout] => /ua/subdomain/cart-checkout
                                    [https://.his.ua/cart/thanks/] => /subdomain/cart-thanks
                                    [https://.his.ua/ua/cart/thanks/] => /ua/subdomain/cart-thanks
                                    [search] => site/search
                                    [/ua/search] => site/search
                                    [/page/] => /shop/index
                                    [/] => /shop/index
                                    [shop/favorites] => /shop/favorites
                                    [shop//page//pagesize//f/] => /shop/index
                                    [shop//page/1/pagesize//f/] => /shop/index
                                    [shop//page//f/] => /shop/index
                                    [shop/page//f/] => /shop/index
                                    [shop//f/] => /shop/index
                                    [shop//page//pagesize/] => /shop/index
                                    [shop//page/1/pagesize/] => /shop/index
                                    [shop//page/] => /shop/index
                                    [shop/page/] => /shop/index
                                    [shop/] => /shop/index
                                    [shop] => /shop/index
                                    [sitemap] => site/sitemap
                                    [sitemap.xml] => sitemap/index
                                    [sitemap_1_ru.xml] => sitemap_1_ru/default/index
                                    [sitemap_2_ru.xml] => sitemap_2_ru/default/index
                                    [sitemap_1_ua.xml] => sitemap_1_ua/default/index
                                    [sitemap_2_ua.xml] => sitemap_2_ua/default/index
                                    [pricelist.yml] => pricelist/yml
                                    [pricelist_yandex.yml] => pricelist/yandex-yml
                                    [pricelist_criteo.tsv] => pricelist/criteo-tsv
                                    [gmcfeed.xml] => pricelist/gmc-feed
                                    [news] => site/index
                                    [about] => site/about
                                    [shipping] => site/shipping
                                    [contacts] => site/contacts
                                    [advertising] => site/advertising
                                    [liqpay-callback] => site/liqpay-callback
                                    [journal//page/] => /journal/category
                                    [journal/] => /journal/category
                                    [journal/page/] => /journal/index
                                    [journal] => /journal/index
                                    [profile] => /user/profile
                                    [admin/manufacturers//images] => admin/manufacturer-image/index
                                    [admin/manufacturers//images/create] => admin/manufacturer-image/create
                                    [admin/manufacturers//images/update/] => admin/manufacturer-image/update
                                    [admin/manufacturers//images/view/] => admin/manufacturer-image/view
                                    [admin/manufacturers//images/delete/] => admin/manufacturer-image/delete
                                    [admin/category//parameters] => admin/category-parameter/index
                                    [admin/category//parameters/create] => admin/category-parameter/create
                                    [admin/category//parameters/update/] => admin/category-parameter/update
                                    [admin/category//parameters/view/] => admin/category-parameter/view
                                    [admin/category//parameters/delete/] => admin/category-parameter/delete
                                    [admin/product//styles] => admin/product-style/index
                                    [admin/product//styles/create] => admin/product-style/create
                                    [admin/product//styles/update/] => admin/product-style/update
                                    [admin/product//styles/view/] => admin/product-style/view
                                    [admin/product//styles/delete/] => admin/product-style/delete
                                    [admin/product//attributes] => admin/product-attribute/index
                                    [admin/product//attributes/create] => admin/product-attribute/create
                                    [admin/product//attributes/update/] => admin/product-attribute/update
                                    [admin/product//attributes/view/] => admin/product-attribute/view
                                    [admin/product//attributes/delete/] => admin/product-attribute/delete
                                    [admin/product//videos] => admin/product-video/index
                                    [admin/product//videos/create] => admin/product-video/create
                                    [admin/product//videos/update/] => admin/product-video/update
                                    [admin/product//videos/view/] => admin/product-video/view
                                    [admin/product//videos/delete/] => admin/product-video/delete
                                    [admin/product//images] => admin/product-image/index
                                    [admin/product//images/create] => admin/product-image/create
                                    [admin/product//images/update/] => admin/product-image/update
                                    [admin/product//images/view/] => admin/product-image/view
                                    [admin/product//images/delete/] => admin/product-image/delete
                                    [admin/product//colors] => admin/product-color/index
                                    [admin/product//colors/create] => admin/product-color/create
                                    [admin/product//colors/update/] => admin/product-color/update
                                    [admin/product//colors/view/] => admin/product-color/view
                                    [admin/product//colors/delete/] => admin/product-color/delete
                                    [admin/product//options] => admin/product-option/index
                                    [admin/product//options/create] => admin/product-option/create
                                    [admin/product//options/update/] => admin/product-option/update
                                    [admin/product//options/view/] => admin/product-option/view
                                    [admin/product//options/delete/] => admin/product-option/delete
                                    [admin/portfolio//images] => admin/portfolio-image/index
                                    [admin/portfolio//images/create] => admin/portfolio-image/create
                                    [admin/portfolio//images/update/] => admin/portfolio-image/update
                                    [admin/portfolio//images/view/] => admin/portfolio-image/view
                                    [admin/portfolio//images/delete/] => admin/portfolio-image/delete
                                    [admin/product//categories] => admin/product-category/index
                                    [admin/product//categories/create] => admin/product-category/create
                                    [admin/product//categories/update/] => admin/product-category/update
                                    [admin/product//categories/view/] => admin/product-category/view
                                    [admin/product//categories/delete/] => admin/product-category/delete
                                    [admin/collection//products] => admin/collection-product/index
                                    [admin/collection//products/create] => admin/collection-product/create
                                    [admin/collection//products/update/] => admin/collection-product/update
                                    [admin/collection//products/view/] => admin/collection-product/view
                                    [admin/collection//products/delete/] => admin/collection-product/delete
                                    [admin/collection//images] => admin/collection-image/index
                                    [admin/collection//images/create] => admin/collection-image/create
                                    [admin/collection//images/update/] => admin/collection-image/update
                                    [admin/collection//images/view/] => admin/collection-image/view
                                    [admin/collection//images/delete/] => admin/collection-image/delete
                                    [admin/article//comments] => admin/article-comments/index
                                    [admin/article//comments/create] => admin/article-comments/create
                                    [admin/article//comments/update/] => admin/article-comments/update
                                    [admin/article//comments/view/] => admin/article-comments/view
                                    [admin/article//comments/delete/] => admin/article-comments/delete
                                    [admin/article//tags] => admin/article-tag/index
                                    [admin/article//tags/create] => admin/article-tag/create
                                    [admin/article//tags/update/] => admin/article-tag/update
                                    [admin/article//tags/view/] => admin/article-tag/view
                                    [admin/article//tags/delete/] => admin/article-tag/delete
                                    [admin/article//products] => admin/article-product/index
                                    [admin/article//products/create] => admin/article-product/create
                                    [admin/article//products/update/] => admin/article-product/update
                                    [admin/article//products/view/] => admin/article-product/view
                                    [admin/article//products/delete/] => admin/article-product/delete
                                    [admin/article//categories] => admin/article-category/index
                                    [admin/article//categories/create] => admin/article-category/create
                                    [admin/article//categories/update/] => admin/article-category/update
                                    [admin/article//categories/view/] => admin/article-category/view
                                    [admin/article//categories/delete/] => admin/article-category/delete
                                    [admin/action//products] => admin/action-product/index
                                    [admin/action//products/create] => admin/action-product/create
                                    [admin/action//products/update/] => admin/action-product/update
                                    [admin/action//products/view/] => admin/action-product/view
                                    [admin/action//products/delete/] => admin/action-product/delete
                                    [admin/action//users] => admin/action-user/index
                                    [admin/action//users/create] => admin/action-user/create
                                    [admin/action//users/update/] => admin/action-user/update
                                    [admin/action//users/view/] => admin/action-user/view
                                    [admin/action//users/delete/] => admin/action-user/delete
                                    [admin/order//products] => admin/order-product/index
                                    [admin/order//products/create] => admin/order-product/create
                                    [admin/order//products/update/] => admin/order-product/update
                                    [admin/order//products/view/] => admin/order-product/view
                                    [admin/order//products/delete/] => admin/order-product/delete
                                    [admin/user//employees] => admin/employees/index
                                    [admin/user//employees/create] => admin/employees/create
                                    [admin/user//employees/update/] => admin/employees/update
                                    [admin/user//employees/view/] => admin/employees/view
                                    [admin/user//employees/delete/] => admin/employees/delete
                                    [admin/user//professions] => admin/user-profession/index
                                    [admin/user//professions/create] => admin/user-profession/create
                                    [admin/user//professions/update/] => admin/user-profession/update
                                    [admin/user//professions/view/] => admin/user-profession/view
                                    [admin/user//professions/delete/] => admin/user-profession/delete
                                    [admin/event//users] => admin/event-user/index
                                    [admin/event//users/create] => admin/event-user/create
                                    [admin/event//users/update/] => admin/event-user/update
                                    [admin/event//users/view/] => admin/event-user/view
                                    [admin/event//users/delete/] => admin/event-user/delete
                                    [admin/question//answers] => admin/answers/index
                                    [admin/question//answers/create] => admin/answers/create
                                    [admin/question//answers/update/] => admin/answers/update
                                    [admin/question//answers/view/] => admin/answers/view
                                    [admin/question//answers/delete/] => admin/answers/delete
                                    [cart/add//] => /cart/add
                                    [interviews] => site/interviews
                                    [user/] => user/view
                                    [/] => /view
                                    [admin//] => admin//view
                                    [admin///] => admin//
                                    [admin//] => admin//
                                    [/] => /view
                                    [//] => /
                                    [/] => /
                                    [collections] => collection/index
                                )

                        )

                    [authClientCollection] => Array
                        (
                            [class] => yii\authclient\Collection
                            [clients] => Array
                                (
                                    [facebook] => Array
                                        (
                                            [class] => yii\authclient\clients\Facebook
                                            [clientId] => 751733918246905
                                            [clientSecret] => 706070dfc38d9c54c8b0d835ada326f1
                                        )

                                    [google] => Array
                                        (
                                            [class] => yii\authclient\clients\Google
                                            [clientId] => 976910235534-tergf4sss26p4kpstvq4nhbb748oh9vd.apps.googleusercontent.com
                                            [clientSecret] => soLz3sgJamqcS1zzRgwi5-od
                                        )

                                )

                        )

                    [i18n] => Array
                        (
                            [translations] => Array
                                (
                                    [app*] => Array
                                        (
                                            [class] => yii\i18n\PhpMessageSource
                                            [fileMap] => Array
                                                (
                                                    [app] => app.php
                                                    [app/error] => error.php
                                                )

                                            [on missingTranslation] => Array
                                                (
                                                    [0] => app\components\TranslationEventHandler
                                                    [1] => handleMissingTranslation
                                                )

                                        )

                                )

                            [class] => yii\i18n\I18N
                        )

                    [devicedetect] => Array
                        (
                            [class] => alexandernst\devicedetect\DeviceDetect
                        )

                    [Redirects] => Array
                        (
                            [class] => app\components\Redirects
                        )

                    [reCaptcha] => Array
                        (
                            [class] => himiklab\yii2\recaptcha\ReCaptchaConfig
                            [siteKeyV2] => 6LdG7Q8dAAAAALzkRXS-sYd-4-JHGNSAY8ptVWOL
                            [secretV2] => 6LdG7Q8dAAAAAHvQnH_garD7YEAGDMSoiZqN6pX8
                            [siteKeyV3] => 6LflfvscAAAAALIHCI1KNZb8xj1rai4FfXd5Os7q
                            [secretV3] => 6LflfvscAAAAABC0S-x0t3tLoJNPFkRTffBvAM_X
                        )

                    [sypexGeo] => Array
                        (
                            [class] => omnilight\sypexgeo\SypexGeo
                            [database] => @app/data/SxGeo.dat
                        )

                    [SeoService] => Array
                        (
                            [class] => app\components\SeoService
                        )

                    [view] => Array
                        (
                            [class] => yii\web\View
                        )

                    [formatter] => Array
                        (
                            [class] => yii\i18n\Formatter
                        )

                    [security] => Array
                        (
                            [class] => yii\base\Security
                        )

                    [response] => Array
                        (
                            [class] => yii\web\Response
                        )

                )

            [_events:yii\base\Component:private] => Array
                (
                )

            [_eventWildcards:yii\base\Component:private] => Array
                (
                )

            [_behaviors:yii\base\Component:private] => Array
                (
                )

        )

    [1] => Array
        (
        )

)