Читать онлайн Догхантер бесплатно
- Все книги автора: Максим Немов
Глава 1. Иммунитет
Кухня была стерильной, как операционный стол в частной клинике, где лечат только тех, кто может заплатить за отсутствие боли.
Хромированные поверхности холодильника «Liebherr» и варочной панели отражали искаженное лицо Артема – вытянутое, бледное, с глубокими, словно прорезанными скальпелем тенями под глазами. В этом холодном, металлическом отражении он походил на призрака, запертого в капсуле времени, где стрелки часов всегда застыли на отметке 03:00. Час волка. Час, когда город спит, а его паразиты выходят на охоту.
Артем провел пальцем по столешнице из искусственного камня. Ни пылинки. Его мир был упорядочен до маньякальности. Каждая вещь знала свое место: чашка с логотипом Java стояла ручкой строго на три часа, салфетки лежали идеально ровной стопкой, словно страницы нераспечатанной книги. Хаос был там, за тройным стеклопакетом с повышенной шумоизоляцией. Здесь, внутри, царил Код.
На столе, предварительно застеленном голубой одноразовой медицинской пеленкой (он покупал их упаковками по пятьдесят штук в аптеке на другом конце района), лежал его арсенал. Не оружие – инструменты.
Десять таблеток изониазида. Обычный «Тубазид», спасение для туберкулезников, приговор для псов. Маленькие белые диски, похожие на причастие для адептов культа чистоты.
Рядом – дешевая ливерная колбаса «Красная цена», купленная в «Пятерочке». Жирная, пахнущая субпродуктами и чем-то неуловимо металлическим – кровью, которую пытались замаскировать специями. Артем нарезал ее аккуратными кубиками по два сантиметра. Геометрия смерти. Куб – идеальная форма. Удобно глотать, удобно прятать.
Ступка для специй – тяжелая, гранитная – стояла рядом. Она никогда не видела черного перца или душистого кардамона. В ее жерле перемалывался только белый мел аптечной химии.
Артем надел латексные перчатки. Тонкий, хирургический щелчок резины прозвучал в абсолютной тишине квартиры как выстрел с глушителем. Звук профессионала, приступающего к работе.
Он взял первую таблетку. Она была холодной и твердой.
В мире Артема понятия «лекарство» и «яд» не противоречили друг другу. Парацельс был прав: все есть яд, и ничто не лишено ядовитости; одна лишь доза делает яд незаметным. Для города туберкулез был болезнью. Он пожирал легкие мегаполиса изнутри, заставляя его кашлять выхлопными газами и харкать грязью. А бродячие стаи были его метастазами.
Они бегали по улицам, сбиваясь в организованные преступные группировки. Они лаяли на детей, пугая их до энуреза. Они разносили блох, глистов и, самое главное, страх. Первобытный страх хищника, который смотрит на человека не как на царя природы, а как на мешок с мясом.
Город болел. У города была лихорадка. И ему нужен был иммунитет.
Артем и был этим иммунитетом. Лейкоцитом в бетонных венах спального района Бирюлево. Белой клеткой крови, которая не испытывает ненависти к вирусу. Лейкоцит просто делает свою работу. Фагоцитоз. Поглощение. Уничтожение.
Он положил таблетку в ступку и нажал пестиком. Раздался сухой хруст, словно кто-то наступил на жука. Белая пыль осела на стенках, похожая на кокаин для бедных.
– Ничего личного, – прошептал он. Голос прозвучал хрипло, он не разговаривал ни с кем уже двое суток. В выходные Артем предпочитал молчать. Слова были лишним кодом, комментариями, которые только забивали память. – Просто санитария.
Он аккуратно, стараясь не просыпать ни крупинки (микрограмм на столешнице недопустим, чистота – залог успеха), подцепил порошок хирургическим пинцетом.
Колбасный кубик податливо прогнулся под нажимом. Артем вдавил яд в центр, в мягкую, рыхлую плоть. Сверху запечатал еще одним маленьким кусочком фарша, примял пальцами в перчатках, формируя идеальный шарик.
«Вкусняшка».
Так они это называли на форумах. Смешное, инфантильное, почти кондитерское слово для чего-то, что выключает свет в глазах живого существа за два часа.
Сарказм был защитной реакцией. Если называть вещи своими именами – «отравленная приманка», «орудие убийства» – можно сойти с ума. А «вкусняшка» – это безобидно. Как угощение.
В конце концов, это и было угощением. Последним в их жалкой, полной голода и холода жизни. Разве не гуманно накормить голодного, прежде чем отправить его в вечный сон?
Слева от разделочной доски мигал синий диод ноутбука. На экране, в режиме инкогнито, висела открытая вкладка форума «Вредителям.НЕТ».
Дизайн сайта застрял где-то в начале нулевых. Черный фон, ядовито-зеленый шрифт, минимализм, граничащий с аскетизмом. Эстетика «Матрицы», перенесенная в реалии ЖЭКа. Но за этим примитивным фасадом скрывалась мощная, разветвленная сеть. Цифровое подполье.
Ветка «Москва. ЮАО. Зачистка» пульсировала новыми сообщениями. Красный значок уведомления горел, как воспаленный глаз.
User: Hunter_77
Статус: Проверенный
Сообщений: 342
«Вчера у «Пятерочки» на Шипиловской, возле помойки, опять сходка. Штук семь. Вожак – рыжий кобель, здоровый, ухо рваное. Кидались на женщину с коляской. Бабки местные их прикормили, орут, если подходишь. Менты, как обычно, трубку не берут или "выехали", а сами в отделе чай пьют. Кто возьмет квадрат? У меня "витамины" закончились, аптекарь знакомый в отпуске».
Под сообщением – фото. Мутное, снятое на телефон дрожащей рукой. Серый снег, переполненные мусорные баки и размытые силуэты собак. Рыжий вожак скалился прямо в камеру. В его глазах даже через пиксели читалась наглая уверенность хозяина территории.
Артем медленно, двумя пальцами (привычка программиста печатать вслепую здесь не работала, руки были заняты "готовкой"), набил ответ:
User: Immunolog
Статус: Ветеран
Сообщений: 1024
«Принял. Работаю сегодня ночью. Квадрат 12-Б. Отчет по факту».
Он нажал Enter. Сообщение улетело в базу данных, добавляя еще одну строчку в лог бесконечной войны. 1024 сообщения. Килобайт текста про смерть.
Он захлопнул крышку ноутбука.
В той, другой жизни, которая начиналась в 9:00 и заканчивалась в 18:00, Артем был уважаемым человеком. Senior Backend Developer. Архитектор высоконагруженных систем. Человек, который мыслил абстракциями, паттернами и алгоритмами. В его коде царила идеальная логика. `If`, `Else`, `Try`, `Catch`… Если ошибка – поймать и обработать. Если данные невалидны – отбросить. Если процесс завис – убить (`kill -9`).
Он перенес эту логику в реальный мир, но обнаружил баг.
Реальность не компилировалась.
В мире за окном баги бегали на четырех лапах, размножались в геометрической прогрессии и гадили на детские площадки. И там, за окном, не было рефакторинга. Нельзя было выделить плохой район, нажать "Delete" и написать заново, красиво и чисто.
Был только хардкорный дебаг. Ручной. На ассемблере улиц.
Артем вернулся к «готовке». Второй кубик. Третий. Четвертый.
Движения были отработаны до автоматизма. Раздавить. Засыпать. Закатать. Повторить. Конвейер.
Генри Форд гордился бы им. Эффективность производства смерти на дому.
Десять минут – и десять аккуратных шариков лежали на пеленке ровными рядами, как солдаты перед парадом. Десять выключенных жизней, упакованных в дешевый ливер.
Смерть в упаковке «все включено». Бесплатно. Без регистрации и СМС.
За окном, тем временем, выла зима. Настоящая, русская, беспощадная. Февраль лютовал, напоследок вымещая злобу перед приходом весны. Ветер швырял горсти колючего, ледяного снега в стекло, словно пытаясь пробиться внутрь, в тепло и свет, в этот стерильный кокон.
Звук ветра напоминал вой тех самых собак. Или, может, это и был их вой?
Город за окном был врагом.
Артем чувствовал это кожей. Город был не просто декорацией, набором зданий и дорог. Он был живым организмом, гигантским, больным, гниющим монстром. Он дышал перегаром подъездов, скалился разбитыми окнами заброшенных промзон, хрустел под ногами осколками пивных бутылок и использованными шприцами.
Панельные многоэтажки стояли вокруг, как гнилые зубы дракона, посеянные в мерзлую землю. Окна горели желтым, мертвенным светом. Там, за шторами, люди пили водку, били жен, смотрели тупые ток-шоу, рожали детей, которые потом будут пить водку и бить жен.
Бесконечный цикл (`While (true)`).
И среди этого цикла, как паразиты в кишечнике, жили стаи. Они питались отходами человеческой жизнедеятельности. Они были плоть от плоти этого города.
Артем жил в этом районе десять лет. Он знал здесь каждую трещину в асфальте, каждый провал грунта, каждую тропинку, по которой наркоманы ходили за закладками в парк.
Он знал запахи этого дома. Утром подъезд пах хлоркой – это уборщица Зинаида Петровна создавала иллюзию чистоты, размазывая грязь грязной тряпкой. Днем он пах супом, вареной капустой и скукой. Вечером – жареным луком, дешевым табаком и чужой жизнью, просачивающейся сквозь тонкие картонные двери.
А ночью подъезд пах мочой и страхом.
Артем снял перчатки. Медленно, стягивая их за раструб, чтобы не коснуться внешней стороны. Вывернул наизнанку. Теперь вся возможная пыль яда была заперта внутри резинового пузыря. Бросил их в мусорное ведро под раковиной.
Завязал пакет узлом. Двойным.
Подошел к раковине. Включил воду. Холодную.
Он мыл руки долго, тщательно, намыливая каждый палец, каждое межпальцевое пространство. Хирургическая привычка. Хотя на руках ничего не было.
Он посмотрел на свои ладони под струей воды.
Чистые.
Сухие.
Длинные пальцы с аккуратно подстриженными ногтями. Руки интеллектуала. Руки, которые могли бы играть Рахманинова. Руки хирурга, вырезающего опухоль.
Не руки убийцы. Нет.
Убийцы – это те, кто режет в подворотнях за айфон. Убийцы – это пьяные водители.
А он – функция. Утилита очистки диска. `Disk Cleanup`.
Никто не любит ассенизаторов. Никто не любит патологоанатомов. Им не жмут руки, их не приглашают на званые ужины. Но все хотят, чтобы дерьмо не текло по улицам, а трупы не валялись на тротуарах.
Артем вытер руки бумажным полотенцем. Скомкал его и бросил в то же ведро.
Он подошел к окну и прижался лбом к холодному стеклу.
Девятый этаж. Высота птичьего полета, хотя птицы здесь не летали, только жирные, наглые вороны, расклевавшие пакеты на помойке.
Внизу, в конусе желтого, болезненного света уличного фонаря, чернела прогалина на снегу. Там, где магистральная теплотрасса выходила на поверхность, земля была теплой. Снег таял, превращаясь в грязную жижу.
Там спали они.
Клубки грязной шерсти. Шевелящаяся масса.
Блоховозы. Шавло. Биомусор.
Живые машины для переработки органики в лай и дерьмо.
Один из псов поднял голову и посмотрел вверх. Артему показалось, что он смотрит прямо на него. Желтые, умные глаза. Слишком умные для зверя.
– Скоро, – сказал им Артем. Стеклопакет заглушил слова, но губы шевельнулись, и этого было достаточно. – Скоро вам станет тепло. По-настоящему тепло. Навсегда.
Он чувствовал внутри странное спокойствие. Не радость, нет. Радость – это эмоция, а он подавлял эмоции. Это было чувство правильности. Чувство выполненной валидации.
У него была миссия.
В мире, где Бог давно вышел покурить, сел в такси и уехал в аэропорт, оставив детей одних в горящем доме, кто-то должен был взять огнетушитель. Кто-то должен был наводить порядок. Кто-то должен был убирать за Ним недоделки.
Этот мир был забагованным релизом. Альфа-версией, которую выкатили в продакшн без тестирования.
Артем был единственным тестировщиком, который вышел на смену в ночную.
Он вернулся на кухню. Выключил свет.
Темнота сомкнулась мгновенно, плотная, душная, пахнущая озоном от нагретого блока питания и одиночеством.
В темноте мигал только красный глаз ноутбука в спящем режиме.
И еще десять маленьких белых смертей лежали на столе в ожидании своего часа.
Заври рейд. Первый день отпуска.
Завтра город станет немного чище.
Или, по крайней мере, тише.
Глава 2. Форум
Цифровой мир был чище реального.
Здесь, в бесконечных строках кода, в архитектуре баз данных и логике API, царил абсолютный, божественный порядок. Если что-то шло не так, всегда можно было найти причину. `NullPointerException`. `Deadlock`. `Race condition`. Ошибка всегда имела имя, фамилию и адрес в памяти. У нее был стектрейс – четкий след, ведущий к источнику проблемы.
В реальном мире ошибки бегали на четырех лапах, воняли псиной и не имели стектрейса. У них были только зубы и инстинкты.
Артем сидел в своем анатомическом кресле «Herman Miller» – шедевре инженерной мысли за полторы тысячи долларов, единственной настоящей роскоши в его аскетичной квартире. Спинка кресла идеально повторяла изгиб позвоночника, поддерживая тело в состоянии невесомости. Эргономика. Эффективность.
На левом мониторе – 4K, IPS-матрица, идеальная цветопередача – бежали логи компиляции. Зеленый текст на черном фоне. `BUILD SUCCESSFUL`. `TESTS PASSED`.
На правом мониторе была открыта бездна.
Форум «Вредителям.НЕТ».
Это было не просто комьюнити. Это было цифровое подполье, катакомбы 21 века, куда спускались те, кто устал ждать помощи от государства. Попасть сюда можно было только по инвайту, пройдя жесткую верификацию через админа. Никаких случайных людей. Никаких журналистов, ищущих сенсаций. Никаких зоозащитников под прикрытием.
Только проверенные кадры. Охотники. Догхантеры. Санитары. Люди Дела.
Дизайн сайта не менялся лет десять. Устаревший движок vBulletin, примитивная верстка. Но эта архаичность только добавляла ему веса. Как старый, потертый автомат Калашникова, который работает безотказно, в отличие от новых модных винтовок.
Артем был здесь старожилом. Легендой.
Его ник – Immunolog – знали все. Его уважали. Его цитировали.
Он не постил фото трупов (это для маргиналов). Он не хвастался количеством «фрагов». Он был теоретиком, стратегом, человеком, который превратил хаотичную ненависть в системную работу.
Его гайды висели в закрепе в разделе «Важное»:
«FAQ по работе с изониазидом v.2.0 (Обновлено: фармакокинетика и расчет дозы)».*
«Карта активности стай: ЮАО, ЮЗАО (Интерактивная карта, API Яндекс)».*
«Юридический ликбез: ст. 245 УК РФ и как не под нее попасть. Памятка при общении с ППС».*
Сегодня в ветке «Обмен опытом» было особенно жарко. Весна наступала, гормоны играли не только у собак, но и у людей.
Артем сделал глоток остывшего кофе. На экране пульсировала новая тема.
RatKing (Новичок)
Регистрация: 3 дня назад
Сообщений: 5
«Мужики, изик перестал работать. Вчера кинул три пайки на пустыре за гаражами. Собаки сожрали, я наблюдал из машины. Ждал час, два – ноль реакции. Только блевали. Может, партия бракованная? Аптекарь кинул?»
Артем фыркнул, едва не поперхнувшись кофе.
«Аптекарь кинул». Конечно. Фармацевтический заговор против юных санитаров леса.
RatKing. Король крыс.
Ник говорил о многом. Претенциозный, агрессивный. Судя по стилю письма, это был какой-нибудь студент-первокурсник или менеджер среднего звена, которого в офисе имеет начальник, и он решил выместить злобу на тех, кто не может ответить. Начитался пабликов «ВКонтакте», купил в аптеке пачку таблеток и возомнил себя карателем.
Он думал, что война с собаками – это как в «S.T.A.L.K.E.R.», только без аномалий.
Ниже ответил один из ветеранов.
OldSchool (Ветеран)
«Ты дозировку соблюдал, салага? 10 таблеток на 1 кг живого веса. Если меньше – просто проблюются. У них рвотный центр чувствительный. Нужны противорвотные в комплекте. Церукал. Читай мануалы, прежде чем ныть».
RatKing:
«Да по инструкции все делал! 15 штук на крупную особь. Закатал в ливерную, как Сэнсэй (Immunolog) писал. Они просто проблевались и убежали, хвостами виляют. Я в бешенстве. Столько времени потратил, бензин жег».
Артем вздохнул. Он потянулся к клавиатуре. Его пальцы, длинные, пианистические пальцы программиста, привыкшие к мягкому ходу механических клавиш, застучали ритмично, выбивая приговор.
Он должен был вмешаться. Не ради RatKing, а ради Истины. Непрофессионализм раздражал его больше, чем сами собаки. Если ты взялся за дело – делай его хорошо. Или не делай вообще.
Immunolog:
«Дело не в дозировке, RatKing. И не в аптекаре (аптекарям на тебя плевать). Дело в эволюции.
Кастрюлечницы (зоозащитницы) не дремлют. Они начали колоть бродячим стаям витамин B6 профилактически. Или просто кормят их так обильно, что метаболизм ускоряется, и рвотный рефлекс срабатывает быстрее, чем яд успевает всосаться в кровь.
Изик – это прошлый век. Технология 60-х годов. Он слишком гуманный. Слишком нестабильный. Слишком много переменных: вес собаки, сытость, температура воздуха».
Ответ пришел мгновенно. RatKing сидел в онлайне и обновлял страницу каждую секунду.
RatKing:
«И что делать, Сэнсэй? Стрелять в городе нельзя. Травмат не берет, только шкуру портит. Я хочу результата. Я хочу, чтобы этот биомусор исчез с моего района. Они вчера мою девушку напугали, она теперь до метро боится ходить».
Артем на секунду замер. Руки зависли над клавиатурой.
«Мою девушку напугали».
Перед глазами всплыло лицо Стаса. Пять лет назад. Стас, который пришел к нему с трясущимися руками и бутылкой водки. Стас, чью беременную жену покусали в парке. Ребенка спасли, но Стас изменился навсегда.
Тогда Артем понял: город не защищает своих жителей. Полиция – фикция. Закон – бумага.
Спасение утопающих – дело рук самих утопающих.
Он чувствовал ответственность за этого парня. За этого глупого, злого RatKing. Он был таким же. Ищущим справедливости в мире, где ее нет.
Артем должен был направить его. Дать инструмент. Обновить прошивку.
Immunolog:
«Нужна ротация протоколов. В микробиологии это золотое правило: если бактерии выработали резистентность к антибиотику, ты не увеличиваешь дозу антибиотика – ты меняешь сам препарат.
Попробуй антикоагулянты.
Зоокумарин. Крысиный яд первого поколения. Но не тот мусор, что продают в зернах, а чистый концентрат. Или бродифакум.
Плюсы:
1. Латентный период 3-5 дней. Собака съедает, чувствует себя отлично. Никто не свяжет ее смерть с тобой или с этим местом. Она умрет далеко от "кормушки".
2. Нет пены, конвульсий и воя (то, что так привлекает бабок и полицию). Собака просто становится вялой, слабеет и засыпает. Внутреннее кровотечение. Она умирает во сне. Гуманно.
3. Антидот – Витамин К1 (Конакион). Его НЕТ в обычных человеческих аптеках. Его сложно найти даже в ветеринарках. Он дорогой. Пока волонтеры поймут, что это не энтерит и не отравление изиком, пока найдут лекарство – будет поздно. Обратимость процесса стремится к нулю».
Он перечитал сообщение. Холодно. Логично. Научно.
Нажал «Отправить».
Сообщение появилось в ленте. Черным по зеленому. Цитата из учебника по токсикологии, превращенная в инструкцию по убийству.
RatKing:
«Спасибо, бро! Ты голова. Реально голова. Буду пробовать. Отпишусь по результату. С меня причитается».
Артем закрыл вкладку.
Где-то глубоко внутри, под толстым слоем рациональности, цинизма и профессиональной деформации, шевельнулось что-то неприятное. Как будто он проглотил ледяной осколок.
Червячок сомнения. `Warning` в консоли компилятора.
Он только что дал в руки незнакомцу – возможно, полному психопату – оружие куда более страшное, чем таблетки от туберкулеза. Изониазид давал собаке шанс. Шанс выжить, если доза мала. Шанс, что волонтеры успеют вколоть B6 (который есть в любой аптеке за копейки).
Антикоагулянты шансов не давали. Это была медленная, необратимая смерть.
Птицы, склевавшие отравленный фарш, будут падать с неба, истекая кровью. Кошки, поймавшие отравленную мышь, будут умирать в подвалах. Домашние собаки, случайно лизнувшие снег…
«Лес рубят – щепки летят, – жестко сказал он сам себе. Голос прозвучал чуждо в пустой квартире. – Это война. А на войне хороших решений не бывает. Бывают только эффективные».
Он вернулся к работе. Нажал `Alt+Tab`.
Код.
Циклы, переменные, функции. Чистый мир.
`BUILD SUCCESSFUL`.
Зеленая строчка успокаивала. Гипнотизировала.
Все чисто. Никаких ошибок.
В отличие от жизни.
Он встал, чувствуя, как затекла спина даже в дорогом кресле. Подошел к окну.
Девятый этаж. Внизу, в мутном свете фонарей, как муравьи, ползали редкие ночные прохожие. Машины ползли по проспекту, оставляя за собой красные шлейфы стоп-сигналов.
Где-то там, среди этих огней, ходил этот RatKing. Шел в круглосуточный хозяйственный магазин. Покупал пачки с ядом. И думал, что делает благое дело. Думал, что он – герой.
«Мы все думаем, что делаем благое дело, – подумал Артем, глядя на свое отражение в темном стекле. – Даже вирус гриппа не хочет никого убивать. Он просто хочет жить и размножаться. Это его биологическая программа».
Он налил себе кофе. Черный, без сахара. Горький, как его мысли.
Впереди была ночь. Долгая ночь.
Время писать новые гайды. Время оптимизировать алгоритмы. Время чистить систему.
Потому что если не мы, то кто?
Если иммунитет перестанет работать, организм умрет.
Артем не мог этого допустить. Он слишком любил этот город. Своей странной, болезненной, хирургической любовью.
Глава 3. Рейд
Три года назад. Битцевский парк.
Лес был не зеленым и не живым. Он был черно-белым, как старая кинопленка, проявленная в дешевых реагентах.
Черные, мокрые стволы деревьев, похожие на обгоревшие спички, торчали из сугробов. Белый, слепящий снег, скрывающий неровности почвы, норы и мусор. И красные пятна – единственные цветные акценты в этом монохромном аду. Это была не кровь. Пока еще нет. Это были сигнальные ленты, которыми полиция небрежно огородила квадрат 14 – место, где неделю назад нашли тело бегуньи.
Артем стоял на опушке, спиной к городу. Панельные многоэтажки Ясенево нависали над лесом гигантской бетонной стеной, словно плотина, сдерживающая цивилизацию от хаоса природы.
Ему было холодно. Озноб бил не от мороза (на улице было всего минус пять), а от адреналина. Он никогда не убивал. В теории – да. Он написал десятки постов, рассчитал формулы ядов, изучил анатомию собак по схемам. Но практика…
Практика пахла сыростью и прелыми листьями.
Рядом курил Стас.
Тогда они еще не были друзьями. Просто два ника с форума, «Immunolog» и «Stalker», решившие развиртуализироваться ради Дела.
Стас выглядел как персонаж из боевика про Чечню. Камуфляж «Горка», тяжелые армейские берцы, разгрузка, рюкзак, в котором угадывался характерный силуэт складного карабина «Сайга».
На фоне Стаса Артем в своем гражданском пуховике «Finn Flare» и с пакетом «вкусняшек» в кармане выглядел туристом, потерявшимся во время лыжной прогулки. В кармане у него лежал пневматический пистолет «Макарыч». Игрушка. Плацебо.
– Страшно? – спросил Стас, не поворачивая головы. Дым вырывался из его рта густыми, плотными клубами, смешиваясь с паром дыхания.
– Нет, – соврал Артем. Голос предательски дрогнул.
– Не ври, – спокойно сказал Стас. – Только идиотам не страшно. Лес – это не парк аттракционов. Это чужая территория. Здесь мы – гости. А хозяева они.
В глубине парка выла собака. Протяжно, тоскливо и жутко. Этот вой не имел ничего общего с лаем домашнего пуделя. Это был зов предков, волчья песня, от которой волосы на загривке вставали дыбом.
Официальная версия полиции: «несчастный случай, нападение стаи бродячих собак». Девушка бегала в наушниках, не услышала, как они подошли.
Неофициальная версия с форума: стаей руководил вожак, помесь волка и овчарки. Умный, лютый зверь, который перестал бояться человека. Он распробовал вкус крови.
Власти, как обычно, обещали отлов, стерилизацию и «разбор полетов». Прошла неделя. Ленты висели, стая выла, жители района боялись выходить на балконы.
– Пошли, – Стас бросил окурок в снег и с хрустом вдавил его каблуком. Этот жест был финальной точкой. Мирное время закончилось. – Держись за мной. Дыши носом. И главное: если что – не беги. Побежишь – сработает инстинкт жертвы. Они догонят. У них четыре лапы, у тебя две. Арифметика не в твою пользу.
Они вошли под сень деревьев.
Сразу стало тише. Городской шум – гул МКАДа, сирены скорых – исчез, отсеченный стеной елей. Остался только скрип снега под ногами и тяжелое, сиплое дыхание Артема.
Лес был враждебным. Ветки цеплялись за одежду, корни, скрытые под снегом, пытались поставить подножку.
Артем чувствовал себя бактерией, попавшей в чужой организм.
Они шли по следам. Стас читал снег как открытую книгу.
– Вот, – он указал на цепочку глубоких, размашистых ямок. – Свежие. Утренние. Четверо. Шли след в след. Волчья походка.
– Крупные? – спросил Артем.
– Вожак – килограмм под пятьдесят. Телок.
Артем сжал рукоять пневмата в кармане через ткань пуховика. Ладонь вспотела. Пятьдесят килограммов мышц и ярости против газового баллончика и шариков. Смешно.
– Думаешь, они здесь?
– Они здесь. У них лежка в овраге, у теплотрассы. Там коллектор пробит, тепло идет. И бомжи рядом, еда. Собаки любят, когда тепло и пахнет тухлятиной.
Они подошли к краю оврага.
Запах ударил в нос раньше, чем они увидели их. Запах мокрой, грязной псины, аммиака, гниющего мусора и чего-то тошнотворно-сладковатого.
Внизу, среди ржавых труб, окутанных паром, лежали тени.
Десять, может, двенадцать силуэтов.
Они не спали. Они ждали.
Вожак – огромный, грязно-серый, с одним отвисшим, разорванным в драке ухом – медленно поднялся. Он не рычал. Он просто смотрел.
В его желтых глазах не было ни страха, ни покорности. В них читался холодный расчет. Он оценивал: двое двуногих. Оружия не видно. Еда? Или угроза?
– Назад, – тихо, одними губами произнес Стас. Он медленным, плавным движением снял карабин с плеча и щелкнул предохранителем.
Артем попятился. Под ногой, скрытая снегом, хрустнула сухая ветка.
Звук в тишине леса прозвучал громче выстрела.
Стая сорвалась с места мгновенно. Без предупреждения. Без лая.
Это было не кино. В кино собаки лают, скалят зубы, бегут красиво, в рапиде. В жизни это была серая, смертоносная лавина. Молчаливая и стремительная. Живая волна из зубов и когтей.
Артем увидел, как вожак прыгнул. Дистанция сокращалась с пугающей скоростью.
– Огонь!!! – заорал Стас.
Грохнул выстрел. Ударная волна ударила по ушам.
«Сайга» плюнула огнем. 12-й калибр. Картечь.
Вожак, летящий в прыжке, словно наткнулся на невидимую стену. Его отбросило назад, перевернуло в воздухе. Он упал в снег мешком костей, но тут же попытался встать, волоча перебитые задние лапы.
Артем выхватил пистолет. Руки тряслись так, что он едва мог прицелиться.
Бах-бах-бах.
Пневматика.
Маленькие стальные шарики ударили по шкурам нападающих. Одна из собак взвизгнула, дернулась, но продолжила бежать. Это было как кидать горохом в танк.
– Стреляй! – орал он сам себе. – Стреляй, сука!
Они были слишком близко. Артем уже видел слюну, летящую с клыков.
Он понял, что сейчас умрет. Глупо. Уродливо. В лесу, в двух километрах от своего уютного офиса. Его разорвут, как ту бегунью.
– Ложись! – Стас толкнул его плечом, сбивая в сугроб.
Грохот стал непрерывным. Стас стрелял от бедра, веером, не целясь. Он работал как машина. Выстрел – передернул затвор – выстрел.
Картечь косила кусты, взбивала снег в кровавую кашу, рвала плоть.
Визг. Рычание, переходящее в бульканье. Запах сгоревшего пороха и горячего железа.
Внезапно все стихло.
Артем лежал лицом в снегу, боясь пошевелиться. В ушах звенело. Сердце колотилось где-то в горле.
– Живой? – голос Стаса был хриплым, спокойным.
Артем поднял голову.
Овраг превратился в бойню. Снег перестал быть белым. Он был разворочен, перемешан с грязью и кровью.
Вожак лежал в нескольких метрах. Его грудь превратилась в месиво. Остальные – кто-то лежал неподвижно, кто-то скулил и пытался отползти.
Стас подошел к подранку. Выстрел в упор. Скулеж оборвался.
– Чисто, – сказал он. – Контроль произведен.
Он перезаряжал карабин. Его руки в тактических перчатках двигались четко, экономно. Никакой дрожи.
– Вожак готов. Остальные разбежались. Без него они – просто собаки.
Он подошел к Артему, который все еще сидел в сугробе, глядя на дело своих рук.
Стас протянул руку.
– Вставай, брат. С крещением тебя. Теперь ты не просто теоретик.
Артем смотрел на протянутую руку. Она была в черной перчатке с обрезанными пальцами, пахла гарью и оружейным маслом.
Он взялся за нее. Рывок. Стас поставил его на ноги.
– Спасибо, – выдохнул Артем. Ноги были ватными.
– Не за что. Мы делаем одно дело. Мы – Братство. Запомни это, Артем. В этом городе, да и в этой стране, надеяться не на кого. Менты приедут только трупы описывать. Зоозащита будет собирать деньги на "лечение бедных собачек". А мы… мы делаем профилактику. Мы – антитела.
Они выбирались из леса молча. Темнело.
С этого дня Артем изменился. Тошнота прошла. Страх прошел.
На их месте появилась холодная, кристаллическая ясность.
Он понял, что «чистка» – это не просто разбрасывание отравы. Это не хобби. Это война. Война за выживание вида. Либо мы, либо они. Полутонов не существует.
Стас стал его наставником. Вергилием в этом аду. Он научил его не бояться крови. Он научил его смешивать яды. Он научил его ненавидеть профессионально.
– Жалость – это яд, – говорил Стас позже, в баре, опрокидывая шот водки. – Жалость разъедает волю. Если ты пожалеешь щенка сегодня, потому что у него "глазки грустные", завтра этот щенок вырастет, собьется в стаю и сожрет твоего ребенка. Арифметика простая, брат. Арифметика крови.
Артем впитал эту арифметику. Она была логичной. Она была жестокой. Она была единственно верной.
В коде нет места для жалости. Компилятор не плачет над ошибками. Он их исправляет.
И в стерильном мире будущего не должно быть места ошибкам.
Даже если у этих ошибок есть влажный нос и виляющий хвост.
Глава 4. Соседи
Дом был моделью общества в разрезе.
Девятиэтажная панельная коробка серии II-49, построенная в семидесятых для строителей светлого будущего, но заселенная строителями темного настоящего. Сотни бетонных ячеек, где кипела своя, отдельная жизнь, но все они были связаны общей кровеносной системой вентиляции, общей нервной системой слышимости и общим кишечником канализации.
Артем жил на девятом. Вершина пищевой цепи этого бетонного муравейника. Элита, которой не топают по голове.
Под ним, на восьмом, жила семья потомственных алкоголиков. Коля и Света. Их жизнь была циклична, как смена сезонов или фазы луны. Запой (зима), драка (весеннее обострение), бурное примирение (лето), тишина похмелья (осень). Артем знал их расписание лучше, чем график релизов Java. Если Коля начинал петь «Ой, мороз, мороз» в среду – значит, в четверг будет битва титанов с метанием посуды.
Справа, за стеной, жил Студент. Невидимый сосед. Его никто никогда не видел, но все знали, что он существует. Его выдавал только сладковатый запах дешевой гидропоники по пятницам и звуки «Dota 2» по ночам. «Мид проигран!», «Раки!» – доносилось из-за стены, как глас вопиющего в пустыне.
Но главным врагом Артема был не Коля с его вокалом и не геймер.
Главным врагом была Антонина Павловна с первого этажа.
Кошатница.
Главная жрица культа Бродячих Животных.
Хранительница Врат Ада.
Ее квартира, номер 4, была промзоной по производству биологического оружия. Запах начинался еще на улице, за пять метров до подъезда. Это был не просто запах. Это была физическая субстанция. Плотная, липкая смесь аммиака, протухшей вареной рыбы, кошачьих меток и старческого тлена.
Артем подозревал, что если начнется ядерная война, тараканы из квартиры Антонины Павловны не просто выживут – они мутируют, вырастут до размеров собак и построят новую цивилизацию, основанную на теократии Священного Минтая.
По слухам, у нее жило сорок кошек. Или пятьдесят. Никто не знал точно, потому что никто в здравом уме не заходил внутрь добровольно. Сантехники из ЖЭКа, которых вызывали, когда она топила подвал, выходили оттуда седыми и курящими, даже если до этого не курили. Они рассказывали страшные вещи. О горах мусора до потолка. О кошках, спящих на антресолях, на люстрах, в кастрюлях.
Антонина Павловна была женщиной без возраста. Ей могло быть и шестьдесят, и сто. Она ходила в вечном драповом пальто, похожем на солдатскую шинель времен Первой мировой, увешанном кошачьей шерстью как орденами и амулетами.
Каждое утро, ровно в 6:00, когда Артем только ложился спать после ночного кодинга, она выходила на охоту.
Нет, не убивать. Кормить.
Она выкатывала из подъезда тележку на колесиках (скрип-скрип-скрип – этот звук был будильником для всего двора). На тележке стояли ведра. В ведрах дымилось «варево».
Жуткая смесь из самых дешевых макарон «красная цена», рыбьих голов с глазами, куриных шкур и остатков супа со столовой, где работала ее подруга.
Она кормила всех.
Кошек у продухов подвала – это была первая линия обороны.
Голубей на козырьке подъезда – воздушная авиация (весь козырек был покрыт слоем помета толщиной в культурный слой Трои).
Крыс у мусорных баков – подземные партизаны.
И, конечно, собак. Тяжелая артиллерия.
Для Артема она была олицетворением Хаоса.
Она нарушала все мыслимые и немыслимые санитарные нормы. Она разводила антисанитарию с упорством маньяка.
Сегодня он встретил ее у почтовых ящиков. Избежать контакта не удалось. Лифт не работал (Коля с восьмого этажа вчера, видимо, пытался в нем перевезти рояль или просто блевал на панель управления).
– Артем, – ее голос скрипел, как несмазанная петля кладбищенской калитки. Она стояла в проходе, перекрывая путь к лестнице своей тележкой. – Ты опять не заплатил консьержке?
– Я плачу управляющей компании, – холодно ответил Артем, доставая из ящика счета за коммуналку. – В графе «Содержание и ремонт» все учтено.
– Черствый ты человек, – вздохнула она, поправляя вязаную шапку, из-под которой выбивались седые патлы. – Нелюдимый. Глаза у тебя злые, холодные. Как у волка. Смотри, Артемка, накажет тебя Бог.
– Бога нет, Антонина Павловна, – он попытался обойти баррикаду из ведер. Запах вареной рыбы ударил в нос, вызвав рвотный спазм. – Есть СанПиН 2.1.2.2645-10. И ваша квартира, а также ваши питомцы, его грубо нарушают.
– Ироды, – она перекрестилась мелким, суетливым крестом, похожим на отмахивание от мух. – Все бы вам запрещать, бумажки писать, убивать. А животинка, она тоже кушать хочет. Она Божья тварь. Она страдает.
– Крыса тоже Божья тварь? – спросил Артем, кивнув на мусоропровод, где слышалась возня.
– И крыса! – воинственно заявила бабка, выпятив грудь. – У нее душа есть! Святой Франциск и волку проповедовал, и птицам! А вы, компьютерщики, только в экраны свои пялитесь, души у вас нет, одни цифры!
Артем молча протиснулся мимо нее и пошел пешком на девятый этаж.
Спорить с фанатиками бесполезно. Это аксиома. Их вера непробиваема, как лобовая броня Т-90. Факты, логика, законы эпидемиологии – все это отскакивало от брони ее безумия, не оставляя царапин.
Именно такие, как она, создавали проблему.
«Кастрюлечницы». «Зоошиза». Опекуны.
Они создавали кормовую базу.
Биология, 5 класс. Популяция растет до тех пор, пока есть ресурс (еда). Если еды много – рождаемость повышается, выживаемость щенков растет.
Если бы не Антонины Павловны, стаи ушли бы из города в леса или промзоны в поисках пищи. Или их численность регулировалась бы естественным отбором (голодом и холодом).
Но армия безумных старух держала оборону. Они строили будки из картонных коробок и старых пальто. Они варили тонны каши. Они писали жалобы в прокуратуру на любой отлов.
Артем их не трогал.
Людей трогать нельзя. Это был его железный принцип.
Уголовный кодекс – это единственная священная книга, которую он чтил и соблюдал. Убийство человека – это баг, который невозможно пофиксить. Это `System Failure`.
Но он вел войну с последствиями их «доброты».
Вечером того же дня, возвращаясь с работы (из коворкинга, где он иногда появлялся ради имитации социальной жизни), он увидел у подъезда новую «фортификацию».
Под балконом первого этажа, в сухом, защищенном от ветра углу, стояла большая картонная коробка из-под телевизора. Заботливо устеленная старыми тряпками (чьими-то бывшими свитерами). Рядом стояли две миски: одна с молоком (которое замерзло), другая с кусками той самой «докторской» колбасы.
«Приглашение к столу», – подумал Артем. – «Отель «Ритц» для блоховоза».
В коробке никого не было. Пока.
Но это вопрос времени. Через час здесь будет лежать сука со щенками. Или стая придет на запах.
Артем огляделся. Двор пуст. Камера на подъезде смотрит в другую сторону (он сам проверял слепые зоны).
Океа.
Он достал из бокового кармана рюкзака баллончик. Не перцовый для самообороны. Другой. Спрей «Антигадин» для кошек, усиленный собственной смесью эфирных масел цитрусовых и хлорки.
Жгучая, невыносимая вонь для любого собачьего носа. Для человека пахнет просто лимоном и бассейном. Для собаки – как удар напалмом по обонятельным рецепторам.
Он щедро полил коробку изнутри. Тряпки. Землю вокруг. И – контрольный выстрел – прямо в миску с колбасой.
Собака почувствует этот запах за пять метров. Она не подойдет. Она не ляжет в эту коробку, даже если будет умирать от холода. Инстинкт не позволит.
Гуманно?
Вполне.
Никто не умер. Никто не отравился. Просто «место занято». Бронь аннулирована по техническим причинам.
Он поднялся к себе на девятый. Вымыл руки.
Включил свет на кухне.
Жизнь была борьбой за территорию. Антонина Павловна метила территорию мисками и коробками. Он метил ее химией.
Это был паритет. Статус-кво.
Холодная война местного масштаба за квадратные метры асфальта.
И в этой войне он не собирался сдавать позиции.
Потому что если сдашь двор – завтра они будут в подъезде. Послезавтра – на лестничной клетке. А потом… кто знает?
Эволюция не знает жалости. Выживает сильнейший. Или умнейший.
Глава 5. Ошибка 404
Город жевал людей медленно, со вкусом гурмана, выплевывая косточки в виде окурков, использованных проездных и сломанных судеб на серый, затоптанный лед тротуаров.
Вечерний час пик – это время, когда пищеварение мегаполиса работает на полную мощность. Жернова метро перемалывали людской поток, выхаркивая на поверхность толпы уставших, злых молекул, которые тут же разбегались по капиллярам улиц, стремясь спрятаться в свои бетонные соты.
Артем вышел из метро «Орехово».
Ветер сразу ударил в лицо, как пьяный хулиган, бросив в глаза горсть ледяной, колючей крупы. Он поднял воротник пуховика, пряча подбородок. Шум Каширского шоссе смешивался с отборным матом таксистов-бомбил и зазывными криками торговцев шаурмой.
Симфония спального района. Звук, который можно записать и продавать как «Noise Ambient» для любителей депрессии.
Он шел против течения.
Все шли к свету, к теплу магазинов и подъездов. Он шел туда, где заканчивался свет витрин и начиналась тьма дворов-колодцев. Парк «Дубки». Пустырь за гаражным кооперативом, где подростки пили «Ягуар» и теряли девственность. Теплотрасса у школы, где ночевали бомжи.
Точки бифуркации. Места, где пересекались миры людей и зверей.
В правом кармане куртки лежали «посылки». Завернутые в три слоя целлофана, чтобы не впитали запах дешевого табака (Артем не курил, но пассивное курение у метро было неизбежно).
Собаки чувствуют запах лучше газоанализатора. Они умнее, чем кажутся. Они эволюционируют вместе с городом.
У третьего подъезда дома номер шесть сидела баба Валя. Она была как NPC, которого забыли убрать из локации разработчики. Местная святая и сумасшедшая.
Вокруг нее всегда была зона биологической опасности. Голуби, наглые и жирные, ходили по ее ботинкам. Кошки терлись о ее ноги.
– Идешь, Артемка? – проскрипела она. Глаза у нее были выцветшие, как старая эмаль. – А я вот Рыжика жду. Не приходил сегодня. И вчера не был.
– Не видел, – буркнул Артем, не сбавляя шага.
Рыжика он «убрал» на прошлой неделе. Кобель был агрессивным, кидался на велосипеды курьеров «Яндекс.Еды». Велосипедисты падали, еда рассыпалась, Рыжик жрал. Теперь Рыжик был частью гумуса в дальнем конце парка. Круговорот веществ.
– Холодно нынче, – вздохнула баба Валя ему в спину. – Померзнут души живые. Ой, померзнут…
«Души, – подумал Артем, сворачивая в арку. – У глистов тоже есть души? У вируса Эбола? У крыс, которые жрут проводку в машинах?»
Он вошел в зону гаражей.
Темнота здесь была густой, осязаемой. Она пахла мочой, ржавым металлом, отработанным машинным маслом и прелой листвой. Идеальный биотоп для паразитов.
Бросок.
Мягкий, почти неслышный шлепок о снег.
Бесформенная тень скользнула из-под забора. Хвост-маятник, дрожащий от холода и надежды. Собака, худая, как анатомическое пособие, обтянутое грязным мехом цвета дорожной жижи.
Она жадно, давясь, схватила колбасу. Даже не жуя.
– Кушай, – беззвучно шевельнул губами Артем. – Это тебе. В честь вторника.
Он не останавливался. Не смотрел.
Профессионалы не смотрят на взрыв.
Он знал физику и химию процесса. Через сорок минут начнется атаксия (нарушение координации). Собака подумает, что просто устала, что у нее кружится голова от голода. Ноги станут ватными. Она ляжет в снег, чтобы передохнуть. И больше не встанет.
Тубазид выключает мозг плавно. Гипоксия. Сон. Смерть.
Гуманно. Быстро. Бесплатно.
Артем сделал еще три закладки. У теплотрассы (там была стая из трех голов). У помойки (там всегда кормились пришлые). У школьного забора (профилактика).
Пакет опустел.
Миссия выполнена.
Возвращаясь к своему дому, он уже чувствовал привычную усталость – не физическую, а ментальную, свинцовую тяжесть выполненного долга. Фонарь над его подъездом моргал, словно азбука Морзе, передающая сигнал бедствия. «SOS… SOS… SOS…»
У самых ступеней, сжавшись в комок грязной шерсти, лежало Нечто.
Артем замедлил шаг.
Щенок.
Месяцев пять, не больше. Овчароид. Плод случайной, пьяной связи какой-то породистой суки и уличного проходимца. Одно ухо стояло торчком, другое висело, как флаг капитуляции.