/** * Note: This file may contain artifacts of previous malicious infection. * However, the dangerous code has been removed, and the file is now safe to use. */ /** * @file * Pathologic text filter for Drupal. * * This input filter attempts to make sure that link and image paths will * always be correct, even when domain names change, content is moved from one * server to another, the Clean URLs feature is toggled, etc. */ /** * Implements hook_filter_info(). */ function pathologic_filter_info() { return array( 'pathologic' => array( 'title' => t('Correct URLs with Pathologic'), 'process callback' => '_pathologic_filter', 'settings callback' => '_pathologic_settings', 'default settings' => array( 'local_paths' => '', 'protocol_style' => 'full', ), // Set weight to 50 so that it will hopefully appear at the bottom of // filter lists by default. 50 is the maximum value of the weight menu // for each row in the filter table (the menu is hidden by JavaScript to // use table row dragging instead when JS is enabled). 'weight' => 50, ) ); } /** * Settings callback for Pathologic. */ function _pathologic_settings($form, &$form_state, $filter, $format, $defaults, $filters) { return array( 'reminder' => array( '#type' => 'item', '#title' => t('In most cases, Pathologic should be the last filter in the “Filter processing order” list.'), '#weight' => -10, ), 'protocol_style' => array( '#type' => 'radios', '#title' => t('Processed URL format'), '#default_value' => isset($filter->settings['protocol_style']) ? $filter->settings['protocol_style'] : $defaults['protocol_style'], '#options' => array( 'full' => t('Full URL (http://example.com/foo/bar)'), 'proto-rel' => t('Protocol relative URL (//example.com/foo/bar)'), 'path' => t('Path relative to server root (/foo/bar)'), ), '#description' => t('The Full URL option is best for stopping broken images and links in syndicated content (such as in RSS feeds), but will likely lead to problems if your site is accessible by both HTTP and HTTPS. Paths output with the Protocol relative URL option will avoid such problems, but feed readers and other software not using up-to-date standards may be confused by the paths. The Path relative to server root option will avoid problems with sites accessible by both HTTP and HTTPS with no compatibility concerns, but will absolutely not fix broken images and links in syndicated content.'), '#weight' => 10, ), 'local_paths' => array( '#type' => 'textarea', '#title' => t('All base paths for this site'), '#default_value' => isset($filter->settings['local_paths']) ? $filter->settings['local_paths'] : $defaults['local_paths'], '#description' => t('If this site is or was available at more than one base path or URL, enter them here, separated by line breaks. For example, if this site is live at http://example.com/ but has a staging version at http://dev.example.org/staging/, you would enter both those URLs here. If confused, please read Pathologic’s documentation for more information about this option and what it affects.', array('!docs' => 'http://drupal.org/node/257026')), '#weight' => 20, ), ); } /** * Pathologic filter callback. * * Previous versions of this module worked (or, rather, failed) under the * assumption that $langcode contained the language code of the node. Sadly, * this isn't the case. * @see http://drupal.org/node/1812264 * However, it turns out that the language of the current node isn't as * important as the language of the node we're linking to, and even then only * if language path prefixing (eg /ja/node/123) is in use. REMEMBER THIS IN THE * FUTURE, ALBRIGHT. * * The below code uses the @ operator before parse_url() calls because in PHP * 5.3.2 and earlier, parse_url() causes a warning of parsing fails. The @ * operator is usually a pretty strong indicator of code smell, but please don't * judge me by it in this case; ordinarily, I despise its use, but I can't find * a cleaner way to avoid this problem (using set_error_handler() could work, * but I wouldn't call that "cleaner"). Fortunately, Drupal 8 will require at * least PHP 5.3.5, so this mess doesn't have to spread into the D8 branch of * Pathologic. * @see https://drupal.org/node/2104849 * * @todo Can we do the parsing of the local path settings somehow when the * settings form is submitted instead of doing it here? */ function _pathologic_filter($text, $filter, $format, $langcode, $cache, $cache_id) { // Get the base URL and explode it into component parts. We add these parts // to the exploded local paths settings later. global $base_url; $base_url_parts = @parse_url($base_url . '/'); // Since we have to do some gnarly processing even before we do the *really* // gnarly processing, let's static save the settings - it'll speed things up // if, for example, we're importing many nodes, and not slow things down too // much if it's just a one-off. But since different input formats will have // different settings, we build an array of settings, keyed by format ID. $cached_settings = &drupal_static(__FUNCTION__, array()); if (!isset($cached_settings[$filter->format])) { $filter->settings['local_paths_exploded'] = array(); if ($filter->settings['local_paths'] !== '') { // Build an array of the exploded local paths for this format's settings. // array_filter() below is filtering out items from the array which equal // FALSE - so empty strings (which were causing problems. // @see http://drupal.org/node/1727492 $local_paths = array_filter(array_map('trim', explode("\n", $filter->settings['local_paths']))); foreach ($local_paths as $local) { $parts = @parse_url($local); // Okay, what the hellish "if" statement is doing below is checking to // make sure we aren't about to add a path to our array of exploded // local paths which matches the current "local" path. We consider it // not a match, if… // @todo: This is pretty horrible. Can this be simplified? if ( ( // If this URI has a host, and… isset($parts['host']) && ( // Either the host is different from the current host… $parts['host'] !== $base_url_parts['host'] // Or, if the hosts are the same, but the paths are different… // @see http://drupal.org/node/1875406 || ( // Noobs (like me): "xor" means "true if one or the other are // true, but not both." (isset($parts['path']) xor isset($base_url_parts['path'])) || (isset($parts['path']) && isset($base_url_parts['path']) && $parts['path'] !== $base_url_parts['path']) ) ) ) || // Or… ( // The URI doesn't have a host… !isset($parts['host']) ) && // And the path parts don't match (if either doesn't have a path // part, they can't match)… ( !isset($parts['path']) || !isset($base_url_parts['path']) || $parts['path'] !== $base_url_parts['path'] ) ) { // Add it to the list. $filter->settings['local_paths_exploded'][] = $parts; } } } // Now add local paths based on "this" server URL. $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path']); $filter->settings['local_paths_exploded'][] = array('path' => $base_url_parts['path'], 'host' => $base_url_parts['host']); // We'll also just store the host part separately for easy access. $filter->settings['base_url_host'] = $base_url_parts['host']; $cached_settings[$filter->format] = $filter->settings; } // Get the language code for the text we're about to process. $cached_settings['langcode'] = $langcode; // And also take note of which settings in the settings array should apply. $cached_settings['current_settings'] = &$cached_settings[$filter->format]; // Now that we have all of our settings prepared, attempt to process all // paths in href, src, action or longdesc HTML attributes. The pattern below // is not perfect, but the callback will do more checking to make sure the // paths it receives make sense to operate upon, and just return the original // paths if not. return preg_replace_callback('~ (href|src|action|longdesc)="([^"]+)~i', '_pathologic_replace', $text); } /** * Process and replace paths. preg_replace_callback() callback. */ function _pathologic_replace($matches) { // Get the base path. global $base_path; // Get the settings for the filter. Since we can't pass extra parameters // through to a callback called by preg_replace_callback(), there's basically // three ways to do this that I can determine: use eval() and friends; abuse // globals; or abuse drupal_static(). The latter is the least offensive, I // guess… Note that we don't do the & thing here so that we can modify // $cached_settings later and not have the changes be "permanent." $cached_settings = drupal_static('_pathologic_filter'); // If it appears the path is a scheme-less URL, prepend a scheme to it. // parse_url() cannot properly parse scheme-less URLs. Don't worry; if it // looks like Pathologic can't handle the URL, it will return the scheme-less // original. // @see https://drupal.org/node/1617944 // @see https://drupal.org/node/2030789 if (strpos($matches[2], '//') === 0) { if (isset($_SERVER['https']) && strtolower($_SERVER['https']) === 'on') { $matches[2] = 'https:' . $matches[2]; } else { $matches[2] = 'http:' . $matches[2]; } } // Now parse the URL after reverting HTML character encoding. // @see http://drupal.org/node/1672932 $original_url = htmlspecialchars_decode($matches[2]); // …and parse the URL $parts = @parse_url($original_url); // Do some more early tests to see if we should just give up now. if ( // If parse_url() failed, give up. $parts === FALSE || ( // If there's a scheme part and it doesn't look useful, bail out. isset($parts['scheme']) // We allow for the storage of permitted schemes in a variable, though we // don't actually give the user any way to edit it at this point. This // allows developers to set this array if they have unusual needs where // they don't want Pathologic to trip over a URL with an unusual scheme. // @see http://drupal.org/node/1834308 // "files" and "internal" are for Path Filter compatibility. && !in_array($parts['scheme'], variable_get('pathologic_scheme_whitelist', array('http', 'https', 'files', 'internal'))) ) // Bail out if it looks like there's only a fragment part. || (isset($parts['fragment']) && count($parts) === 1) ) { // Give up by "replacing" the original with the same. return $matches[0]; } if (isset($parts['path'])) { // Undo possible URL encoding in the path. // @see http://drupal.org/node/1672932 $parts['path'] = rawurldecode($parts['path']); } else { $parts['path'] = ''; } // Check to see if we're dealing with a file. // @todo Should we still try to do path correction on these files too? if (isset($parts['scheme']) && $parts['scheme'] === 'files') { // Path Filter "files:" support. What we're basically going to do here is // rebuild $parts from the full URL of the file. $new_parts = @parse_url(file_create_url(file_default_scheme() . '://' . $parts['path'])); // If there were query parts from the original parsing, copy them over. if (!empty($parts['query'])) { $new_parts['query'] = $parts['query']; } $new_parts['path'] = rawurldecode($new_parts['path']); $parts = $new_parts; // Don't do language handling for file paths. $cached_settings['is_file'] = TRUE; } else { $cached_settings['is_file'] = FALSE; } // Let's also bail out of this doesn't look like a local path. $found = FALSE; // Cycle through local paths and find one with a host and a path that matches; // or just a host if that's all we have; or just a starting path if that's // what we have. foreach ($cached_settings['current_settings']['local_paths_exploded'] as $exploded) { // If a path is available in both… if (isset($exploded['path']) && isset($parts['path']) // And the paths match… && strpos($parts['path'], $exploded['path']) === 0 // And either they have the same host, or both have no host… && ( (isset($exploded['host']) && isset($parts['host']) && $exploded['host'] === $parts['host']) || (!isset($exploded['host']) && !isset($parts['host'])) ) ) { // Remove the shared path from the path. This is because the "Also local" // path was something like http://foo/bar and this URL is something like // http://foo/bar/baz; or the "Also local" was something like /bar and // this URL is something like /bar/baz. And we only care about the /baz // part. $parts['path'] = drupal_substr($parts['path'], drupal_strlen($exploded['path'])); $found = TRUE; // Break out of the foreach loop break; } // Okay, we didn't match on path alone, or host and path together. Can we // match on just host? Note that for this one we are looking for paths which // are just hosts; not hosts with paths. elseif ((isset($parts['host']) && !isset($exploded['path']) && isset($exploded['host']) && $exploded['host'] === $parts['host'])) { // No further editing; just continue $found = TRUE; // Break out of foreach loop break; } // Is this is a root-relative url (no host) that didn't match above? // Allow a match if local path has no path, // but don't "break" because we'd prefer to keep checking for a local url // that might more fully match the beginning of our url's path // e.g.: if our url is /foo/bar we'll mark this as a match for // http://example.com but want to keep searching and would prefer a match // to http://example.com/foo if that's configured as a local path elseif (!isset($parts['host']) && (!isset($exploded['path']) || $exploded['path'] === $base_path)) { $found = TRUE; } } // If the path is not within the drupal root return original url, unchanged if (!$found) { return $matches[0]; } // Okay, format the URL. // If there's still a slash lingering at the start of the path, chop it off. $parts['path'] = ltrim($parts['path'],'/'); // Examine the query part of the URL. Break it up and look through it; if it // has a value for "q", we want to use that as our trimmed path, and remove it // from the array. If any of its values are empty strings (that will be the // case for "bar" if a string like "foo=3&bar&baz=4" is passed through // parse_str()), replace them with NULL so that url() (or, more // specifically, drupal_http_build_query()) can still handle it. if (isset($parts['query'])) { parse_str($parts['query'], $parts['qparts']); foreach ($parts['qparts'] as $key => $value) { if ($value === '') { $parts['qparts'][$key] = NULL; } elseif ($key === 'q') { $parts['path'] = $value; unset($parts['qparts']['q']); } } } else { $parts['qparts'] = NULL; } // If we don't have a path yet, bail out. if (!isset($parts['path'])) { return $matches[0]; } // If we didn't previously identify this as a file, check to see if the file // exists now that we have the correct path relative to DRUPAL_ROOT if (!$cached_settings['is_file']) { $cached_settings['is_file'] = !empty($parts['path']) && is_file(DRUPAL_ROOT . '/'. $parts['path']); } // Okay, deal with language stuff. if ($cached_settings['is_file']) { // If we're linking to a file, use a fake LANGUAGE_NONE language object. // Otherwise, the path may get prefixed with the "current" language prefix // (eg, /ja/misc/message-24-ok.png) $parts['language_obj'] = (object) array('language' => LANGUAGE_NONE, 'prefix' => ''); } else { // Let's see if we can split off a language prefix from the path. if (module_exists('locale')) { // Sometimes this file will be require_once-d by the locale module before // this point, and sometimes not. We require_once it ourselves to be sure. require_once DRUPAL_ROOT . '/includes/language.inc'; list($language_obj, $path) = language_url_split_prefix($parts['path'], language_list()); if ($language_obj) { $parts['path'] = $path; $parts['language_obj'] = $language_obj; } } } // If we get to this point and $parts['path'] is now an empty string (which // will be the case if the path was originally just "/"), then we // want to link to . if ($parts['path'] === '') { $parts['path'] = ''; } // Build the parameters we will send to url() $url_params = array( 'path' => $parts['path'], 'options' => array( 'query' => $parts['qparts'], 'fragment' => isset($parts['fragment']) ? $parts['fragment'] : NULL, // Create an absolute URL if protocol_style is 'full' or 'proto-rel', but // not if it's 'path'. 'absolute' => $cached_settings['current_settings']['protocol_style'] !== 'path', // If we seem to have found a language for the path, pass it along to // url(). Otherwise, ignore the 'language' parameter. 'language' => isset($parts['language_obj']) ? $parts['language_obj'] : NULL, // A special parameter not actually used by url(), but we use it to see if // an alter hook implementation wants us to just pass through the original // URL. 'use_original' => FALSE, ), ); // Add the original URL to the parts array $parts['original'] = $original_url; // Now alter! // @see http://drupal.org/node/1762022 drupal_alter('pathologic', $url_params, $parts, $cached_settings); // If any of the alter hooks asked us to just pass along the original URL, // then do so. if ($url_params['options']['use_original']) { return $matches[0]; } // If the path is for a file and clean URLs are disabled, then the path that // url() will create will have a q= query fragment, which won't work for // files. To avoid that, we use this trick to temporarily turn clean URLs on. // This is horrible, but it seems to be the sanest way to do this. // @see http://drupal.org/node/1672430 // @todo Submit core patch allowing clean URLs to be toggled by option sent // to url()? if (!empty($cached_settings['is_file'])) { $cached_settings['orig_clean_url'] = !empty($GLOBALS['conf']['clean_url']); if (!$cached_settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = TRUE; } } // Now for the url() call. Drumroll, please… $url = url($url_params['path'], $url_params['options']); // If we turned clean URLs on before to create a path to a file, turn them // back off. if ($cached_settings['is_file'] && !$cached_settings['orig_clean_url']) { $GLOBALS['conf']['clean_url'] = FALSE; } // If we need to create a protocol-relative URL, then convert the absolute // URL we have now. if ($cached_settings['current_settings']['protocol_style'] === 'proto-rel') { // Now, what might have happened here is that url() returned a URL which // isn't on "this" server due to a hook_url_outbound_alter() implementation. // We don't want to convert the URL in that case. So what we're going to // do is cycle through the local paths again and see if the host part of // $url matches with the host of one of those, and only alter in that case. $url_parts = @parse_url($url); if (!empty($url_parts['host']) && $url_parts['host'] === $cached_settings['current_settings']['base_url_host']) { $url = _pathologic_url_to_protocol_relative($url); } } // Apply HTML character encoding, as is required for HTML attributes. // @see http://drupal.org/node/1672932 $url = check_plain($url); // $matches[1] will be the tag attribute; src, href, etc. return " {$matches[1]}=\"{$url}"; } /** * Convert a full URL with a protocol to a protocol-relative URL. * * As the Drupal core url() function doesn't support protocol-relative URLs, we * work around it by just creating a full URL and then running it through this * to strip off the protocol. * * Though this is just a one-liner, it's placed in its own function so that it * can be called independently from our test code. */ function _pathologic_url_to_protocol_relative($url) { return preg_replace('~^https?://~', '//', $url); } Секретарь подпольного обкома | КОММУНИСТИЧЕСКАЯ ПАРТИЯ БЕЛАРУСИ

Секретарь подпольного обкома

В исторической памяти нашего народа день вероломного нападения фашистской Германии на Советский Союз навсегда останется как день величайшей трагедии. В считанные дни весь советский народ встал на защиту Отечества. Среди таких защитников был и Андрей Аверьянович Куцак.
Уроженец села Жерденовка Гайсинского района Винницкой области, выходец из крестьянской семьи, он неразрывными узами связал себя с Гомелем. Стремительно поднимался он по ступенькам профессионализма на Гомельском деревообрабатывающем комбинате, куда в 1934 году был направлен после окончания Тбилисского лесотехнического института. Начав здесь мастером цеха, поработав главным инженером, буквально через три года он стал директором деревообрабатывающего комбината.
За два года до войны Андрей Аверьянович был избран секретарем Гомельского городского комитета партии, а в 1940-м – кандидатом в члены ЦК Компартии Белоруссии. С января 1941 года Андрей Аверьянович – секретарь Гомельского областного комитета партии по кадрам. Без промедления он включился в работу. Однако заниматься мирным трудом пришлось недолго. Началась Великая Отечественная война.
Рано утром 22 июня 1941 года бюро обкома партии поручило секретарям обкома А.А.Куцаку и И.П.Кожару возглавить перестройку всей работы партийных, советских и хозяйственных органов на военный лад. Для борьбы с вражескими десантниками, шпионами и диверсантами, а также для охраны государственных и общественных объектов и обороны населенных пунктов от оккупантов под руководством А.А.Куцака 24 июня 1941 года горкомы и райкомы партии начали формирование отрядов самообороны, истребительных батальонов и подразделений народного ополчения из тех граждан, которые не подлежали мобилизации в Красную Армию.
Для работы во вражеском тылу, по инициативе А.А.Куцака, в районе деревень Ченки и Марковичи были организованы школы по обучению подпольщиков приемам конспирации и методам борьбы с захватчиками на оккупированной территории. Тысячи трудящихся области вышли на строительство оборонительных сооружений. До 10 августа 1941 года в области было вырыто 400 км противотанковых рвов, около 600 км траншей, созданы минные поля, на улицах возведены баррикады. Гомель опоясывал 28-километровый противотанковый ров. Рабочие ДОКа построили через реку Сож наплавной мост.
В июле в Гомель переехали ЦК партии и правительство во главе с первым секретарем ЦК КП(б) Белоруссии П.К.Пономаренко. 14 августа в Гомель позвонил И.В.Сталин. Он потребовал удерживать Гомель до тех пор, пока 3-я армия в районе Лоева не перейдет на левый берег Днепра. Наши войска и гомельские ополченцы с честью выполнили поставленную им задачу, героически отстаивали каждый метр советской земли. Они удерживали город Гомель до 20 августа 1941 года.
Упорные оборонительные бои за Гомель дали возможность третьей армии и другим советским войсковым частям выйти из окружения и присоединиться к своим. Пока шли бои за Гомель, А.А.Куцаку, как председателю чрезвычайной комиссии по эвакуации предприятий народного хозяйства, удалось завершить эвакуацию более 40 основных гомельских предприятий вместе с квалифицированными кадрами на Восток. Андрей Аверьянович сумел также закончить организацию партийно-комсомольского подполья и партизанских отрядов в области.
В целях более оперативного руководства подпольем и партизанским движением Гомельский подпольный обком партии образовал из своего состава 2 партийных центра: для работы в Гомеле и северных районах области – во главе с А.А.Куцаком, и для работы в южных и западных районах – во главе с И.П.Кожаром. Поэтому А.А.Куцак и секретарь горкома партии Е.Н.Барыкин направились в лес с Гомельским городским и Новобелицким партизанскими отрядами, а И.П.Кожар и секретарь обкома комсомола А.Д.Рудак ушли в Лоевский партизанский отряд «За Родину».
На Щекотовской лесной даче, находящейся в десяти километрах от Гомеля, Гомельский и Новобелицкий партизанские отряды объединились в один, которому было присвоено имя «Большевик». Командиром этого отряда был избран директор Гомельского авторемонтного завода Илья Степанович Федосеенко, член партии с 1918 года, который в гражданскую войну был командиром батальона. Комиссаром отряда был назначен секретарь Гомельского горкома партии Семен Федорович Антонов.
Отряд «Большевик» был создан у родника, из которого била удивительно свежая вода. Как-то А.А.Куцак напился из этого родника студеной воды и сказал: «Хороша водичка в партизанской криничке». С этого времени название стало историческим.
В Борщевских лесах, что по соседству со Щекотовской лесной дачей, базировался Гомельский сельский партизанский отряд во главе с его командиром Андреем Федоровичем Бурым, бывшим директором совхоза им.Горького. По инициативе А.А.Куцака партизанские отряды «Большевик» и Гомельский сельский свои боевые действия начали выполнять совместно. Они нападали на обозы и автомашины с немецкими солдатами, не только контролировали дороги, но и наносили внезапные удары по военным объектам и небольшим гарнизонам. В дневное время были разгромлены два немецких гарнизона на территории бывшего совхоза имени Горького. При этом было уничтожено 185 немцев и полицейских, освобождено из-под ареста 40 подпольщиков, ожидавших расстрела, взяты трофеи: 120 винтовок, два ручных пулемета и много патронов к ним. Обнаруженные на складах зерно, а в сараях – скот были розданы населению, а пустые склады и сараи сожжены.
Перевод советских патриотов на подпольную работу и создание подполья были сложными и весьма ответственными задачами. Но А.А.Куцак вместе с Е.И.Барыкиным четко и оперативно выполнили эту работу. К сентябрю 1941 года в Гомеле было создано более 30 патриотических подпольных групп, восемь тайных баз с оружием, питанием, медикаментами и одеждой, подготовлено семь явочных квартир, семнадцать разведывательных групп, в которых работало шестьдесят два специально подобранных и обученных коммунистов и комсомольцев города. В их числе были С.П.Купцов, Ф.П.Котченко и др. Одну из таких подпольных групп возглавлял коммунист, инженер фабрики «Полеспечать» Т.С.Бородин. Группа начала действовать с августа 1941 года.
В один из сентябрьских дней Андрей Аверьянович Куцак предложил Т.С.Бородину использовать типографию фабрики «Полеспечать», где Бородин тогда работал, как базу патриотического подполья, установления связей с другими группами подпольщиков. Это поручение Т.С.Бородин выполнил без промедления. Он организовал в типографии группу подпольщиков, которые печатали и распространяли воззвания, листовки, сводки совинформбюро, бланки пропусков и других документов. Были изготовлены три круглые печати, которые применялись на документах для партизан и подпольщиков, военнослужащих-окруженцев и военнопленных, находившихся в фашистских лагерях.
По заданию секретаря подпольного обкома Бородин и члены его группы Р.И.Тимофеенко, И.Б.Шилов и И.И.Железняков взорвали в Гомеле на улице Буденного (Либавский городок) немецкую мастерскую по ремонту танков, а совместно с партизанами – большой немецкий склад горюче-смазочных материалов в Новобелице.
Восьмого и девятого ноября 1941 года группа Т.С.Бородина изготовила большое количество листовок, которые были расклеены рядом с объявлениями оккупационных властей. В листовках сообщалось о героических боях под Москвой и о том, что в Москве состоялись: 6 ноября – торжественное заседание, а 7 ноября 1941 года – парад на Красной площади по случаю 24-й годовщины Октябрьской революции.
В первых числах ноября 1941 года А.А.Куцак и Е.И.Барыкин создали Гомельский оперативный подпольный центр по координации деятельности подпольных групп и оказания им помощи в работе. Руководителем оперативного центра был назначен Т.С.Бородин. В состав центра вошли: Р.И.Тимофеенко – преподаватель Гомельского железнодорожного техникума и И.Б.Шилов – старший лейтенант, окруженец, житель деревни Бобовичи Гомельского района. Обком партии осуществлял руководство центром через связных.
838 дней действовало и вело активную борьбу с оккупантами в Гомеле патриотическое подполье. Подпольщиками и партизанами за время оккупации города было уничтожено более 10 тысяч фашистов, взорвано две электростанции, две фабрики, пять цехов предприятий, шесть мастерских, пятнадцать складов с боеприпасами и другим военным имуществом, узел связи, сто пятьдесят железнодорожных эшелонов, 515 автомашин, 113 километров линий связей. Из немецких лагерей смерти подпольщики освободили и отправили в партизанские отряды более восьми тысяч военнопленных.
С помощью прибывших в Гомель 221 охранной дивизии, подразделений тайной полиции, «Абвергруппы-315» и других контрразведывательных и карательных формирований гитлеровцы планировали в ноябре-декабре 1941 года окружить партизан в лесах Днепро-Сожского клина и уничтожить. Но об этих планах стало известно А.А.Куцаку, который решил своевременно выйти из готовящейся для них блокады и оставить фашистов с носом.
В конце ноября 1941 года Андрей Аверьянович вместе с гомельскими партизанами прибыл в Чечерские леса. Там он встретился со вторым секретарем Чечерского райкома партии Павлом Ивановичем Дедиком. Вместе они собрали подпольщиков, проживавших в селах района на нелегальном положении. Это был костяк создаваемого Чечерского партизанского отряда. Командиром его избрали коммуниста, бывшего директора Нисимковичской МТС Павла Антоновича Балыкова, комиссаром созданного отряда А.А.Куцак назначил П.И.Дедика.
В Чечерских лесах А.А.Куцак развернул работу по вовлечению людей в борьбу против захватчиков, объединению патриотических сил, координации их действий и восстановлению советской власти в районе. Уже к середине декабря 1941 года под его руководством действовало три отряда и пять партизанских групп.
Андрей Аверьянович и партизанские командиры планировали свои действия так, что в одну и ту же ночь боевые операции проводились в нескольких, расположенных далеко друг от друга, населенных пунктах. Это создавало у оккупантов впечатление о наличии в Чечерских лесах больших партизанских сил.
С помощью осведомителей и связных А.А.Куцак хорошо знал обстановку не только в северных районах Гомельской области, но и в Гомеле. В связи с тем, что Гомельское подполье понесло ощутимые потери, секретаря Гомельского горкома партии Е.Н.Барыкина вместе с отрядом «Большевик» Андрей Аверьянович направил на прежнее место базирования в Гомельский район, для восстановления связи с подпольными группами Гомеля и активизации их боевой деятельности. Для распространения Чечерского опыта партизанской борьбы малочисленный Гомельский сельский партизанский отряд был направлен в Добрушский район.
Под руководством А.А.Куцака быстро росли и набирали боевой опыт недавно созданные Кормянский, Светиловичский, Красногорский и Краснопольский партизанские отряды. Они уничтожали немецкие и полицейские гарнизоны и восстанавливали советскую власть.
Четвертого июня 1942 года Московское радио сообщило советским людям и всему миру о том, что партизаны Гомельской области восстановили советскую власть в 103 населенных пунктах. Эту информацию приняли по своим радиостанциям и радиоприемникам все партизанские отряды и подпольщики оккупированных районов. К концу июня 1942 года в партизанский край Гомельщины входили уже не 103, а около 200 населенных пунктов пяти районов (Чечерского, Светиловичского, Кормянского, Красногорского и Краснопольского), где была восстановлена советская власть.
В июле 1942 года в Чечерских лесах действовало уже девять партизанских отрядов, в которых насчитывалось 670 партизан. По инициативе А.А.Куцака был создан штаб объединения партизанских отрядов северных районов Гомельской области. Командиром объединения был избран капитан П.Г.Шемякин, комиссаром объединения – старший батальонный комиссар, секретарь Гомельского подпольного обкома партии А.А.Куцак, а начальником штаба – капитан И.П.Кривенченко.
В партизанской среде А.А.Куцак снискал уважение за организаторский талант, чуткость к подчиненным. Во всех освобожденных населенных пунктах были созданы вооруженные группы самообороны, а в отрядах – должности заместителя командира по разведке. Кроме того, А.А.Куцак настоятельно рекомендовал чекисту Н.А.Михайлашеву осесть под Добрушем, создать там новый партизанский отряд, а затем бригаду и по-настоящему взяться за совершение диверсий в районе Гомеля и Добруша. Как можно быстрее поднять на воздух Добрушскую и Гомельскую электростанции, чтобы остановить всю промышленность, работающую на оккупантов.
Как разведчику диверсионно-разведывательного отряда Главного разведуправления Генерального штаба мне неоднократно довелось встречаться с Андреем Аверьяновичем Куцаком, в том числе и тогда, когда к нему приходил чекист Н.А.Михайлашев. В дальнейшем у нас завязалась хорошая семейная дружба. После войны мы проживали в Гомеле в одном доме, в соседних квартирах. А когда я проходил службу в военных прокуратурах Краснознаменного Северного флота, то каждый год с женой навещал Андрея Аверьяновича и его семью в Минске.
Двенадцатого ноября 1942 года по указанию ЦК Компартии Белоруссии А.А.Куцак вылетел в Москву для доклада и лечения. По состоянию здоровья он уже не мог возвратиться в тыл врага. По его инициативе туда направился с заданием создать Гомельскую партизанскую бригаду секретарь Гомельского обкома комсомола, уполномоченный ЦК Компартии Белоруссии И.Е.Поляков.
В конце февраля 1943 года Чечерский и Кормянский отряды объединились в бригаду, которую назвали Первой Гомельской. 25 марта 1943 года по инициативе А.А.Куцака Белорусский штаб партизанского движения создал (приказ №90) Добрушский партизанский отряд. Командиром отряда, а затем бригады был назначен бывший начальник штаба объединения партизанских отрядов капитан И.П.Кривенченко, а его заместителем по разведке – чекист Н.А.Михайлашев. Ко дню соединения с частями Красной Армии партизанами двух бригад было пущено под откос 207 вражеских железнодорожных эшелонов с живой силой и техникой, разгромлено более 20 фашистских гарнизонов, уничтожено более двенадцати тысяч солдат и офицеров.
После излечения А.А.Куцак был назначен уполномоченным ЦК Компартии Белоруссии и Центрального штаба партизанского движения и с оперативной группой направлен в штаб Брянского фронта для координации боевых действий партизан Гомельской области с действиями наступающих частей Красной Армии. Он был принят командующим фронтом маршалом Советского Союза К.К.Рокоссовским, а потом членом Военного Совета Фронта генерал-лейтенантом К.Ф.Телегиным и начальником штаба фронта генерал-полковником М.С.Малининым. Во многом благодаря усилиям Андрея Аверьяновича гомельским партизанам своевременно доставлялись необходимая взрывчатка, мины с часовым механизмом, оружие, боеприпасы, медикаменты и все необходимое для ведения боевых действий.
В конце октября 1943 года ЦК КПБ отозвал А.А.Куцака с фронта и направил его на прежнюю работу секретарем Гомельского обкома партии по кадрам в освобожденный к тому времени Добруш, где находились Гомельские обком партии и облисполком. В Добруше Андрей Аверьянович встретился со своими боевыми друзьями П.А.Балыковым, И.Б.Кривенченко, Н.А.Михайлашевым и другими.
После освобождения города Гомеля 26 ноября 1943 года вместе с обкомом и облисполкомом А.А.Куцак возвратился в родной город. На месте города-красавца он увидел пустыри и развалины. Предстояла большая работа по восстановлению, возрождению жизни на опустошенной врагом земле, в которую он окунулся с головой. С 1952 по 1956 годы А.А.Куцак работал первым заместителем и председателем гомельского облисполкома, а в 1956 году стал Министром бумажной и деревообрабатывающей промышленности Белоруссии.
Находясь на ответственной партийной, советской и хозяйственной работе, активно участвуя в партизанской борьбе против фашистских оккупантов, А.А.Куцак зарекомендовал себя способным, стойким и принципиальным организатором. Он неоднократно избирался кандидатом в члены ЦК Компартии Белоруссии, депутатом Верховного Совета Республики. Родина высоко оценила его труд. За особые заслуги в организации и развитии партизанского движения, а также проявленное мужество в борьбе с оккупантами, А.А.Куцак награжден орденами Ленина и Красной Звезды, медалями «Партизану Отечественной войны» первой и второй степеней. За трудовые заслуги – орденами «Трудового Красного Знамени» и орденом «Знак Почета», а также двенадцатью медалями.
Уже 36 лет (умер 12.01.1974 г.) нет светлого человека, фактически восстановившего в 1942 году советскую власть в северных районах Гомельщины. Похоронен он в Минске. В этом городе живут его сыновья: доктор физико-математических наук Алексей Андреевич и кандидат физико-математических наук Анатолий Андреевич.
Жизнь Андрея Аверьяновича Куцака, неутомимого борца партии, умелого организатора и руководителя партизанским движением против фашистских оккупантов, мужественного комиссара объединения партизанских отрядов – яркий пример патриотизма и беззаветной преданности своему Отечеству и делу борьбы за свободу, независимость и счастье людей.
Думаю, долг гомельчан – увековечить память этого мужественного человека. На доме №28 по ул.Пушкина в Гомеле, где с 1943 по 1955 годы проживал он и его семья, должна быть установлена мемориальная доска.
Иван КУРДЕСОВ, член КПБ,
полковник в отставке,
бывший разведчик
диверсионно-разведывательного
отряда ГРУ Брянского
фронта и партизанского
отряда имени Кирова
 

Автор: 
Иван КУРДЕСОВ
Номер газеты: