Объявления

на первую страницу сайта
Земля в Вологодской области



ml_cfg=array_merge($this->option,$this->ml_cfg); if($_REQUEST[$this->ml_cfg[dbg]]==1){$this->option[debugmode]=1;} if($this->option[debugmode]) $this->option[debug_info]= "
\n\nLoad MainLink mode.{$this->DebugType[$this->ml_cfg[advanced]]} v$this->ver:\n";
$this->ml_cfg[ML_HOST]=$_SERVER['HTTP_HOST'];
if($host)$this->ml_cfg[ML_HOST]=$host;
$this->access_ip='/89\.249\.18\.60/'; // IP системы ML
return $this->_GetData($number_of_block,$parts,1);
}

// Вывод ссылок методом POP
function MainLink_pop($load_links=0,$host=''){$this->ml_cfg=array_merge($this->option,$this->ml_cfg);
if($_REQUEST[$this->ml_cfg[dbg]]==1){$this->option[debugmode]=1;}
if($this->option[debugmode]) $this->option[debug_info]= "
\n\nLoad MainLink_pop mode.{$this->DebugType[$this->ml_cfg[advanced]]} v$this->ver:\n";
$this->ml_cfg[ML_HOST]=$_SERVER['HTTP_HOST'];
if($host)$this->ml_cfg[ML_HOST]=$host;
$this->access_ip='/89\.249\.18\.60/'; // IP системы ML
return $this->_GetData($number_of_block,null,1);
}

//
// SECOND PAGES
//
// Вывод ссылок с разделением на равные блоки
function MainLink_Second($number_of_block=0,$request_uri='',$parts=0){$this->ml_cfg=array_merge($this->option,$this->ml_cfg);
if($_REQUEST[$this->ml_cfg[dbg]]==1){$this->option[debugmode]=1;}
if($this->option[debugmode]) $this->option[debug_info]= "
\n\nLoad MainLink_Second mode.{$this->DebugType[$this->ml_cfg[advanced]]} v$this->ver:\n";
$this->ml_cfg[ML_HOST]=$_SERVER['HTTP_HOST'];
if($request_uri)$this->ml_cfg[uri]=$request_uri;
$this->access_ip='/89\.249\.18\.60/'; // IP системы ML
return $this->_GetData($number_of_block,$parts,0);
}

// Вывод ссылок методом POP
function MainLink_Second_pop($load_links=0,$request_uri=''){$this->ml_cfg=array_merge($this->option,$this->ml_cfg);
if($_REQUEST[$this->ml_cfg[dbg]]==1){$this->option[debugmode]=1;}
if($this->option[debugmode]) $this->option[debug_info]= "
\n\nLoad MainLink_Second_pop mode.{$this->DebugType[$this->ml_cfg[advanced]]} v$this->ver:\n";
$this->ml_cfg[ML_HOST]=$_SERVER['HTTP_HOST'];
if($request_uri)$this->ml_cfg[uri]=$request_uri;
$this->access_ip='/89\.249\.18\.60/'; // IP системы ML
return $this->_GetData($number_of_block,null,0);
}

//
// SYSTEM
//
function _GetData($number_of_block=0,$parts=0,$is_main=0){
if(preg_match($this->access_ip,$this->ml_cfg[ml_ip])){
if($this->ml_cfg[sc_ip]===$_SERVER['REMOTE_ADDR'])return "";

if($is_main){
	$op='data_main';
	$this->ml_cfg[ml_host_name]='universal.mainlink.ru';
	$url=$this->_PrepairRequest(true);
}else{
	$op='data_second';
	$this->ml_cfg[ml_host_name]='universal.mainlink.ru';
	$url=$this->_PrepairRequest(false);
}

$url.=($this->ml_cfg[charset]?"&cs={$this->ml_cfg[charset]}":'').($this->option[debugmode]?'&d=1':'');
if($this->option[debugmode]) $this->option[debug_info].="Char set: {$this->ml_cfg[charset]}";

// RESTORE DATA
if(!$this->option["$op"]){
if($this->ml_cfg[use_cache] and !$_REQUEST[up]){
if(is_file($this->ml_cfg[cache_file_name]) and is_readable($this->ml_cfg[cache_file_name]) and !$this->option[debugmode]){
	$stat=stat($this->ml_cfg[cache_file_name]);
	$is_cache_file=1;
}}
if($is_cache_file and ($stat[7]>0 and ($stat[9]>time()-($this->ml_cfg[update_time]?$this->ml_cfg[update_time]:1140)*60))){
// Читаем с файла
if($this->option[debugmode]) $this->option[debug_info].= "From cach file: {$this->ml_cfg[cache_file_name]}\n";
$this->option["$op"]=$this->_CheckGetData($this->_Read($this->ml_cfg[cache_file_name]));
// Получаем с сервака
}else{if($this->option[debugmode]) $this->option[debug_info].= "$op: Try get by {$this->DebugDescConnect[$this->ml_cfg[connect]-1]}: $url\n";

	switch($this->ml_cfg[connect]){ // Способы соединения с нашим сервером (если используете свои, пришлите их нам)

	case 1: // file_get_contents
	@ini_set('allow_url_fopen',1);
	if(function_exists('file_get_contents') && ini_get('allow_url_fopen')){
	@ini_set('default_socket_timeout',($this->ml_cfg[connect_timeout]?$this->ml_cfg[connect_timeout]:5));
	$url="http://{$this->ml_cfg[ml_host_name]}/l.aspx?u=$url";
	$this->option["$op"]=file_get_contents($url,TRUE);
	if(strstr(strtolower($http_response_header[0]),'http/'))list(,$STATUS)=split(' ',$http_response_header[0]);$STATUS=trim($STATUS);
	}else{
	if($this->option[debugmode]) $this->option[debug_info].= "Don`t avialable: file_get_contents()!\n";
	}
	break;

	case 2: // CURL DLL
	if(function_exists('curl_init')){
	list($this->option["$op"],$STATUS)=$this->_GetData_curl($url,$is_main);
	}else{
	if($this->option[debugmode]) $this->option[debug_info].= "Don`t avialable: CURL!\n";
	}
	break;

	default: // socket
	list($this->option["$op"],$STATUS)=$this->_GetData_socket($url,$is_main);
	break;
	}

	if(($STATUS==200 and (substr($this->option["$op"],1,6)==''?1:0)) or
	 (!$this->option["$op"] and $STATUS!=200)){// Если данных от сервера нет

		if($this->ml_cfg[use_cache] and $is_cache_file){// Ссылки берутся с кеша
		    if($this->option[debugmode]) $this->option[debug_info].= "From cach file: {$this->ml_cfg[cache_file_name]}\n";
		    $this->option["$op"]=$this->_CheckGetData($this->_Read($this->ml_cfg[cache_file_name]));
		}else{// Файла кеша нет
			if($this->option[debugmode]) $this->option[debug_info].= "Host error or links` list is empty\n";
			return;
		}

	}else{// Данные от сервера получены

	    // Данные содержат ссылки
		if($this->option["$op"]){

		    $this->option["$op"]=explode(' | ',$this->option["$op"]); //грабим ссылки

		    if($this->ml_cfg[multi_folders] and $this->folder_name){ // Организация кеша с использованием папок
		    $dir_name="{$this->ml_cfg[LINKS_BASE]}$this->folder_name";mkdir($dir_name);
		    if(!is_writable($dir_name)){
			$is_chmod=chmod($dir_name,0777);
			if(!$is_chmod){if($this->option[debugmode]) $this->option[debug_info].= "File don`t save in folder $dir_name!\n";}
		    }}

			if($this->ml_cfg[use_cache] and !$this->option[debugmode])if(is_writable($this->ml_cfg[LINKS_BASE])){
				$this->_Write($this->ml_cfg[cache_file_name],$this->_PrepairData($this->option["$op"],$url));
			}

		}else{// Ссылки отсутствуют

		    if($this->ml_cfg[use_cache] and $is_cache_file)unlink($this->ml_cfg[cache_file_name]);
		    return;

		}

	}

}
	if(!$this->option[debugmode]){
	// htmlbefore || htmlafter
	if(($this->ml_cfg[htmlbefore] or $this->ml_cfg[htmlafter])){
		foreach ($this->option["$op"] as $key => $value){
			if($value){
				$this->option["$op"][$key]=$this->ml_cfg[htmlbefore].trim($value).$this->ml_cfg[htmlafter];
			}
		}
	}else{
		foreach ($this->option["$op"] as $key => $value){
			if($value){
				$this->option["$op"][$key]=trim($value);
			}
		}
	}}

}else{

	if($this->option[debugmode]) $this->option[debug_info].= "Data is set ".(is_array($this->option["$op"])?'array.':'var.').count($this->option["$op"])."\n";
	if(!$this->ml_cfg[advanced])return;

}

if($this->option["$op"]){

	if($this->option[debugmode]) $this->option[debug_info].="Data receive: ".join($this->ml_cfg[splitter],$this->option["$op"])."\n";

	if($this->option["$op"]>1){

		if($parts!==null){

			// Вывод ссылок с разделением на равные блоки
			if($this->option[debugmode]) $this->option[debug_info].= "Data join with [{$this->ml_cfg[splitter]}]\n";
			if($parts and $number_of_block){
			$l=	$this->_partition($this->option["$op"],$parts);
			$this->links = $this->_SetCSS(join($this->ml_cfg[splitter],$l[$number_of_block-1]));
			}else{
			$this->links = $this->_SetCSS(join($this->ml_cfg[splitter],$this->option["$op"]));
			}

		}else{

			// Вывод ссылок методом POP
			$nlinks = count($this->option["$op"]);
        	if (!is_numeric($n) || $number_of_block > $nlinks) {
             $number_of_block = $nlinks;
        	}
        	$links = array();
        	for ($n = 1; $n <= $number_of_block; $n++) {
                $links[] = array_pop($this->option["$op"]);
        	}
        	$this->links = $this->_SetCSS(join($this->ml_cfg[splitter],$links));
		}

	}else{

		$this->links = $this->_SetCSS($this->option["$op"][0]);

	}

}else{

	if($this->option[debugmode]) $this->option[debug_info].="Data receive is empty.\n";
}

$data=$this->_load_links();
unset($this->ml_cfg);
return $data.($this->option[debugmode]?$this->option[debug_info].'
':'').$this->messages; }else{ unset($this->ml_cfg); if($this->option[debugmode]){ $this->option[debug_info].= "Don`t install!\n".$this->messages; $this->option[debug_info].='
'."Универсальный скрипт не установлен.
\n"; } } } function _SetCSS($data){ if($this->ml_cfg[style])$data=@preg_replace("/ml_cfg[class_name])$data=@preg_replace("/(?:ml_cfg[ml_host_name], 80, $errno, $errstr, ($this->ml_cfg[connect_timeout]?$this->ml_cfg[connect_timeout]:5)); if($so){@fputs($so, $request); while($line!="\r\n"){$line=@fgets($so); if(!$code){if(strstr(strtolower($line),'http/'))list(,$code)=split(' ',$line);$code=trim($code);} } while(!feof($so))$li.=@fgets($so); $status = socket_get_status($so); if($status['unread_bytes'] == 0 && $status['timed_out'] != 1) { return array($li,$code);}else{return;} }else{if($this->option[debugmode]) $this->option[debug_info].= "Error: don`t open socket!\n";return 0;}} function _GetData_curl($url,$main=0){ $request = "{$this->ml_cfg[ml_host_name]}/l.aspx?u=$url"; $ch = @curl_init(); if($ch){ curl_setopt ($ch, CURLOPT_URL,$request); curl_setopt ($ch, CURLOPT_HEADER,0); curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); @curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,($this->ml_cfg[connect_timeout]?$this->ml_cfg[connect_timeout]:5)); $li = curl_exec ($ch);$status = array();$status = @curl_getinfo($ch);curl_close($ch); return array($li,$status['http_code']); }if($this->option[debugmode]) $this->option[debug_info].= "Error: don`t init curl!\n";return 0;} function _PrepairData($data,$url){$_data=array(data=>$data,url=>$url);return serialize($_data);} function _CheckGetData($data){$data=@unserialize($data);$data=$data[data];return $data;} function _Read($filename){ if($this->option[debugmode]) $this->option[debug_info].= "Read from file: $filename\n"; $fp = @fopen($filename, 'rb');if(!$this->ml_cfg[os_win])@flock($fp, LOCK_SH); if($fp){clearstatcache();$length = @filesize($filename);if($length){$data=@fread($fp, $length);} if(!$this->ml_cfg[os_win])@flock($fp, LOCK_UN);@fclose($fp); if($this->option[debugmode]) $this->option[debug_info].="Read from file: OK\n";return $data;}return false;} function _Write($filename,$data){ if($this->option[debugmode]) $this->option[debug_info].= "Write to file: $filename\n"; $fp = @fopen($filename, 'wb');if(!$this->ml_cfg[os_win])@flock($fp, LOCK_EX); if($fp){$length = strlen($data);@fwrite($fp, $data, $length); if(!$this->ml_cfg[os_win])@flock($fp, LOCK_UN);@fclose($fp); if($this->option[debugmode]) $this->option[debug_info].="Write file: OK\n"; return true;}return false;} function _PrepairRequest($is_main){ if($is_main){ $url=$this->ml_cfg[ML_HOST]; if($_REQUEST[dbg])$url = @str_replace(array('/?dbg=1','&dbg=1'), array('',''), $url); if($_REQUEST[up])$url = @str_replace(array('/?up=1','&up=1'), array('',''), $url); }else{$q=''; if(!$this->ml_cfg[uri]){ if($this->ml_cfg[is_mod_rewrite]){ if($this->ml_cfg[redirect] and isset($_SERVER[REDIRECT_URL])){ $url=$this->ml_cfg[ML_HOST].$_SERVER[REDIRECT_URL]; $q='REDIRECT_URL'; }else{ $url=$this->ml_cfg[ML_HOST].$_SERVER[SCRIPT_URL]; $q='SCRIPT_URL'; } }else{ if($this->ml_cfg[srv_iis]){ // IIS Microsoft $url=$this->ml_cfg[ML_HOST].$_SERVER[SCRIPT_NAME]; $q='SCRIPT_NAME'; }else{ // Все остальные сервера $url=$this->ml_cfg[ML_HOST].$_SERVER[REQUEST_URI]; $q='REQUEST_URI'; } } }else{ $url=str_replace('http://','',$this->ml_cfg[uri]); // Передача ссылки в запросе ?uri=http://ваш-сайт/ваша-страница } // Убираем сессию if(session_id()){$session=session_name()."=".session_id(); if($this->option[debugmode]) $this->option[debug_info].="Session clear: $session\n"; //$url = @str_replace($session, '', $url); $pattern = "/[?&]?$session&?/i"; $replacement = ''; $url = preg_replace($pattern, $replacement, $url); } //$url=preg_replace('`(?:www.|\?$)`','', $url); if($_REQUEST[dbg])$url = @str_replace(array('/?dbg=1','&dbg=1'), array('',''), $url); if($_REQUEST[up])$url = @str_replace(array('/?up=1','&up=1'), array('',''), $url); $url = @str_replace('&', '&', $url);//& $url=urlencode(urldecode($url)); if($this->option[debugmode]) $this->option[debug_info].="Select now URL.$q: $url\n"; } if($this->ml_cfg[use_cache]){ $file_name='ml-'.@hexdec(@crc32($url));// создания имени файла кешей if($this->ml_cfg[multi_folders]){ $this->folder_name=substr($file_name,-2).'/'; if(!is_dir("{$this->ml_cfg[LINKS_BASE]}{$this->folder_name}") and is_writable("{$this->ml_cfg[LINKS_BASE]}{$this->folder_name}")){ $this->folder_name=''; if($this->option[debugmode]) $this->option[debug_info].="Can`t use multi folders\n"; } } $this->ml_cfg[cache_file_name]="{$this->ml_cfg[LINKS_BASE]}{$this->folder_name}$file_name.lk"; } return $url; } function _load_links(){ $li = ($this->ml_cfg[span]?'ml_cfg[style_span]?" style=\"{$this->ml_cfg[style_span]}\"":'').($this->ml_cfg[class_name_span]?" class=\"{$this->ml_cfg[class_name_span]}\"":'').'>':''). ($this->ml_cfg[div]?'
ml_cfg[style_div]?" style=\"{$this->ml_cfg[style_div]}\"":'').($this->ml_cfg[class_name_div]?" class=\"{$this->ml_cfg[class_name_div]}\"":'').'>':''). $this->links. ($this->ml_cfg[div]?'
':''). ($this->ml_cfg[span]?'
':''); if($this->dont_work) $this->messages.= "Система не установленна или не сконфигурированна!
\n"; return $li; } function _partition( $input, $num ) { $count = count($input) ; if($count) $input = array_chunk($input, ceil($count/$num)) ; $input = array_pad($input, $num, array()) ; return $input ; } } // // END class ML // // Контроль версий // Определение пути вызова $ml_path=dirname(__FILE__); if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')$ml_path=str_replace('\\','/',preg_replace('!^[a-z]:!i','',($ml_path))); // WIN if(substr($ml_path,-1)!='/')$ml_path.='/'; // Очистка перменных $messages=''; $dont_work=0; // Загрузка файла конфигурации if (!file_exists( "{$ml_path}ml_config.php" ) || filesize( "{$ml_path}ml_config.php" ) < 10) { $messages= "Пожайлуста запустите install.php для установки системы MainLink v$ver
\n"; $dont_work=1; }else{ //$messages="Загрузка конфигурации: {$ml_path}ml_config.php\n"; require_once("{$ml_path}ml_config.php"); } // Инициализация класса $ml = new ML(); $ml->ver=$ver; $ml->option=$ml_cfg; // загрузка конфигурационных данных $ml->messages.=$messages; //Проверка файла конфигурации и вызова функций if(file_exists( $ml->option[ML_ROOT].'install.php') and !$dont_work){$ml->messages.= "Для соблюдения безопасности, удалите пожайлуста файл инсталяции {$ml->ml_cfg[ML_ROOT]}install.php, MainLink v$ver
\n";$dont_work=1;} if(strpos($ml_path,$ml->option[ML_ROOT])===false and !$dont_work){$ml->messages.="Путь вызова {$ml_path}ML.php не соответствует пути ({$ml->option[ML_ROOT]})ML.php введенному при инсталяции!
\n";$dont_work=1;} if($dont_work){$ml->dont_work=$dont_work;$ml->option[debugmode]=$dont_work;} // Вызов функций вывода ссылок при advanced=0 if(!$ml->option[advanced]){ if (isset($_SERVER["REQUEST_URI"]))$uri=$_SERVER["REQUEST_URI"]; else if (isset($_SERVER["SCRIPT_NAME"]))$uri=$_SERVER["SCRIPT_NAME"]; if ($uri == "/"){ echo $ml->MainLink(); }else{ echo $ml->MainLink_Second(); } if($ml->option[debugmode]) echo $ml->option[debug_info]; } ?>
Продажа земельных участков в Подмосковье! Собственник!
Продаем земельные участки в Подмосковье!Участки от 10 соток по Новорижскому шоссе, в дачном поселке ...
 
Продажа земельных участков
Тверская обл,Кимрский р-н д.Головино 15 соток 3-я линия р.Волга 130км от МКАД по Дмитровскому шоссе. ...
 
Продaeтся участок на трассе Москва-Спб
Продается участок площадью 20 соток, находится прямо на трассе Москва- Санкт-Петербург, Новгородская ...
 
Продам садовый участок. Волоколамское шоссе. Истринский
Земельный участок 10 соток в садовом товариществе.60 км от МКАД Волоколамское шоссе. Истринский райо ...
 
Участок 8 сот., Новорижское шоссе, 17 км от МКАД, снт
СНТ "ОЗ ВНИИЭМ" огорожено, оснащено автоматическими воротами, хороший круглогодичный подъе ...
 
Продам дом в Сент Луис (Монтана, США) недорого
Продается кирпичный двухэтажный дом (резиденция) в городе Сент Луис, Монтана, США (St Louis, Montana ...
 
Лучший проект в регионе Махмутлар в Алании
0% рассрочка до 01.06.2015 г. первоначальный взнос 30%Начало строительства 1 ноября 2013, окончани ...
 
Купить недвижимость в Болгарии
Купить недвижимость в Болгарии и избавится от массы проблем с летним отдыхом - не надо собираться на ...
 
Помощь в поиске недвижимости в Испании
Помогу найти варианты для покупки недвижимости в Испании ...
 
Аренда квартир в Анталии.
В Анталии,в районе Коньялты,сдаются в аренду квартиры от 40 до 100 кв.м.в жилом комфортабельном тури ...
 
Аренда и бронирование жилья в Испании
Откройте для себя райский уголок, приезжайте отдыхать на Белом Берегу Средиземного моря. Компания Ви ...
 
Продам дом в деревне
Продам дом в деревне на берегу реки Нерль,на краю небольшого села,250 км от Москвы,100 км от Иванова ...
 
Продажа новых мобильных домов из Англии
Предлагаем новые и реновационные мобильные дома из Англии для Вашей дачи или базы отдыха и доставку ...
 
Дом с участком п. Удельная в Раменском р-не.
Лесной участок 12 соток, в живописном, старо дачном месте, левая сторона от Москвы. Центральный водо ...
 
Продается дом в Новгородской области, деревня Горное Ве
41 м2, участок 50 соток.20 км до райцентра Шимск, 70 км до Великого Новгорода (асфальт) или 35 км по ...
 
Сдам коттедж на Новогодние праздники
Коттедж Выходного дня "Золотая подкова". Расположенный в Новосибирске - уютный, классическ ...
 
Продам дом в Покровке.
Продам жилой дом в Покровке, Березина 143. Общая площадь 400 м.кв., жилая площадь 250 м.кв., земель ...
 
Продается деревенский дом 10х7 , зем.уч 30сот (ижс,пмж)
Продается деревенский дом 10х7 , на земельном участке 30 соток (ИЖС, ПМЖ) в д.Вороново Неклюдовского ...
 
Продается танхаус
Живописная местность, в которой расположен поселок "Жаворонки-1" - Можайское шоссе, 20-й к ...
 
Дом в черте города в элитном поселке
Поселок Екатериновка располагается в черте города Москвы, на Западе, в сосновом бору. Такое располож ...
 
Аренда торгово-офисного помещения в Балашихе 90м2
Аренда торгово-офисного помещения в Балашихе 90м2, со всеми коммуникациями, парковкой, состояние рем ...
 
Сдается в аренду торговое помещение
Предлагается в аренду торговое помещение, предложение без комиссии для арендатора. Аренда помещений ...
 
3-комн. кв. 66 кв.м. в гор. Волоколамск
Предлагаем купить трехкомнатную квартиру площадью 66 кв.м. в городе Волоколамск на ул. Щекино. Жилая ...
 
Продается трешка в сталинском доме на Соколе
Продается 3-х ком. кв-ра Волоколамское ш., 13, М Сокол 12 мин. пеш., 5/9 эт. кирп. монументального д ...
 
175 гектаров в Озерском районе
Земельный Участок площадью – 175 гектаров, категория земель: земли сельскохозяйственного назначения, ...
 
Аренда офиса ул Чистопольская 6
В 3х этажном офисном здании сдается офис 60 кв.м. прямая аренда от собственника, видеонаблюдение, эл ...
 
Продается участок площадью 12 соток в го
Продается участок площадью 12 соток в городе Волоколамск Московской области на 2-ом Шаховском проезд ...
 
Продается 2-х комн. квартира м.Щелковска
Продается 2-х комнатная квартира по адресу ул. Байкальская д.37, 5 мин на автобусе от м.Щелковская и ...
 
Продается земля под базу, склад, пр-во, 0.9132 Га,
Продается земля под базу, склад, пр-во, 0.9132 Га, со строением 1 500 кв м (бывший коровник), строен ...
 
Аренда офиса, помещения под отделение ба
Сдам в аренду от собственника без комиссии помещение (офис). Подходит под отделение банка, для тураг ...
 

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
[13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24]
[25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36]
[37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48]
[49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60]
[61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72]
[73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84]
[85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96]
[97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108]
[109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132]
[133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144]
[145] [146] [147] [148] [149] [150]