12 December 2016
Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
No questions asked
Ask a question
object(app\components\View)#20 (24) {
["h1"]=>
NULL
["description"]=>
NULL
["keywords"]=>
NULL
["assetBundles"]=>
array(0) {
}
["title"]=>
NULL
["metaTags"]=>
array(4) {
["og_image"]=>
string(111) " "
["og_title"]=>
string(86) " "
[0]=>
string(93) " "
[1]=>
string(43) " "
}
["linkTags"]=>
array(0) {
}
["css"]=>
array(0) {
}
["cssFiles"]=>
array(7) {
["/assets/73ad59de/css/normalize.css?v=1470317950"]=>
string(78) " "
["/assets/73ad59de/css/font-awesome.min.css?v=1470317950"]=>
string(85) " "
["/assets/73ad59de/css/autocomplete.css?v=1470317950"]=>
string(81) " "
["/assets/73ad59de/css/jquery.fancybox.css?v=1470317950"]=>
string(84) " "
["/assets/73ad59de/css/main.css?v=1701970839"]=>
string(73) " "
["/assets/73ad59de/css/mobile.css?v=1700813373"]=>
string(75) " "
["/assets/4bbdd6a3/social-likes_flat.css?v=1511272785"]=>
string(82) " "
}
["js"]=>
array(1) {
[4]=>
array(4) {
["771ace73e159e95f77b3d679f29ebf53"]=>
string(1669) " $(document).on('click', '.js-add-faq', function(e){
e.preventDefault();
var wrapper = $('.js-faq-form');
if(wrapper.is(':visible')){
wrapper.hide();
$(this).removeClass('button--bgcolor_white button--color_blue');
}else{
$(this).addClass('button--bgcolor_white button--color_blue');
$(this).data('busy', true);
$.ajax({
url : $(this).data('href'),
type: 'GET',
success: function(r){
wrapper.html(r).show();
$(this).data('busy', false);
}
});
}
});
$(document).on('submit', '.js-faq-form form', function(e) {
e.preventDefault();
var wrapper = $('.js-faq-form');
var form = $(this);
if (form.data('busy')) {
return;
}
form.data('busy', true);
$.ajax({
url: form.attr('action'),
type: form.attr('method'),
data: form.serialize(),
success: function(r){
wrapper.html(r).show();
}
});
return false;
});
$(document).on('click', '#more_faqs', function(e){
e.preventDefault();
$.pjax.reload({
container: "#faqs-list",
type: "GET",
url: "?faqsLimit=" + ($(this).data('limit') || 10),
push: false,
replace: false,
timeout: false
});
});
"
["d1e7e09593b4cbe61b584dab84bac405"]=>
string(1170) "
$(document).on('click', 'a.favorite-button', function(){
var btn = $(this);
var count = $('.header__favorite span').html();
$.ajax({
url: baseUrl + '/favorite/update?id=' + btn.data('id'),
type: 'get',
success: function (result) {
if (result == 1) {
btn.addClass('favorite-button--state_added')
.find('span')
.html(btn.data('favorite-on'));
count++;
} else {
btn.removeClass('favorite-button--state_added')
.find('span')
.html(btn.data('favorite-off'));
count--;
}
$('.header__favorite span').html(count);
}
});
return false;
});
"
["bb69a83949643291e0fe71cc72092830"]=>
string(497) " $( document ).ready(function() {
$(document).on('click', '.js-request', function(){
popup.showOverlay();
$.ajax({
url: $(this).data('url') || $(this).attr('href'),
success: function (data) {
$('.js-popup-content').html(data);
popup.showPopup('popup-book');
}
});
return false;
});
});"
["5ff6f5e461eaede0adc8bcb1b68625dc"]=>
string(713) "
if(!getCookie('callback_shown')){
setTimeout(function(){
$.ajax({
url: baseUrl + '/request/callback',
success: function (data) {
popup.wrap.find('.js-popup-content').html(data);
popup.showPopup('popup-callback');
setCookie('callback_shown', 1, {
expires: 60 * 60 * 24 * 365, //1 год
path: '/'
});
}
});
}, 50 * 1000); //50 сек
}
"
}
}
["jsFiles"]=>
array(1) {
[3]=>
array(13) {
["/assets/cf1294d6/jquery.min.js?v=1463765083"]=>
string(67) ""
["/assets/28c4984f/yii.js?v=1521657413"]=>
string(60) ""
["/assets/73ad59de/js/modernizr-custom.js?v=1470317950"]=>
string(76) ""
["/assets/73ad59de/js/console.js?v=1470317950"]=>
string(67) ""
["/assets/73ad59de/js/maskedinput.min.js?v=1470317950"]=>
string(75) ""
["/assets/73ad59de/js/jquery.autocomplete.min.js?v=1470317950"]=>
string(83) ""
["/assets/73ad59de/js/jquery.bxslider.min.js?v=1585808358"]=>
string(79) ""
["/assets/73ad59de/js/jquery.columnizer.min.js?v=1470317950"]=>
string(81) ""
["/assets/73ad59de/js/jquery.dotdotdot.min.js?v=1470317950"]=>
string(80) ""
["/assets/73ad59de/js/jquery.fancybox.pack.js?v=1470317950"]=>
string(80) ""
["/assets/73ad59de/js/popup.js?v=1585842499"]=>
string(65) ""
["/assets/73ad59de/js/common.js?v=1700817860"]=>
string(66) ""
["/assets/4bbdd6a3/social-likes.min.js?v=1511272785"]=>
string(73) ""
}
}
["_assetManager":"yii\web\View":private]=>
NULL
["context"]=>
object(app\controllers\BlogController)#66 (12) {
["layout"]=>
string(5) "front"
["enableCsrfValidation"]=>
bool(true)
["actionParams"]=>
array(1) {
["rewriteName"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
}
["id"]=>
string(4) "blog"
["module"]=>
object(yii\web\Application)#4 (33) {
["defaultRoute"]=>
string(4) "site"
["catchAll"]=>
NULL
["controller"]=>
*RECURSION*
["_homeUrl":"yii\web\Application":private]=>
NULL
["controllerNamespace"]=>
string(15) "app\controllers"
["name"]=>
string(14) "My Application"
["charset"]=>
string(5) "UTF-8"
["language"]=>
string(2) "en"
["sourceLanguage"]=>
string(2) "ru"
["layout"]=>
string(4) "main"
["requestedRoute"]=>
string(9) "blog/view"
["requestedAction"]=>
object(yii\base\InlineAction)#65 (6) {
["actionMethod"]=>
string(10) "actionView"
["id"]=>
string(4) "view"
["controller"]=>
*RECURSION*
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["requestedParams"]=>
array(1) {
[0]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
}
["extensions"]=>
array(22) {
["herroffizier/yii2-attribute-index-validator"]=>
array(3) {
["name"]=>
string(43) "herroffizier/yii2-attribute-index-validator"
["version"]=>
string(7) "1.0.0.0"
["alias"]=>
array(2) {
["@herroffizier/yii2aiv/tests"]=>
string(81) "/var/www/html/docland.ru/vendor/herroffizier/yii2-attribute-index-validator/tests"
["@herroffizier/yii2aiv"]=>
string(79) "/var/www/html/docland.ru/vendor/herroffizier/yii2-attribute-index-validator/src"
}
}
["herroffizier/yii2-translit-validator"]=>
array(3) {
["name"]=>
string(36) "herroffizier/yii2-translit-validator"
["version"]=>
string(7) "1.0.0.0"
["alias"]=>
array(2) {
["@herroffizier/yii2tv/tests"]=>
string(74) "/var/www/html/docland.ru/vendor/herroffizier/yii2-translit-validator/tests"
["@herroffizier/yii2tv"]=>
string(72) "/var/www/html/docland.ru/vendor/herroffizier/yii2-translit-validator/src"
}
}
["herroffizier/yii2-upload-manager"]=>
array(3) {
["name"]=>
string(32) "herroffizier/yii2-upload-manager"
["version"]=>
string(7) "1.0.0.0"
["alias"]=>
array(2) {
["@herroffizier/yii2um/tests"]=>
string(70) "/var/www/html/docland.ru/vendor/herroffizier/yii2-upload-manager/tests"
["@herroffizier/yii2um"]=>
string(68) "/var/www/html/docland.ru/vendor/herroffizier/yii2-upload-manager/src"
}
}
["omgdef/yii2-multilingual-behavior"]=>
array(3) {
["name"]=>
string(33) "omgdef/yii2-multilingual-behavior"
["version"]=>
string(7) "2.1.2.0"
["alias"]=>
array(1) {
["@omgdef/multilingual"]=>
string(69) "/var/www/html/docland.ru/vendor/omgdef/yii2-multilingual-behavior/src"
}
}
["yiisoft/yii2-bootstrap"]=>
array(3) {
["name"]=>
string(22) "yiisoft/yii2-bootstrap"
["version"]=>
string(7) "2.0.8.0"
["alias"]=>
array(1) {
["@yii/bootstrap"]=>
string(58) "/var/www/html/docland.ru/vendor/yiisoft/yii2-bootstrap/src"
}
}
["2amigos/yii2-date-time-picker-widget"]=>
array(3) {
["name"]=>
string(36) "2amigos/yii2-date-time-picker-widget"
["version"]=>
string(7) "1.0.4.0"
["alias"]=>
array(1) {
["@dosamigos/datetimepicker"]=>
string(72) "/var/www/html/docland.ru/vendor/2amigos/yii2-date-time-picker-widget/src"
}
}
["2amigos/yii2-selectize-widget"]=>
array(3) {
["name"]=>
string(29) "2amigos/yii2-selectize-widget"
["version"]=>
string(7) "1.1.0.0"
["alias"]=>
array(1) {
["@dosamigos/selectize"]=>
string(65) "/var/www/html/docland.ru/vendor/2amigos/yii2-selectize-widget/src"
}
}
["skeeks/yii2-assets-auto-compress"]=>
array(3) {
["name"]=>
string(32) "skeeks/yii2-assets-auto-compress"
["version"]=>
string(7) "1.4.1.0"
["alias"]=>
array(1) {
["@skeeks/yii2/assetsAuto"]=>
string(68) "/var/www/html/docland.ru/vendor/skeeks/yii2-assets-auto-compress/src"
}
}
["linslin/yii2-curl"]=>
array(3) {
["name"]=>
string(17) "linslin/yii2-curl"
["version"]=>
string(7) "1.2.1.0"
["alias"]=>
array(1) {
["@linslin/yii2/curl"]=>
string(49) "/var/www/html/docland.ru/vendor/linslin/yii2-curl"
}
}
["yiisoft/yii2-codeception"]=>
array(3) {
["name"]=>
string(24) "yiisoft/yii2-codeception"
["version"]=>
string(7) "2.0.6.0"
["alias"]=>
array(1) {
["@yii/codeception"]=>
string(56) "/var/www/html/docland.ru/vendor/yiisoft/yii2-codeception"
}
}
["yiisoft/yii2-gii"]=>
array(3) {
["name"]=>
string(16) "yiisoft/yii2-gii"
["version"]=>
string(7) "2.0.7.0"
["alias"]=>
array(1) {
["@yii/gii"]=>
string(52) "/var/www/html/docland.ru/vendor/yiisoft/yii2-gii/src"
}
}
["yiisoft/yii2-faker"]=>
array(3) {
["name"]=>
string(18) "yiisoft/yii2-faker"
["version"]=>
string(7) "2.0.4.0"
["alias"]=>
array(1) {
["@yii/faker"]=>
string(50) "/var/www/html/docland.ru/vendor/yiisoft/yii2-faker"
}
}
["2amigos/yii2-dosamigos-asset-bundle"]=>
array(3) {
["name"]=>
string(35) "2amigos/yii2-dosamigos-asset-bundle"
["version"]=>
string(7) "0.1.0.0"
["alias"]=>
array(1) {
["@dosamigos/assets"]=>
string(67) "/var/www/html/docland.ru/vendor/2amigos/yii2-dosamigos-asset-bundle"
}
}
["2amigos/yii2-editable-widget"]=>
array(3) {
["name"]=>
string(28) "2amigos/yii2-editable-widget"
["version"]=>
string(7) "1.1.1.0"
["alias"]=>
array(1) {
["@dosamigos/editable"]=>
string(64) "/var/www/html/docland.ru/vendor/2amigos/yii2-editable-widget/src"
}
}
["2amigos/yii2-grid-view-library"]=>
array(3) {
["name"]=>
string(30) "2amigos/yii2-grid-view-library"
["version"]=>
string(7) "0.1.1.0"
["alias"]=>
array(1) {
["@dosamigos/grid"]=>
string(62) "/var/www/html/docland.ru/vendor/2amigos/yii2-grid-view-library"
}
}
["kartik-v/yii2-date-range"]=>
array(3) {
["name"]=>
string(24) "kartik-v/yii2-date-range"
["version"]=>
string(7) "1.7.0.0"
["alias"]=>
array(1) {
["@kartik/daterange"]=>
string(60) "/var/www/html/docland.ru/vendor/kartik-v/yii2-date-range/src"
}
}
["yiisoft/yii2-debug"]=>
array(3) {
["name"]=>
string(18) "yiisoft/yii2-debug"
["version"]=>
string(8) "2.0.14.0"
["alias"]=>
array(1) {
["@yii/debug"]=>
string(54) "/var/www/html/docland.ru/vendor/yiisoft/yii2-debug/src"
}
}
["yiisoft/yii2-httpclient"]=>
array(3) {
["name"]=>
string(23) "yiisoft/yii2-httpclient"
["version"]=>
string(7) "2.0.7.0"
["alias"]=>
array(1) {
["@yii/httpclient"]=>
string(59) "/var/www/html/docland.ru/vendor/yiisoft/yii2-httpclient/src"
}
}
["yiisoft/yii2-redis"]=>
array(3) {
["name"]=>
string(18) "yiisoft/yii2-redis"
["version"]=>
string(7) "2.0.9.0"
["alias"]=>
array(1) {
["@yii/redis"]=>
string(54) "/var/www/html/docland.ru/vendor/yiisoft/yii2-redis/src"
}
}
["yiisoft/yii2-swiftmailer"]=>
array(3) {
["name"]=>
string(24) "yiisoft/yii2-swiftmailer"
["version"]=>
string(7) "2.1.2.0"
["alias"]=>
array(1) {
["@yii/swiftmailer"]=>
string(60) "/var/www/html/docland.ru/vendor/yiisoft/yii2-swiftmailer/src"
}
}
["vova07/yii2-imperavi-widget"]=>
array(3) {
["name"]=>
string(27) "vova07/yii2-imperavi-widget"
["version"]=>
string(7) "2.0.9.0"
["alias"]=>
array(2) {
["@vova07/imperavi"]=>
string(63) "/var/www/html/docland.ru/vendor/vova07/yii2-imperavi-widget/src"
["@vova07/imperavi/tests"]=>
string(65) "/var/www/html/docland.ru/vendor/vova07/yii2-imperavi-widget/tests"
}
}
["kartik-v/yii2-krajee-base"]=>
array(3) {
["name"]=>
string(25) "kartik-v/yii2-krajee-base"
["version"]=>
string(7) "2.0.4.0"
["alias"]=>
array(1) {
["@kartik/base"]=>
string(61) "/var/www/html/docland.ru/vendor/kartik-v/yii2-krajee-base/src"
}
}
}
["bootstrap"]=>
array(3) {
[0]=>
string(3) "log"
[1]=>
string(3) "seo"
[2]=>
string(18) "assetsAutoCompress"
}
["state"]=>
int(3)
["loadedModules"]=>
array(1) {
["yii\web\Application"]=>
*RECURSION*
}
["_runtimePath":"yii\base\Application":private]=>
string(32) "/var/www/html/docland.ru/runtime"
["_vendorPath":"yii\base\Application":private]=>
string(31) "/var/www/html/docland.ru/vendor"
["params"]=>
array(18) {
["languages"]=>
array(2) {
["ru"]=>
string(6) "Рус"
["en"]=>
string(6) "Анг"
}
["adminEmail"]=>
string(24) "webmaster@doclandmed.com"
["googleMapsApiKey"]=>
string(39) "AIzaSyAZfoNPRM9Kw_NhnEbFh4bH94fnWvFf5JE"
["phone"]=>
string(15) "+74954812786"
["phoneMoscow"]=>
bool(false)
["whatsapp"]=>
bool(false)
["skype"]=>
bool(false)
["rootUrl"]=>
string(22) "https://doclandmed.com"
["email"]=>
string(19) "info@doclandmed.com"
["logoPath"]=>
string(14) "/i/logo-en.png"
["countryBannerPath"]=>
string(20) "/i/banner-doctor.png"
["showBranches"]=>
bool(true)
["faviconPath"]=>
string(12) "/favicon.ico"
["counters"]=>
array(2) {
["yandex"]=>
array(1) {
["id"]=>
string(8) "35776680"
}
["google"]=>
array(1) {
["id"]=>
string(14) "UA-112619891-1"
}
}
["socialLinks"]=>
array(6) {
["vk"]=>
array(2) {
["link"]=>
string(28) "https://vk.com/club121064291"
["icon"]=>
string(5) "fa-vk"
}
["fb"]=>
array(2) {
["link"]=>
string(42) "https://www.facebook.com/doclandtreatment/"
["icon"]=>
string(11) "fa-facebook"
}
["ok"]=>
array(2) {
["link"]=>
string(33) "http://ok.ru/group/52684669976727"
["icon"]=>
string(16) "fa-odnoklassniki"
}
["youtube"]=>
array(2) {
["link"]=>
string(56) "https://www.youtube.com/channel/UCtgoyVE4-KilEzT5StHidpA"
["icon"]=>
string(10) "fa-youtube"
}
["linkedin"]=>
array(2) {
["link"]=>
string(144) "https://www.linkedin.com/company/docland-ru---%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0-%D1%80%D1%83%D0%B1%D0%B5%D0%B6%D0%BE%D0%BC"
["icon"]=>
string(11) "fa-linkedin"
}
["twitter"]=>
array(2) {
["link"]=>
string(30) "https://twitter.com/docland_ta"
["icon"]=>
string(10) "fa-twitter"
}
}
["main"]=>
array(2) {
["numCountries"]=>
int(6)
["branchImg"]=>
array(5) {
["default"]=>
string(21) "/i/tmp/direction1.jpg"
["oncology"]=>
string(26) "/i/branches/oncology.png?2"
["orthopedics"]=>
string(28) "/i/branches/ortopedija.png?2"
["cardiology-and-a-heart-surgery"]=>
string(30) "/i/branches/kardiologija.png?2"
["neurology"]=>
string(27) "/i/branches/nevrologija.png"
}
}
["redactorDefaultSettings"]=>
array(4) {
["plugins"]=>
array(2) {
[0]=>
string(10) "fullscreen"
[1]=>
string(12) "imagemanager"
}
["buttons"]=>
array(11) {
[0]=>
string(10) "formatting"
[1]=>
string(4) "bold"
[2]=>
string(6) "italic"
[3]=>
string(7) "deleted"
[4]=>
string(13) "unorderedlist"
[5]=>
string(11) "orderedlist"
[6]=>
string(5) "image"
[7]=>
string(4) "file"
[8]=>
string(4) "link"
[9]=>
string(14) "horizontalrule"
[10]=>
string(4) "html"
}
["removeAttr"]=>
array(1) {
[0]=>
array(2) {
[0]=>
string(1) "*"
[1]=>
string(5) "style"
}
}
["formattingAdd"]=>
array(1) {
["columnbreak-p-toggle"]=>
array(3) {
["title"]=>
string(50) "Сделать отдельной колонкой"
["tag"]=>
string(1) "p"
["class"]=>
string(11) "columnbreak"
}
}
}
["notificationEmails"]=>
array(1) {
[0]=>
string(24) "doctor@israelclinics.org"
}
}
["id"]=>
string(7) "docland"
["module"]=>
NULL
["controllerMap"]=>
array(0) {
}
["_basePath":"yii\base\Module":private]=>
string(24) "/var/www/html/docland.ru"
["_viewPath":"yii\base\Module":private]=>
string(30) "/var/www/html/docland.ru/views"
["_layoutPath":"yii\base\Module":private]=>
string(38) "/var/www/html/docland.ru/views/layouts"
["_modules":"yii\base\Module":private]=>
array(2) {
["manage"]=>
array(3) {
["class"]=>
string(25) "app\modules\manage\Module"
["layout"]=>
string(4) "main"
["as access"]=>
array(2) {
["class"]=>
string(25) "yii\filters\AccessControl"
["rules"]=>
array(1) {
[0]=>
array(2) {
["allow"]=>
bool(true)
["roles"]=>
array(2) {
[0]=>
string(5) "admin"
[1]=>
string(6) "editor"
}
}
}
}
}
["partner"]=>
array(3) {
["class"]=>
string(26) "app\modules\partner\Module"
["layout"]=>
string(4) "main"
["as access"]=>
array(2) {
["class"]=>
string(25) "yii\filters\AccessControl"
["rules"]=>
array(1) {
[0]=>
array(2) {
["allow"]=>
bool(true)
["roles"]=>
array(1) {
[0]=>
string(7) "partner"
}
}
}
}
}
}
["_version":"yii\base\Module":private]=>
NULL
["_components":"yii\di\ServiceLocator":private]=>
array(14) {
["errorHandler"]=>
object(yii\web\ErrorHandler)#7 (17) {
["maxSourceLines"]=>
int(19)
["maxTraceSourceLines"]=>
int(13)
["errorAction"]=>
string(10) "site/error"
["errorView"]=>
string(33) "@yii/views/errorHandler/error.php"
["exceptionView"]=>
string(37) "@yii/views/errorHandler/exception.php"
["callStackItemView"]=>
string(41) "@yii/views/errorHandler/callStackItem.php"
["previousExceptionView"]=>
string(45) "@yii/views/errorHandler/previousException.php"
["displayVars"]=>
array(5) {
[0]=>
string(4) "_GET"
[1]=>
string(5) "_POST"
[2]=>
string(6) "_FILES"
[3]=>
string(7) "_COOKIE"
[4]=>
string(8) "_SESSION"
}
["traceLine"]=>
string(6) "{html}"
["discardExistingOutput"]=>
bool(true)
["memoryReserveSize"]=>
int(262144)
["exception"]=>
NULL
["_memoryReserve":"yii\base\ErrorHandler":private]=>
string(262144) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
["_hhvmException":"yii\base\ErrorHandler":private]=>
NULL
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["request"]=>
object(app\components\LangRequest)#9 (35) {
["defaultLang":protected]=>
string(2) "en"
["enableCsrfValidation"]=>
bool(false)
["csrfParam"]=>
string(5) "_csrf"
["csrfCookie"]=>
array(1) {
["httpOnly"]=>
bool(true)
}
["enableCsrfCookie"]=>
bool(true)
["enableCookieValidation"]=>
bool(false)
["cookieValidationKey"]=>
string(32) "szRDj2ALlUXe91N9_-EOjbldVBEZdJ9A"
["methodParam"]=>
string(7) "_method"
["parsers"]=>
array(0) {
}
["trustedHosts"]=>
array(0) {
}
["secureHeaders"]=>
array(5) {
[0]=>
string(15) "X-Forwarded-For"
[1]=>
string(16) "X-Forwarded-Host"
[2]=>
string(17) "X-Forwarded-Proto"
[3]=>
string(15) "Front-End-Https"
[4]=>
string(13) "X-Rewrite-Url"
}
["ipHeaders"]=>
array(1) {
[0]=>
string(15) "X-Forwarded-For"
}
["secureProtocolHeaders"]=>
array(2) {
["X-Forwarded-Proto"]=>
array(1) {
[0]=>
string(5) "https"
}
["Front-End-Https"]=>
array(1) {
[0]=>
string(2) "on"
}
}
["_cookies":"yii\web\Request":private]=>
object(yii\web\CookieCollection)#58 (2) {
["readOnly"]=>
bool(true)
["_cookies":"yii\web\CookieCollection":private]=>
array(2) {
["language"]=>
object(yii\web\Cookie)#61 (7) {
["name"]=>
string(8) "language"
["value"]=>
string(2) "en"
["domain"]=>
string(0) ""
["expire"]=>
NULL
["path"]=>
string(1) "/"
["secure"]=>
bool(false)
["httpOnly"]=>
bool(true)
}
["PHPSESSID"]=>
object(yii\web\Cookie)#60 (7) {
["name"]=>
string(9) "PHPSESSID"
["value"]=>
string(26) "20tto6vh6ae3kenf8u6vfsn2g4"
["domain"]=>
string(0) ""
["expire"]=>
NULL
["path"]=>
string(1) "/"
["secure"]=>
bool(false)
["httpOnly"]=>
bool(true)
}
}
}
["_headers":"yii\web\Request":private]=>
object(yii\web\HeaderCollection)#57 (1) {
["_headers":"yii\web\HeaderCollection":private]=>
array(7) {
["cookie"]=>
array(1) {
[0]=>
string(49) "language=en; PHPSESSID=20tto6vh6ae3kenf8u6vfsn2g4"
}
["accept-encoding"]=>
array(1) {
[0]=>
string(23) "gzip, br, zstd, deflate"
}
["user-agent"]=>
array(1) {
[0]=>
string(103) "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
}
["accept"]=>
array(1) {
[0]=>
string(3) "*/*"
}
["host"]=>
array(1) {
[0]=>
string(14) "doclandmed.com"
}
["content-length"]=>
array(1) {
[0]=>
string(0) ""
}
["content-type"]=>
array(1) {
[0]=>
string(0) ""
}
}
}
["_rawBody":"yii\web\Request":private]=>
NULL
["_bodyParams":"yii\web\Request":private]=>
NULL
["_queryParams":"yii\web\Request":private]=>
NULL
["_hostInfo":"yii\web\Request":private]=>
string(22) "https://doclandmed.com"
["_hostName":"yii\web\Request":private]=>
NULL
["_baseUrl":"yii\web\Request":private]=>
string(0) ""
["_scriptUrl":"yii\web\Request":private]=>
string(10) "/index.php"
["_scriptFile":"yii\web\Request":private]=>
NULL
["_pathInfo":"yii\web\Request":private]=>
string(54) "blog/christmas-offer-from-clinics-in-germany-and-spain"
["_url":"yii\web\Request":private]=>
string(58) "/en/blog/christmas-offer-from-clinics-in-germany-and-spain"
["_port":"yii\web\Request":private]=>
NULL
["_securePort":"yii\web\Request":private]=>
NULL
["_contentTypes":"yii\web\Request":private]=>
NULL
["_languages":"yii\web\Request":private]=>
NULL
["_csrfToken":"yii\web\Request":private]=>
NULL
["_isConsoleRequest":"yii\base\Request":private]=>
NULL
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
["_scriptFile":"yii\base\Request":private]=>
NULL
}
["log"]=>
object(yii\log\Dispatcher)#11 (5) {
["targets"]=>
array(1) {
[0]=>
object(yii\log\FileTarget)#16 (19) {
["logFile"]=>
string(45) "/var/www/html/docland.ru/runtime/logs/app.log"
["enableRotation"]=>
bool(true)
["maxFileSize"]=>
int(10240)
["maxLogFiles"]=>
int(5)
["fileMode"]=>
NULL
["dirMode"]=>
int(509)
["rotateByCopy"]=>
bool(true)
["categories"]=>
array(0) {
}
["except"]=>
array(0) {
}
["logVars"]=>
array(6) {
[0]=>
string(4) "_GET"
[1]=>
string(5) "_POST"
[2]=>
string(6) "_FILES"
[3]=>
string(7) "_COOKIE"
[4]=>
string(8) "_SESSION"
[5]=>
string(7) "_SERVER"
}
["prefix"]=>
NULL
["exportInterval"]=>
int(1000)
["messages"]=>
array(0) {
}
["microtime"]=>
bool(false)
["_levels":"yii\log\Target":private]=>
int(3)
["_enabled":"yii\log\Target":private]=>
bool(true)
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
}
["_logger":"yii\log\Dispatcher":private]=>
object(yii\log\Logger)#13 (7) {
["messages"]=>
array(52) {
[0]=>
array(6) {
[0]=>
string(65) "Opening DB connection: mysql:host=localhost;dbname=docland28mar22"
[1]=>
int(4)
[2]=>
string(23) "yii\db\Connection::open"
[3]=>
float(1716198794,2738)
[4]=>
array(0) {
}
[5]=>
int(5023048)
}
[1]=>
array(6) {
[0]=>
string(65) "Opening DB connection: mysql:host=localhost;dbname=docland28mar22"
[1]=>
int(80)
[2]=>
string(23) "yii\db\Connection::open"
[3]=>
float(1716198794,2738)
[4]=>
array(0) {
}
[5]=>
int(5023800)
}
[2]=>
array(6) {
[0]=>
string(65) "Opening DB connection: mysql:host=localhost;dbname=docland28mar22"
[1]=>
int(96)
[2]=>
string(23) "yii\db\Connection::open"
[3]=>
float(1716198794,2789)
[4]=>
array(0) {
}
[5]=>
int(5067744)
}
[3]=>
array(6) {
[0]=>
string(276) "SELECT COUNT(*) FROM `post` LEFT JOIN `lang_post` ON `post`.`id` = `lang_post`.`post_id` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`lang_post`.`rewrite_name`='christmas-offer-from-clinics-in-germany-and-spain') AND (`language`='en')"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,279)
[4]=>
array(0) {
}
[5]=>
int(5072216)
}
[4]=>
array(6) {
[0]=>
string(276) "SELECT COUNT(*) FROM `post` LEFT JOIN `lang_post` ON `post`.`id` = `lang_post`.`post_id` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`lang_post`.`rewrite_name`='christmas-offer-from-clinics-in-germany-and-spain') AND (`language`='en')"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,279)
[4]=>
array(0) {
}
[5]=>
int(5138760)
}
[5]=>
array(6) {
[0]=>
string(276) "SELECT COUNT(*) FROM `post` LEFT JOIN `lang_post` ON `post`.`id` = `lang_post`.`post_id` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`lang_post`.`rewrite_name`='christmas-offer-from-clinics-in-germany-and-spain') AND (`language`='en')"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,3171)
[4]=>
array(0) {
}
[5]=>
int(5139600)
}
[6]=>
array(6) {
[0]=>
string(276) "SELECT `post`.* FROM `post` LEFT JOIN `lang_post` ON `post`.`id` = `lang_post`.`post_id` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`lang_post`.`rewrite_name`='christmas-offer-from-clinics-in-germany-and-spain') AND (`language`='en')"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,3172)
[4]=>
array(0) {
}
[5]=>
int(5143464)
}
[7]=>
array(6) {
[0]=>
string(276) "SELECT `post`.* FROM `post` LEFT JOIN `lang_post` ON `post`.`id` = `lang_post`.`post_id` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`lang_post`.`rewrite_name`='christmas-offer-from-clinics-in-germany-and-spain') AND (`language`='en')"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,3172)
[4]=>
array(0) {
}
[5]=>
int(5144392)
}
[8]=>
array(6) {
[0]=>
string(276) "SELECT `post`.* FROM `post` LEFT JOIN `lang_post` ON `post`.`id` = `lang_post`.`post_id` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`lang_post`.`rewrite_name`='christmas-offer-from-clinics-in-germany-and-spain') AND (`language`='en')"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8946)
[4]=>
array(0) {
}
[5]=>
int(5152240)
}
[9]=>
array(6) {
[0]=>
string(68) "SELECT * FROM `lang_post` WHERE (`language`='en') AND (`post_id`=39)"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8955)
[4]=>
array(0) {
}
[5]=>
int(5302152)
}
[10]=>
array(6) {
[0]=>
string(68) "SELECT * FROM `lang_post` WHERE (`language`='en') AND (`post_id`=39)"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8955)
[4]=>
array(0) {
}
[5]=>
int(5303008)
}
[11]=>
array(6) {
[0]=>
string(68) "SELECT * FROM `lang_post` WHERE (`language`='en') AND (`post_id`=39)"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8958)
[4]=>
array(0) {
}
[5]=>
int(5307728)
}
[12]=>
array(6) {
[0]=>
string(50) "SELECT * FROM `params` WHERE `name`='blog.text.en'"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8962)
[4]=>
array(0) {
}
[5]=>
int(5352504)
}
[13]=>
array(6) {
[0]=>
string(50) "SELECT * FROM `params` WHERE `name`='blog.text.en'"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8962)
[4]=>
array(0) {
}
[5]=>
int(5353576)
}
[14]=>
array(6) {
[0]=>
string(50) "SELECT * FROM `params` WHERE `name`='blog.text.en'"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8992)
[4]=>
array(0) {
}
[5]=>
int(5354680)
}
[15]=>
array(6) {
[0]=>
string(97) "SELECT * FROM `seo_item` WHERE `url`='/en/blog/christmas-offer-from-clinics-in-germany-and-spain'"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8999)
[4]=>
array(0) {
}
[5]=>
int(5483784)
}
[16]=>
array(6) {
[0]=>
string(97) "SELECT * FROM `seo_item` WHERE `url`='/en/blog/christmas-offer-from-clinics-in-germany-and-spain'"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,8999)
[4]=>
array(0) {
}
[5]=>
int(5484856)
}
[17]=>
array(6) {
[0]=>
string(97) "SELECT * FROM `seo_item` WHERE `url`='/en/blog/christmas-offer-from-clinics-in-germany-and-spain'"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9)
[4]=>
array(0) {
}
[5]=>
int(5486392)
}
[18]=>
array(6) {
[0]=>
string(54) "SELECT * FROM `params` WHERE `name`='settings.view.en'"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9025)
[4]=>
array(0) {
}
[5]=>
int(6081992)
}
[19]=>
array(6) {
[0]=>
string(54) "SELECT * FROM `params` WHERE `name`='settings.view.en'"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9025)
[4]=>
array(0) {
}
[5]=>
int(6083064)
}
[20]=>
array(6) {
[0]=>
string(54) "SELECT * FROM `params` WHERE `name`='settings.view.en'"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9027)
[4]=>
array(0) {
}
[5]=>
int(6084472)
}
[21]=>
array(6) {
[0]=>
string(113) "SELECT COUNT(*) FROM `faq` WHERE (`faq`.`language`='en') AND (`faq`.`public`=1) AND (`item_id`=39) AND (`type`=5)"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9057)
[4]=>
array(0) {
}
[5]=>
int(6354632)
}
[22]=>
array(6) {
[0]=>
string(113) "SELECT COUNT(*) FROM `faq` WHERE (`faq`.`language`='en') AND (`faq`.`public`=1) AND (`item_id`=39) AND (`type`=5)"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9057)
[4]=>
array(0) {
}
[5]=>
int(6355072)
}
[23]=>
array(6) {
[0]=>
string(113) "SELECT COUNT(*) FROM `faq` WHERE (`faq`.`language`='en') AND (`faq`.`public`=1) AND (`item_id`=39) AND (`type`=5)"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9117)
[4]=>
array(0) {
}
[5]=>
int(6355712)
}
[24]=>
array(6) {
[0]=>
string(133) "SELECT * FROM `faq` WHERE (`faq`.`language`='en') AND (`faq`.`public`=1) AND (`item_id`=39) AND (`type`=5) ORDER BY `id` DESC LIMIT 5"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9119)
[4]=>
array(0) {
}
[5]=>
int(6356448)
}
[25]=>
array(6) {
[0]=>
string(133) "SELECT * FROM `faq` WHERE (`faq`.`language`='en') AND (`faq`.`public`=1) AND (`item_id`=39) AND (`type`=5) ORDER BY `id` DESC LIMIT 5"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9119)
[4]=>
array(0) {
}
[5]=>
int(6356952)
}
[26]=>
array(6) {
[0]=>
string(133) "SELECT * FROM `faq` WHERE (`faq`.`language`='en') AND (`faq`.`public`=1) AND (`item_id`=39) AND (`type`=5) ORDER BY `id` DESC LIMIT 5"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9121)
[4]=>
array(0) {
}
[5]=>
int(6358616)
}
[27]=>
array(6) {
[0]=>
string(115) "SELECT * FROM `post` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`id`=33)"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9135)
[4]=>
array(0) {
}
[5]=>
int(6576136)
}
[28]=>
array(6) {
[0]=>
string(115) "SELECT * FROM `post` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`id`=33)"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9135)
[4]=>
array(0) {
}
[5]=>
int(6577104)
}
[29]=>
array(6) {
[0]=>
string(115) "SELECT * FROM `post` WHERE (`post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')) AND (`id`=33)"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9138)
[4]=>
array(0) {
}
[5]=>
int(6588576)
}
[30]=>
array(6) {
[0]=>
string(68) "SELECT * FROM `lang_post` WHERE (`language`='en') AND (`post_id`=33)"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9139)
[4]=>
array(0) {
}
[5]=>
int(6603944)
}
[31]=>
array(6) {
[0]=>
string(68) "SELECT * FROM `lang_post` WHERE (`language`='en') AND (`post_id`=33)"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9139)
[4]=>
array(0) {
}
[5]=>
int(6604800)
}
[32]=>
array(6) {
[0]=>
string(68) "SELECT * FROM `lang_post` WHERE (`language`='en') AND (`post_id`=33)"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,914)
[4]=>
array(0) {
}
[5]=>
int(6615536)
}
[33]=>
array(6) {
[0]=>
string(106) "SELECT COUNT(*) FROM `post` WHERE `post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9142)
[4]=>
array(0) {
}
[5]=>
int(6618840)
}
[34]=>
array(6) {
[0]=>
string(106) "SELECT COUNT(*) FROM `post` WHERE `post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9142)
[4]=>
array(0) {
}
[5]=>
int(6620056)
}
[35]=>
array(6) {
[0]=>
string(106) "SELECT COUNT(*) FROM `post` WHERE `post`.`id` IN (SELECT `post_id` FROM `lang_post` WHERE `language`='en')"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9145)
[4]=>
array(0) {
}
[5]=>
int(6620648)
}
[36]=>
array(6) {
[0]=>
string(80) "SELECT * FROM `country` WHERE `id` IN (5, 11, 6, 8, 9, 10) ORDER BY `sort_order`"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9152)
[4]=>
array(0) {
}
[5]=>
int(6770720)
}
[37]=>
array(6) {
[0]=>
string(80) "SELECT * FROM `country` WHERE `id` IN (5, 11, 6, 8, 9, 10) ORDER BY `sort_order`"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9152)
[4]=>
array(0) {
}
[5]=>
int(6770584)
}
[38]=>
array(6) {
[0]=>
string(80) "SELECT * FROM `country` WHERE `id` IN (5, 11, 6, 8, 9, 10) ORDER BY `sort_order`"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9154)
[4]=>
array(0) {
}
[5]=>
int(6892808)
}
[39]=>
array(6) {
[0]=>
string(95) "SELECT * FROM `lang_country` WHERE (`language`='en') AND (`country_id` IN (5, 11, 6, 8, 9, 10))"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9163)
[4]=>
array(0) {
}
[5]=>
int(7227584)
}
[40]=>
array(6) {
[0]=>
string(95) "SELECT * FROM `lang_country` WHERE (`language`='en') AND (`country_id` IN (5, 11, 6, 8, 9, 10))"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9163)
[4]=>
array(0) {
}
[5]=>
int(7227216)
}
[41]=>
array(6) {
[0]=>
string(95) "SELECT * FROM `lang_country` WHERE (`language`='en') AND (`country_id` IN (5, 11, 6, 8, 9, 10))"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9164)
[4]=>
array(0) {
}
[5]=>
int(7258128)
}
[42]=>
array(6) {
[0]=>
string(93) "SELECT * FROM `country_to_branch` WHERE (`main`=1) AND (`country_id` IN (5, 11, 6, 8, 9, 10))"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9167)
[4]=>
array(0) {
}
[5]=>
int(7302880)
}
[43]=>
array(6) {
[0]=>
string(93) "SELECT * FROM `country_to_branch` WHERE (`main`=1) AND (`country_id` IN (5, 11, 6, 8, 9, 10))"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9167)
[4]=>
array(0) {
}
[5]=>
int(7302528)
}
[44]=>
array(6) {
[0]=>
string(93) "SELECT * FROM `country_to_branch` WHERE (`main`=1) AND (`country_id` IN (5, 11, 6, 8, 9, 10))"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9177)
[4]=>
array(0) {
}
[5]=>
int(7820456)
}
[45]=>
array(6) {
[0]=>
string(302) "SELECT * FROM `branch` WHERE (`branch`.`id` IN (SELECT `branch_id` FROM `lang_branch` WHERE `language`='en')) AND (`public`=1) AND (`id` IN ('22', '27', '8', '40', '13', '29', '62', '68', '14', '39', '33', '26', '16', '36', '9', '17', '18', '46', '57', '52', '61', '58')) ORDER BY `branch`.`sort_order`"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9178)
[4]=>
array(0) {
}
[5]=>
int(7838032)
}
[46]=>
array(6) {
[0]=>
string(302) "SELECT * FROM `branch` WHERE (`branch`.`id` IN (SELECT `branch_id` FROM `lang_branch` WHERE `language`='en')) AND (`public`=1) AND (`id` IN ('22', '27', '8', '40', '13', '29', '62', '68', '14', '39', '33', '26', '16', '36', '9', '17', '18', '46', '57', '52', '61', '58')) ORDER BY `branch`.`sort_order`"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9178)
[4]=>
array(0) {
}
[5]=>
int(7833352)
}
[47]=>
array(6) {
[0]=>
string(302) "SELECT * FROM `branch` WHERE (`branch`.`id` IN (SELECT `branch_id` FROM `lang_branch` WHERE `language`='en')) AND (`public`=1) AND (`id` IN ('22', '27', '8', '40', '13', '29', '62', '68', '14', '39', '33', '26', '16', '36', '9', '17', '18', '46', '57', '52', '61', '58')) ORDER BY `branch`.`sort_order`"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9183)
[4]=>
array(0) {
}
[5]=>
int(8043040)
}
[48]=>
array(6) {
[0]=>
string(159) "SELECT * FROM `lang_branch` WHERE (`language`='en') AND (`branch_id` IN (68, 8, 9, 13, 16, 29, 18, 14, 17, 22, 26, 27, 33, 36, 39, 40, 46, 52, 57, 58, 61, 62))"
[1]=>
int(4)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9189)
[4]=>
array(0) {
}
[5]=>
int(8375240)
}
[49]=>
array(6) {
[0]=>
string(159) "SELECT * FROM `lang_branch` WHERE (`language`='en') AND (`branch_id` IN (68, 8, 9, 13, 16, 29, 18, 14, 17, 22, 26, 27, 33, 36, 39, 40, 46, 52, 57, 58, 61, 62))"
[1]=>
int(80)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9189)
[4]=>
array(0) {
}
[5]=>
int(8370536)
}
[50]=>
array(6) {
[0]=>
string(159) "SELECT * FROM `lang_branch` WHERE (`language`='en') AND (`branch_id` IN (68, 8, 9, 13, 16, 29, 18, 14, 17, 22, 26, 27, 33, 36, 39, 40, 46, 52, 57, 58, 61, 62))"
[1]=>
int(96)
[2]=>
string(21) "yii\db\Command::query"
[3]=>
float(1716198794,9191)
[4]=>
array(0) {
}
[5]=>
int(8422896)
}
[51]=>
array(6) {
[0]=>
string(15) "Session started"
[1]=>
int(4)
[2]=>
string(21) "yii\web\Session::open"
[3]=>
float(1716198794,9205)
[4]=>
array(0) {
}
[5]=>
int(8106256)
}
}
["flushInterval"]=>
int(1000)
["traceLevel"]=>
int(0)
["dispatcher"]=>
*RECURSION*
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["seo"]=>
object(app\components\seo\SeoManager)#18 (5) {
["providers":protected]=>
array(1) {
[0]=>
object(app\models\Post)#88 (11) {
["_concatenatedTags":protected]=>
NULL
["_attributes":"yii\db\BaseActiveRecord":private]=>
array(15) {
["id"]=>
int(39)
["created_at"]=>
string(19) "2016-12-12 19:59:13"
["updated_at"]=>
string(19) "2017-01-18 18:01:00"
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["preview_image"]=>
string(37) "05da7fd043dbecc9f52ea79ccc534a3f.jpeg"
["og_image"]=>
string(36) "29c6602f4f01c6715f8abb40d4e82f5f.jpg"
["no_index"]=>
int(0)
["source"]=>
string(0) ""
["seo_title"]=>
NULL
["seo_h1"]=>
NULL
["seo_description"]=>
NULL
["seo_keywords"]=>
NULL
}
["_oldAttributes":"yii\db\BaseActiveRecord":private]=>
array(15) {
["id"]=>
int(39)
["created_at"]=>
string(19) "2016-12-12 19:59:13"
["updated_at"]=>
string(19) "2017-01-18 18:01:00"
["name"]=>
string(104) "Рождественское предложение от клиник Германии и Испании"
["rewrite_name"]=>
string(57) "rozhdestvenskoe-predlozhenie-ot-klinik-germanii-i-ispanii"
["announce"]=>
string(584) "В декабре-январе (2016-2017гг) мы проводим акцию по организации диагностики, лечения, реабилитации в Испании и Германии. В рамках проводимой акции клиентам предоставляются скидки на различные виды лечения, диагностики. Традиционно услуги по сопровождению, переводы, трансферы, размещение на самом высоком уровне.
"
["text"]=>
string(4061) "С декабря 2016 по январь 2017 года включительно раздаём грандиозные скидки на лечение и диагностику в Германии и Испании.
Что мы предлагаем:
Подбор клиники и врача; Трансфер в аэропорт и клинику; Услуги переводчика 24/7. Чтобы оформить заявку, нажмите на кнопку "Обратитесь онлайн" на баннере справа или напишите нам по адресу dd@docland.ru
Германия
Лечение, диагностика, реабилитация – скидка 10%: Пакет «Basis » - 1 день – от 1950 евро; Пакет «Basis Plus » - 2 дня – от 2940 евро; Пакет «Premium » - 3 дня – от 4540 евро Дополнительные пакеты медицинского обследования: Гастроэнтерология – от 1450 евро; Кардиология - от 2500 евро;Ортопедия – от 300 евро; Check-up для курящих – от 1100 евро; Урология – от 350 евро; Гинекология и маммология – от 450 евро; Офтальмология – от 170 евро. Лечение: Ортопедия, травматология, спортивная медицина – от 3500 евро; Кардиология и кардиохирургия – от 3000 евро; Офтальмология – от 1250 евро; Гинекология/маммология – от 5500 евро; Урология – от 3500 евро; Нейрохирургия – от 11000 евро Реабилитация Кардиология – стационар/амбулаторно – 350 евро/250 евро; Неврология – стационар/амбулаторно – 600 евро/350 евро; Ортопедия – стационар/амбулаторно – 450 евро/300 евро
Испания Диагностические исследования - скидка 10% CHECK-UP Общий - от 588 EUR CHECK-UP Кардиологический - от 581 EURCHECK-UP Гинекологический - от 769 EUR CHECK-UP Мужской - от 688 EUR CHECK-UP Женский - от 826 EUR Эстетическая медицина Программа «Забота о красоте тела – идеальный силуэт». Программа включает в себя 6 сеансов карбокситерапии, 6 сеансов радиочастотной терапии, 6 сеансов пресотерапиию. В подарок консультация диетолога по правильному питанию. Стоимость программы 450 евро.
Увеличение груди с использованием протезов Allergan. Стоимость 3950 евро . Первая консультация – в подарок
"
["preview_image"]=>
string(37) "05da7fd043dbecc9f52ea79ccc534a3f.jpeg"
["og_image"]=>
string(36) "29c6602f4f01c6715f8abb40d4e82f5f.jpg"
["no_index"]=>
int(0)
["source"]=>
string(0) ""
["seo_title"]=>
NULL
["seo_h1"]=>
NULL
["seo_description"]=>
NULL
["seo_keywords"]=>
NULL
}
["_related":"yii\db\BaseActiveRecord":private]=>
array(1) {
["translation"]=>
object(app\models\PostLang)#112 (10) {
["_attributes":"yii\db\BaseActiveRecord":private]=>
array(12) {
["id"]=>
int(36)
["post_id"]=>
int(39)
["language"]=>
string(2) "en"
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["source"]=>
string(0) ""
["seo_title"]=>
NULL
["seo_h1"]=>
NULL
["seo_description"]=>
NULL
["seo_keywords"]=>
NULL
}
["_oldAttributes":"yii\db\BaseActiveRecord":private]=>
array(12) {
["id"]=>
int(36)
["post_id"]=>
int(39)
["language"]=>
string(2) "en"
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["source"]=>
string(0) ""
["seo_title"]=>
NULL
["seo_h1"]=>
NULL
["seo_description"]=>
NULL
["seo_keywords"]=>
NULL
}
["_related":"yii\db\BaseActiveRecord":private]=>
array(0) {
}
["_relationsDependencies":"yii\db\BaseActiveRecord":private]=>
array(0) {
}
["_errors":"yii\base\Model":private]=>
NULL
["_validators":"yii\base\Model":private]=>
NULL
["_scenario":"yii\base\Model":private]=>
string(7) "default"
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
}
["_relationsDependencies":"yii\db\BaseActiveRecord":private]=>
array(0) {
}
["_errors":"yii\base\Model":private]=>
NULL
["_validators":"yii\base\Model":private]=>
NULL
["_scenario":"yii\base\Model":private]=>
string(7) "default"
["_events":"yii\base\Component":private]=>
array(7) {
["afterFind"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(9) "afterFind"
}
[1]=>
NULL
}
}
["afterUpdate"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(11) "afterUpdate"
}
[1]=>
NULL
}
}
["afterInsert"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(11) "afterInsert"
}
[1]=>
NULL
}
}
["afterDelete"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(11) "afterDelete"
}
[1]=>
NULL
}
}
["beforeValidate"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(14) "beforeValidate"
}
[1]=>
NULL
}
}
["beforeInsert"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(yii\behaviors\TimestampBehavior)#94 (7) {
["createdAtAttribute"]=>
string(10) "created_at"
["updatedAtAttribute"]=>
string(10) "updated_at"
["value"]=>
object(Closure)#91 (1) {
["this"]=>
*RECURSION*
}
["attributes"]=>
array(2) {
["beforeInsert"]=>
array(2) {
[0]=>
string(10) "created_at"
[1]=>
string(10) "updated_at"
}
["beforeUpdate"]=>
string(10) "updated_at"
}
["skipUpdateOnClean"]=>
bool(true)
["preserveNonEmptyValues"]=>
bool(false)
["owner"]=>
*RECURSION*
}
[1]=>
string(18) "evaluateAttributes"
}
[1]=>
NULL
}
}
["beforeUpdate"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(yii\behaviors\TimestampBehavior)#94 (7) {
["createdAtAttribute"]=>
string(10) "created_at"
["updatedAtAttribute"]=>
string(10) "updated_at"
["value"]=>
object(Closure)#91 (1) {
["this"]=>
*RECURSION*
}
["attributes"]=>
array(2) {
["beforeInsert"]=>
array(2) {
[0]=>
string(10) "created_at"
[1]=>
string(10) "updated_at"
}
["beforeUpdate"]=>
string(10) "updated_at"
}
["skipUpdateOnClean"]=>
bool(true)
["preserveNonEmptyValues"]=>
bool(false)
["owner"]=>
*RECURSION*
}
[1]=>
string(18) "evaluateAttributes"
}
[1]=>
NULL
}
}
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
object(yii\behaviors\TimestampBehavior)#94 (7) {
["createdAtAttribute"]=>
string(10) "created_at"
["updatedAtAttribute"]=>
string(10) "updated_at"
["value"]=>
object(Closure)#91 (1) {
["this"]=>
*RECURSION*
}
["attributes"]=>
array(2) {
["beforeInsert"]=>
array(2) {
[0]=>
string(10) "created_at"
[1]=>
string(10) "updated_at"
}
["beforeUpdate"]=>
string(10) "updated_at"
}
["skipUpdateOnClean"]=>
bool(true)
["preserveNonEmptyValues"]=>
bool(false)
["owner"]=>
*RECURSION*
}
}
}
}
["bindParams":protected]=>
array(0) {
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["view"]=>
*RECURSION*
["assetsAutoCompress"]=>
object(app\components\AssetsAutoCompress)#23 (12) {
["enabled"]=>
bool(true)
["jsCompress"]=>
bool(false)
["jsCompressFlaggedComments"]=>
bool(true)
["cssCompress"]=>
bool(true)
["cssFileCompile"]=>
bool(true)
["cssFileCompress"]=>
bool(false)
["cssFileBottom"]=>
bool(false)
["jsFileCompile"]=>
bool(false)
["jsFileCompress"]=>
bool(true)
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["cache"]=>
object(yii\redis\Cache)#28 (10) {
["redis"]=>
object(yii\redis\Connection)#30 (14) {
["hostname"]=>
string(9) "localhost"
["port"]=>
int(6379)
["unixSocket"]=>
NULL
["password"]=>
NULL
["database"]=>
int(0)
["connectionTimeout"]=>
NULL
["dataTimeout"]=>
NULL
["socketClientFlags"]=>
int(4)
["retries"]=>
int(0)
["redisCommands"]=>
array(198) {
[0]=>
string(6) "APPEND"
[1]=>
string(4) "AUTH"
[2]=>
string(12) "BGREWRITEAOF"
[3]=>
string(6) "BGSAVE"
[4]=>
string(8) "BITCOUNT"
[5]=>
string(8) "BITFIELD"
[6]=>
string(5) "BITOP"
[7]=>
string(6) "BITPOS"
[8]=>
string(5) "BLPOP"
[9]=>
string(5) "BRPOP"
[10]=>
string(10) "BRPOPLPUSH"
[11]=>
string(11) "CLIENT KILL"
[12]=>
string(11) "CLIENT LIST"
[13]=>
string(14) "CLIENT GETNAME"
[14]=>
string(12) "CLIENT PAUSE"
[15]=>
string(12) "CLIENT REPLY"
[16]=>
string(14) "CLIENT SETNAME"
[17]=>
string(16) "CLUSTER ADDSLOTS"
[18]=>
string(23) "CLUSTER COUNTKEYSINSLOT"
[19]=>
string(16) "CLUSTER DELSLOTS"
[20]=>
string(16) "CLUSTER FAILOVER"
[21]=>
string(14) "CLUSTER FORGET"
[22]=>
string(21) "CLUSTER GETKEYSINSLOT"
[23]=>
string(12) "CLUSTER INFO"
[24]=>
string(15) "CLUSTER KEYSLOT"
[25]=>
string(12) "CLUSTER MEET"
[26]=>
string(13) "CLUSTER NODES"
[27]=>
string(17) "CLUSTER REPLICATE"
[28]=>
string(13) "CLUSTER RESET"
[29]=>
string(18) "CLUSTER SAVECONFIG"
[30]=>
string(15) "CLUSTER SETSLOT"
[31]=>
string(14) "CLUSTER SLAVES"
[32]=>
string(13) "CLUSTER SLOTS"
[33]=>
string(7) "COMMAND"
[34]=>
string(13) "COMMAND COUNT"
[35]=>
string(15) "COMMAND GETKEYS"
[36]=>
string(12) "COMMAND INFO"
[37]=>
string(10) "CONFIG GET"
[38]=>
string(14) "CONFIG REWRITE"
[39]=>
string(10) "CONFIG SET"
[40]=>
string(16) "CONFIG RESETSTAT"
[41]=>
string(6) "DBSIZE"
[42]=>
string(12) "DEBUG OBJECT"
[43]=>
string(14) "DEBUG SEGFAULT"
[44]=>
string(4) "DECR"
[45]=>
string(6) "DECRBY"
[46]=>
string(3) "DEL"
[47]=>
string(7) "DISCARD"
[48]=>
string(4) "DUMP"
[49]=>
string(4) "ECHO"
[50]=>
string(4) "EVAL"
[51]=>
string(7) "EVALSHA"
[52]=>
string(4) "EXEC"
[53]=>
string(6) "EXISTS"
[54]=>
string(6) "EXPIRE"
[55]=>
string(8) "EXPIREAT"
[56]=>
string(8) "FLUSHALL"
[57]=>
string(7) "FLUSHDB"
[58]=>
string(6) "GEOADD"
[59]=>
string(7) "GEOHASH"
[60]=>
string(6) "GEOPOS"
[61]=>
string(7) "GEODIST"
[62]=>
string(9) "GEORADIUS"
[63]=>
string(17) "GEORADIUSBYMEMBER"
[64]=>
string(3) "GET"
[65]=>
string(6) "GETBIT"
[66]=>
string(8) "GETRANGE"
[67]=>
string(6) "GETSET"
[68]=>
string(4) "HDEL"
[69]=>
string(7) "HEXISTS"
[70]=>
string(4) "HGET"
[71]=>
string(7) "HGETALL"
[72]=>
string(7) "HINCRBY"
[73]=>
string(12) "HINCRBYFLOAT"
[74]=>
string(5) "HKEYS"
[75]=>
string(4) "HLEN"
[76]=>
string(5) "HMGET"
[77]=>
string(5) "HMSET"
[78]=>
string(4) "HSET"
[79]=>
string(6) "HSETNX"
[80]=>
string(7) "HSTRLEN"
[81]=>
string(5) "HVALS"
[82]=>
string(4) "INCR"
[83]=>
string(6) "INCRBY"
[84]=>
string(11) "INCRBYFLOAT"
[85]=>
string(4) "INFO"
[86]=>
string(4) "KEYS"
[87]=>
string(8) "LASTSAVE"
[88]=>
string(6) "LINDEX"
[89]=>
string(7) "LINSERT"
[90]=>
string(4) "LLEN"
[91]=>
string(4) "LPOP"
[92]=>
string(5) "LPUSH"
[93]=>
string(6) "LPUSHX"
[94]=>
string(6) "LRANGE"
[95]=>
string(4) "LREM"
[96]=>
string(4) "LSET"
[97]=>
string(5) "LTRIM"
[98]=>
string(4) "MGET"
[99]=>
string(7) "MIGRATE"
[100]=>
string(7) "MONITOR"
[101]=>
string(4) "MOVE"
[102]=>
string(4) "MSET"
[103]=>
string(6) "MSETNX"
[104]=>
string(5) "MULTI"
[105]=>
string(6) "OBJECT"
[106]=>
string(7) "PERSIST"
[107]=>
string(7) "PEXPIRE"
[108]=>
string(9) "PEXPIREAT"
[109]=>
string(5) "PFADD"
[110]=>
string(7) "PFCOUNT"
[111]=>
string(7) "PFMERGE"
[112]=>
string(4) "PING"
[113]=>
string(6) "PSETEX"
[114]=>
string(10) "PSUBSCRIBE"
[115]=>
string(6) "PUBSUB"
[116]=>
string(4) "PTTL"
[117]=>
string(7) "PUBLISH"
[118]=>
string(12) "PUNSUBSCRIBE"
[119]=>
string(4) "QUIT"
[120]=>
string(9) "RANDOMKEY"
[121]=>
string(8) "READONLY"
[122]=>
string(9) "READWRITE"
[123]=>
string(6) "RENAME"
[124]=>
string(8) "RENAMENX"
[125]=>
string(7) "RESTORE"
[126]=>
string(4) "ROLE"
[127]=>
string(4) "RPOP"
[128]=>
string(9) "RPOPLPUSH"
[129]=>
string(5) "RPUSH"
[130]=>
string(6) "RPUSHX"
[131]=>
string(4) "SADD"
[132]=>
string(4) "SAVE"
[133]=>
string(5) "SCARD"
[134]=>
string(12) "SCRIPT DEBUG"
[135]=>
string(13) "SCRIPT EXISTS"
[136]=>
string(12) "SCRIPT FLUSH"
[137]=>
string(11) "SCRIPT KILL"
[138]=>
string(11) "SCRIPT LOAD"
[139]=>
string(5) "SDIFF"
[140]=>
string(10) "SDIFFSTORE"
[141]=>
string(6) "SELECT"
[142]=>
string(3) "SET"
[143]=>
string(6) "SETBIT"
[144]=>
string(5) "SETEX"
[145]=>
string(5) "SETNX"
[146]=>
string(8) "SETRANGE"
[147]=>
string(8) "SHUTDOWN"
[148]=>
string(6) "SINTER"
[149]=>
string(11) "SINTERSTORE"
[150]=>
string(9) "SISMEMBER"
[151]=>
string(7) "SLAVEOF"
[152]=>
string(7) "SLOWLOG"
[153]=>
string(8) "SMEMBERS"
[154]=>
string(5) "SMOVE"
[155]=>
string(4) "SORT"
[156]=>
string(4) "SPOP"
[157]=>
string(11) "SRANDMEMBER"
[158]=>
string(4) "SREM"
[159]=>
string(6) "STRLEN"
[160]=>
string(9) "SUBSCRIBE"
[161]=>
string(6) "SUNION"
[162]=>
string(11) "SUNIONSTORE"
[163]=>
string(6) "SWAPDB"
[164]=>
string(4) "SYNC"
[165]=>
string(4) "TIME"
[166]=>
string(5) "TOUCH"
[167]=>
string(3) "TTL"
[168]=>
string(4) "TYPE"
[169]=>
string(11) "UNSUBSCRIBE"
[170]=>
string(6) "UNLINK"
[171]=>
string(7) "UNWATCH"
[172]=>
string(4) "WAIT"
[173]=>
string(5) "WATCH"
[174]=>
string(4) "ZADD"
[175]=>
string(5) "ZCARD"
[176]=>
string(6) "ZCOUNT"
[177]=>
string(7) "ZINCRBY"
[178]=>
string(11) "ZINTERSTORE"
[179]=>
string(9) "ZLEXCOUNT"
[180]=>
string(6) "ZRANGE"
[181]=>
string(11) "ZRANGEBYLEX"
[182]=>
string(14) "ZREVRANGEBYLEX"
[183]=>
string(13) "ZRANGEBYSCORE"
[184]=>
string(5) "ZRANK"
[185]=>
string(4) "ZREM"
[186]=>
string(14) "ZREMRANGEBYLEX"
[187]=>
string(15) "ZREMRANGEBYRANK"
[188]=>
string(16) "ZREMRANGEBYSCORE"
[189]=>
string(9) "ZREVRANGE"
[190]=>
string(16) "ZREVRANGEBYSCORE"
[191]=>
string(8) "ZREVRANK"
[192]=>
string(6) "ZSCORE"
[193]=>
string(11) "ZUNIONSTORE"
[194]=>
string(4) "SCAN"
[195]=>
string(5) "SSCAN"
[196]=>
string(5) "HSCAN"
[197]=>
string(5) "ZSCAN"
}
["_socket":"yii\redis\Connection":private]=>
resource(57) of type (stream)
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
["enableReplicas"]=>
bool(false)
["replicas"]=>
array(0) {
}
["_replica":"yii\redis\Cache":private]=>
NULL
["keyPrefix"]=>
NULL
["serializer"]=>
NULL
["defaultDuration"]=>
int(0)
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["urlManager"]=>
object(app\components\LangUrlManager)#26 (17) {
["enablePrettyUrl"]=>
bool(true)
["enableStrictParsing"]=>
bool(false)
["rules"]=>
array(27) {
[0]=>
object(yii\web\UrlRule)#29 (16) {
["name"]=>
string(28) "manage//"
["pattern"]=>
string(55) "#^manage/(?P[^\/]+)/(?P[^\/]+)$#u"
["host"]=>
NULL
["route"]=>
string(28) "manage//"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(2) {
["a4cf2669a"]=>
string(10) "controller"
["a47cc8c92"]=>
string(6) "action"
}
["_template":"yii\web\UrlRule":private]=>
string(30) "/manage///"
["_routeRule":"yii\web\UrlRule":private]=>
string(55) "#^manage/(?P[^\/]+)/(?P[^\/]+)$#u"
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(2) {
["controller"]=>
string(12) ""
["action"]=>
string(8) ""
}
}
[1]=>
object(yii\web\UrlRule)#31 (16) {
["name"]=>
string(19) "manage/"
["pattern"]=>
string(33) "#^manage/(?P[^\/]+)$#u"
["host"]=>
NULL
["route"]=>
string(25) "manage//index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a4cf2669a"]=>
string(10) "controller"
}
["_template":"yii\web\UrlRule":private]=>
string(21) "/manage//"
["_routeRule":"yii\web\UrlRule":private]=>
string(39) "#^manage/(?P[^\/]+)/index$#u"
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(1) {
["controller"]=>
string(12) ""
}
}
[2]=>
object(yii\web\UrlRule)#32 (16) {
["name"]=>
string(6) "manage"
["pattern"]=>
string(11) "#^manage$#u"
["host"]=>
NULL
["route"]=>
string(20) "manage/default/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(8) "/manage/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[3]=>
object(yii\web\UrlRule)#33 (16) {
["name"]=>
string(1) "/"
["pattern"]=>
string(5) "#^$#u"
["host"]=>
NULL
["route"]=>
string(10) "site/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(0) ""
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[4]=>
object(yii\web\UrlRule)#34 (16) {
["name"]=>
string(97) ""
["pattern"]=>
string(108) "#^(?P(login|logout|change-email|change-password|error|prices|about|contacts|register-partner))$#u"
["host"]=>
NULL
["route"]=>
string(13) "site/"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a47cc8c92"]=>
string(6) "action"
}
["_template":"yii\web\UrlRule":private]=>
string(10) "//"
["_routeRule":"yii\web\UrlRule":private]=>
string(113) "#^site/(?P(login|logout|change-email|change-password|error|prices|about|contacts|register-partner))$#u"
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(1) {
["action"]=>
string(8) ""
}
}
[5]=>
object(yii\web\UrlRule)#35 (16) {
["name"]=>
string(37) ""
["pattern"]=>
string(50) "#^(?Pprivacy\-policy|terms\-of\-use)$#u"
["host"]=>
NULL
["route"]=>
string(10) "page/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(0)
["placeholders":protected]=>
array(1) {
["a140ab620"]=>
string(4) "page"
}
["_template":"yii\web\UrlRule":private]=>
string(8) "//"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["page"]=>
string(35) "#^privacy\-policy|terms\-of\-use$#u"
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[6]=>
object(yii\web\UrlRule)#36 (16) {
["name"]=>
string(29) "/"
["pattern"]=>
string(49) "#^(?Ppartner)/(?P[^\/]+)$#u"
["host"]=>
NULL
["route"]=>
string(27) "//index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(2) {
["a0c242628"]=>
string(6) "module"
["a4cf2669a"]=>
string(10) "controller"
}
["_template":"yii\web\UrlRule":private]=>
string(23) "///"
["_routeRule":"yii\web\UrlRule":private]=>
string(55) "#^(?Ppartner)/(?P[^\/]+)/index$#u"
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(2) {
["module"]=>
string(8) ""
["controller"]=>
string(12) ""
}
}
[7]=>
object(yii\web\UrlRule)#37 (16) {
["name"]=>
string(38) "//"
["pattern"]=>
string(71) "#^(?Ppartner)/(?P[^\/]+)/(?P[^\/]+)$#u"
["host"]=>
NULL
["route"]=>
string(30) "//"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(3) {
["a0c242628"]=>
string(6) "module"
["a4cf2669a"]=>
string(10) "controller"
["a47cc8c92"]=>
string(6) "action"
}
["_template":"yii\web\UrlRule":private]=>
string(32) "////"
["_routeRule":"yii\web\UrlRule":private]=>
string(71) "#^(?Ppartner)/(?P[^\/]+)/(?P[^\/]+)$#u"
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(3) {
["module"]=>
string(8) ""
["controller"]=>
string(12) ""
["action"]=>
string(8) ""
}
}
[8]=>
object(yii\web\UrlRule)#38 (16) {
["name"]=>
string(9) "countries"
["pattern"]=>
string(14) "#^countries$#u"
["host"]=>
NULL
["route"]=>
string(13) "country/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(11) "/countries/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[9]=>
object(yii\web\UrlRule)#39 (16) {
["name"]=>
string(7) "clinics"
["pattern"]=>
string(12) "#^clinics$#u"
["host"]=>
NULL
["route"]=>
string(12) "search/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(9) "/clinics/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[10]=>
object(yii\web\UrlRule)#40 (16) {
["name"]=>
string(9) "illnesses"
["pattern"]=>
string(14) "#^illnesses$#u"
["host"]=>
NULL
["route"]=>
string(13) "disease/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(11) "/illnesses/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[11]=>
object(yii\web\UrlRule)#41 (16) {
["name"]=>
string(12) "certificates"
["pattern"]=>
string(17) "#^certificates$#u"
["host"]=>
NULL
["route"]=>
string(17) "certificate/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(14) "/certificates/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[12]=>
object(yii\web\UrlRule)#42 (16) {
["name"]=>
string(19) "certificates/ "
["pattern"]=>
string(39) "#^certificates/(?P[^\/]+)$#u"
["host"]=>
NULL
["route"]=>
string(16) "certificate/view"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a36ac99f1"]=>
string(4) "link"
}
["_template":"yii\web\UrlRule":private]=>
string(21) "/certificates/ /"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["link"]=>
string(0) ""
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[13]=>
object(yii\web\UrlRule)#43 (16) {
["name"]=>
string(38) "blog/tags/"
["pattern"]=>
string(41) "#^blog/tags/(?P[a-z0-9\-]+)$#u"
["host"]=>
NULL
["route"]=>
string(9) "blog/tags"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["ac066e01d"]=>
string(14) "tagRewriteName"
}
["_template":"yii\web\UrlRule":private]=>
string(28) "/blog/tags//"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["tagRewriteName"]=>
string(16) "#^[a-z0-9\-]+$#u"
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[14]=>
object(yii\web\UrlRule)#44 (16) {
["name"]=>
string(9) "blog/tags"
["pattern"]=>
string(14) "#^blog/tags$#u"
["host"]=>
NULL
["route"]=>
string(10) "blog/cloud"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(11) "/blog/tags/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[15]=>
object(yii\web\UrlRule)#45 (16) {
["name"]=>
string(20) "blog/page/"
["pattern"]=>
string(33) "#^blog/page/(?P\d+)$#u"
["host"]=>
NULL
["route"]=>
string(10) "blog/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a140ab620"]=>
string(4) "page"
}
["_template":"yii\web\UrlRule":private]=>
string(18) "/blog/page//"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["page"]=>
string(8) "#^\d+$#u"
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[16]=>
object(yii\web\UrlRule)#46 (16) {
["name"]=>
string(29) "blog/"
["pattern"]=>
string(36) "#^blog/(?P[a-z0-9\-]+)$#u"
["host"]=>
NULL
["route"]=>
string(9) "blog/view"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a80aa1de3"]=>
string(11) "rewriteName"
}
["_template":"yii\web\UrlRule":private]=>
string(20) "/blog//"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["rewriteName"]=>
string(16) "#^[a-z0-9\-]+$#u"
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[17]=>
object(yii\web\UrlRule)#47 (16) {
["name"]=>
string(4) "blog"
["pattern"]=>
string(9) "#^blog$#u"
["host"]=>
NULL
["route"]=>
string(10) "blog/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(6) "/blog/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[18]=>
object(yii\web\UrlRule)#48 (16) {
["name"]=>
string(45) "sitemap///"
["pattern"]=>
string(78) "#^sitemap/(?P[^\/]+)/(?P[^\/]+)/(?P[^\/]+)$#u"
["host"]=>
NULL
["route"]=>
string(19) "sitemap/city-branch"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(3) {
["ae0dd19a4"]=>
string(11) "countryLink"
["af6c355bd"]=>
string(8) "cityLink"
["abffd685e"]=>
string(10) "branchLink"
}
["_template":"yii\web\UrlRule":private]=>
string(47) "/sitemap////"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(3) {
["countryLink"]=>
string(0) ""
["cityLink"]=>
string(0) ""
["branchLink"]=>
string(0) ""
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[19]=>
object(yii\web\UrlRule)#49 (16) {
["name"]=>
string(34) "sitemap//"
["pattern"]=>
string(56) "#^sitemap/(?P[^\/]+)/(?P[^\/]+)$#u"
["host"]=>
NULL
["route"]=>
string(22) "sitemap/country-branch"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(2) {
["ae0dd19a4"]=>
string(11) "countryLink"
["abffd685e"]=>
string(10) "branchLink"
}
["_template":"yii\web\UrlRule":private]=>
string(36) "/sitemap///"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(2) {
["countryLink"]=>
string(0) ""
["branchLink"]=>
string(0) ""
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[20]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[21]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[22]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[23]=>
object(app\components\CityUrlRule)#53 (0) {
}
[24]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[25]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[26]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["suffix"]=>
NULL
["showScriptName"]=>
bool(false)
["routeParam"]=>
string(1) "r"
["cache"]=>
object(yii\redis\Cache)#28 (10) {
["redis"]=>
object(yii\redis\Connection)#30 (14) {
["hostname"]=>
string(9) "localhost"
["port"]=>
int(6379)
["unixSocket"]=>
NULL
["password"]=>
NULL
["database"]=>
int(0)
["connectionTimeout"]=>
NULL
["dataTimeout"]=>
NULL
["socketClientFlags"]=>
int(4)
["retries"]=>
int(0)
["redisCommands"]=>
array(198) {
[0]=>
string(6) "APPEND"
[1]=>
string(4) "AUTH"
[2]=>
string(12) "BGREWRITEAOF"
[3]=>
string(6) "BGSAVE"
[4]=>
string(8) "BITCOUNT"
[5]=>
string(8) "BITFIELD"
[6]=>
string(5) "BITOP"
[7]=>
string(6) "BITPOS"
[8]=>
string(5) "BLPOP"
[9]=>
string(5) "BRPOP"
[10]=>
string(10) "BRPOPLPUSH"
[11]=>
string(11) "CLIENT KILL"
[12]=>
string(11) "CLIENT LIST"
[13]=>
string(14) "CLIENT GETNAME"
[14]=>
string(12) "CLIENT PAUSE"
[15]=>
string(12) "CLIENT REPLY"
[16]=>
string(14) "CLIENT SETNAME"
[17]=>
string(16) "CLUSTER ADDSLOTS"
[18]=>
string(23) "CLUSTER COUNTKEYSINSLOT"
[19]=>
string(16) "CLUSTER DELSLOTS"
[20]=>
string(16) "CLUSTER FAILOVER"
[21]=>
string(14) "CLUSTER FORGET"
[22]=>
string(21) "CLUSTER GETKEYSINSLOT"
[23]=>
string(12) "CLUSTER INFO"
[24]=>
string(15) "CLUSTER KEYSLOT"
[25]=>
string(12) "CLUSTER MEET"
[26]=>
string(13) "CLUSTER NODES"
[27]=>
string(17) "CLUSTER REPLICATE"
[28]=>
string(13) "CLUSTER RESET"
[29]=>
string(18) "CLUSTER SAVECONFIG"
[30]=>
string(15) "CLUSTER SETSLOT"
[31]=>
string(14) "CLUSTER SLAVES"
[32]=>
string(13) "CLUSTER SLOTS"
[33]=>
string(7) "COMMAND"
[34]=>
string(13) "COMMAND COUNT"
[35]=>
string(15) "COMMAND GETKEYS"
[36]=>
string(12) "COMMAND INFO"
[37]=>
string(10) "CONFIG GET"
[38]=>
string(14) "CONFIG REWRITE"
[39]=>
string(10) "CONFIG SET"
[40]=>
string(16) "CONFIG RESETSTAT"
[41]=>
string(6) "DBSIZE"
[42]=>
string(12) "DEBUG OBJECT"
[43]=>
string(14) "DEBUG SEGFAULT"
[44]=>
string(4) "DECR"
[45]=>
string(6) "DECRBY"
[46]=>
string(3) "DEL"
[47]=>
string(7) "DISCARD"
[48]=>
string(4) "DUMP"
[49]=>
string(4) "ECHO"
[50]=>
string(4) "EVAL"
[51]=>
string(7) "EVALSHA"
[52]=>
string(4) "EXEC"
[53]=>
string(6) "EXISTS"
[54]=>
string(6) "EXPIRE"
[55]=>
string(8) "EXPIREAT"
[56]=>
string(8) "FLUSHALL"
[57]=>
string(7) "FLUSHDB"
[58]=>
string(6) "GEOADD"
[59]=>
string(7) "GEOHASH"
[60]=>
string(6) "GEOPOS"
[61]=>
string(7) "GEODIST"
[62]=>
string(9) "GEORADIUS"
[63]=>
string(17) "GEORADIUSBYMEMBER"
[64]=>
string(3) "GET"
[65]=>
string(6) "GETBIT"
[66]=>
string(8) "GETRANGE"
[67]=>
string(6) "GETSET"
[68]=>
string(4) "HDEL"
[69]=>
string(7) "HEXISTS"
[70]=>
string(4) "HGET"
[71]=>
string(7) "HGETALL"
[72]=>
string(7) "HINCRBY"
[73]=>
string(12) "HINCRBYFLOAT"
[74]=>
string(5) "HKEYS"
[75]=>
string(4) "HLEN"
[76]=>
string(5) "HMGET"
[77]=>
string(5) "HMSET"
[78]=>
string(4) "HSET"
[79]=>
string(6) "HSETNX"
[80]=>
string(7) "HSTRLEN"
[81]=>
string(5) "HVALS"
[82]=>
string(4) "INCR"
[83]=>
string(6) "INCRBY"
[84]=>
string(11) "INCRBYFLOAT"
[85]=>
string(4) "INFO"
[86]=>
string(4) "KEYS"
[87]=>
string(8) "LASTSAVE"
[88]=>
string(6) "LINDEX"
[89]=>
string(7) "LINSERT"
[90]=>
string(4) "LLEN"
[91]=>
string(4) "LPOP"
[92]=>
string(5) "LPUSH"
[93]=>
string(6) "LPUSHX"
[94]=>
string(6) "LRANGE"
[95]=>
string(4) "LREM"
[96]=>
string(4) "LSET"
[97]=>
string(5) "LTRIM"
[98]=>
string(4) "MGET"
[99]=>
string(7) "MIGRATE"
[100]=>
string(7) "MONITOR"
[101]=>
string(4) "MOVE"
[102]=>
string(4) "MSET"
[103]=>
string(6) "MSETNX"
[104]=>
string(5) "MULTI"
[105]=>
string(6) "OBJECT"
[106]=>
string(7) "PERSIST"
[107]=>
string(7) "PEXPIRE"
[108]=>
string(9) "PEXPIREAT"
[109]=>
string(5) "PFADD"
[110]=>
string(7) "PFCOUNT"
[111]=>
string(7) "PFMERGE"
[112]=>
string(4) "PING"
[113]=>
string(6) "PSETEX"
[114]=>
string(10) "PSUBSCRIBE"
[115]=>
string(6) "PUBSUB"
[116]=>
string(4) "PTTL"
[117]=>
string(7) "PUBLISH"
[118]=>
string(12) "PUNSUBSCRIBE"
[119]=>
string(4) "QUIT"
[120]=>
string(9) "RANDOMKEY"
[121]=>
string(8) "READONLY"
[122]=>
string(9) "READWRITE"
[123]=>
string(6) "RENAME"
[124]=>
string(8) "RENAMENX"
[125]=>
string(7) "RESTORE"
[126]=>
string(4) "ROLE"
[127]=>
string(4) "RPOP"
[128]=>
string(9) "RPOPLPUSH"
[129]=>
string(5) "RPUSH"
[130]=>
string(6) "RPUSHX"
[131]=>
string(4) "SADD"
[132]=>
string(4) "SAVE"
[133]=>
string(5) "SCARD"
[134]=>
string(12) "SCRIPT DEBUG"
[135]=>
string(13) "SCRIPT EXISTS"
[136]=>
string(12) "SCRIPT FLUSH"
[137]=>
string(11) "SCRIPT KILL"
[138]=>
string(11) "SCRIPT LOAD"
[139]=>
string(5) "SDIFF"
[140]=>
string(10) "SDIFFSTORE"
[141]=>
string(6) "SELECT"
[142]=>
string(3) "SET"
[143]=>
string(6) "SETBIT"
[144]=>
string(5) "SETEX"
[145]=>
string(5) "SETNX"
[146]=>
string(8) "SETRANGE"
[147]=>
string(8) "SHUTDOWN"
[148]=>
string(6) "SINTER"
[149]=>
string(11) "SINTERSTORE"
[150]=>
string(9) "SISMEMBER"
[151]=>
string(7) "SLAVEOF"
[152]=>
string(7) "SLOWLOG"
[153]=>
string(8) "SMEMBERS"
[154]=>
string(5) "SMOVE"
[155]=>
string(4) "SORT"
[156]=>
string(4) "SPOP"
[157]=>
string(11) "SRANDMEMBER"
[158]=>
string(4) "SREM"
[159]=>
string(6) "STRLEN"
[160]=>
string(9) "SUBSCRIBE"
[161]=>
string(6) "SUNION"
[162]=>
string(11) "SUNIONSTORE"
[163]=>
string(6) "SWAPDB"
[164]=>
string(4) "SYNC"
[165]=>
string(4) "TIME"
[166]=>
string(5) "TOUCH"
[167]=>
string(3) "TTL"
[168]=>
string(4) "TYPE"
[169]=>
string(11) "UNSUBSCRIBE"
[170]=>
string(6) "UNLINK"
[171]=>
string(7) "UNWATCH"
[172]=>
string(4) "WAIT"
[173]=>
string(5) "WATCH"
[174]=>
string(4) "ZADD"
[175]=>
string(5) "ZCARD"
[176]=>
string(6) "ZCOUNT"
[177]=>
string(7) "ZINCRBY"
[178]=>
string(11) "ZINTERSTORE"
[179]=>
string(9) "ZLEXCOUNT"
[180]=>
string(6) "ZRANGE"
[181]=>
string(11) "ZRANGEBYLEX"
[182]=>
string(14) "ZREVRANGEBYLEX"
[183]=>
string(13) "ZRANGEBYSCORE"
[184]=>
string(5) "ZRANK"
[185]=>
string(4) "ZREM"
[186]=>
string(14) "ZREMRANGEBYLEX"
[187]=>
string(15) "ZREMRANGEBYRANK"
[188]=>
string(16) "ZREMRANGEBYSCORE"
[189]=>
string(9) "ZREVRANGE"
[190]=>
string(16) "ZREVRANGEBYSCORE"
[191]=>
string(8) "ZREVRANK"
[192]=>
string(6) "ZSCORE"
[193]=>
string(11) "ZUNIONSTORE"
[194]=>
string(4) "SCAN"
[195]=>
string(5) "SSCAN"
[196]=>
string(5) "HSCAN"
[197]=>
string(5) "ZSCAN"
}
["_socket":"yii\redis\Connection":private]=>
resource(57) of type (stream)
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
["enableReplicas"]=>
bool(false)
["replicas"]=>
array(0) {
}
["_replica":"yii\redis\Cache":private]=>
NULL
["keyPrefix"]=>
NULL
["serializer"]=>
NULL
["defaultDuration"]=>
int(0)
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["ruleConfig"]=>
array(1) {
["class"]=>
string(15) "yii\web\UrlRule"
}
["normalizer"]=>
bool(false)
["cacheKey":protected]=>
string(18) "yii\web\UrlManager"
["_baseUrl":"yii\web\UrlManager":private]=>
string(0) ""
["_scriptUrl":"yii\web\UrlManager":private]=>
NULL
["_hostInfo":"yii\web\UrlManager":private]=>
NULL
["_ruleCache":"yii\web\UrlManager":private]=>
array(20) {
["blog/view?rewriteName&"]=>
array(1) {
[0]=>
object(yii\web\UrlRule)#46 (16) {
["name"]=>
string(29) "blog/"
["pattern"]=>
string(36) "#^blog/(?P[a-z0-9\-]+)$#u"
["host"]=>
NULL
["route"]=>
string(9) "blog/view"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a80aa1de3"]=>
string(11) "rewriteName"
}
["_template":"yii\web\UrlRule":private]=>
string(20) "/blog//"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["rewriteName"]=>
string(16) "#^[a-z0-9\-]+$#u"
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
}
["?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["blog/index?"]=>
array(2) {
[0]=>
object(yii\web\UrlRule)#45 (16) {
["name"]=>
string(20) "blog/page/"
["pattern"]=>
string(33) "#^blog/page/(?P\d+)$#u"
["host"]=>
NULL
["route"]=>
string(10) "blog/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a140ab620"]=>
string(4) "page"
}
["_template":"yii\web\UrlRule":private]=>
string(18) "/blog/page//"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["page"]=>
string(8) "#^\d+$#u"
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
[1]=>
object(yii\web\UrlRule)#47 (16) {
["name"]=>
string(4) "blog"
["pattern"]=>
string(9) "#^blog$#u"
["host"]=>
NULL
["route"]=>
string(10) "blog/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(6) "/blog/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
}
["request?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["faq/index?type&itemId&countryId&"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["site/about?"]=>
array(1) {
[0]=>
object(yii\web\UrlRule)#34 (16) {
["name"]=>
string(97) ""
["pattern"]=>
string(108) "#^(?P(login|logout|change-email|change-password|error|prices|about|contacts|register-partner))$#u"
["host"]=>
NULL
["route"]=>
string(13) "site/"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a47cc8c92"]=>
string(6) "action"
}
["_template":"yii\web\UrlRule":private]=>
string(10) "//"
["_routeRule":"yii\web\UrlRule":private]=>
string(113) "#^site/(?P(login|logout|change-email|change-password|error|prices|about|contacts|register-partner))$#u"
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(1) {
["action"]=>
string(8) ""
}
}
}
["search/index?"]=>
array(1) {
[0]=>
object(yii\web\UrlRule)#39 (16) {
["name"]=>
string(7) "clinics"
["pattern"]=>
string(12) "#^clinics$#u"
["host"]=>
NULL
["route"]=>
string(12) "search/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(0) {
}
["_template":"yii\web\UrlRule":private]=>
string(9) "/clinics/"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
}
["doctors?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["site/prices?"]=>
array(1) {
[0]=>
object(yii\web\UrlRule)#34 (16) {
["name"]=>
string(97) ""
["pattern"]=>
string(108) "#^(?P(login|logout|change-email|change-password|error|prices|about|contacts|register-partner))$#u"
["host"]=>
NULL
["route"]=>
string(13) "site/"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(2)
["placeholders":protected]=>
array(1) {
["a47cc8c92"]=>
string(6) "action"
}
["_template":"yii\web\UrlRule":private]=>
string(10) "//"
["_routeRule":"yii\web\UrlRule":private]=>
string(113) "#^site/(?P(login|logout|change-email|change-password|error|prices|about|contacts|register-partner))$#u"
["_paramRules":"yii\web\UrlRule":private]=>
array(0) {
}
["_routeParams":"yii\web\UrlRule":private]=>
array(1) {
["action"]=>
string(8) ""
}
}
}
["search?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["country/view?country&"]=>
array(3) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
}
["branch/view?branch&country&"]=>
array(6) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
}
["sitemap/countries?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["sitemap/cities?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["sitemap/doctors?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["sitemap/clinics?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["sitemap/branches?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["sitemap/illnesses?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["favorite?"]=>
array(7) {
[0]=>
object(app\components\DoctorUrlRule)#50 (0) {
}
[1]=>
object(app\components\SpecialityUrlRule)#51 (0) {
}
[2]=>
object(app\components\CountryUrlRule)#52 (0) {
}
[3]=>
object(app\components\CityUrlRule)#53 (0) {
}
[4]=>
object(app\components\DiseaseUrlRule)#54 (0) {
}
[5]=>
object(app\components\BranchUrlRule)#55 (0) {
}
[6]=>
object(app\components\ClinicUrlRule)#56 (0) {
}
}
["page/index?page&"]=>
array(1) {
[0]=>
object(yii\web\UrlRule)#35 (16) {
["name"]=>
string(37) ""
["pattern"]=>
string(50) "#^(?Pprivacy\-policy|terms\-of\-use)$#u"
["host"]=>
NULL
["route"]=>
string(10) "page/index"
["defaults"]=>
array(0) {
}
["suffix"]=>
NULL
["verb"]=>
NULL
["mode"]=>
NULL
["encodeParams"]=>
bool(true)
["normalizer"]=>
NULL
["createStatus":protected]=>
int(0)
["placeholders":protected]=>
array(1) {
["a140ab620"]=>
string(4) "page"
}
["_template":"yii\web\UrlRule":private]=>
string(8) "//"
["_routeRule":"yii\web\UrlRule":private]=>
NULL
["_paramRules":"yii\web\UrlRule":private]=>
array(1) {
["page"]=>
string(35) "#^privacy\-policy|terms\-of\-use$#u"
}
["_routeParams":"yii\web\UrlRule":private]=>
array(0) {
}
}
}
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["db"]=>
object(yii\db\Connection)#73 (39) {
["dsn"]=>
string(42) "mysql:host=localhost;dbname=docland28mar22"
["username"]=>
string(10) "doclandusr"
["password"]=>
string(16) "0R6K7XXucIEyjQ2b"
["attributes"]=>
NULL
["pdo"]=>
object(PDO)#84 (0) {
}
["enableSchemaCache"]=>
bool(true)
["schemaCacheDuration"]=>
int(3600)
["schemaCacheExclude"]=>
array(0) {
}
["schemaCache"]=>
string(5) "cache"
["enableQueryCache"]=>
bool(true)
["queryCacheDuration"]=>
int(3600)
["queryCache"]=>
string(5) "cache"
["charset"]=>
string(4) "utf8"
["emulatePrepare"]=>
NULL
["tablePrefix"]=>
string(0) ""
["schemaMap"]=>
array(10) {
["pgsql"]=>
string(19) "yii\db\pgsql\Schema"
["mysqli"]=>
string(19) "yii\db\mysql\Schema"
["mysql"]=>
string(19) "yii\db\mysql\Schema"
["sqlite"]=>
string(20) "yii\db\sqlite\Schema"
["sqlite2"]=>
string(20) "yii\db\sqlite\Schema"
["sqlsrv"]=>
string(19) "yii\db\mssql\Schema"
["oci"]=>
string(17) "yii\db\oci\Schema"
["mssql"]=>
string(19) "yii\db\mssql\Schema"
["dblib"]=>
string(19) "yii\db\mssql\Schema"
["cubrid"]=>
string(20) "yii\db\cubrid\Schema"
}
["pdoClass"]=>
NULL
["commandClass"]=>
string(14) "yii\db\Command"
["commandMap"]=>
array(10) {
["pgsql"]=>
string(14) "yii\db\Command"
["mysqli"]=>
string(14) "yii\db\Command"
["mysql"]=>
string(14) "yii\db\Command"
["sqlite"]=>
string(21) "yii\db\sqlite\Command"
["sqlite2"]=>
string(21) "yii\db\sqlite\Command"
["sqlsrv"]=>
string(14) "yii\db\Command"
["oci"]=>
string(14) "yii\db\Command"
["mssql"]=>
string(14) "yii\db\Command"
["dblib"]=>
string(14) "yii\db\Command"
["cubrid"]=>
string(14) "yii\db\Command"
}
["enableSavepoint"]=>
bool(true)
["serverStatusCache"]=>
string(5) "cache"
["serverRetryInterval"]=>
int(600)
["enableSlaves"]=>
bool(true)
["slaves"]=>
array(0) {
}
["slaveConfig"]=>
array(0) {
}
["masters"]=>
array(0) {
}
["masterConfig"]=>
array(0) {
}
["shuffleMasters"]=>
bool(true)
["enableLogging"]=>
bool(true)
["enableProfiling"]=>
bool(true)
["_transaction":"yii\db\Connection":private]=>
NULL
["_schema":"yii\db\Connection":private]=>
object(yii\db\mysql\Schema)#75 (13) {
["columnSchemaClass"]=>
string(25) "yii\db\mysql\ColumnSchema"
["_oldMysql":"yii\db\mysql\Schema":private]=>
NULL
["typeMap"]=>
array(29) {
["tinyint"]=>
string(7) "tinyint"
["bit"]=>
string(7) "integer"
["smallint"]=>
string(8) "smallint"
["mediumint"]=>
string(7) "integer"
["int"]=>
string(7) "integer"
["integer"]=>
string(7) "integer"
["bigint"]=>
string(6) "bigint"
["float"]=>
string(5) "float"
["double"]=>
string(6) "double"
["real"]=>
string(5) "float"
["decimal"]=>
string(7) "decimal"
["numeric"]=>
string(7) "decimal"
["tinytext"]=>
string(4) "text"
["mediumtext"]=>
string(4) "text"
["longtext"]=>
string(4) "text"
["longblob"]=>
string(6) "binary"
["blob"]=>
string(6) "binary"
["text"]=>
string(4) "text"
["varchar"]=>
string(6) "string"
["string"]=>
string(6) "string"
["char"]=>
string(4) "char"
["datetime"]=>
string(8) "datetime"
["year"]=>
string(4) "date"
["date"]=>
string(4) "date"
["time"]=>
string(4) "time"
["timestamp"]=>
string(9) "timestamp"
["enum"]=>
string(6) "string"
["varbinary"]=>
string(6) "binary"
["json"]=>
string(4) "json"
}
["tableQuoteCharacter":protected]=>
string(1) "`"
["columnQuoteCharacter":protected]=>
string(1) "`"
["db"]=>
*RECURSION*
["defaultSchema"]=>
NULL
["exceptionMap"]=>
array(1) {
["SQLSTATE[23"]=>
string(25) "yii\db\IntegrityException"
}
["_schemaNames":"yii\db\Schema":private]=>
NULL
["_tableNames":"yii\db\Schema":private]=>
array(0) {
}
["_tableMetadata":"yii\db\Schema":private]=>
array(7) {
["post"]=>
array(1) {
["schema"]=>
object(yii\db\TableSchema)#95 (7) {
["schemaName"]=>
NULL
["name"]=>
string(4) "post"
["fullName"]=>
string(4) "post"
["primaryKey"]=>
array(1) {
[0]=>
string(2) "id"
}
["sequenceName"]=>
string(0) ""
["foreignKeys"]=>
array(0) {
}
["columns"]=>
array(15) {
["id"]=>
object(yii\db\mysql\ColumnSchema)#96 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(2) "id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(true)
["autoIncrement"]=>
bool(true)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["created_at"]=>
object(yii\db\mysql\ColumnSchema)#97 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "created_at"
["allowNull"]=>
bool(true)
["type"]=>
string(9) "timestamp"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(9) "timestamp"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["updated_at"]=>
object(yii\db\mysql\ColumnSchema)#98 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "updated_at"
["allowNull"]=>
bool(true)
["type"]=>
string(9) "timestamp"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(9) "timestamp"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["name"]=>
object(yii\db\mysql\ColumnSchema)#99 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "name"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["rewrite_name"]=>
object(yii\db\mysql\ColumnSchema)#100 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(12) "rewrite_name"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["announce"]=>
object(yii\db\mysql\ColumnSchema)#101 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(8) "announce"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["text"]=>
object(yii\db\mysql\ColumnSchema)#102 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "text"
["allowNull"]=>
bool(false)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["preview_image"]=>
object(yii\db\mysql\ColumnSchema)#103 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(13) "preview_image"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["og_image"]=>
object(yii\db\mysql\ColumnSchema)#104 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(8) "og_image"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["no_index"]=>
object(yii\db\mysql\ColumnSchema)#105 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(8) "no_index"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(6) "int(1)"
["defaultValue"]=>
int(0)
["enumValues"]=>
NULL
["size"]=>
int(1)
["precision"]=>
int(1)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["source"]=>
object(yii\db\mysql\ColumnSchema)#106 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "source"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_title"]=>
object(yii\db\mysql\ColumnSchema)#107 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "seo_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_h1"]=>
object(yii\db\mysql\ColumnSchema)#108 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "seo_h1"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_description"]=>
object(yii\db\mysql\ColumnSchema)#109 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(15) "seo_description"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1000)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1000)
["precision"]=>
int(1000)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_keywords"]=>
object(yii\db\mysql\ColumnSchema)#110 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(12) "seo_keywords"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1000)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1000)
["precision"]=>
int(1000)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
}
}
}
["lang_post"]=>
array(1) {
["schema"]=>
object(yii\db\TableSchema)#113 (7) {
["schemaName"]=>
NULL
["name"]=>
string(9) "lang_post"
["fullName"]=>
string(9) "lang_post"
["primaryKey"]=>
array(1) {
[0]=>
string(2) "id"
}
["sequenceName"]=>
string(0) ""
["foreignKeys"]=>
array(0) {
}
["columns"]=>
array(12) {
["id"]=>
object(yii\db\mysql\ColumnSchema)#114 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(2) "id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(true)
["autoIncrement"]=>
bool(true)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["post_id"]=>
object(yii\db\mysql\ColumnSchema)#115 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(7) "post_id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["language"]=>
object(yii\db\mysql\ColumnSchema)#116 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(8) "language"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(11) "varchar(10)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(10)
["precision"]=>
int(10)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["name"]=>
object(yii\db\mysql\ColumnSchema)#117 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "name"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["rewrite_name"]=>
object(yii\db\mysql\ColumnSchema)#118 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(12) "rewrite_name"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["announce"]=>
object(yii\db\mysql\ColumnSchema)#119 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(8) "announce"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["text"]=>
object(yii\db\mysql\ColumnSchema)#120 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "text"
["allowNull"]=>
bool(false)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["source"]=>
object(yii\db\mysql\ColumnSchema)#121 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "source"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_title"]=>
object(yii\db\mysql\ColumnSchema)#122 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "seo_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_h1"]=>
object(yii\db\mysql\ColumnSchema)#123 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "seo_h1"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_description"]=>
object(yii\db\mysql\ColumnSchema)#124 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(15) "seo_description"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1000)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1000)
["precision"]=>
int(1000)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_keywords"]=>
object(yii\db\mysql\ColumnSchema)#125 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(12) "seo_keywords"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1000)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1000)
["precision"]=>
int(1000)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
}
}
}
["params"]=>
array(1) {
["schema"]=>
object(yii\db\TableSchema)#111 (7) {
["schemaName"]=>
NULL
["name"]=>
string(6) "params"
["fullName"]=>
string(6) "params"
["primaryKey"]=>
array(1) {
[0]=>
string(2) "id"
}
["sequenceName"]=>
string(0) ""
["foreignKeys"]=>
array(0) {
}
["columns"]=>
array(3) {
["id"]=>
object(yii\db\mysql\ColumnSchema)#126 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(2) "id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(true)
["autoIncrement"]=>
bool(true)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["name"]=>
object(yii\db\mysql\ColumnSchema)#127 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "name"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["value"]=>
object(yii\db\mysql\ColumnSchema)#128 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "value"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(10) "mediumtext"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
}
}
}
["country"]=>
array(1) {
["schema"]=>
object(yii\db\TableSchema)#174 (7) {
["schemaName"]=>
NULL
["name"]=>
string(7) "country"
["fullName"]=>
string(7) "country"
["primaryKey"]=>
array(1) {
[0]=>
string(2) "id"
}
["sequenceName"]=>
string(0) ""
["foreignKeys"]=>
array(0) {
}
["columns"]=>
array(29) {
["id"]=>
object(yii\db\mysql\ColumnSchema)#176 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(2) "id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(true)
["autoIncrement"]=>
bool(true)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["title"]=>
object(yii\db\mysql\ColumnSchema)#177 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "title"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["link"]=>
object(yii\db\mysql\ColumnSchema)#178 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "link"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["genitive_title"]=>
object(yii\db\mysql\ColumnSchema)#179 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(14) "genitive_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["adj_genitive_plural_title"]=>
object(yii\db\mysql\ColumnSchema)#180 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(25) "adj_genitive_plural_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["prepositional_title"]=>
object(yii\db\mysql\ColumnSchema)#181 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(19) "prepositional_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["phone"]=>
object(yii\db\mysql\ColumnSchema)#182 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "phone"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["flag"]=>
object(yii\db\mysql\ColumnSchema)#183 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "flag"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["about"]=>
object(yii\db\mysql\ColumnSchema)#184 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "about"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["advantage"]=>
object(yii\db\mysql\ColumnSchema)#185 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "advantage"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["specialization"]=>
object(yii\db\mysql\ColumnSchema)#186 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(14) "specialization"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["accessibility"]=>
object(yii\db\mysql\ColumnSchema)#187 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(13) "accessibility"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["prices"]=>
object(yii\db\mysql\ColumnSchema)#188 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "prices"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["service_advantage"]=>
object(yii\db\mysql\ColumnSchema)#189 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(17) "service_advantage"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["public"]=>
object(yii\db\mysql\ColumnSchema)#190 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "public"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(6) "int(1)"
["defaultValue"]=>
int(0)
["enumValues"]=>
NULL
["size"]=>
int(1)
["precision"]=>
int(1)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["doctors_description"]=>
object(yii\db\mysql\ColumnSchema)#191 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(19) "doctors_description"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["badge"]=>
object(yii\db\mysql\ColumnSchema)#192 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "badge"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["created_at"]=>
object(yii\db\mysql\ColumnSchema)#193 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "created_at"
["allowNull"]=>
bool(false)
["type"]=>
string(9) "timestamp"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(9) "timestamp"
["defaultValue"]=>
string(19) "0000-00-00 00:00:00"
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["updated_at"]=>
object(yii\db\mysql\ColumnSchema)#194 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "updated_at"
["allowNull"]=>
bool(false)
["type"]=>
string(9) "timestamp"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(9) "timestamp"
["defaultValue"]=>
object(yii\db\Expression)#195 (2) {
["expression"]=>
string(17) "CURRENT_TIMESTAMP"
["params"]=>
array(0) {
}
}
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["sort_order"]=>
object(yii\db\mysql\ColumnSchema)#196 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "sort_order"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
int(0)
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["image"]=>
object(yii\db\mysql\ColumnSchema)#197 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "image"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_title"]=>
object(yii\db\mysql\ColumnSchema)#198 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "seo_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_h1"]=>
object(yii\db\mysql\ColumnSchema)#199 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "seo_h1"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_description"]=>
object(yii\db\mysql\ColumnSchema)#200 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(15) "seo_description"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1024)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1024)
["precision"]=>
int(1024)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_keywords"]=>
object(yii\db\mysql\ColumnSchema)#201 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(12) "seo_keywords"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1024)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1024)
["precision"]=>
int(1024)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["request_published_default"]=>
object(yii\db\mysql\ColumnSchema)#202 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(25) "request_published_default"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
int(0)
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["request_price"]=>
object(yii\db\mysql\ColumnSchema)#203 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(13) "request_price"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["external_id"]=>
object(yii\db\mysql\ColumnSchema)#204 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(11) "external_id"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["request_price_qualitative"]=>
object(yii\db\mysql\ColumnSchema)#205 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(25) "request_price_qualitative"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
}
}
}
["lang_country"]=>
array(1) {
["schema"]=>
object(yii\db\TableSchema)#237 (7) {
["schemaName"]=>
NULL
["name"]=>
string(12) "lang_country"
["fullName"]=>
string(12) "lang_country"
["primaryKey"]=>
array(1) {
[0]=>
string(2) "id"
}
["sequenceName"]=>
string(0) ""
["foreignKeys"]=>
array(0) {
}
["columns"]=>
array(20) {
["id"]=>
object(yii\db\mysql\ColumnSchema)#238 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(2) "id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(true)
["autoIncrement"]=>
bool(true)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["country_id"]=>
object(yii\db\mysql\ColumnSchema)#239 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "country_id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["language"]=>
object(yii\db\mysql\ColumnSchema)#240 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(8) "language"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(11) "varchar(10)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(10)
["precision"]=>
int(10)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["title"]=>
object(yii\db\mysql\ColumnSchema)#241 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "title"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["link"]=>
object(yii\db\mysql\ColumnSchema)#242 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "link"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["genitive_title"]=>
object(yii\db\mysql\ColumnSchema)#243 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(14) "genitive_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["adj_genitive_plural_title"]=>
object(yii\db\mysql\ColumnSchema)#244 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(25) "adj_genitive_plural_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["prepositional_title"]=>
object(yii\db\mysql\ColumnSchema)#245 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(19) "prepositional_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["phone"]=>
object(yii\db\mysql\ColumnSchema)#246 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "phone"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["about"]=>
object(yii\db\mysql\ColumnSchema)#247 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "about"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["advantage"]=>
object(yii\db\mysql\ColumnSchema)#248 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "advantage"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["specialization"]=>
object(yii\db\mysql\ColumnSchema)#249 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(14) "specialization"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["accessibility"]=>
object(yii\db\mysql\ColumnSchema)#250 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(13) "accessibility"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["prices"]=>
object(yii\db\mysql\ColumnSchema)#251 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "prices"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["service_advantage"]=>
object(yii\db\mysql\ColumnSchema)#252 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(17) "service_advantage"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["doctors_description"]=>
object(yii\db\mysql\ColumnSchema)#253 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(19) "doctors_description"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_title"]=>
object(yii\db\mysql\ColumnSchema)#254 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "seo_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_h1"]=>
object(yii\db\mysql\ColumnSchema)#255 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "seo_h1"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_description"]=>
object(yii\db\mysql\ColumnSchema)#256 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(15) "seo_description"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1024)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1024)
["precision"]=>
int(1024)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_keywords"]=>
object(yii\db\mysql\ColumnSchema)#257 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(12) "seo_keywords"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1024)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1024)
["precision"]=>
int(1024)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
}
}
}
["branch"]=>
array(1) {
["schema"]=>
object(yii\db\TableSchema)#267 (7) {
["schemaName"]=>
NULL
["name"]=>
string(6) "branch"
["fullName"]=>
string(6) "branch"
["primaryKey"]=>
array(1) {
[0]=>
string(2) "id"
}
["sequenceName"]=>
string(0) ""
["foreignKeys"]=>
array(0) {
}
["columns"]=>
array(19) {
["id"]=>
object(yii\db\mysql\ColumnSchema)#268 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(2) "id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(true)
["autoIncrement"]=>
bool(true)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["title"]=>
object(yii\db\mysql\ColumnSchema)#269 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "title"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["link"]=>
object(yii\db\mysql\ColumnSchema)#270 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "link"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["genitive_title"]=>
object(yii\db\mysql\ColumnSchema)#271 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(14) "genitive_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["full_title"]=>
object(yii\db\mysql\ColumnSchema)#272 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "full_title"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["about"]=>
object(yii\db\mysql\ColumnSchema)#273 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "about"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["description"]=>
object(yii\db\mysql\ColumnSchema)#274 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(11) "description"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["sort_order"]=>
object(yii\db\mysql\ColumnSchema)#275 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "sort_order"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
int(0)
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["on_main"]=>
object(yii\db\mysql\ColumnSchema)#276 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(7) "on_main"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(6) "int(1)"
["defaultValue"]=>
int(0)
["enumValues"]=>
NULL
["size"]=>
int(1)
["precision"]=>
int(1)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["public"]=>
object(yii\db\mysql\ColumnSchema)#277 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "public"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(6) "int(1)"
["defaultValue"]=>
int(0)
["enumValues"]=>
NULL
["size"]=>
int(1)
["precision"]=>
int(1)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["created_at"]=>
object(yii\db\mysql\ColumnSchema)#278 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "created_at"
["allowNull"]=>
bool(false)
["type"]=>
string(9) "timestamp"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(9) "timestamp"
["defaultValue"]=>
string(19) "0000-00-00 00:00:00"
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["updated_at"]=>
object(yii\db\mysql\ColumnSchema)#279 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "updated_at"
["allowNull"]=>
bool(false)
["type"]=>
string(9) "timestamp"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(9) "timestamp"
["defaultValue"]=>
object(yii\db\Expression)#280 (2) {
["expression"]=>
string(17) "CURRENT_TIMESTAMP"
["params"]=>
array(0) {
}
}
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_title"]=>
object(yii\db\mysql\ColumnSchema)#281 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "seo_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_h1"]=>
object(yii\db\mysql\ColumnSchema)#282 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "seo_h1"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_description"]=>
object(yii\db\mysql\ColumnSchema)#283 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(15) "seo_description"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1024)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1024)
["precision"]=>
int(1024)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_keywords"]=>
object(yii\db\mysql\ColumnSchema)#284 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(12) "seo_keywords"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1024)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1024)
["precision"]=>
int(1024)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["is_disease"]=>
object(yii\db\mysql\ColumnSchema)#285 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "is_disease"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "tinyint"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(10) "tinyint(1)"
["defaultValue"]=>
int(1)
["enumValues"]=>
NULL
["size"]=>
int(1)
["precision"]=>
int(1)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["speciality_id"]=>
object(yii\db\mysql\ColumnSchema)#286 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(13) "speciality_id"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["image"]=>
object(yii\db\mysql\ColumnSchema)#287 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "image"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
}
}
}
["lang_branch"]=>
array(1) {
["schema"]=>
object(yii\db\TableSchema)#374 (7) {
["schemaName"]=>
NULL
["name"]=>
string(11) "lang_branch"
["fullName"]=>
string(11) "lang_branch"
["primaryKey"]=>
array(1) {
[0]=>
string(2) "id"
}
["sequenceName"]=>
string(0) ""
["foreignKeys"]=>
array(0) {
}
["columns"]=>
array(14) {
["id"]=>
object(yii\db\mysql\ColumnSchema)#375 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(2) "id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(true)
["autoIncrement"]=>
bool(true)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["branch_id"]=>
object(yii\db\mysql\ColumnSchema)#376 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "branch_id"
["allowNull"]=>
bool(false)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["language"]=>
object(yii\db\mysql\ColumnSchema)#377 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(8) "language"
["allowNull"]=>
bool(false)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(11) "varchar(10)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(10)
["precision"]=>
int(10)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["title"]=>
object(yii\db\mysql\ColumnSchema)#378 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["link"]=>
object(yii\db\mysql\ColumnSchema)#379 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(4) "link"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["genitive_title"]=>
object(yii\db\mysql\ColumnSchema)#380 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(14) "genitive_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["full_title"]=>
object(yii\db\mysql\ColumnSchema)#381 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(10) "full_title"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["about"]=>
object(yii\db\mysql\ColumnSchema)#382 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(5) "about"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["description"]=>
object(yii\db\mysql\ColumnSchema)#383 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(11) "description"
["allowNull"]=>
bool(true)
["type"]=>
string(4) "text"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(4) "text"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
NULL
["precision"]=>
NULL
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_title"]=>
object(yii\db\mysql\ColumnSchema)#384 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(9) "seo_title"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_h1"]=>
object(yii\db\mysql\ColumnSchema)#385 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "seo_h1"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(12) "varchar(255)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(255)
["precision"]=>
int(255)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_description"]=>
object(yii\db\mysql\ColumnSchema)#386 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(15) "seo_description"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1024)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1024)
["precision"]=>
int(1024)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["seo_keywords"]=>
object(yii\db\mysql\ColumnSchema)#387 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(12) "seo_keywords"
["allowNull"]=>
bool(true)
["type"]=>
string(6) "string"
["phpType"]=>
string(6) "string"
["dbType"]=>
string(13) "varchar(1024)"
["defaultValue"]=>
NULL
["enumValues"]=>
NULL
["size"]=>
int(1024)
["precision"]=>
int(1024)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
["public"]=>
object(yii\db\mysql\ColumnSchema)#388 (15) {
["disableJsonSupport"]=>
bool(false)
["name"]=>
string(6) "public"
["allowNull"]=>
bool(true)
["type"]=>
string(7) "integer"
["phpType"]=>
string(7) "integer"
["dbType"]=>
string(7) "int(11)"
["defaultValue"]=>
int(0)
["enumValues"]=>
NULL
["size"]=>
int(11)
["precision"]=>
int(11)
["scale"]=>
NULL
["isPrimaryKey"]=>
bool(false)
["autoIncrement"]=>
bool(false)
["unsigned"]=>
bool(false)
["comment"]=>
string(0) ""
}
}
}
}
}
["_builder":"yii\db\Schema":private]=>
object(yii\db\mysql\QueryBuilder)#74 (6) {
["typeMap"]=>
array(22) {
["pk"]=>
string(43) "int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY"
["upk"]=>
string(52) "int(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY"
["bigpk"]=>
string(46) "bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY"
["ubigpk"]=>
string(55) "bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY"
["char"]=>
string(7) "char(1)"
["string"]=>
string(12) "varchar(255)"
["text"]=>
string(4) "text"
["tinyint"]=>
string(10) "tinyint(3)"
["smallint"]=>
string(11) "smallint(6)"
["integer"]=>
string(7) "int(11)"
["bigint"]=>
string(10) "bigint(20)"
["float"]=>
string(5) "float"
["double"]=>
string(6) "double"
["decimal"]=>
string(13) "decimal(10,0)"
["datetime"]=>
string(8) "datetime"
["timestamp"]=>
string(9) "timestamp"
["time"]=>
string(4) "time"
["date"]=>
string(4) "date"
["binary"]=>
string(4) "blob"
["boolean"]=>
string(10) "tinyint(1)"
["money"]=>
string(13) "decimal(19,4)"
["json"]=>
string(4) "json"
}
["db"]=>
*RECURSION*
["separator"]=>
string(1) " "
["conditionBuilders":protected]=>
array(0) {
}
["conditionClasses":protected]=>
array(13) {
["NOT"]=>
string(30) "yii\db\conditions\NotCondition"
["AND"]=>
string(30) "yii\db\conditions\AndCondition"
["OR"]=>
string(29) "yii\db\conditions\OrCondition"
["BETWEEN"]=>
string(34) "yii\db\conditions\BetweenCondition"
["NOT BETWEEN"]=>
string(34) "yii\db\conditions\BetweenCondition"
["IN"]=>
string(29) "yii\db\conditions\InCondition"
["NOT IN"]=>
string(29) "yii\db\conditions\InCondition"
["LIKE"]=>
string(31) "yii\db\conditions\LikeCondition"
["NOT LIKE"]=>
string(31) "yii\db\conditions\LikeCondition"
["OR LIKE"]=>
string(31) "yii\db\conditions\LikeCondition"
["OR NOT LIKE"]=>
string(31) "yii\db\conditions\LikeCondition"
["EXISTS"]=>
string(33) "yii\db\conditions\ExistsCondition"
["NOT EXISTS"]=>
string(33) "yii\db\conditions\ExistsCondition"
}
["expressionBuilders":protected]=>
array(15) {
["yii\db\Query"]=>
object(yii\db\QueryExpressionBuilder)#90 (1) {
["queryBuilder":protected]=>
*RECURSION*
}
["yii\db\PdoValue"]=>
string(22) "yii\db\PdoValueBuilder"
["yii\db\Expression"]=>
string(24) "yii\db\ExpressionBuilder"
["yii\db\conditions\ConjunctionCondition"]=>
string(45) "yii\db\conditions\ConjunctionConditionBuilder"
["yii\db\conditions\NotCondition"]=>
string(37) "yii\db\conditions\NotConditionBuilder"
["yii\db\conditions\AndCondition"]=>
object(yii\db\conditions\ConjunctionConditionBuilder)#85 (1) {
["queryBuilder":protected]=>
*RECURSION*
}
["yii\db\conditions\OrCondition"]=>
string(45) "yii\db\conditions\ConjunctionConditionBuilder"
["yii\db\conditions\BetweenCondition"]=>
string(41) "yii\db\conditions\BetweenConditionBuilder"
["yii\db\conditions\InCondition"]=>
object(yii\db\conditions\InConditionBuilder)#89 (1) {
["queryBuilder":protected]=>
*RECURSION*
}
["yii\db\conditions\LikeCondition"]=>
string(38) "yii\db\conditions\LikeConditionBuilder"
["yii\db\conditions\ExistsCondition"]=>
string(40) "yii\db\conditions\ExistsConditionBuilder"
["yii\db\conditions\SimpleCondition"]=>
string(40) "yii\db\conditions\SimpleConditionBuilder"
["yii\db\conditions\HashCondition"]=>
object(yii\db\conditions\HashConditionBuilder)#92 (1) {
["queryBuilder":protected]=>
*RECURSION*
}
["yii\db\conditions\BetweenColumnsCondition"]=>
string(48) "yii\db\conditions\BetweenColumnsConditionBuilder"
["yii\db\JsonExpression"]=>
string(34) "yii\db\mysql\JsonExpressionBuilder"
}
}
["_serverVersion":"yii\db\Schema":private]=>
NULL
}
["_driverName":"yii\db\Connection":private]=>
string(5) "mysql"
["_master":"yii\db\Connection":private]=>
bool(false)
["_slave":"yii\db\Connection":private]=>
NULL
["_queryCacheInfo":"yii\db\Connection":private]=>
array(0) {
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
["i18n"]=>
object(yii\i18n\I18N)#131 (5) {
["translations"]=>
array(4) {
["app*"]=>
object(app\components\CustomMessageSource)#133 (8) {
["basePath"]=>
string(13) "@app/messages"
["fileMap"]=>
NULL
["forceTranslation"]=>
bool(false)
["sourceLanguage"]=>
string(2) "ru"
["_messages":"yii\i18n\MessageSource":private]=>
array(1) {
["en/app"]=>
array(295) {
["Наши цены"]=>
string(6) "Prices"
["О нас"]=>
string(8) "About us"
["E-mail успешно изменен!"]=>
string(24) "E-mail success modified!"
["{author}, {n,plural,one{# год} few{# года} many{# лет} other{# года}}"]=>
string(47) "{author}, {n,plural,one{# year} other{# years}}"
["{n,plural,one{# год} few{# года} many{# лет} other{# года}}"]=>
string(37) "{n,plural,one{# year} other{# years}}"
["{branch}"]=>
string(8) "{branch}"
["{branch} в {country}"]=>
string(21) "{branch} in {country}"
["{branch} в клиниках города {city}"]=>
string(18) "{branch} in {city}"
["{branch} в городе {city}"]=>
string(18) "{branch} in {city}"
["{branch} в других городах"]=>
string(24) "{branch} in other cities"
["{branch} за рубежом"]=>
string(15) "{branch} abroad"
["{disease}"]=>
string(9) "{disease}"
["{disease} в {country}"]=>
string(22) "{disease} in {country}"
["{disease} в ведущих центрах и клиниках за рубежом"]=>
string(43) "{disease} in leading medical centres abroad"
["{disease} в городе {city}"]=>
string(24) "{disease} in city {city}"
["{disease} в других городах"]=>
string(25) "{disease} in other cities"
["{disease} в клиниках города {city}"]=>
string(30) "{disease} in clinics of {city}"
["{disease} в клиниках России и за рубежом"]=>
string(27) "{disease} in clinics abroad"
["{n,plural,=0{клиники} one{# клиника} few{# клиники} many{# клиник} other{# клиники}}"]=>
string(53) "{n,plural,=0{clinics} one{# clinic} other{# clinics}}"
["{n,plural,=0{отзывы} one{# отзыв} few{# отзыва} many{# отзывов} other{# отзыва}}"]=>
string(53) "{n,plural,=0{reviews} one{# review} other{# reviews}}"
["{n,plural,one{# больница} few{# больницы} many{# больниц} other{# больницы}} {country} с лечением по всем направлениям."]=>
string(88) "{n,plural,one{# clinic} other{# clinics}} of {country} with treatment in all directions."
["{n,plural,one{# больница} few{# больницы} many{# больниц} other{# больницы}} в России и за границей с лечением по всем направлениям. Проверенные отзывы о врачах и клиниках."]=>
string(160) "{n,plural,one{# clinic} other{# clinics}} abroad specialized in all medical issues. Trusted feedbacks and clients reviews about doctors, clinics, general staff."
["{n,plural,one{# больница} few{# больницы} many{# больниц} other{# больницы}} города {city} с лечением по всем направлениям."]=>
string(86) "{n,plural,one{# clinic} other{# clinics}} in {city} specialized in different diseases."
["{n,plural,one{# день} few{# дня} many{# дней} other{# дня}} назад"]=>
string(39) "{n,plural,one{# day} other{# days}} ago"
["{n,plural,one{# минута} few{# минуты} many{# минут} other{# минуты}} назад"]=>
string(45) "{n,plural,one{# minute} other{# minutes}} ago"
["{n,plural,one{# отзыв} few{# отзыва} many{# отзывов} other{# отзыва}}"]=>
string(41) "{n,plural,one{# review} other{# reviews}}"
["{n,plural,one{# пациент отправлен на лечение} few{# пациента отправлены на лечение} many{# пациентов отправлено на лечение} other{# пациента отправлены на лечение}}"]=>
string(69) "{n,plural,one{# patient is} other{# patients are}} sent for treatment"
["{n,plural,one{# пациент отправлен} few{# пациента отправлены} many{# пациентов отправлено} other{# пациента отправлены}} на лечение"]=>
string(69) "{n,plural,one{# patient is} other{# patients are}} sent for treatment"
["{n,plural,one{# час} few{# часа} many{# часов} other{# часа}} назад"]=>
string(41) "{n,plural,one{# hour} other{# hours}} ago"
["{n,plural,one{Ещё # клиника} few{Остальные # клиники} many{Остальные # клиник} other{Остальные # клиники}} по заболеванию {disease}"]=>
string(79) "See the rest {n,plural,one{# clinic} other{# clinics}} specialized in {disease}"
["{n,plural,one{Ещё # клиника} few{Остальные # клиники} many{Остальные # клиник} other{Остальные # клиники}} по заболеванию {disease} в {country}"]=>
string(92) "See the rest {n,plural,one{# clinic} other{# clinics}} specialized in {disease} in {country}"
["{n,plural,one{Ещё # клиника} few{Остальные # клиники} many{Остальные # клиник} other{Остальные # клиники}} по направлению {branch}"]=>
string(78) "See the rest {n,plural,one{# clinic} other{# clinics}} specialized in {branch}"
["{n,plural,one{отзыв} few{отзыва} many{отзывов} other{отзыва}}"]=>
string(37) "{n,plural,one{review} other{reviews}}"
["Адреса"]=>
string(9) "Addresses"
["{clinic} - Контакты, запись на консультацию"]=>
string(43) "{clinic} - Contacts, record on consultation"
["Блог"]=>
string(4) "Blog"
["Блог о медицинском туризме"]=>
string(20) "Medical tourism blog"
["В избранное"]=>
string(15) "Add to favorite"
["В избранном"]=>
string(11) "In favorite"
["В каких странах вы ищете лечение?"]=>
string(9) "Countries"
["Ваш E-mail"]=>
string(11) "Your E-mail"
["Ваш возраст"]=>
string(8) "Your age"
["Ваш вопрос"]=>
string(13) "Your question"
["Ваш контактный телефон"]=>
string(18) "Your contact phone"
["Ваш отзыв будет отправлен на модерацию."]=>
string(52) "Thank you for your feedback, I will be publish soon."
["Ваш телефон"]=>
string(10) "Your phone"
["Ваша заявка успешно отправлена."]=>
string(44) "Your application has been sent successfully."
["Введите, например, клиника, врач или заболевание"]=>
string(40) "Enter required clinic, doctor or disease"
["Ведущие врачи"]=>
string(15) "Leading doctors"
["Ведущие врачи, лучшие специалисты"]=>
string(36) "Leading doctors and best specialists"
["Ведущие клиники в {country}"]=>
string(28) "Leading clinics in {country}"
["Ведущие клиники в городе {city}"]=>
string(25) "Leading clinics in {city}"
["Ведущие направления"]=>
string(13) "Main branches"
["Вопросы и ответы"]=>
string(20) "Question and answers"
["Врачи"]=>
string(7) "Doctors"
["Врач"]=>
string(6) "Doctor"
["Врач {doctor} - Контакты, запись на консультацию"]=>
string(50) "Doctor {doctor} - Contacts, record on consultation"
["Время"]=>
string(4) "Time"
["Все заболевания"]=>
string(14) "All treatments"
["Все клиники сертифицированные {certificate}"]=>
string(34) "Clinics certified by {certificate}"
["Все клиники, работающие в направлении {branch}"]=>
string(35) "All clinics specialized in {branch}"
["Все отзывы о лечении за рубежом"]=>
string(52) "All feedbacks and reviews regarding treatment abroad"
["Ведущие специалисты зарубежных клиник"]=>
string(37) "Leading specialists of clinics abroad"
["Ведущие специалисты зарубежных клиник {country}"]=>
string(43) "Leading specialists of clinics in {country}"
["Вы не выбрали ни одной клиники."]=>
string(19) "0 clinics selected."
["Выберите заболевание"]=>
string(14) "Select disease"
["Представитель клиники свяжется с вами в течение 30 минут."]=>
string(67) "You will receive an answer from clinic just within 30 minutes."
["Вы получите ответ от клиники в течение 30 минут"]=>
string(66) "You will receive an answer from clinic just within 30 minutes"
["Города"]=>
string(6) "Cities"
["Дата"]=>
string(4) "Date"
["Добавить в избранное"]=>
string(15) "Add to favorite"
["Другие врачи по специализации: #speciality#"]=>
string(31) "Other doctors on specialization"
["Еще отзывы пациентов"]=>
string(12) "More reviews"
["Заболевания"]=>
string(8) "Diseases"
["Заболевание"]=>
string(7) "Disease"
["Задать вопрос"]=>
string(14) "Ask a question"
["Запись на консультацию"]=>
string(19) "Make an appointment"
["Записаться на прием"]=>
string(19) "Make an appointment"
["Запрос стоимости"]=>
string(14) "Request a cost"
["Звоните"]=>
string(15) "You can call to"
["Избранные"]=>
string(9) "Favorites"
["Избранные клиники"]=>
string(16) "Favorite clinics"
["Изменить"]=>
string(4) "Edit"
["Имя"]=>
string(4) "Name"
["Как к Вам обращаться?"]=>
string(9) "Your Name"
["Какое заболевание Вы лечили?"]=>
string(25) "What disease you treated?"
["Какой специалист вас интересует?"]=>
string(23) "Doctor's specialization"
["Карта сайта"]=>
string(8) "Site map"
["Клиника"]=>
string(6) "Clinic"
["Клиника сертифицирована"]=>
string(26) "The clinic is certified by"
["Клиники"]=>
string(7) "Clinics"
["Клиники в городах"]=>
string(17) "Clinics in cities"
["Клиники в городах {country}"]=>
string(27) "Clinics in {country} cities"
["Где мы лечим"]=>
string(20) "Popular destinations"
["Клиники по направлениям"]=>
string(26) "Clinics by specializations"
["Комментарий"]=>
string(7) "Comment"
["Лечение / Диагностика"]=>
string(22) "Treatment / Diagnostic"
["Лечение {city}"]=>
string(16) "Treatment {city}"
["Лечение"]=>
string(9) "Treatment"
["лечение"]=>
string(9) "treatment"
["лечении"]=>
string(9) "treatment"
["Лечение {branch}"]=>
string(14) "{branch.upper}"
["Лечение {disease}"]=>
string(25) "{disease.upper} treatment"
["Лечение в {country}"]=>
string(33) "Treatment in clinics of {country}"
["Лечение в клиниках города {city}"]=>
string(30) "Treatment in clinics of {city}"
["Лечение за рубежом"]=>
string(16) "Treatment abroad"
["Лечение за рубежом - это просто!"]=>
string(34) "Medical treatment abroad is simple"
["Лечит заболевания"]=>
string(14) "Treat diseases"
["Лучшие врачи"]=>
string(16) "The best doctors"
["Лучшие врачи {city}"]=>
string(26) "The best doctors of {city}"
["Лучшие врачи {country}"]=>
string(29) "The best doctors of {country}"
["Лучшие врачи клиник"]=>
string(27) "The best doctors of clinics"
["Лучшие врачи {country} по версии Forbes – Доклэнд"]=>
string(40) "The best doctors of clinics in {country}"
["Лучшие врачи по версии Forbes – Доклэнд"]=>
string(27) "The best doctors of clinics"
["Лучшие {speciality} {country}, отзывы"]=>
string(34) "The best {speciality} in {country}"
["Лучшие {speciality}"]=>
string(21) "The best {speciality}"
["Лучшие доктора клиники"]=>
string(31) "Best doctors in selected clinic"
["Лучший выбор!|Достойная альтернатива!"]=>
string(34) "Best choice!|Reliable alternative!"
["Медицинский консультант расскажет о всех аспектах лечения"]=>
string(63) "The medical consultant will tell about all aspects of treatment"
["Медицинский консультант расскажет о всех аспектах лечения за рубежом"]=>
string(63) "The medical consultant will tell about all aspects of treatment"
["Место работы"]=>
string(13) "Place of work"
["Мы работаем напрямую с ведущими клиниками {country}"]=>
string(47) "We work directly with leading clinics {country}"
["Мы размещаем информацию только о больницах и клиниках, получивших медицинские сертификаты и аккредитацию самых авторитетных международных обществ."]=>
string(87) "We offer you only the most reliable and certificated clinics with worldwide reputation."
["Найдено {n,plural,one{# врач} few{# врача} many{# врачей} other{# врача}}"]=>
string(47) "Found {n,plural,one{# doctor} other{# doctors}}"
["Найти клинику"]=>
string(13) "Find a clinic"
["Направление"]=>
string(6) "Branch"
["Направления"]=>
string(8) "Branches"
["Что мы лечим"]=>
string(21) "Mostly asked branches"
["Наши услуги для вас БЕСПЛАТНЫ, мы оказываем консультации по соглашению с клиниками-партнерами"]=>
string(112) "Our services are FREE for you, we provide consultations according to the agreement with our partner clinics"
["Наша компания является официальным представителем {title.genitive} в России"]=>
string(72) "Our company is the official representative of {title.genitive} worldwide"
["Наша компания является официальным представителем доктора {name.genitive} в России"]=>
string(82) "Our company is the official representative of the doctor {name.genitive} worldwide"
["Ни одного вопроса не задано"]=>
string(18) "No questions asked"
["Ничего не найдено"]=>
string(8) "No found"
["О клинике {clinic}"]=>
string(21) "About clinic {clinic}"
["О компании"]=>
string(13) "About company"
["Облако тегов"]=>
string(10) "Tags cloud"
["Обратите внимание на {n,plural,=0{другие клиники} one{другую # клинику} few{другие # клиники} many{другие # клиник} other{другие # клиники}} {country}, которые работают и помогают пациентам по направлению {branch}"]=>
string(87) "We found {n,plural,one{# clinic} other{# clinics}} specialized in {branch} in {country}"
["Обратитесь онлайн"]=>
string(15) "Write us online"
["Общий стаж"]=>
string(9) "Seniority"
["Общий стаж {n,plural,one{# год} few{# года} many{# лет} other{# года}}"]=>
string(47) "Seniority {n,plural,one{# year} other{# years}}"
["Наши врачи могут Вас проконсультировать 5 дней в неделю с 10:00 до 19:00. Если вы обратились в выходные или в нерабочее время, мы свяжемся с Вами в ближайший рабочий день."]=>
string(117) "Thank you for request. We call you back in 30 minutes. Saturday, Sunday we are out of office . We call you AsAp then."
["Наш медицинский эксперт свяжется с Вами как можно быстрее."]=>
string(56) "Our medical expert will contact you as soon as possible."
["Организация всех аспектов поездки"]=>
string(31) "Organizing all the trip aspects"
["Организация лечения {disease}"]=>
string(19) "{disease} treatment"
["Оставить дополнительную информацию"]=>
string(12) "Any comments"
["Оставить отзыв"]=>
string(13) "Give feedback"
["Отзывы пациентов"]=>
string(7) "Reviews"
["Отзывы пациентов клиники"]=>
string(14) "Clinic reviews"
["Отправить"]=>
string(4) "Send"
["Отправить запрос на лечение"]=>
string(19) "Request a treatment"
["Отправить заявку"]=>
string(12) "Send request"
["Отправить отзыв"]=>
string(11) "Send review"
["По вашему запросу {query} найдено {n,plural,one{# профильная клиника} few{# профильные клиники} many{# профильных клиник} other{# профильные клиники}}"]=>
string(50) "{n,plural,one{# clinic} other{# clinics}} selected"
["По вашему запросу найдено {n,plural,one{# врач} few{# врача} many{# врачей} other{# врача}}"]=>
string(50) "{n,plural,one{# doctor} other{# doctors}} selected"
["По возрастанию рейтинга"]=>
string(18) "By rating increase"
["По возрастанию цены"]=>
string(17) "By price increase"
["По заболеванию {disease} {n,plural,one{найдена # клиника} few{найдено # клиники} many{найдено # клиник} other{найдено # клиники}}"]=>
string(75) "We found {n,plural,one{# clinic} other{# clinics}} specialized in {disease}"
["По заболеванию {disease} клиник не найдено"]=>
string(49) "Ups, nothing was found. Please change parameters."
["По направлению {branch} найдено {n,plural,one{# клиника} few{# клиники} many{# клиник} other{# клиники}}"]=>
string(74) "We found {n,plural,one{# clinic} other{# clinics}} specialized in {branch}"
["По убыванию рейтинга"]=>
string(18) "By rating decrease"
["По убыванию цены"]=>
string(17) "By price decrease"
["Поделиться"]=>
string(5) "Share"
["Поделиться ссылкой в Гугл-плюсе"]=>
string(5) "Share"
["Поделиться ссылкой в Моём мире"]=>
string(5) "Share"
["Поделиться ссылкой в Одноклассниках"]=>
string(5) "Share"
["Поделиться ссылкой в Твиттере"]=>
string(5) "Share"
["Поделиться ссылкой во Вконтакте"]=>
string(5) "Share"
["Поделиться ссылкой на Фейсбуке"]=>
string(5) "Share"
["Пожалуйста укажите ваш номер телефона и адрес электронной почты что бы мы могли оперативно дать ответ на ваш вопрос или уточнить его. Ваши контактные данные не будут опубликованы."]=>
string(165) "Please enter your phone number and email address so that we can quickly give an answer to your question or to clarify it. Your contact details will not be published."
["Поиск"]=>
string(6) "Search"
["Поиск по тегу {tag}"]=>
string(13) "Search by tag"
["Пока ничего"]=>
string(7) "Nothing"
["Показать еще"]=>
string(9) "Show more"
["Показать ещё"]=>
string(9) "Show more"
["Показать ещё {n,plural,one{# вопрос} few{# вопроса} many{# вопросов} other{# вопроса}}"]=>
string(55) "Show more {n,plural,one{# question} other{# questions}}"
["Показать ещё {n,plural,one{# отзыв} few{# отзыва} many{# отзывов} other{# отзыва}}"]=>
string(51) "Show more {n,plural,one{# review} other{# reviews}}"
["Показать стоимость"]=>
string(10) "Show price"
["Политика конфиденциальности"]=>
string(14) "Privacy policy"
["Получите консультацию лучших мировых докторов"]=>
string(35) "Get medical opinion of best doctors"
["Получить консультацию"]=>
string(16) "Get consultation"
["Получить консультацию"]=>
string(16) "Get consultation"
["Последние заявки"]=>
string(13) "Last requests"
["Похожие клиники"]=>
string(15) "Similar clinics"
["Преимущества лечения в {country}"]=>
string(36) "Advantages of treatment in {country}"
["Прикрепить файлы"]=>
string(12) "Attach files"
["Другая страна"]=>
string(15) "Another country"
["Подберем лучшего врача и клинику бесплатно"]=>
string(61) "Get your personal medical adviser and treatment plan for free"
["Проверенные отзывы о врачах и клиниках."]=>
string(44) "The checked comments on doctors and clinics."
["Рассказать о проекте друзьям"]=>
string(23) "Share with your friends"
["Результаты поиска"]=>
string(13) "Search result"
["С этим сертификатом найдено {n,plural,one{# клиника} few{# клиники} many{# клиник} other{# клиники}}"]=>
string(50) "{n,plural,one{# clinic} other{# clinics}} selected"
["Связаться с клиникой"]=>
string(14) "Contact clinic"
["Сертификаты доктора"]=>
string(19) "Doctor certificates"
["Сертификаты клиники:"]=>
string(20) "Clinic certificates:"
["Смена E-mail"]=>
string(13) "Change E-mail"
["Спасибо! Ваш вопрос успешно отправлен."]=>
string(52) "Thank you. We got your question and respond it ASAP."
["Спасибо! Ваш отзыв успешно отправлен на модерацию."]=>
string(32) "Thank you. We got your feedback."
["Спасибо, что обратились к нам!"]=>
string(28) "Thank you for contacting us."
["Специализация"]=>
string(14) "Specialization"
["Стоимость диагностики и операций"]=>
string(38) "Price for diagnostic and manipulations"
["Стоимость приема от ${cost}"]=>
string(38) "Price for personal appointment ${cost}"
["Страна"]=>
string(7) "Country"
["Страница не найдена"]=>
string(14) "Page not found"
["Страницу, которую Вы запрашивали, у нас нет, зато есть много других очень полезных, выберите наиболее подходящую из имеющихся"]=>
string(84) "We can’t find the page you requested, but we have tons of related. Check this out."
["Страницы которую вы запрашивали у нас нет, зато есть много других очень полезных, выберите наиболее подходящую из имеющихся"]=>
string(137) "The page you requested we don't have, but there are a lot of other very useful pages, please select the most appropriate of the available"
["Страны"]=>
string(9) "Countries"
["Страны для лечения"]=>
string(27) "Countries for the treatment"
["Твитнуть"]=>
string(5) "Share"
["Текст отзыва"]=>
string(11) "Review text"
["Телефон"]=>
string(5) "Phone"
["Только что запрашивали информацию"]=>
string(18) "Recent information"
["Тэги"]=>
string(4) "Tags"
["Удалить из избранного"]=>
string(20) "Remove from favorite"
["Узнать больше"]=>
string(9) "Find more"
["Укажите Ваш логин в Skype"]=>
string(16) "Your Skype login"
["Уровень цен"]=>
string(11) "Price level"
["Условия размещения"]=>
string(20) "Non medical benefits"
["Цены на лечение"]=>
string(37) "Prices for treatments and diagnostics"
["Цены на лечение в {country}"]=>
string(50) "Prices for treatments and diagnostics in {country}"
["Направления в {country}"]=>
string(23) "Directions in {country}"
["Направления {country}"]=>
string(20) "Directions {country}"
["Цены на лечение в городе {city}"]=>
string(47) "Prices for treatments and diagnostics in {city}"
["Читать весь отзыв"]=>
string(19) "Read whole response"
["Читать далее"]=>
string(9) "Read more"
["Эта клиника аккредитована {certificate}"]=>
string(41) "The clinic was certified by {certificate}"
["Этот врач аккредитован {certificate}"]=>
string(41) "The doctor was certified by {certificate}"
["бесплатно"]=>
string(4) "free"
["в"]=>
string(2) "in"
["до"]=>
string(2) "to"
["от"]=>
string(4) "from"
["звонок по РФ бесплатный"]=>
string(11) "call us now"
["или"]=>
string(2) "or"
["Потому что {recommend}"]=>
string(19) "Because {recommend}"
["русскоязычный консультант"]=>
string(22) "English speaking staff"
["с совокупным рейтингом"]=>
string(22) "with cumulative rating"
["сортировать по"]=>
string(7) "sort by"
["специализируется на {disease}"]=>
string(24) "specialised on {disease}"
["телефон в Москве"]=>
string(11) "call us now"
["Вопрос слишком серьезный чтобы терять время! Оставьте Ваш телефон, мы перезвоним и все обсудим"]=>
string(186) "The question you have is too urgent to read all this texts and compare details. Don’t lose your time. Give us your phone number and we call you back to discuss possible solutions."
["Мы понимаем, что не все вопросы и не всегда удобно обсуждать по телефону, выберите удобный способ связи:"]=>
string(119) "We understand that not all questions could be discussed via phone please select comfortable for you way to communicate:"
["Показать все направления"]=>
string(17) "Show all branches"
["Показать все страны"]=>
string(18) "Show all countries"
["Подобрать мне лечение"]=>
string(13) "Get treatment"
["Комплексная телемедицина"]=>
string(13) "Get treatment"
["Предоставляя информацию, вы подтверждаете, что ознакомлены и согласны с нашими {terms} и {politic}"]=>
string(73) "By providing us your information you agree with our {terms} and {politic}"
["Условиями Пользования"]=>
string(16) "Terms of Service"
["Политикой Конфиденциальности"]=>
string(14) "Privacy Policy"
["правила использования cookie-файлов"]=>
string(25) "Terms of Use cookie-files"
["Продолжая использовать данный сайт, Вы принимаете наши {terms}."]=>
string(57) "By continuing to use this site, you agree to our {terms}."
["Принимаю"]=>
string(6) "Accept"
["Пользовательское соглашение"]=>
string(12) "Terms of Use"
["Узнать цены"]=>
string(12) "Check prices"
["Запрос цены"]=>
string(13) "Price request"
["Укажите номер телефона для обратной связи"]=>
string(48) "Indicate your Phone Number to Receive a Feadback"
["Представитель клиники свяжется с вами"]=>
string(39) "Сlinic representative will contact you"
["Ваше Имя"]=>
string(4) "Name"
["Ускорьте процесс обработки заявки Выбрав наиболее подходящие ответы."]=>
string(77) "Choose the Most Appropriate Answer to Support the Request Management Process."
["Укажите этап организации лечения:"]=>
string(43) "Indicate Your Treatment Organization Stage:"
["Укажите период, в который Вы готовы приехать на лечение:"]=>
string(41) "Indicate the period you're ready to come:"
["я только начал(а) собирать информацию о лечении за границей"]=>
string(57) "I just started collecting information on treatment abroad"
["я знаю, что мне нужно, и ищу подходящую клинику и врача"]=>
string(47) "I am looking for a suitable clinic and a doctor"
["я хочу записаться на видеоконсультацию врача"]=>
string(56) "I need a private online video consultation with a doctor"
["я готов(а) записаться на прием"]=>
string(33) "I am ready to make an appointment"
["в течение 7 дней"]=>
string(13) "within 7 days"
["в течение месяца"]=>
string(14) "within a month"
["в течение трех месяцев"]=>
string(19) "during three months"
["позднее, чем через три месяца"]=>
string(23) "later than three months"
["Отправляя информацию, вы ускоряете процесс обработки Вашей заявки."]=>
string(69) "Send information and speed up the process your application processing"
["Благодарим за доверие, оказанное клинике."]=>
string(34) "Thank you for trusting our clinic."
["Размер до 10 мb"]=>
string(14) "Max size 10 mb"
["Не удалось загрузить файл"]=>
string(6) "Failed"
["Разрешены следующие форматы:"]=>
string(34) "The following formats are allowed:"
["Максимум 5 файлов"]=>
string(15) "Maximum 5 files"
["Описание {clinic}"]=>
string(14) "About {clinic}"
["Оставить заявку"]=>
string(18) "Submit application"
["Стоимость консультации от"]=>
string(15) "Consulting Fees"
["обязательное поле"]=>
string(15) "required fields"
["обязательное условие"]=>
string(15) "required fields"
["Обязательные поля для заполнения"]=>
string(15) "Required fields"
["Заполните обязательные поля для отправки"]=>
string(35) "Please, fill in all required fields"
["Все цены"]=>
string(10) "All prices"
["Цены на лечение и диагностику"]=>
string(32) "Diagnostics and treatment prices"
["Клиника ведет прием онлайн"]=>
string(18) "Online appointment"
["Клиника ведет прием онлайн"]=>
string(18) "Online appointment"
["количество врачей на связи"]=>
string(21) "doctors are available"
["количество врачей на связи"]=>
string(21) "doctors are available"
["Лечитесь за рубежом, оставаясь дома"]=>
string(46) "Self-isolation – time to choose telemedicine"
["Получите видеоконсультацию у лучших врачей мира"]=>
string(67) "Contact the best medical experts from all over the world on Docland"
["Консультации лучших врачей мира по ценам доступным каждому"]=>
string(57) "Consult online with the best doctors available on Docland"
["Поставленный вам диагноз вызывает сомнение?"]=>
string(36) "Have you some doubt about diagnosis?"
["Хотите узнать мнение признанного эксперта по расшифровке КТ, МРТ, гистологии?"]=>
string(92) "Do you need an understandable report with a doctor's second opinion on MRI, CT or histology?"
["Предпочитаете лечиться у лучших врачей мира по современным протоколам?"]=>
string(52) "Would you prefer cost-effective treatment protocols?"
["На Docland доступны все сервисы телемедицины."]=>
string(64) "Try all advantages of telemedicine services available on Docland"
["Закажите консультацию онлайн!"]=>
string(22) "Request an appointment"
["Представитель клиники свяжется с вами"]=>
string(42) "Сlinic representative will contact you"
}
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["seo*"]=>
array(1) {
["class"]=>
string(34) "app\components\CustomMessageSource"
}
["yii"]=>
object(yii\i18n\PhpMessageSource)#138 (8) {
["basePath"]=>
string(13) "@yii/messages"
["fileMap"]=>
NULL
["forceTranslation"]=>
bool(false)
["sourceLanguage"]=>
string(5) "en-US"
["_messages":"yii\i18n\MessageSource":private]=>
array(1) {
["en/yii"]=>
array(2) {
["No"]=>
bool(false)
["Yes"]=>
bool(false)
}
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
["app"]=>
object(app\components\CustomMessageSource)#133 (8) {
["basePath"]=>
string(13) "@app/messages"
["fileMap"]=>
NULL
["forceTranslation"]=>
bool(false)
["sourceLanguage"]=>
string(2) "ru"
["_messages":"yii\i18n\MessageSource":private]=>
array(1) {
["en/app"]=>
array(295) {
["Наши цены"]=>
string(6) "Prices"
["О нас"]=>
string(8) "About us"
["E-mail успешно изменен!"]=>
string(24) "E-mail success modified!"
["{author}, {n,plural,one{# год} few{# года} many{# лет} other{# года}}"]=>
string(47) "{author}, {n,plural,one{# year} other{# years}}"
["{n,plural,one{# год} few{# года} many{# лет} other{# года}}"]=>
string(37) "{n,plural,one{# year} other{# years}}"
["{branch}"]=>
string(8) "{branch}"
["{branch} в {country}"]=>
string(21) "{branch} in {country}"
["{branch} в клиниках города {city}"]=>
string(18) "{branch} in {city}"
["{branch} в городе {city}"]=>
string(18) "{branch} in {city}"
["{branch} в других городах"]=>
string(24) "{branch} in other cities"
["{branch} за рубежом"]=>
string(15) "{branch} abroad"
["{disease}"]=>
string(9) "{disease}"
["{disease} в {country}"]=>
string(22) "{disease} in {country}"
["{disease} в ведущих центрах и клиниках за рубежом"]=>
string(43) "{disease} in leading medical centres abroad"
["{disease} в городе {city}"]=>
string(24) "{disease} in city {city}"
["{disease} в других городах"]=>
string(25) "{disease} in other cities"
["{disease} в клиниках города {city}"]=>
string(30) "{disease} in clinics of {city}"
["{disease} в клиниках России и за рубежом"]=>
string(27) "{disease} in clinics abroad"
["{n,plural,=0{клиники} one{# клиника} few{# клиники} many{# клиник} other{# клиники}}"]=>
string(53) "{n,plural,=0{clinics} one{# clinic} other{# clinics}}"
["{n,plural,=0{отзывы} one{# отзыв} few{# отзыва} many{# отзывов} other{# отзыва}}"]=>
string(53) "{n,plural,=0{reviews} one{# review} other{# reviews}}"
["{n,plural,one{# больница} few{# больницы} many{# больниц} other{# больницы}} {country} с лечением по всем направлениям."]=>
string(88) "{n,plural,one{# clinic} other{# clinics}} of {country} with treatment in all directions."
["{n,plural,one{# больница} few{# больницы} many{# больниц} other{# больницы}} в России и за границей с лечением по всем направлениям. Проверенные отзывы о врачах и клиниках."]=>
string(160) "{n,plural,one{# clinic} other{# clinics}} abroad specialized in all medical issues. Trusted feedbacks and clients reviews about doctors, clinics, general staff."
["{n,plural,one{# больница} few{# больницы} many{# больниц} other{# больницы}} города {city} с лечением по всем направлениям."]=>
string(86) "{n,plural,one{# clinic} other{# clinics}} in {city} specialized in different diseases."
["{n,plural,one{# день} few{# дня} many{# дней} other{# дня}} назад"]=>
string(39) "{n,plural,one{# day} other{# days}} ago"
["{n,plural,one{# минута} few{# минуты} many{# минут} other{# минуты}} назад"]=>
string(45) "{n,plural,one{# minute} other{# minutes}} ago"
["{n,plural,one{# отзыв} few{# отзыва} many{# отзывов} other{# отзыва}}"]=>
string(41) "{n,plural,one{# review} other{# reviews}}"
["{n,plural,one{# пациент отправлен на лечение} few{# пациента отправлены на лечение} many{# пациентов отправлено на лечение} other{# пациента отправлены на лечение}}"]=>
string(69) "{n,plural,one{# patient is} other{# patients are}} sent for treatment"
["{n,plural,one{# пациент отправлен} few{# пациента отправлены} many{# пациентов отправлено} other{# пациента отправлены}} на лечение"]=>
string(69) "{n,plural,one{# patient is} other{# patients are}} sent for treatment"
["{n,plural,one{# час} few{# часа} many{# часов} other{# часа}} назад"]=>
string(41) "{n,plural,one{# hour} other{# hours}} ago"
["{n,plural,one{Ещё # клиника} few{Остальные # клиники} many{Остальные # клиник} other{Остальные # клиники}} по заболеванию {disease}"]=>
string(79) "See the rest {n,plural,one{# clinic} other{# clinics}} specialized in {disease}"
["{n,plural,one{Ещё # клиника} few{Остальные # клиники} many{Остальные # клиник} other{Остальные # клиники}} по заболеванию {disease} в {country}"]=>
string(92) "See the rest {n,plural,one{# clinic} other{# clinics}} specialized in {disease} in {country}"
["{n,plural,one{Ещё # клиника} few{Остальные # клиники} many{Остальные # клиник} other{Остальные # клиники}} по направлению {branch}"]=>
string(78) "See the rest {n,plural,one{# clinic} other{# clinics}} specialized in {branch}"
["{n,plural,one{отзыв} few{отзыва} many{отзывов} other{отзыва}}"]=>
string(37) "{n,plural,one{review} other{reviews}}"
["Адреса"]=>
string(9) "Addresses"
["{clinic} - Контакты, запись на консультацию"]=>
string(43) "{clinic} - Contacts, record on consultation"
["Блог"]=>
string(4) "Blog"
["Блог о медицинском туризме"]=>
string(20) "Medical tourism blog"
["В избранное"]=>
string(15) "Add to favorite"
["В избранном"]=>
string(11) "In favorite"
["В каких странах вы ищете лечение?"]=>
string(9) "Countries"
["Ваш E-mail"]=>
string(11) "Your E-mail"
["Ваш возраст"]=>
string(8) "Your age"
["Ваш вопрос"]=>
string(13) "Your question"
["Ваш контактный телефон"]=>
string(18) "Your contact phone"
["Ваш отзыв будет отправлен на модерацию."]=>
string(52) "Thank you for your feedback, I will be publish soon."
["Ваш телефон"]=>
string(10) "Your phone"
["Ваша заявка успешно отправлена."]=>
string(44) "Your application has been sent successfully."
["Введите, например, клиника, врач или заболевание"]=>
string(40) "Enter required clinic, doctor or disease"
["Ведущие врачи"]=>
string(15) "Leading doctors"
["Ведущие врачи, лучшие специалисты"]=>
string(36) "Leading doctors and best specialists"
["Ведущие клиники в {country}"]=>
string(28) "Leading clinics in {country}"
["Ведущие клиники в городе {city}"]=>
string(25) "Leading clinics in {city}"
["Ведущие направления"]=>
string(13) "Main branches"
["Вопросы и ответы"]=>
string(20) "Question and answers"
["Врачи"]=>
string(7) "Doctors"
["Врач"]=>
string(6) "Doctor"
["Врач {doctor} - Контакты, запись на консультацию"]=>
string(50) "Doctor {doctor} - Contacts, record on consultation"
["Время"]=>
string(4) "Time"
["Все заболевания"]=>
string(14) "All treatments"
["Все клиники сертифицированные {certificate}"]=>
string(34) "Clinics certified by {certificate}"
["Все клиники, работающие в направлении {branch}"]=>
string(35) "All clinics specialized in {branch}"
["Все отзывы о лечении за рубежом"]=>
string(52) "All feedbacks and reviews regarding treatment abroad"
["Ведущие специалисты зарубежных клиник"]=>
string(37) "Leading specialists of clinics abroad"
["Ведущие специалисты зарубежных клиник {country}"]=>
string(43) "Leading specialists of clinics in {country}"
["Вы не выбрали ни одной клиники."]=>
string(19) "0 clinics selected."
["Выберите заболевание"]=>
string(14) "Select disease"
["Представитель клиники свяжется с вами в течение 30 минут."]=>
string(67) "You will receive an answer from clinic just within 30 minutes."
["Вы получите ответ от клиники в течение 30 минут"]=>
string(66) "You will receive an answer from clinic just within 30 minutes"
["Города"]=>
string(6) "Cities"
["Дата"]=>
string(4) "Date"
["Добавить в избранное"]=>
string(15) "Add to favorite"
["Другие врачи по специализации: #speciality#"]=>
string(31) "Other doctors on specialization"
["Еще отзывы пациентов"]=>
string(12) "More reviews"
["Заболевания"]=>
string(8) "Diseases"
["Заболевание"]=>
string(7) "Disease"
["Задать вопрос"]=>
string(14) "Ask a question"
["Запись на консультацию"]=>
string(19) "Make an appointment"
["Записаться на прием"]=>
string(19) "Make an appointment"
["Запрос стоимости"]=>
string(14) "Request a cost"
["Звоните"]=>
string(15) "You can call to"
["Избранные"]=>
string(9) "Favorites"
["Избранные клиники"]=>
string(16) "Favorite clinics"
["Изменить"]=>
string(4) "Edit"
["Имя"]=>
string(4) "Name"
["Как к Вам обращаться?"]=>
string(9) "Your Name"
["Какое заболевание Вы лечили?"]=>
string(25) "What disease you treated?"
["Какой специалист вас интересует?"]=>
string(23) "Doctor's specialization"
["Карта сайта"]=>
string(8) "Site map"
["Клиника"]=>
string(6) "Clinic"
["Клиника сертифицирована"]=>
string(26) "The clinic is certified by"
["Клиники"]=>
string(7) "Clinics"
["Клиники в городах"]=>
string(17) "Clinics in cities"
["Клиники в городах {country}"]=>
string(27) "Clinics in {country} cities"
["Где мы лечим"]=>
string(20) "Popular destinations"
["Клиники по направлениям"]=>
string(26) "Clinics by specializations"
["Комментарий"]=>
string(7) "Comment"
["Лечение / Диагностика"]=>
string(22) "Treatment / Diagnostic"
["Лечение {city}"]=>
string(16) "Treatment {city}"
["Лечение"]=>
string(9) "Treatment"
["лечение"]=>
string(9) "treatment"
["лечении"]=>
string(9) "treatment"
["Лечение {branch}"]=>
string(14) "{branch.upper}"
["Лечение {disease}"]=>
string(25) "{disease.upper} treatment"
["Лечение в {country}"]=>
string(33) "Treatment in clinics of {country}"
["Лечение в клиниках города {city}"]=>
string(30) "Treatment in clinics of {city}"
["Лечение за рубежом"]=>
string(16) "Treatment abroad"
["Лечение за рубежом - это просто!"]=>
string(34) "Medical treatment abroad is simple"
["Лечит заболевания"]=>
string(14) "Treat diseases"
["Лучшие врачи"]=>
string(16) "The best doctors"
["Лучшие врачи {city}"]=>
string(26) "The best doctors of {city}"
["Лучшие врачи {country}"]=>
string(29) "The best doctors of {country}"
["Лучшие врачи клиник"]=>
string(27) "The best doctors of clinics"
["Лучшие врачи {country} по версии Forbes – Доклэнд"]=>
string(40) "The best doctors of clinics in {country}"
["Лучшие врачи по версии Forbes – Доклэнд"]=>
string(27) "The best doctors of clinics"
["Лучшие {speciality} {country}, отзывы"]=>
string(34) "The best {speciality} in {country}"
["Лучшие {speciality}"]=>
string(21) "The best {speciality}"
["Лучшие доктора клиники"]=>
string(31) "Best doctors in selected clinic"
["Лучший выбор!|Достойная альтернатива!"]=>
string(34) "Best choice!|Reliable alternative!"
["Медицинский консультант расскажет о всех аспектах лечения"]=>
string(63) "The medical consultant will tell about all aspects of treatment"
["Медицинский консультант расскажет о всех аспектах лечения за рубежом"]=>
string(63) "The medical consultant will tell about all aspects of treatment"
["Место работы"]=>
string(13) "Place of work"
["Мы работаем напрямую с ведущими клиниками {country}"]=>
string(47) "We work directly with leading clinics {country}"
["Мы размещаем информацию только о больницах и клиниках, получивших медицинские сертификаты и аккредитацию самых авторитетных международных обществ."]=>
string(87) "We offer you only the most reliable and certificated clinics with worldwide reputation."
["Найдено {n,plural,one{# врач} few{# врача} many{# врачей} other{# врача}}"]=>
string(47) "Found {n,plural,one{# doctor} other{# doctors}}"
["Найти клинику"]=>
string(13) "Find a clinic"
["Направление"]=>
string(6) "Branch"
["Направления"]=>
string(8) "Branches"
["Что мы лечим"]=>
string(21) "Mostly asked branches"
["Наши услуги для вас БЕСПЛАТНЫ, мы оказываем консультации по соглашению с клиниками-партнерами"]=>
string(112) "Our services are FREE for you, we provide consultations according to the agreement with our partner clinics"
["Наша компания является официальным представителем {title.genitive} в России"]=>
string(72) "Our company is the official representative of {title.genitive} worldwide"
["Наша компания является официальным представителем доктора {name.genitive} в России"]=>
string(82) "Our company is the official representative of the doctor {name.genitive} worldwide"
["Ни одного вопроса не задано"]=>
string(18) "No questions asked"
["Ничего не найдено"]=>
string(8) "No found"
["О клинике {clinic}"]=>
string(21) "About clinic {clinic}"
["О компании"]=>
string(13) "About company"
["Облако тегов"]=>
string(10) "Tags cloud"
["Обратите внимание на {n,plural,=0{другие клиники} one{другую # клинику} few{другие # клиники} many{другие # клиник} other{другие # клиники}} {country}, которые работают и помогают пациентам по направлению {branch}"]=>
string(87) "We found {n,plural,one{# clinic} other{# clinics}} specialized in {branch} in {country}"
["Обратитесь онлайн"]=>
string(15) "Write us online"
["Общий стаж"]=>
string(9) "Seniority"
["Общий стаж {n,plural,one{# год} few{# года} many{# лет} other{# года}}"]=>
string(47) "Seniority {n,plural,one{# year} other{# years}}"
["Наши врачи могут Вас проконсультировать 5 дней в неделю с 10:00 до 19:00. Если вы обратились в выходные или в нерабочее время, мы свяжемся с Вами в ближайший рабочий день."]=>
string(117) "Thank you for request. We call you back in 30 minutes. Saturday, Sunday we are out of office . We call you AsAp then."
["Наш медицинский эксперт свяжется с Вами как можно быстрее."]=>
string(56) "Our medical expert will contact you as soon as possible."
["Организация всех аспектов поездки"]=>
string(31) "Organizing all the trip aspects"
["Организация лечения {disease}"]=>
string(19) "{disease} treatment"
["Оставить дополнительную информацию"]=>
string(12) "Any comments"
["Оставить отзыв"]=>
string(13) "Give feedback"
["Отзывы пациентов"]=>
string(7) "Reviews"
["Отзывы пациентов клиники"]=>
string(14) "Clinic reviews"
["Отправить"]=>
string(4) "Send"
["Отправить запрос на лечение"]=>
string(19) "Request a treatment"
["Отправить заявку"]=>
string(12) "Send request"
["Отправить отзыв"]=>
string(11) "Send review"
["По вашему запросу {query} найдено {n,plural,one{# профильная клиника} few{# профильные клиники} many{# профильных клиник} other{# профильные клиники}}"]=>
string(50) "{n,plural,one{# clinic} other{# clinics}} selected"
["По вашему запросу найдено {n,plural,one{# врач} few{# врача} many{# врачей} other{# врача}}"]=>
string(50) "{n,plural,one{# doctor} other{# doctors}} selected"
["По возрастанию рейтинга"]=>
string(18) "By rating increase"
["По возрастанию цены"]=>
string(17) "By price increase"
["По заболеванию {disease} {n,plural,one{найдена # клиника} few{найдено # клиники} many{найдено # клиник} other{найдено # клиники}}"]=>
string(75) "We found {n,plural,one{# clinic} other{# clinics}} specialized in {disease}"
["По заболеванию {disease} клиник не найдено"]=>
string(49) "Ups, nothing was found. Please change parameters."
["По направлению {branch} найдено {n,plural,one{# клиника} few{# клиники} many{# клиник} other{# клиники}}"]=>
string(74) "We found {n,plural,one{# clinic} other{# clinics}} specialized in {branch}"
["По убыванию рейтинга"]=>
string(18) "By rating decrease"
["По убыванию цены"]=>
string(17) "By price decrease"
["Поделиться"]=>
string(5) "Share"
["Поделиться ссылкой в Гугл-плюсе"]=>
string(5) "Share"
["Поделиться ссылкой в Моём мире"]=>
string(5) "Share"
["Поделиться ссылкой в Одноклассниках"]=>
string(5) "Share"
["Поделиться ссылкой в Твиттере"]=>
string(5) "Share"
["Поделиться ссылкой во Вконтакте"]=>
string(5) "Share"
["Поделиться ссылкой на Фейсбуке"]=>
string(5) "Share"
["Пожалуйста укажите ваш номер телефона и адрес электронной почты что бы мы могли оперативно дать ответ на ваш вопрос или уточнить его. Ваши контактные данные не будут опубликованы."]=>
string(165) "Please enter your phone number and email address so that we can quickly give an answer to your question or to clarify it. Your contact details will not be published."
["Поиск"]=>
string(6) "Search"
["Поиск по тегу {tag}"]=>
string(13) "Search by tag"
["Пока ничего"]=>
string(7) "Nothing"
["Показать еще"]=>
string(9) "Show more"
["Показать ещё"]=>
string(9) "Show more"
["Показать ещё {n,plural,one{# вопрос} few{# вопроса} many{# вопросов} other{# вопроса}}"]=>
string(55) "Show more {n,plural,one{# question} other{# questions}}"
["Показать ещё {n,plural,one{# отзыв} few{# отзыва} many{# отзывов} other{# отзыва}}"]=>
string(51) "Show more {n,plural,one{# review} other{# reviews}}"
["Показать стоимость"]=>
string(10) "Show price"
["Политика конфиденциальности"]=>
string(14) "Privacy policy"
["Получите консультацию лучших мировых докторов"]=>
string(35) "Get medical opinion of best doctors"
["Получить консультацию"]=>
string(16) "Get consultation"
["Получить консультацию"]=>
string(16) "Get consultation"
["Последние заявки"]=>
string(13) "Last requests"
["Похожие клиники"]=>
string(15) "Similar clinics"
["Преимущества лечения в {country}"]=>
string(36) "Advantages of treatment in {country}"
["Прикрепить файлы"]=>
string(12) "Attach files"
["Другая страна"]=>
string(15) "Another country"
["Подберем лучшего врача и клинику бесплатно"]=>
string(61) "Get your personal medical adviser and treatment plan for free"
["Проверенные отзывы о врачах и клиниках."]=>
string(44) "The checked comments on doctors and clinics."
["Рассказать о проекте друзьям"]=>
string(23) "Share with your friends"
["Результаты поиска"]=>
string(13) "Search result"
["С этим сертификатом найдено {n,plural,one{# клиника} few{# клиники} many{# клиник} other{# клиники}}"]=>
string(50) "{n,plural,one{# clinic} other{# clinics}} selected"
["Связаться с клиникой"]=>
string(14) "Contact clinic"
["Сертификаты доктора"]=>
string(19) "Doctor certificates"
["Сертификаты клиники:"]=>
string(20) "Clinic certificates:"
["Смена E-mail"]=>
string(13) "Change E-mail"
["Спасибо! Ваш вопрос успешно отправлен."]=>
string(52) "Thank you. We got your question and respond it ASAP."
["Спасибо! Ваш отзыв успешно отправлен на модерацию."]=>
string(32) "Thank you. We got your feedback."
["Спасибо, что обратились к нам!"]=>
string(28) "Thank you for contacting us."
["Специализация"]=>
string(14) "Specialization"
["Стоимость диагностики и операций"]=>
string(38) "Price for diagnostic and manipulations"
["Стоимость приема от ${cost}"]=>
string(38) "Price for personal appointment ${cost}"
["Страна"]=>
string(7) "Country"
["Страница не найдена"]=>
string(14) "Page not found"
["Страницу, которую Вы запрашивали, у нас нет, зато есть много других очень полезных, выберите наиболее подходящую из имеющихся"]=>
string(84) "We can’t find the page you requested, but we have tons of related. Check this out."
["Страницы которую вы запрашивали у нас нет, зато есть много других очень полезных, выберите наиболее подходящую из имеющихся"]=>
string(137) "The page you requested we don't have, but there are a lot of other very useful pages, please select the most appropriate of the available"
["Страны"]=>
string(9) "Countries"
["Страны для лечения"]=>
string(27) "Countries for the treatment"
["Твитнуть"]=>
string(5) "Share"
["Текст отзыва"]=>
string(11) "Review text"
["Телефон"]=>
string(5) "Phone"
["Только что запрашивали информацию"]=>
string(18) "Recent information"
["Тэги"]=>
string(4) "Tags"
["Удалить из избранного"]=>
string(20) "Remove from favorite"
["Узнать больше"]=>
string(9) "Find more"
["Укажите Ваш логин в Skype"]=>
string(16) "Your Skype login"
["Уровень цен"]=>
string(11) "Price level"
["Условия размещения"]=>
string(20) "Non medical benefits"
["Цены на лечение"]=>
string(37) "Prices for treatments and diagnostics"
["Цены на лечение в {country}"]=>
string(50) "Prices for treatments and diagnostics in {country}"
["Направления в {country}"]=>
string(23) "Directions in {country}"
["Направления {country}"]=>
string(20) "Directions {country}"
["Цены на лечение в городе {city}"]=>
string(47) "Prices for treatments and diagnostics in {city}"
["Читать весь отзыв"]=>
string(19) "Read whole response"
["Читать далее"]=>
string(9) "Read more"
["Эта клиника аккредитована {certificate}"]=>
string(41) "The clinic was certified by {certificate}"
["Этот врач аккредитован {certificate}"]=>
string(41) "The doctor was certified by {certificate}"
["бесплатно"]=>
string(4) "free"
["в"]=>
string(2) "in"
["до"]=>
string(2) "to"
["от"]=>
string(4) "from"
["звонок по РФ бесплатный"]=>
string(11) "call us now"
["или"]=>
string(2) "or"
["Потому что {recommend}"]=>
string(19) "Because {recommend}"
["русскоязычный консультант"]=>
string(22) "English speaking staff"
["с совокупным рейтингом"]=>
string(22) "with cumulative rating"
["сортировать по"]=>
string(7) "sort by"
["специализируется на {disease}"]=>
string(24) "specialised on {disease}"
["телефон в Москве"]=>
string(11) "call us now"
["Вопрос слишком серьезный чтобы терять время! Оставьте Ваш телефон, мы перезвоним и все обсудим"]=>
string(186) "The question you have is too urgent to read all this texts and compare details. Don’t lose your time. Give us your phone number and we call you back to discuss possible solutions."
["Мы понимаем, что не все вопросы и не всегда удобно обсуждать по телефону, выберите удобный способ связи:"]=>
string(119) "We understand that not all questions could be discussed via phone please select comfortable for you way to communicate:"
["Показать все направления"]=>
string(17) "Show all branches"
["Показать все страны"]=>
string(18) "Show all countries"
["Подобрать мне лечение"]=>
string(13) "Get treatment"
["Комплексная телемедицина"]=>
string(13) "Get treatment"
["Предоставляя информацию, вы подтверждаете, что ознакомлены и согласны с нашими {terms} и {politic}"]=>
string(73) "By providing us your information you agree with our {terms} and {politic}"
["Условиями Пользования"]=>
string(16) "Terms of Service"
["Политикой Конфиденциальности"]=>
string(14) "Privacy Policy"
["правила использования cookie-файлов"]=>
string(25) "Terms of Use cookie-files"
["Продолжая использовать данный сайт, Вы принимаете наши {terms}."]=>
string(57) "By continuing to use this site, you agree to our {terms}."
["Принимаю"]=>
string(6) "Accept"
["Пользовательское соглашение"]=>
string(12) "Terms of Use"
["Узнать цены"]=>
string(12) "Check prices"
["Запрос цены"]=>
string(13) "Price request"
["Укажите номер телефона для обратной связи"]=>
string(48) "Indicate your Phone Number to Receive a Feadback"
["Представитель клиники свяжется с вами"]=>
string(39) "Сlinic representative will contact you"
["Ваше Имя"]=>
string(4) "Name"
["Ускорьте процесс обработки заявки Выбрав наиболее подходящие ответы."]=>
string(77) "Choose the Most Appropriate Answer to Support the Request Management Process."
["Укажите этап организации лечения:"]=>
string(43) "Indicate Your Treatment Organization Stage:"
["Укажите период, в который Вы готовы приехать на лечение:"]=>
string(41) "Indicate the period you're ready to come:"
["я только начал(а) собирать информацию о лечении за границей"]=>
string(57) "I just started collecting information on treatment abroad"
["я знаю, что мне нужно, и ищу подходящую клинику и врача"]=>
string(47) "I am looking for a suitable clinic and a doctor"
["я хочу записаться на видеоконсультацию врача"]=>
string(56) "I need a private online video consultation with a doctor"
["я готов(а) записаться на прием"]=>
string(33) "I am ready to make an appointment"
["в течение 7 дней"]=>
string(13) "within 7 days"
["в течение месяца"]=>
string(14) "within a month"
["в течение трех месяцев"]=>
string(19) "during three months"
["позднее, чем через три месяца"]=>
string(23) "later than three months"
["Отправляя информацию, вы ускоряете процесс обработки Вашей заявки."]=>
string(69) "Send information and speed up the process your application processing"
["Благодарим за доверие, оказанное клинике."]=>
string(34) "Thank you for trusting our clinic."
["Размер до 10 мb"]=>
string(14) "Max size 10 mb"
["Не удалось загрузить файл"]=>
string(6) "Failed"
["Разрешены следующие форматы:"]=>
string(34) "The following formats are allowed:"
["Максимум 5 файлов"]=>
string(15) "Maximum 5 files"
["Описание {clinic}"]=>
string(14) "About {clinic}"
["Оставить заявку"]=>
string(18) "Submit application"
["Стоимость консультации от"]=>
string(15) "Consulting Fees"
["обязательное поле"]=>
string(15) "required fields"
["обязательное условие"]=>
string(15) "required fields"
["Обязательные поля для заполнения"]=>
string(15) "Required fields"
["Заполните обязательные поля для отправки"]=>
string(35) "Please, fill in all required fields"
["Все цены"]=>
string(10) "All prices"
["Цены на лечение и диагностику"]=>
string(32) "Diagnostics and treatment prices"
["Клиника ведет прием онлайн"]=>
string(18) "Online appointment"
["Клиника ведет прием онлайн"]=>
string(18) "Online appointment"
["количество врачей на связи"]=>
string(21) "doctors are available"
["количество врачей на связи"]=>
string(21) "doctors are available"
["Лечитесь за рубежом, оставаясь дома"]=>
string(46) "Self-isolation – time to choose telemedicine"
["Получите видеоконсультацию у лучших врачей мира"]=>
string(67) "Contact the best medical experts from all over the world on Docland"
["Консультации лучших врачей мира по ценам доступным каждому"]=>
string(57) "Consult online with the best doctors available on Docland"
["Поставленный вам диагноз вызывает сомнение?"]=>
string(36) "Have you some doubt about diagnosis?"
["Хотите узнать мнение признанного эксперта по расшифровке КТ, МРТ, гистологии?"]=>
string(92) "Do you need an understandable report with a doctor's second opinion on MRI, CT or histology?"
["Предпочитаете лечиться у лучших врачей мира по современным протоколам?"]=>
string(52) "Would you prefer cost-effective treatment protocols?"
["На Docland доступны все сервисы телемедицины."]=>
string(64) "Try all advantages of telemedicine services available on Docland"
["Закажите консультацию онлайн!"]=>
string(22) "Request an appointment"
["Представитель клиники свяжется с вами"]=>
string(42) "Сlinic representative will contact you"
}
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
}
["_messageFormatter":"yii\i18n\I18N":private]=>
NULL
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["formatter"]=>
object(yii\i18n\Formatter)#136 (26) {
["nullDisplay"]=>
string(0) ""
["booleanFormat"]=>
array(2) {
[0]=>
string(2) "No"
[1]=>
string(3) "Yes"
}
["locale"]=>
string(2) "en"
["timeZone"]=>
string(13) "Europe/Moscow"
["defaultTimeZone"]=>
string(3) "UTC"
["dateFormat"]=>
string(6) "medium"
["timeFormat"]=>
string(6) "medium"
["datetimeFormat"]=>
string(6) "medium"
["calendar"]=>
NULL
["decimalSeparator"]=>
NULL
["thousandSeparator"]=>
NULL
["numberFormatterOptions"]=>
array(0) {
}
["numberFormatterTextOptions"]=>
array(0) {
}
["numberFormatterSymbols"]=>
array(0) {
}
["currencyCode"]=>
NULL
["sizeFormatBase"]=>
int(1024)
["systemOfUnits"]=>
string(6) "metric"
["measureUnits"]=>
array(2) {
["length"]=>
array(2) {
["imperial"]=>
array(6) {
["inch"]=>
int(1)
["foot"]=>
int(12)
["yard"]=>
int(36)
["chain"]=>
int(792)
["furlong"]=>
int(7920)
["mile"]=>
int(63360)
}
["metric"]=>
array(4) {
["millimeter"]=>
int(1)
["centimeter"]=>
int(10)
["meter"]=>
int(1000)
["kilometer"]=>
int(1000000)
}
}
["mass"]=>
array(2) {
["imperial"]=>
array(8) {
["grain"]=>
int(1)
["drachm"]=>
float(27,34375)
["ounce"]=>
float(437,5)
["pound"]=>
int(7000)
["stone"]=>
int(98000)
["quarter"]=>
int(196000)
["hundredweight"]=>
int(784000)
["ton"]=>
int(15680000)
}
["metric"]=>
array(3) {
["gram"]=>
int(1)
["kilogram"]=>
int(1000)
["ton"]=>
int(1000000)
}
}
}
["baseUnits"]=>
array(2) {
["length"]=>
array(2) {
["imperial"]=>
int(12)
["metric"]=>
int(1000)
}
["mass"]=>
array(2) {
["imperial"]=>
int(7000)
["metric"]=>
int(1000)
}
}
["_intlLoaded":"yii\i18n\Formatter":private]=>
bool(true)
["_resourceBundle":"yii\i18n\Formatter":private]=>
NULL
["_unitMessages":"yii\i18n\Formatter":private]=>
array(0) {
}
["_dateFormats":"yii\i18n\Formatter":private]=>
array(4) {
["short"]=>
int(3)
["medium"]=>
int(2)
["long"]=>
int(1)
["full"]=>
int(0)
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["assetManager"]=>
object(yii\web\AssetManager)#142 (18) {
["bundles"]=>
array(8) {
["yii\web\JqueryAsset"]=>
object(yii\web\JqueryAsset)#144 (9) {
["sourcePath"]=>
string(49) "/var/www/html/docland.ru/vendor/bower/jquery/dist"
["js"]=>
array(1) {
[0]=>
string(13) "jquery.min.js"
}
["basePath"]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/cf1294d6"
["baseUrl"]=>
string(16) "/assets/cf1294d6"
["depends"]=>
array(0) {
}
["css"]=>
array(0) {
}
["jsOptions"]=>
array(1) {
["position"]=>
int(3)
}
["cssOptions"]=>
array(0) {
}
["publishOptions"]=>
array(0) {
}
}
["yii\bootstrap\BootstrapAsset"]=>
array(1) {
["css"]=>
array(1) {
[0]=>
string(21) "css/bootstrap.min.css"
}
}
["yii\bootstrap\BootstrapPluginAsset"]=>
array(1) {
["js"]=>
array(1) {
[0]=>
string(19) "js/bootstrap.min.js"
}
}
["kartik\daterange\MomentAsset"]=>
array(1) {
["depends"]=>
array(1) {
[0]=>
string(19) "yii\web\JqueryAsset"
}
}
["app\assets\FrontAsset"]=>
object(app\assets\FrontAsset)#145 (9) {
["sourcePath"]=>
string(39) "/var/www/html/docland.ru/static/docland"
["css"]=>
array(0) {
}
["depends"]=>
array(1) {
[0]=>
string(25) "app\assets\BaseFrontAsset"
}
["basePath"]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/73ad59de"
["baseUrl"]=>
string(16) "/assets/73ad59de"
["js"]=>
array(0) {
}
["jsOptions"]=>
array(0) {
}
["cssOptions"]=>
array(0) {
}
["publishOptions"]=>
array(0) {
}
}
["app\assets\BaseFrontAsset"]=>
object(app\assets\BaseFrontAsset)#150 (9) {
["sourcePath"]=>
string(39) "/var/www/html/docland.ru/static/docland"
["css"]=>
array(6) {
[0]=>
string(17) "css/normalize.css"
[1]=>
string(24) "css/font-awesome.min.css"
[2]=>
string(20) "css/autocomplete.css"
[3]=>
string(23) "css/jquery.fancybox.css"
[4]=>
string(12) "css/main.css"
[5]=>
string(14) "css/mobile.css"
}
["js"]=>
array(10) {
[0]=>
string(22) "js/modernizr-custom.js"
[1]=>
string(13) "js/console.js"
[2]=>
string(21) "js/maskedinput.min.js"
[3]=>
string(29) "js/jquery.autocomplete.min.js"
[4]=>
string(25) "js/jquery.bxslider.min.js"
[5]=>
string(27) "js/jquery.columnizer.min.js"
[6]=>
string(26) "js/jquery.dotdotdot.min.js"
[7]=>
string(26) "js/jquery.fancybox.pack.js"
[8]=>
string(11) "js/popup.js"
[9]=>
string(12) "js/common.js"
}
["depends"]=>
array(1) {
[0]=>
string(16) "yii\web\YiiAsset"
}
["jsOptions"]=>
array(1) {
["position"]=>
int(3)
}
["basePath"]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/73ad59de"
["baseUrl"]=>
string(16) "/assets/73ad59de"
["cssOptions"]=>
array(0) {
}
["publishOptions"]=>
array(0) {
}
}
["yii\web\YiiAsset"]=>
object(yii\web\YiiAsset)#152 (9) {
["sourcePath"]=>
string(51) "/var/www/html/docland.ru/vendor/yiisoft/yii2/assets"
["js"]=>
array(1) {
[0]=>
string(6) "yii.js"
}
["depends"]=>
array(1) {
[0]=>
string(19) "yii\web\JqueryAsset"
}
["basePath"]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/28c4984f"
["baseUrl"]=>
string(16) "/assets/28c4984f"
["css"]=>
array(0) {
}
["jsOptions"]=>
array(1) {
["position"]=>
int(3)
}
["cssOptions"]=>
array(0) {
}
["publishOptions"]=>
array(0) {
}
}
["app\assets\SocialLikesAsset"]=>
object(app\assets\SocialLikesAsset)#168 (9) {
["sourcePath"]=>
string(55) "/var/www/html/docland.ru/vendor/bower/social-likes/dist"
["css"]=>
array(1) {
[0]=>
string(21) "social-likes_flat.css"
}
["js"]=>
array(1) {
[0]=>
string(19) "social-likes.min.js"
}
["depends"]=>
array(1) {
[0]=>
string(19) "yii\web\JqueryAsset"
}
["basePath"]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/4bbdd6a3"
["baseUrl"]=>
string(16) "/assets/4bbdd6a3"
["jsOptions"]=>
array(0) {
}
["cssOptions"]=>
array(0) {
}
["publishOptions"]=>
array(0) {
}
}
}
["basePath"]=>
string(46) "/var/www/html/docland.ru/web/doclandmed/assets"
["baseUrl"]=>
string(7) "/assets"
["assetMap"]=>
array(0) {
}
["linkAssets"]=>
bool(true)
["fileMode"]=>
NULL
["dirMode"]=>
int(509)
["beforeCopy"]=>
NULL
["afterCopy"]=>
NULL
["forceCopy"]=>
bool(false)
["appendTimestamp"]=>
bool(true)
["hashCallback"]=>
NULL
["_dummyBundles":"yii\web\AssetManager":private]=>
array(0) {
}
["_converter":"yii\web\AssetManager":private]=>
object(yii\web\AssetConverter)#146 (5) {
["commands"]=>
array(6) {
["less"]=>
array(2) {
[0]=>
string(3) "css"
[1]=>
string(41) "lessc {from} {to} --no-color --source-map"
}
["scss"]=>
array(2) {
[0]=>
string(3) "css"
[1]=>
string(28) "sass {from} {to} --sourcemap"
}
["sass"]=>
array(2) {
[0]=>
string(3) "css"
[1]=>
string(28) "sass {from} {to} --sourcemap"
}
["styl"]=>
array(2) {
[0]=>
string(3) "css"
[1]=>
string(22) "stylus < {from} > {to}"
}
["coffee"]=>
array(2) {
[0]=>
string(2) "js"
[1]=>
string(23) "coffee -p {from} > {to}"
}
["ts"]=>
array(2) {
[0]=>
string(2) "js"
[1]=>
string(21) "tsc --out {to} {from}"
}
}
["forceConvert"]=>
bool(false)
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["_published":"yii\web\AssetManager":private]=>
array(4) {
["/var/www/html/docland.ru/vendor/bower/jquery/dist"]=>
array(2) {
[0]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/cf1294d6"
[1]=>
string(16) "/assets/cf1294d6"
}
["/var/www/html/docland.ru/static/docland"]=>
array(2) {
[0]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/73ad59de"
[1]=>
string(16) "/assets/73ad59de"
}
["/var/www/html/docland.ru/vendor/yiisoft/yii2/assets"]=>
array(2) {
[0]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/28c4984f"
[1]=>
string(16) "/assets/28c4984f"
}
["/var/www/html/docland.ru/vendor/bower/social-likes/dist"]=>
array(2) {
[0]=>
string(55) "/var/www/html/docland.ru/web/doclandmed/assets/4bbdd6a3"
[1]=>
string(16) "/assets/4bbdd6a3"
}
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["frontAsset"]=>
object(app\assets\FrontAsset)#147 (9) {
["sourcePath"]=>
string(39) "/var/www/html/docland.ru/static/docland"
["css"]=>
array(0) {
}
["depends"]=>
array(1) {
[0]=>
string(25) "app\assets\BaseFrontAsset"
}
["basePath"]=>
NULL
["baseUrl"]=>
NULL
["js"]=>
array(0) {
}
["jsOptions"]=>
array(0) {
}
["cssOptions"]=>
array(0) {
}
["publishOptions"]=>
array(0) {
}
}
["session"]=>
object(yii\web\Session)#412 (8) {
["flashParam"]=>
string(7) "__flash"
["handler"]=>
NULL
["_cookieParams":"yii\web\Session":private]=>
array(1) {
["httponly"]=>
bool(true)
}
["frozenSessionData":"yii\web\Session":private]=>
NULL
["_hasSessionId":"yii\web\Session":private]=>
NULL
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
}
["_definitions":"yii\di\ServiceLocator":private]=>
array(34) {
["errorHandler"]=>
array(2) {
["errorAction"]=>
string(10) "site/error"
["class"]=>
string(20) "yii\web\ErrorHandler"
}
["authManager"]=>
array(1) {
["class"]=>
string(18) "yii\rbac\DbManager"
}
["assetsAutoCompress"]=>
array(6) {
["class"]=>
string(33) "app\components\AssetsAutoCompress"
["enabled"]=>
bool(true)
["cssFileCompile"]=>
bool(true)
["cssCompress"]=>
bool(true)
["jsFileCompile"]=>
bool(false)
["jsCompress"]=>
bool(false)
}
["request"]=>
array(4) {
["cookieValidationKey"]=>
string(32) "szRDj2ALlUXe91N9_-EOjbldVBEZdJ9A"
["enableCsrfValidation"]=>
bool(false)
["enableCookieValidation"]=>
bool(false)
["class"]=>
string(26) "app\components\LangRequest"
}
["formatter"]=>
array(3) {
["sizeFormatBase"]=>
int(1024)
["nullDisplay"]=>
string(0) ""
["class"]=>
string(18) "yii\i18n\Formatter"
}
["view"]=>
array(1) {
["class"]=>
string(19) "app\components\View"
}
["cache"]=>
array(2) {
["class"]=>
string(15) "yii\redis\Cache"
["redis"]=>
array(3) {
["hostname"]=>
string(9) "localhost"
["port"]=>
int(6379)
["database"]=>
int(0)
}
}
["user"]=>
array(3) {
["identityClass"]=>
string(15) "app\models\User"
["enableAutoLogin"]=>
bool(true)
["class"]=>
string(12) "yii\web\User"
}
["mailer"]=>
array(1) {
["class"]=>
string(22) "yii\swiftmailer\Mailer"
}
["log"]=>
array(3) {
["traceLevel"]=>
int(0)
["targets"]=>
array(1) {
[0]=>
array(2) {
["class"]=>
string(18) "yii\log\FileTarget"
["levels"]=>
array(2) {
[0]=>
string(5) "error"
[1]=>
string(7) "warning"
}
}
}
["class"]=>
string(18) "yii\log\Dispatcher"
}
["assetManager"]=>
array(4) {
["appendTimestamp"]=>
bool(true)
["linkAssets"]=>
bool(true)
["bundles"]=>
array(4) {
["yii\web\JqueryAsset"]=>
array(1) {
["js"]=>
array(1) {
[0]=>
string(13) "jquery.min.js"
}
}
["yii\bootstrap\BootstrapAsset"]=>
array(1) {
["css"]=>
array(1) {
[0]=>
string(21) "css/bootstrap.min.css"
}
}
["yii\bootstrap\BootstrapPluginAsset"]=>
array(1) {
["js"]=>
array(1) {
[0]=>
string(19) "js/bootstrap.min.js"
}
}
["kartik\daterange\MomentAsset"]=>
array(1) {
["depends"]=>
array(1) {
[0]=>
string(19) "yii\web\JqueryAsset"
}
}
}
["class"]=>
string(20) "yii\web\AssetManager"
}
["ih"]=>
array(1) {
["class"]=>
string(27) "app\components\ImageHandler"
}
["i18n"]=>
array(2) {
["translations"]=>
array(2) {
["app*"]=>
array(1) {
["class"]=>
string(34) "app\components\CustomMessageSource"
}
["seo*"]=>
array(1) {
["class"]=>
string(34) "app\components\CustomMessageSource"
}
}
["class"]=>
string(13) "yii\i18n\I18N"
}
["seo"]=>
array(1) {
["class"]=>
string(29) "app\components\seo\SeoManager"
}
["clinicSearch"]=>
array(1) {
["class"]=>
string(34) "app\components\search\ClinicSearch"
}
["doctorSearch"]=>
array(1) {
["class"]=>
string(34) "app\components\search\DoctorSearch"
}
["uploads"]=>
array(1) {
["class"]=>
string(33) "herroffizier\yii2um\UploadManager"
}
["urlManager"]=>
array(4) {
["enablePrettyUrl"]=>
bool(true)
["showScriptName"]=>
bool(false)
["rules"]=>
array(27) {
["manage//"]=>
string(28) "manage//"
["manage/"]=>
string(25) "manage//index"
["manage"]=>
string(20) "manage/default/index"
["/"]=>
string(10) "site/index"
[""]=>
string(13) "site/"
[""]=>
string(10) "page/index"
["/"]=>
string(27) "//index"
["//"]=>
string(30) "//"
["countries"]=>
string(13) "country/index"
["clinics"]=>
string(12) "search/index"
["illnesses"]=>
string(13) "disease/index"
["certificates"]=>
string(17) "certificate/index"
["certificates/ "]=>
string(16) "certificate/view"
["blog/tags/"]=>
string(9) "blog/tags"
["blog/tags"]=>
string(10) "blog/cloud"
["blog/page/"]=>
string(10) "blog/index"
["blog/"]=>
string(9) "blog/view"
["blog"]=>
string(10) "blog/index"
["sitemap///"]=>
string(19) "sitemap/city-branch"
["sitemap//"]=>
string(22) "sitemap/country-branch"
[0]=>
array(1) {
["class"]=>
string(28) "app\components\DoctorUrlRule"
}
[1]=>
array(1) {
["class"]=>
string(32) "app\components\SpecialityUrlRule"
}
[2]=>
array(1) {
["class"]=>
string(29) "app\components\CountryUrlRule"
}
[3]=>
array(1) {
["class"]=>
string(26) "app\components\CityUrlRule"
}
[4]=>
array(1) {
["class"]=>
string(29) "app\components\DiseaseUrlRule"
}
[5]=>
array(1) {
["class"]=>
string(28) "app\components\BranchUrlRule"
}
[6]=>
array(1) {
["class"]=>
string(28) "app\components\ClinicUrlRule"
}
}
["class"]=>
string(29) "app\components\LangUrlManager"
}
["paymentService"]=>
array(5) {
["class"]=>
string(23) "app\components\Best2Pay"
["server"]=>
string(32) "https://pay.best2pay.net/webapi/"
["sector"]=>
int(388)
["password"]=>
string(9) "d30O7qW6X"
["callbackUrl"]=>
array(1) {
[0]=>
string(30) "/partner/balance/check-payment"
}
}
["db"]=>
array(8) {
["class"]=>
string(17) "yii\db\Connection"
["dsn"]=>
string(42) "mysql:host=localhost;dbname=docland28mar22"
["username"]=>
string(10) "doclandusr"
["password"]=>
string(16) "0R6K7XXucIEyjQ2b"
["charset"]=>
string(4) "utf8"
["enableSchemaCache"]=>
bool(true)
["schemaCacheDuration"]=>
int(3600)
["schemaCache"]=>
string(5) "cache"
}
["seoBranchPage"]=>
array(1) {
["class"]=>
string(29) "app\components\seo\BranchPage"
}
["seoIndexPage"]=>
array(1) {
["class"]=>
string(28) "app\components\seo\IndexPage"
}
["seoBlogPage"]=>
array(1) {
["class"]=>
string(27) "app\components\seo\BlogPage"
}
["seoCertificatePage"]=>
array(1) {
["class"]=>
string(34) "app\components\seo\CertificatePage"
}
["seoCityPage"]=>
array(1) {
["class"]=>
string(27) "app\components\seo\CityPage"
}
["seoClinicPage"]=>
array(1) {
["class"]=>
string(29) "app\components\seo\ClinicPage"
}
["seoCountryPage"]=>
array(1) {
["class"]=>
string(30) "app\components\seo\CountryPage"
}
["seoDiseasePage"]=>
array(1) {
["class"]=>
string(30) "app\components\seo\DiseasePage"
}
["seoDoctorPage"]=>
array(1) {
["class"]=>
string(29) "app\components\seo\DoctorPage"
}
["seoSpecialityPage"]=>
array(1) {
["class"]=>
string(33) "app\components\seo\SpecialityPage"
}
["frontAsset"]=>
array(1) {
["class"]=>
string(21) "app\assets\FrontAsset"
}
["security"]=>
array(1) {
["class"]=>
string(17) "yii\base\Security"
}
["response"]=>
array(1) {
["class"]=>
string(16) "yii\web\Response"
}
["session"]=>
array(1) {
["class"]=>
string(15) "yii\web\Session"
}
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
["defaultAction"]=>
string(5) "index"
["action"]=>
object(yii\base\InlineAction)#65 (6) {
["actionMethod"]=>
string(10) "actionView"
["id"]=>
string(4) "view"
["controller"]=>
*RECURSION*
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["_view":"yii\base\Controller":private]=>
*RECURSION*
["_viewPath":"yii\base\Controller":private]=>
string(35) "/var/www/html/docland.ru/views/blog"
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
["params"]=>
array(1) {
["breadcrumbs"]=>
array(2) {
[0]=>
array(2) {
["label"]=>
string(20) "Medical tourism blog"
["url"]=>
array(1) {
[0]=>
string(10) "blog/index"
}
}
[1]=>
array(1) {
["label"]=>
NULL
}
}
}
["renderers"]=>
NULL
["defaultExtension"]=>
string(3) "php"
["theme"]=>
NULL
["blocks"]=>
NULL
["cacheStack"]=>
array(0) {
}
["dynamicPlaceholders"]=>
array(0) {
}
["_viewFiles":"yii\base\View":private]=>
array(1) {
[0]=>
string(48) "/var/www/html/docland.ru/views/layouts/front.php"
}
["_events":"yii\base\Component":private]=>
array(2) {
["beforeRender"]=>
array(1) {
[0]=>
array(2) {
[0]=>
object(Closure)#19 (2) {
["static"]=>
array(1) {
["applied"]=>
bool(true)
}
["this"]=>
object(app\components\seo\SeoManager)#18 (5) {
["providers":protected]=>
array(1) {
[0]=>
object(app\models\Post)#88 (11) {
["_concatenatedTags":protected]=>
NULL
["_attributes":"yii\db\BaseActiveRecord":private]=>
array(15) {
["id"]=>
int(39)
["created_at"]=>
string(19) "2016-12-12 19:59:13"
["updated_at"]=>
string(19) "2017-01-18 18:01:00"
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["preview_image"]=>
string(37) "05da7fd043dbecc9f52ea79ccc534a3f.jpeg"
["og_image"]=>
string(36) "29c6602f4f01c6715f8abb40d4e82f5f.jpg"
["no_index"]=>
int(0)
["source"]=>
string(0) ""
["seo_title"]=>
NULL
["seo_h1"]=>
NULL
["seo_description"]=>
NULL
["seo_keywords"]=>
NULL
}
["_oldAttributes":"yii\db\BaseActiveRecord":private]=>
array(15) {
["id"]=>
int(39)
["created_at"]=>
string(19) "2016-12-12 19:59:13"
["updated_at"]=>
string(19) "2017-01-18 18:01:00"
["name"]=>
string(104) "Рождественское предложение от клиник Германии и Испании"
["rewrite_name"]=>
string(57) "rozhdestvenskoe-predlozhenie-ot-klinik-germanii-i-ispanii"
["announce"]=>
string(584) "В декабре-январе (2016-2017гг) мы проводим акцию по организации диагностики, лечения, реабилитации в Испании и Германии. В рамках проводимой акции клиентам предоставляются скидки на различные виды лечения, диагностики. Традиционно услуги по сопровождению, переводы, трансферы, размещение на самом высоком уровне.
"
["text"]=>
string(4061) "С декабря 2016 по январь 2017 года включительно раздаём грандиозные скидки на лечение и диагностику в Германии и Испании.
Что мы предлагаем:
Подбор клиники и врача; Трансфер в аэропорт и клинику; Услуги переводчика 24/7. Чтобы оформить заявку, нажмите на кнопку "Обратитесь онлайн" на баннере справа или напишите нам по адресу dd@docland.ru
Германия
Лечение, диагностика, реабилитация – скидка 10%: Пакет «Basis » - 1 день – от 1950 евро; Пакет «Basis Plus » - 2 дня – от 2940 евро; Пакет «Premium » - 3 дня – от 4540 евро Дополнительные пакеты медицинского обследования: Гастроэнтерология – от 1450 евро; Кардиология - от 2500 евро;Ортопедия – от 300 евро; Check-up для курящих – от 1100 евро; Урология – от 350 евро; Гинекология и маммология – от 450 евро; Офтальмология – от 170 евро. Лечение: Ортопедия, травматология, спортивная медицина – от 3500 евро; Кардиология и кардиохирургия – от 3000 евро; Офтальмология – от 1250 евро; Гинекология/маммология – от 5500 евро; Урология – от 3500 евро; Нейрохирургия – от 11000 евро Реабилитация Кардиология – стационар/амбулаторно – 350 евро/250 евро; Неврология – стационар/амбулаторно – 600 евро/350 евро; Ортопедия – стационар/амбулаторно – 450 евро/300 евро
Испания Диагностические исследования - скидка 10% CHECK-UP Общий - от 588 EUR CHECK-UP Кардиологический - от 581 EURCHECK-UP Гинекологический - от 769 EUR CHECK-UP Мужской - от 688 EUR CHECK-UP Женский - от 826 EUR Эстетическая медицина Программа «Забота о красоте тела – идеальный силуэт». Программа включает в себя 6 сеансов карбокситерапии, 6 сеансов радиочастотной терапии, 6 сеансов пресотерапиию. В подарок консультация диетолога по правильному питанию. Стоимость программы 450 евро.
Увеличение груди с использованием протезов Allergan. Стоимость 3950 евро . Первая консультация – в подарок
"
["preview_image"]=>
string(37) "05da7fd043dbecc9f52ea79ccc534a3f.jpeg"
["og_image"]=>
string(36) "29c6602f4f01c6715f8abb40d4e82f5f.jpg"
["no_index"]=>
int(0)
["source"]=>
string(0) ""
["seo_title"]=>
NULL
["seo_h1"]=>
NULL
["seo_description"]=>
NULL
["seo_keywords"]=>
NULL
}
["_related":"yii\db\BaseActiveRecord":private]=>
array(1) {
["translation"]=>
object(app\models\PostLang)#112 (10) {
["_attributes":"yii\db\BaseActiveRecord":private]=>
array(12) {
["id"]=>
int(36)
["post_id"]=>
int(39)
["language"]=>
string(2) "en"
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["source"]=>
string(0) ""
["seo_title"]=>
NULL
["seo_h1"]=>
NULL
["seo_description"]=>
NULL
["seo_keywords"]=>
NULL
}
["_oldAttributes":"yii\db\BaseActiveRecord":private]=>
array(12) {
["id"]=>
int(36)
["post_id"]=>
int(39)
["language"]=>
string(2) "en"
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["source"]=>
string(0) ""
["seo_title"]=>
NULL
["seo_h1"]=>
NULL
["seo_description"]=>
NULL
["seo_keywords"]=>
NULL
}
["_related":"yii\db\BaseActiveRecord":private]=>
array(0) {
}
["_relationsDependencies":"yii\db\BaseActiveRecord":private]=>
array(0) {
}
["_errors":"yii\base\Model":private]=>
NULL
["_validators":"yii\base\Model":private]=>
NULL
["_scenario":"yii\base\Model":private]=>
string(7) "default"
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}
}
["_relationsDependencies":"yii\db\BaseActiveRecord":private]=>
array(0) {
}
["_errors":"yii\base\Model":private]=>
NULL
["_validators":"yii\base\Model":private]=>
NULL
["_scenario":"yii\base\Model":private]=>
string(7) "default"
["_events":"yii\base\Component":private]=>
array(7) {
["afterFind"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(9) "afterFind"
}
[1]=>
NULL
}
}
["afterUpdate"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(11) "afterUpdate"
}
[1]=>
NULL
}
}
["afterInsert"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(11) "afterInsert"
}
[1]=>
NULL
}
}
["afterDelete"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(11) "afterDelete"
}
[1]=>
NULL
}
}
["beforeValidate"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
string(14) "beforeValidate"
}
[1]=>
NULL
}
}
["beforeInsert"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(yii\behaviors\TimestampBehavior)#94 (7) {
["createdAtAttribute"]=>
string(10) "created_at"
["updatedAtAttribute"]=>
string(10) "updated_at"
["value"]=>
object(Closure)#91 (1) {
["this"]=>
*RECURSION*
}
["attributes"]=>
array(2) {
["beforeInsert"]=>
array(2) {
[0]=>
string(10) "created_at"
[1]=>
string(10) "updated_at"
}
["beforeUpdate"]=>
string(10) "updated_at"
}
["skipUpdateOnClean"]=>
bool(true)
["preserveNonEmptyValues"]=>
bool(false)
["owner"]=>
*RECURSION*
}
[1]=>
string(18) "evaluateAttributes"
}
[1]=>
NULL
}
}
["beforeUpdate"]=>
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
object(yii\behaviors\TimestampBehavior)#94 (7) {
["createdAtAttribute"]=>
string(10) "created_at"
["updatedAtAttribute"]=>
string(10) "updated_at"
["value"]=>
object(Closure)#91 (1) {
["this"]=>
*RECURSION*
}
["attributes"]=>
array(2) {
["beforeInsert"]=>
array(2) {
[0]=>
string(10) "created_at"
[1]=>
string(10) "updated_at"
}
["beforeUpdate"]=>
string(10) "updated_at"
}
["skipUpdateOnClean"]=>
bool(true)
["preserveNonEmptyValues"]=>
bool(false)
["owner"]=>
*RECURSION*
}
[1]=>
string(18) "evaluateAttributes"
}
[1]=>
NULL
}
}
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(2) {
[0]=>
object(app\components\MultilingualBehavior)#93 (12) {
["attributes"]=>
array(9) {
[0]=>
string(4) "name"
[1]=>
string(12) "rewrite_name"
[2]=>
string(6) "source"
[3]=>
string(8) "announce"
[4]=>
string(4) "text"
[5]=>
string(6) "seo_h1"
[6]=>
string(9) "seo_title"
[7]=>
string(12) "seo_keywords"
[8]=>
string(15) "seo_description"
}
["languages"]=>
array(1) {
[0]=>
string(2) "en"
}
["defaultLanguage"]=>
string(2) "ru"
["tableName"]=>
string(9) "lang_post"
["langClassName"]=>
string(19) "app\models\PostLang"
["langClassSuffix"]=>
string(4) "Lang"
["langForeignKey"]=>
string(7) "post_id"
["languageField"]=>
string(8) "language"
["forceDelete"]=>
bool(true)
["currentLanguage"]=>
string(2) "en"
["langAttributes":"app\components\MultilingualBehavior":private]=>
array(9) {
["name"]=>
string(49) "Christmas offer from clinics in Germany and Spain"
["rewrite_name"]=>
string(49) "christmas-offer-from-clinics-in-germany-and-spain"
["source"]=>
string(0) ""
["announce"]=>
string(350) "From December 2016 to January 2017 give out great discounts for treatment and diagnostics in Germany and Spain.
What we offer:
Choice of clinic and doctor;
Transfer to the airport and the clinic;
Interpreter services 24/7.
To apply, click on the "Go online" on the banner to the right or email us at dd@docland.ru
"
["text"]=>
string(1853) "Germany Treatment, diagnosis, rehabilitation – 10% discount: Package "basic" - 1 day – from 1950 € Package "Basis Plus" - 2 days – from 2940 Euro; Package "Premium" - 3 day – 4540 EUR Additional medical examinations: Gastroenterology – from 1450 Euro; Cardiology - from 2500 Euro; Orthopedics – 300 Euro; Check-up for smokers – from 1100 Euro; Urology – from 350 € Gynaecology and mammology from 450 Euro; Ophthalmology – from 170 euros. Treatment: Orthopedics, traumatology, sports medicine – from 3500 euros; Cardiology and cardiac surgery – from 3000 Euro; Ophthalmology – from 1250 EUR; Gynecology/mammology – 5,500 euros; Urology – from 3500 euros; Neurosurgery – from 11,000 euros Rehabilitation Cardiology – inpatient/outpatient 350 Euro 250 Euro; Neurology – inpatient/outpatient – 600 euros/350 euros; Orthopedics – inpatient/outpatient – 450 euros/300 eurosSpain Diagnostic tests - 10% discount CHECK-UP General from 588 EUR CHECK-UP Cardiology, from 581 EUR CHECK-UP Gynecological - 769 EUR CHECK-UP for Men - from 688 EUR CHECK-UP Women - from 826 EUR Aesthetic medicine The program "Caring for the beauty of the body – the perfect silhouette". The program includes 6 sessions of carboxytherapy, 6 sessions RF treatment 6 sessions pressotherapy. In the present consultation on nutrition. The program costs 450 Euro. Breast augmentation using Allergan prosthesis. The cost of 3950 euros. The first consultation is a gift
"
["seo_h1"]=>
NULL
["seo_title"]=>
NULL
["seo_keywords"]=>
NULL
["seo_description"]=>
NULL
}
["owner"]=>
*RECURSION*
}
[1]=>
object(yii\behaviors\TimestampBehavior)#94 (7) {
["createdAtAttribute"]=>
string(10) "created_at"
["updatedAtAttribute"]=>
string(10) "updated_at"
["value"]=>
object(Closure)#91 (1) {
["this"]=>
*RECURSION*
}
["attributes"]=>
array(2) {
["beforeInsert"]=>
array(2) {
[0]=>
string(10) "created_at"
[1]=>
string(10) "updated_at"
}
["beforeUpdate"]=>
string(10) "updated_at"
}
["skipUpdateOnClean"]=>
bool(true)
["preserveNonEmptyValues"]=>
bool(false)
["owner"]=>
*RECURSION*
}
}
}
}
["bindParams":protected]=>
array(0) {
}
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
}
[1]=>
NULL
}
}
["endPage"]=>
array(1) {
[0]=>
array(2) {
[0]=>
object(Closure)#22 (2) {
["this"]=>
object(app\components\AssetsAutoCompress)#23 (12) {
["enabled"]=>
bool(true)
["jsCompress"]=>
bool(false)
["jsCompressFlaggedComments"]=>
bool(true)
["cssCompress"]=>
bool(true)
["cssFileCompile"]=>
bool(true)
["cssFileCompress"]=>
bool(false)
["cssFileBottom"]=>
bool(false)
["jsFileCompile"]=>
bool(false)
["jsFileCompress"]=>
bool(true)
["_events":"yii\base\Component":private]=>
array(0) {
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
NULL
}
["parameter"]=>
array(1) {
["$e"]=>
string(10) ""
}
}
[1]=>
NULL
}
}
}
["_eventWildcards":"yii\base\Component":private]=>
array(0) {
}
["_behaviors":"yii\base\Component":private]=>
array(0) {
}
}