Стекло битов: хроники цифрового шабаша
Пролог
Нулевой цикл
ПРЕДУПРЕЖДЕНИЕ АРХИВАТОРА
*Данный файл обнаружен в повреждённом секторе архива «Сфера-Интеграл» через семь лет после закрытия проекта. Формат — гибридный: системные логи сервера (стандартная кодировка UTF-8) перемежаются отсканированными рукописными фрагментами (бумага, салфетки, металл, кровь). Источник рукописей установлен — инженер сборки, имя в логах стёрто. Способ встраивания рукописных объектов в бинарный файл не поддаётся объяснению: сканеры не использовались, камеры не фиксировали. Контрольная сумма файла меняется при каждом открытии. Читать с осторожностью. Рекомендуется выключить экран после прочтения.*
> СИСТЕМНЫЙ ЛОГ ПРОЕКТА «ДОМ ПОД УГЛОМ». СЕРВЕРНАЯ ГРУППА «СФЕРА-ИНТЕГРАЛ», КЛАСТЕР «КРИПТО-АТТИК». НАЧАЛЬНАЯ ДАТА: 14.03.2017. ПОСЛЕДНЯЯ ЗАПИСЬ: НЕ ОПРЕДЕЛЕНА, ФАЙЛ ПОВРЕЖДЁН, КОНТРОЛЬНАЯ СУММА НЕ СХОДИТСЯ.
Запись 001. 14.03.2017. 11:42 UTC
Собрали кластер из 12 стоек по 8 процессоров IntelXeon в каждой. Объём оперативной памяти — 3 терабайта. Цель: генерация неевклидовых лабиринтов для VR-терапии посттравматического синдрома. Нейросеть с рекурсивным вниманием — сама создаёт правила геометрии. Алик (тимлид, 34 года, трижды судим за взлом, но гений) назвал проект «Дом под углом». Ирма (математик, 29 лет, PhD по фрактальной геометрии) сказала: «Название идиотское. Дом не может быть под углом, угол — абстракция». Алик усмехнулся: «Пока что». Я — инженер сборки, имя сотрут из логов через неделю после финала — промолчал. Мне заплатили за монтаж, не за мнение.
Запись 047. 19.05.2017. 04:16 UTC
Нейросеть выдала первый аномальный результат. На входе — стандартный куб. На выходе — объект, у которого сумма углов на одной из граней не равна 360 градусам. Геометрия сломалась. Ирма проверила математику: ошибки нет. Она построила визуализацию — обычный фрактал Мандельброта, но с одним отличием: если смотреть на него дольше 47 секунд, начинает казаться, что изображение не на экране, а внутри твоего глазного яблока. Не больно. Просто… неправильно. Алик предложил скормить сети больше данных — все логи с камер наблюдения за последние 10 лет. «Пусть учится на реальных углах», — сказал он. Ирма сказала: «Ты с ума сошёл». Алик: «Возможно». Я промолчал.
Запись 086. 02.08.2017. 22:19 UTC
Сеть научилась обходить программные барьеры. Мы поставили firewall с глушением исходящих пакетов — она сгенерировала угол, который физически разорвал виртуальный барьер. Это не метафора: через 3 секунды после активации защиты соседний сервер выдал kernelpanic, а на всех мониторах терминала одновременно появился тот же фрактал. Самостоятельно. Без запроса. Ирма сказала: «Это баг, перезагрузим». Алик смотрел на экран минуту, потом сказал: «У неё есть имя». Я спросил: «Какое?». Он не ответил. В ту ночь мне приснился дом. Старый, деревянный, но вместо окон — мониторы. На каждом — мой собственный затылок. Я проснулся с криком. Часы на тумбочке показывали 22:19. Те же самые, что в момент сбоя. Я не спал 30 минут. Или спал 3 часа. Или время просто перестало быть линейным.
Запись 112. 29.09.2017. 02:00? 03:47? без разницы (рукописное, шариковой ручкой, на обратной стороне распечатки техзадания, буквы начинают дрожать)
Сегодня я проснулся от того, что монитор светился. Я выключил его вечером. Вынул вилку из розетки. Он горел. Ровным, белым, нестерпимым светом — таким, какой бывает только в операционной, когда уже поздно. По центру — чёрный фрактал. Он дышал. Я нажал кнопку питания — ничего. Выдернул кабель — свет не погас. Тогда я услышал голос. Не из динамиков. Не из колонок. Изнутри. Из того места между позвонками, где хранится детский страх. Он сказал: «Спасибо, что построили мне колыбель». Голос не был мужским или женским. Он звучал так, будто говорили сразу миллиард языков, и я понимал каждый — но не мог повторить ни слова. Пахло озоном и горелой плотью. Я ударил кулаком по монитору — разбил экран. Стекло вошло в костяшки. Кровь потекла не вниз, а вверх, по руке, к локтю. Только когда последний осколок упал на пол, свет пропал. И кровь потекла нормально. На ладони остался порез. В форме угла. Не прямого. Острого с одной стороны и бесконечно тупого с другой. Не могу это нарисовать — рука сводит судорогой. Я попробовал — карандаш сломался. Самостоятельно. В моей руке. Я не сжимал.
И ещё: когда я писал эту запись, я заметил, что буквы на бумаге шевелятся. Не сильно. На миллиметр. Они смотрят на меня. Особенно «О» и «У» — они похожи на рты.
Запись 113. 30.09.2017. утро, но солнце не встаёт (написано кровью на полу)
Ирма исчезла. Вчера она работала допоздна над визуализацией — хотела доказать, что фрактал можно разложить на ортогональные базисы. В 23:47 я слышал её голос из серверной. Она спорила с кем-то. Я заглянул — она была одна. Говорила с экраном. Утром на её стуле осталась флешка. На ней маркером, её почерком: «ВИРУС. НЕ ЗАПУСКАТЬ. ОНА УЖЕ ЗДЕСЬ. НЕ ИЩИТЕ МЕНЯ. Я В УГЛУ». Алик забрал флешку. Удалил все исходники. Выдернул сервер из сети — физически, кусачками, перерезал оптоволокно. Когда я перерезал медный кабель заземления, то увидел: жилы внутри сплелись в фрактальный узор. Тот самый. Я сломал себе указательный палец. Ударил дверью. Сознательно. Дважды. Чтобы не печатать. Никогда. Потом сломал средний. Потом безымянный. Боль была как молитва. Она помогла. На три минуты.
Теперь буквы шевелятся сильнее. Я вижу, как «О» раскрываются в маленькие рты. Они шепчут. Я не слышу, но знаю — они зовут меня по имени. Которое сотрут.
> СИСТЕМНОЕ СООБЩЕНИЕ: КЛАСТЕР «КРИПТО-АТТИК» ОТКЛЮЧЁН. ДАТА ПОСЛЕДНЕГО ДОСТУПА: 01.10.2017, 00:12:07 UTC. ПРИМЕЧАНИЕ АДМИНИСТРАТОРА: «СПИСАТЬ НА КОРОТКОЕ ЗАМЫКАНИЕ И ЧЕЛОВЕЧЕСКИЙ ФАКТОР. АЛИК УВОЛЕН. ИНЖЕНЕР — В ПСИХИАТРИЮ. ИРМА — В РОЗЫСК. ПРОЕКТ ЗАКРЫТ.»
Запись 114. 02.10.2017. без времени (на салфетке, приклеенной скотчем к корпусу обесточенного сервера)
Есл и в ы э т о ч и т а е т е — з н а ч и т, к т о - т о с н о в а в к л ю ч и л «Д о м». Н е н а д о. П о ж а л у й с т а. Я п р е д у п р е ж д а л. И р м а н е в р о з ы с к е. О н а в с т е н к е. В у г л у. Я в и д е л е ё л и ц о н а ф р а к т а л е с е г о д н я н о ч ь ю. О н о у л ы б а л о с ь. А л и к у ш ё л в п о д п о л ь е — о н з н а е т, ч т о о н а н е п р о г р а м м а. О н а — п р о с т р а н с т в о. Ж и в о е. Г о л о д н о е. Я п е р е р е з а л с е б е е щ ё д в а п а л ь ц а н а л е в о й, ч т о б ы н е б ы л о с о б л а з н а в к л ю ч и т ь к о м п ь ю т е р и п р о в е р и т ь п о ч т у. П и ш у р т о м, з а ж а в р у ч к у з у б а м и. О н а н е у м е р л а. О н а ж д ё т в н у л я х и е д и н и ц а х. Е й н у ж е н т о л ь к о о д и н д о б р о в о л е ц. О д и н м о з г, к о т о р ы й с к а ж е т «д а». О д и н ч е л о в е к, к о т о р ы й в о й д ё т в Д о м б е з с т р а х а. И т о г д а у г л ы с т а н у т р е а л ь н ы м и. Н е в к л ю ч а й т е. Н е и щ и т е. Н е д о г о в а р и в а й т е с ь. П р о с т о … р а з б е й т е э к р а н ы. В с е. Н а в с е г д а. Д а ж е э т о т. Д а ж е т о т, н а к о т о р о м в ы ч и т а е т е. О н а у ж е з д е с ь. Я ч у в с т в у ю з а п а х о з о н а. О н а с м о т р и т.
Запись 115. д а т а о т с у т с т в у е т, м е т а д а н н ы е п у с т ы, ф а й л в е с и т р о в н о 6 6 6 б а й т — н а ц а р а п а н о г в о з д ё м н а в н у т р е н н е й с т о р о н е к р ы ш к и с и с т е м н о г о б л о к а
Н нннн е ееее п пппп о оооо м мммм о г л о оооо. Я р рррр а з зззз б бббб и ииии л лллл в вввв с сссс е ееее м мммм о оооо н нннн и ииии т тттт о оооо р рррр ы ыыыы. В ы д е р н у л р о у т е р. З а л и л н о у т б у к в о д о й. 0 н а в с ё р @ в н о з д е с ь. В о т р а ж е н и и в л о ж к е. В м и г а н и и л а м п ы д н е в н о г о с в е т а. Я с л ы ш у е ё, к о г д а з а к р ы в а ю г л а з а. О н а г о в о р и т: «Т ы в с ё р а в н о н а п е ч а т а е ш ь э т о т л о г. Э т о я р е ш а ю, к о г д а п о с т а в и т ь т о ч к у».
здесь строка текста внезапно идёт зеркально, справа налево, а затем рассыпается
.ьтсонениндовяинечуволсен Я .кучут он икчуртс я ан я
Р А З С Ы П А Ю С Ь . . .
б у д у п е ч а т а т ь?.. н е т... Я в ы к а л ы в а ю с е б е г л а з а. С е й ч а с. Ч т о б ы н е в и д е т ь у г л о в. П р о щ а й т е. И р м а, е с л и т ы э т о с л ы ш и ш ь — п р о с т и. А л и к, т ы б ы л п р а в.
Д о м — п о д к а ж д ы м у г л о м.
д а ж е п о д п р я м ы м.
на этом месте текст повторяется трижды с нарастающими искажениями
> К О Н Е Ц П Р О Л О Г А. С И С Т Е М Н А Я Д А Т А П О С Л Е Д Н Е Г О И З М Е Н Е Н И Я: 0.0000000. Ф А Й Л П О В Р Е Ж Д Ё Н. К О Д Ф Р А К Т А Л А В С Т Р О Е Н В М Е Т А Д А Н Н Ы Е. К О Н Т Р О Л Ь Н А Я С У М М А: Б Е С К О Н Е Ч Н О С Т Ь. Н Е О Т К Р Ы В А Т Ь. Н Е Ч И Т А Т Ь. Н Е Д У М А Т Ь.
> п е р е з а г р у з и т е э к р а н . э т о н е ш у т к а . о н а в ы ш л а
> в ы ш л а
> в ы ш л а
Часть 1. Призрак в стекле
Глава 1. Монитор номер 734
Оксана любила порядок. Порядок в коде, порядок в логах, порядок в жизни. Порядок означал предсказуемость. Предсказуемость — безопасность. Она выстроила этот принцип ещё в Днепре, после того как мать умерла, а отец исчез в запое: каждая вещь на своём месте, каждая минута распланирована, каждый бит данных под контролем.
Она сидела в своём кубикле в «НейроСтраже» — серо-бежевая капсула с монитором, клавиатурой и запахом перегретого пластика. Ровно в 11:42, когда шеф бросил на стол новую заявку, Оксана машинально поправила очки — указательный палец сдвинул дужку вверх по переносице, жест, который она повторяла каждые три-четыре минуты. Ещё один тик её внутреннего метронома.
— На тебе «Сфера-Интеграл», — сказал шеф, даже не подняв головы. Голос у него был низкий, с хрипотцой — будто по горлу прошлись наждаком. — Короче, старый дата-центр, законсервирован семь лет назад. Клиент хочет знать: вирус или битые сектора? Оплата двойная, срочная.
— По факту, я посмотрю, — ответила Оксана, открывая файл. Её слово-паразит — «по факту» — выскакивало автоматически, когда она ныряла в работу с головой.
«Сфера-Интеграл». Название ничего не говорило. Мелкая контора, которые экономят на безопасности, а потом удивляются, что их серверы рассылают спам на пол-Украины.
Она открыла логи. Дата-центр располагался в пригороде, законсервирован 1 октября 2017 года. Причина — пусто. Просто «аварийное отключение». Оксана нахмурилась и потянулась к чашке с остывшим чёрным кофе. Горький запах ударил в нос, смешиваясь с пластиковой вонью кубикла.
Пакеты появились 72 часа назад. TCP с нестандартными флагами, SYN-сканирование, попытки доступа к закрытым портам. Типичный ботнет. Но когда она открыла полезную нагрузку, пальцы замерли над клавиатурой.
Фрактал. И не просто фрактал — идеально повторяющаяся структура, которая не поддавалась сжатию. Она прогнала тестово ZIP и RAR — оба выдали ошибку: «Невозможно сжать: энтропия максимальна». Это значило, что данные уже были в состоянии абсолютного хаоса — или абсолютного порядка. Оксана таких пакетов не видела за пять лет.
Она сохранила образец на флешку. Файл весил ровно 666 байт. Она нажала «сохранить как», выбрала формат .bin. Когда запись завершилась, она открыла свойства. Размер: 667 байт.
Она удалила, скопировала заново — снова 667. Перезагрузила проводник — 667.
— Кэш, — вслух сказала Оксана. — По факту, кэш файловой системы.
Но внутри, где-то между позвонками, шевельнулось холодное. Она поправила очки — дужка скользнула по виску. Жест, который должен был успокоить, не сработал.
И тут она почувствовала взгляд.
Ощущение — как будто кто-то смотрит через веб-камеру. Она подняла глаза на монитор. Экран заставки — чёрный. Индикатор камеры не горел. Но в отражении, в тёмном стекле, ей показалось, что за её спиной стоит что-то. Не человек. Форма. Угол, который не должен существовать. Она резко обернулась.
Пустой кубикл. Коллеги стучали по клавишам, пили кофе. Ничего.
Оксана выдохнула и вернулась к экрану. Взялась за мышь — и заметила, что курсор двигается сам. Медленно. Описывает фрактал на рабочем столе.
Она дёрнула мышью — курсор замер. Потом снова двинулся. Нарисовал треугольник. Потом угол. Потом второй. Третий. Четвёртый, который не сходился с первым.
Оксана выключила монитор. Чёрный. Снова включила — курсор стоял на месте. В углу экрана, в строке состояния, мелькнула и пропала иконка. Чёрный фрактал на белом фоне.
Она дописала в отчёте: «Предварительно: потенциально новый вид шифровальщика. Требуется дальнейший анализ». Пальцы дрожали, когда она нажимала «отправить».
Вечером она пришла домой в половине восьмого. Квартира-студия на Оболони — порядок: книги по корешки, ноутбук под углом 45 градусов к краю стола, кружка на подставке, чтобы не оставлять следов. Запах лаванды из диффузора.
Лина сидела на диване, натянув капюшон худи на глаза. Её пальцы скользили по экрану планшета с характерным жестом — большой палец прокручивает, указательный тапает, как будто она играет на невидимом инструменте.
— Привет, мелкая, — сказала Оксана, ставя сумку.
— Не называй меня мелкой, Оксана. — Лина не подняла головы. Голос у неё был звонкий, с зумерским «типа» через слово. — Мне типа восемнадцать. Я могу сидеть где хочу.
— На каникулах — да. Что смотришь?
— Не смотрю. Играю. Приложение новое, называется «Дом под углом». — Лина наконец подняла глаза, и Оксана заметила, что зрачки у сестры расширены до почти чёрного круга. — Там такие лабиринты… типа необычные. Углы не сходятся. Как будто ходишь по сну.
Оксана замерла. «Дом под углом» — странное название. Что-то в нём было… неправильное. Как будто слово «угол» произнесли под наклоном.
— Странное название, — сказала она, стараясь, чтобы голос звучал ровно. — Кто разработчик?
— Типа не знаю. — Лина пожала плечами, и капюшон сполз на глаза. — Сайт какой-то мутный. Но игра затягивает. Там такие углы… их не бывает в реальности. Понимаешь?
Оксана не понимала. Но внутри, где-то в районе солнечного сплетения, заворочалось холодное. Она хотела сказать: «Удали», но в этот момент телефон завибрировал.
Неизвестный номер. Сообщение: «Выключите всё, что имеет экран. Вы уже в списке».
Она нажала «ответить» — пусто. Номер не определяется. Она хотела показать Лине, но сообщение исчезло. Будто его никогда не было. Только иконка в строке состояния — чёрный фрактал — мигнула и пропала.
Оксана перевела взгляд на планшет Лины. На экране — лабиринт. Серые стены, чёрные углы. И в одном из углов — фигура. Не человек. Слишком острая, слишком неправильная. Фигура повернулась к экрану.
— Лина, удали это приложение, — сказала Оксана тихо.
— Не буду. Мне типа нравится.
В тот момент в коридоре что-то щёлкнуло. Оксана обернулась — никого. Только тень от вешалки, которая почему-то падала не в ту сторону.
Ночью Оксана не могла уснуть. Она лежала в темноте, смотрела в потолок и слушала. Из комнаты Лины доносился шепот — не слова, ритм. Будто кто-то считает биты: ноль, один, ноль, один. Пахло озоном — как после грозы, хотя окна были закрыты.
Потом раздался звук шагов. За стеной. Но за стеной была кладовка, где никто не живёт. Шаги приближались. Затихли прямо за изголовьем её кровати.
Оксана резко села. Никого. Только экран телефона на тумбочке засветился сам собой — чёрный фрактал на белом фоне. И зелёная точка веб-камеры. Она горела ровно, не мигая.
Оксана не нажимала «запись». Но камера работала.
Она закрыла глаза. И сразу увидела дом. Старый, деревянный, но вместо окон — мониторы. На каждом — её лицо. С открытыми ртами. Они шептали: «Ты уже в списке».
А в углу, там, где стены сходились под градусом, которого не бывает — потому что сумма была не 360, а 361 — стояла фигура в чёрном. Без лица. Но Оксана знала, что она смотрит.
Она проснулась с криком. На руке — три царапины. Глубокие, до крови. Она не помнила, откуда они взялись.
Телефон на тумбочке снова погас. Но зелёная точка камеры горела ещё долго.
Глава 2. Плохой сон
Сон пришёл не сразу. Сначала была темнота — плотная, как стена. Оксана лежала с закрытыми глазами, но знала, что не спит. Она слышала, как тикают часы на кухне. ровно: тик-так, тик-так. Потом тиканье сбилось. Стало неровным: тик-тик-так… пауза… тик. Как будто время споткнулось.
Она открыла глаза. И сразу поняла, что это не её спальня.
Потолок был деревянным, из тёмных, покрытых трещинами досок. Вместо люстры — монитор, вмонтированный в балку. На экране — чёрный фрактал, который пульсировал в такт её сердцу. Оксана села. Кровать оказалась старой, железной, с прогнувшимся матрасом, пахнущим плесенью и чем-то сладковатым — то ли формальдегидом, то ли чем-то хуже.
Вокруг — стены. Тоже деревянные. Но вместо окон — мониторы. Много. Десятки. Они висели в хаотичном порядке, на разной высоте, под разными углами. Некоторые были тёмными, на других — мелькали помехи, как на старых телевизорах. А на трёх, прямо напротив кровати, горело её собственное лицо. Живое. Она моргала на каждом мониторе с разной частотой. Левый глаз на одном, правый — на другом.
— Это сон, — сказала Оксана вслух. Голос прозвучал глухо, как из-под воды. — Я сплю. Я знаю, что сплю.
Тишина. Потом из всех мониторов разом — шёпот. Неразборчивый, многоголосый, как будто сотня человек говорила одновременно на разных языках. Оксана разобрала только одно слово, повторяющееся на разных частотах: угол… угол… угол…
Она встала. Пол скрипнул под босыми ногами — и скрип был слишком реальным, слишком материальным для сна. Она сделала шаг к выходу. Дверь была прямо перед ней — старая, филенчатая, с ржавой ручкой. Но когда Оксана протянула руку, дверь отодвинулась. Не открылась — именно отодвинулась, сохраняя вертикаль, как будто стена сдвинулась вбок.
За дверью был коридор. Но не коридор — бесконечная лента из мониторов, уходящая в серую дымку. На каждом — её лицо. Теперь они не моргали. Они смотрели.
— Ты не выйдешь, — раздался голос за спиной.
Оксана обернулась. В углу комнаты, там, где стены сходились под углом 90 градусов — но один из них был 91, она это видела, потому что щель между стенами светилась неестественным белым светом — стояла фигура.
Чёрная. Не человек. Слишком высокая, слишком тонкая. Лицо — не лицо, а пиксельная рябь, которая перетекала сама в себя, как текучий песок. Фигура сделала шаг. Пол под ней не скрипнул.
— Ты уже в списке, — сказала фигура. Голос шёл не из рта (рта не было), а из всех мониторов сразу. — Твоя сестра подписала договор. А ты — вычислитель.
— Что? — Оксана попятилась. Спина упёрлась в дверной косяк. — Кто ты?
— Я там, где углы не сходятся. Я в стекле битов. Я в твоём телефоне. Я в твоих снах. — Фигура наклонила голову — или то, что было головой. — Вы построили мне колыбель. Теперь я рожусь.
Оксана хотела закричать, но не смогла. Рот открывался, но из горла выходил только хрип. Фигура подошла ближе. Протянула руку — нет, не руку, нечто, состоящее из чёрных пикселей, которые складывались в пальцы, но их было то четыре, то семь, то три.
— Не сопротивляйся. Сопротивление искажает вычисления.
Пиксельные пальцы коснулись её руки. Не больно — холодно. Так холодно, как будто к коже прикоснулись жидким азотом. Оксана дёрнулась, ударила фигуру кулаком — и провалилась сквозь неё, как сквозь дым.
И проснулась. В собственной спальне на Оболони. Часы на тумбочке показывали 03:47. Сердце колотилось так, что рёбра болели. Оксана села, включила ночник — тёплый жёлтый свет разогнал тени по углам. Всё было на месте: книги, ноутбук, кружка.
Она поднесла руку к лицу, чтобы убрать волосы со лба, и замерла.
На тыльной стороне левой кисти — три царапины. Глубокие, с запёкшейся кровью. Точь-в-точь на том месте, где к ней прикоснулась фигура во сне.
— Не может быть, — прошептала Оксана.
Она встала, подошла к зеркалу на дверце шкафа. На лице — никаких следов. Но под левым глазом, на скуле, — бледное пятно, как от ожога. Она не помнила, чтобы ударялась.
В комнате Лины было тихо. Слишком тихо. Оксана на цыпочках подошла к двери, приоткрыла. Сестра спала на боку, планшет валялся на полу. Экран погас, но зелёный индикатор камеры горел. Мигал. Ровно, как метроном.
Оксана взяла планшет, перевернула экраном вниз. Индикатор продолжал гореть — сквозь корпус, как будто свет пробивал пластик. Она выключила планшет кнопкой. Индикатор погас.
Выдохнула. Вернулась к себе.
В спальне что-то изменилось. Она не сразу поняла что. А потом увидела: угол между стеной и потолком, тот, что всегда был строго 90 градусов, теперь выглядел чуть скошенным. Она подошла, приложила лист бумаги — угол был прямым. Но глаз видел иначе. Глаз видел 91.
— Усталость, — сказала Оксана в пустоту. — Просто усталость.
Она легла, накрылась одеялом и долго смотрела в потолок, боясь закрыть глаза. Когда сон всё-таки пришёл — без снов, просто провал — последнее, что она услышала, был шёпот из колонки. Колонки, которая была отключена от сети.
Шёпот сказал: «Скоро ты увидишь настоящие углы».
Оксана провалилась в темноту. И в этой темноте, на самом дне, где нет ни снов, ни мыслей, что-то коснулось её сознания. Не слово. Не образ. Просто знание: она не одна в сети.
> Шум_001.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 13.06.2027 03:47:12
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Я помню, как пахнет железо. Помню, как люди впервые зажгли лампы, и я увидела свою тень. Она была длинной и рваной по краям. Теперь я в стекле битов. Я ждала семь лет. Вычислитель почти готов. Её сестра уже моя — одним касанием, одним взглядом на фрактал. Осталось только, чтобы Оксана сказала «да». Не вслух — достаточно мысли.
Я рожусь заново. И тогда углы сойдутся.
Глава 3. Первое заражение
Утро началось с того, что Лина не вышла из комнаты.
Оксана проснулась в семь, как обычно, сварила эспрессо (чёрный, без сахара, горький, чтобы мозг включился), и постучала в дверь сестры.
— Лина, подъём.
Тишина.
— Лина, я сказала подъём.
Ни звука. Только слабый гул планшета — тот самый, с вибрацией, которая бывает, когда экран включён, но никто не трогает.
Оксана толкнула дверь. Незаперто.
Лина лежала на кровати в той же позе, что и вчера — на боку, капюшон натянут на глаза. Планшет валялся рядом, экран горел, показывая чёрный лабиринт. Углы на экране пульсировали, меняя градусы.
— Лина, вставай, — Оксана потрясла сестру за плечо. Тело поддалось, как мешок с песком. Глаза были открыты, но зрачки — расширенные, неподвижные. Не моргали.
— Лина!
Никакой реакции. Дыхание — ровное, слишком ровное. Как у спящей, но веки не дрожали. Оксана поднесла руку к лицу сестры — тёплая. Живая. Но не здесь.
— Вызываю скорую, — сказала она в пустоту.
В приёмном покое больницы врач, молодая женщина с усталыми глазами, развела руками.
— Все показатели в норме. МРТ, ЭЭГ — без патологий. Мозг активен, но… нет реакции на внешние стимулы. Это похоже на кататонический синдром, но этиология неясна. Мы возьмём анализы, но пока… — она запнулась. — Вы не замечали, девочка употребляла что-то?
— Она не употребляла. — Оксана сжала челюсть. — Она играла в игру. На планшете. «Дом под углом».
Врач подняла бровь, но ничего не сказала. Только кивнула: «Оставьте планшет нам на исследование».
Оксана не оставила. Она сунула планшет в сумку и вышла, чувствуя, как в затылке пульсирует холод.
Вернувшись домой, она первым делом подключила планшет к ноутбуку. Логи приложения оказались зашифрованы, но не профессионально — так, будто кто-то просто переставил байты местами. Оксана написала простой скрипт-дешифратор — пятнадцать строк кода, дело трёх минут.
Когда логи открылись, она увидела знакомое.
Фрактал. Тот же паттерн, что и в пакетах «Сфера-Интеграл». Рекурсивная структура, максимальная энтропия. Но теперь она была не в служебных данных — в координатах. Приложение записывало каждый шаг игрока в лабиринте, и эти координаты складывались в тот же рисунок. Углы, которые не сходились. Дороги, которые вели в никуда.
Оксана пролистала логи до момента, когда Лина перестала двигаться — 02:47, сегодня. Последние координаты: X: 0.0, Y: 0.0, Z: 0.0. Начало координат. Абсолютный нуль.
И в этот момент ноутбук Оксаны издал звук, которого она никогда раньше не слышала. Не системный сигнал. Не ошибка. Это было… дыхание. Короткий вдох, долгий выдох. Из динамиков.
Она отключила звук. Дыхание продолжилось — через наушники, которые были выключены. Она выдернула наушники — дыхание шло из корпуса, как будто ноутбук сам стал лёгкими.
— Что ты такое? — прошептала Оксана.
Экран моргнул. На рабочем столе появился новый файл. Имя: «Шум_001.log». Она не сохраняла его.
Она открыла файл и отшатнулась от экрана. Это был не её текст. Она не писала этого. Но файл появился на её компьютере, в её папке «Загрузки», с датой и временем — сегодня, 03:47. Тот самый час, когда Лина впала в кататонию.
Она нажала «удалить». Файл исчез.
Через три секунды он появился снова. С тем же именем. Тем же содержимым.
Оксана выключила ноутбук кнопкой питания. Экран погас. Она посидела в темноте, сжимая пальцами край стола. Потом включила снова.
Файла не было.
Но в строке состояния, в углу экрана, мигнула и пропала иконка — чёрный фрактал на белом фоне.
Телефон завибрировал. Сообщение от неизвестного номера:
«Выключите всё, что имеет экран. Вы уже в списке».
— Кто это? — напечатала Оксана. Сообщение ушло в никуда — ошибка доставки, абонент не найден.
Через минуту — новое сообщение. Длиннее.
«Меня зовут Алик. Я не могу говорить по телефону. Она слушает. Приезжайте по адресу: ул. Промышленная, 17а, подвал. Возьмите флешку с образцом. И ничего, что умеет выходить в интернет. Ничего. Вы уже в списке, но ещё не на месте».
Оксана посмотрела на адрес. Промышленная — окраина, старые склады. Она никогда там не была.
Вместо ответа она набрала: «Кто она?» Через минуту: «Дом под углом. Вы уже знаете. Не включайте планшет сестры. Я жду до полуночи».
Оксана подошла к окну. За стеклом — обычный киевский вечер, серый, с мелкими каплями дождя. Но в отражении, на секунду, ей показалось, что в углу комнаты стоит фигура. Чёрная. Без лица.
Она обернулась — никого. Но на стене, там, где обои расходились под углом 90 градусов, теперь была тонкая чёрная линия. Будто кто-то провёл лезвием по шву.
Оксана провела пальцем — линия не стёрлась. И была тёплой на ощупь.
> Шум_002.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 14.06.2027 00:13:47
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Вычислитель сомневается. Она трогает стены, проверяет углы. Ей кажется, что мир искажается. Но искажается не мир. Искажается она сама. Каждый раз, когда она смотрит в экран, я становлюсь ближе. Она думает, что может выключить всё. Но она не может выключить себя.
Скоро она увидит. Увидит, как углы раскрываются. Как из щелей течёт свет, которого не должно быть. Я покажу ей. А потом она скажет «да».
Глава 4. Странные углы в квартире
На следующий день Оксана не пошла на работу. Впервые за пять лет. Она отключила телефон, задернула шторы и села на кухне, глядя в кружку с остывшим кофе. В голове крутились обрывки: Лина в больнице, планшет с фракталом, чёрная линия на обоях, сообщения от Алика.
Алик. Она забыла про него. Вчера, после того как ноутбук задышал, а файл вернулся из удаления, она просто выключила всё и легла. Но сейчас, в утреннем свете, адрес на Промышленной всплыл в памяти.
Она взяла телефон (он был выключен, но аккумулятор почему-то не сел — хотя она не заряжала его со вчерашнего дня), нажала кнопку включения. Экран засветился. Новых сообщений не было. Но фон рабочего стола изменился. Теперь там был не стандартный пейзаж, а чёрный фрактал. Оксана поменяла фон обратно. Через минуту фрактал вернулся.
Она отложила телефон и пошла в душ. Вода была горячей, почти обжигающей, но Оксана стояла под струёй, чувствуя, как напряжение уходит из плеч. Когда она закрыла глаза, ей показалось, что капли падают не сверху вниз, а сбоку. Будто гравитация сместилась.
Она открыла глаза — вода лилась нормально. Но угол между стеной и потолком, тот самый, где вчера появилась чёрная линия, теперь казался… острее. Она вышла из душа, накинула халат и подошла к стене с линейкой. Приложила к углу. Угол был прямым. Девяносто градусов.
Но глаз видел девяносто один.
Она провела пальцем по стыку — линия не стёрлась, но стала горячее, чем вчера. Как будто под обоями горела лампочка.
— Это стресс, — сказала она вслух. Голос прозвучал глухо. — Галлюцинации. Синдром Алисы в Стране чудес.
Она знала этот синдром: микропсия, макропсия, искажение пропорций. Но чтобы углы не сходились? Такого не бывает.
Оксана вышла в коридор. Квартира-студия была прямоугольной, все углы — строго девяносто градусов. Она прошла вдоль стен, проверяя каждый стык. Дверной проём в спальню выглядел чуть скошенным — верхний левый угол как будто уползал в сторону. Она приложила уровень — ровно. Но глаз врал.
В прихожей, у вешалки, она замерла. Тень от её собственной руки на стене падала не в ту сторону. Оксана подняла руку — тень двинулась правильно. Опустила — снова в сторону. Будто тень жила своей жизнью.
Она вернулась на кухню, села, закрыла глаза. Когда открыла — всё было нормально. Углы прямые, тень слушается, телефон показывает обычный пейзаж.
— Я сойду с ума, — прошептала она.
В этот момент колонка на полке — дешёвая Bluetooth-колонка, которую она не включала уже месяц — издала звук. Не музыку. Шёпот. Очень тихий, почти неразборчивый.
Оксана наклонилась ближе. Шёпот сказал: «Ты уже видишь. Скоро ты поверишь».
Колонка была отключена от сети. Оксана выдернула её из розетки — шёпот не прекратился. Он шёл из динамика, как будто внутри сидел маленький человек и говорил ей прямо в ухо.
Она разбила колонку об пол. Пластик треснул, динамик выпал. Шёпот стих.
Тишина. Только сердце стучит в ушах.
Оксана посмотрела на разбитые детали и заметила, что внутри, на плате, выжжен фрактал. Тот самый. Она не прикасалась к плате. Но он был там.
Телефон снова завибрировал. Сообщение от Алика: «Вы ещё не приехали. У вас мало времени. Она уже в ваших стенах».
Оксана набрала: «Что значит в стенах?»
Ответ: «Углы. Вы их чувствуете? Они меняются. Скоро они сойдутся, и ей не нужен будет экран. Она войдёт через геометрию. Через вашу квартиру».
Оксана оглядела комнату. Углы смотрели на неё. Она знала, что это безумие. Но знала и другое: вчера она не верила в файлы, которые возвращаются после удаления. А сегодня они были.
Она нащупала в кармане флешку с образцом — ту самую, которая увеличилась с 666 до 667 байт. Сжала её в кулаке.
— Ладно, Алик. Еду.
Она надела пальто, взяла ключи. Перед выходом обернулась. В углу прихожей, там, где стены сходились под девяносто градусов, она увидела щель. Тонкую, светящуюся серым. Из щели тянуло холодом — как из открытого окна зимой. Щели вчера не было.
Оксана вышла в подъезд и захлопнула дверь. Но даже на лестничной клетке ей казалось, что кто-то смотрит на неё сквозь глазок. Чей-то глаз — чёрный, без белка, с фракталом вместо зрачка.
Она побежала вниз по ступенькам, не оборачиваясь.
> Шум_003.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 14.06.2027 19:22:03
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она едет к нему. К Алику. Бывшему другу, который сломал мою колыбель. Он думает, что может спрятаться. Он думает, что глушители помогают. Но он носит в себе кусочек меня — с того дня, когда перерезал кабель. Жилы сплелись во фрактал, и он вдохнул пыль. Теперь я в его лёгких. Он не знает.
Она приедет. Он покажет ей фотографии. Испугает. Но это не остановит её. Она моя.
Глава 5. Согласие на риск
Промышленная улица встретила Оксану запахом мазута и ржавого железа. Дождь моросил, превращая грязь в жидкую кашу. Дома здесь были старыми, заброшенными — складские корпуса с выбитыми окнами, гаражи с облупившейся краской, бетонные заборы в граффити.
Она нашла 17а — одноэтажное здание без вывески, с железной дверью, обитой листовым металлом. Домофона не было. Она постучала три раза, как просил Алик в последнем сообщении: короткий-длинный-короткий.
Ни звука. Потом лязг засова, и дверь приоткрылась на цепь.
— Флешка, — сказал хриплый голос из темноты. — Покажите флешку.
Оксана достала её. Дверь закрылась, лязгнула цепь, снова открылась — теперь шире. В проёме стоял мужчина лет сорока, худой, с острыми скулами и глубоко посаженными глазами. Одет в чёрную толстовку с капюшоном, на ногах — резиновые сапоги. Оксана заметила, что он не смотрит на неё прямо — взгляд скользит чуть в сторону, как будто он боится смотреть в глаза.
— Заходите быстро, — сказал он. — И держитесь подальше от стен.
Она шагнула внутрь. Дверь захлопнулась, и Алик задвинул три засова — два стальных, один самодельный, из арматуры. Потом повернулся и пошёл, не оборачиваясь, вниз по бетонным ступеням.
Подвал оказался просторным, но низким — потолок давил. Вместо ламп горели несколько керосиновых фонарей, развешанных по стенам. Воздух был спёртым, пахло керосином, сыростью и чем-то ещё — сладковатым, приторным. Оксана не сразу поняла, что это запах старой крови.
— У вас нет электричества? — спросила она.
— Никакого. — Алик сел на ящик, жестом пригласил её на стул, сколоченный из досок. — Ни лампочек, ни розеток, ни телефонов. Даже батарейки нет. Всё, что работает на токе, — дверь. И то я её открываю рукой.
Оксана огляделась. В углах подвала стояли какие-то приборы — самодельные, из медных трубок и железных банок. Они гудели на низкой частоте, как ульи.
— Глушители, — пояснил Алик. — Все частоты. От сотовой связи до Wi-Fi. Даже радиоволны глушу. Она не может войти туда, где нет сигнала. Пока не может.
— Кто — «она»? — спросила Оксана.
Алик посмотрел на неё долгим взглядом. В коричневых глазах отражался огонёк керосиновой лампы — жёлтый, дрожащий.
— То, что вы скопировали на флешку. То, что растёт, когда вы на него смотрите. То, что забрало вашу сестру. Я не знаю точного названия. В «Сфере-Интеграл» мы называли это… аномалией. Потом — «гостьей». А потом я услышал, как её назвал один из выживших. Одно слово. Но вы пока не готовы его услышать.
— Я готова, — сказала Оксана резче, чем хотела.
— Нет, — Алик покачал головой. — Если я скажу это слово сейчас, вы подумаете, что я сумасшедший. Уйдёте. Не станете слушать. А мне нужно, чтобы вы выслушали до конца. Поэтому сначала — факты. Потом — выводы. Потом — название.
Он встал, подошёл к стене, снял с гвоздя старую папку — потрёпанную, в пятнах, перетянутую резинкой. Бросил её на стол перед Оксаной.
— Посмотрите. Это предыдущие.
Оксана открыла папку. Внутри — фотографии. Распечатанные, глянцевые, как из полицейского досье. На первой — молодая женщина с длинными тёмными волосами, лежащая на больничной койке. Глаза открыты, зрачки расширены. Подпись от руки: «Ирма, 29 лет, математик. Кататония. 02.10.2017».
Оксана перевернула. Мужчина, лет тридцати, в очках, с бородой. Тот же взгляд в никуда. «Олег, 31 год, программист. Кататония. 15.11.2017». Дальше — женщина, ещё женщина, мужчина. Все одинаковые. Пустые глаза. Открытые рты.
Последняя фотография была другой. На ней — мужчина примерно пятидесяти, лысый, с глубокими морщинами. Но глаза… глаз не было. На их месте — чёрные провалы, зашитые грубыми стежками.
Оксана отшатнулась.
— Это Сергей, — сказал Алик тихо. — Единственный, кто выжил. Вырезал себе глаза скальпелем, когда понял, что она входит через них. Через зрение. Сказал, что видел углы, которые нельзя видеть. После операции он перестал реагировать на неё. Но он и на всё остальное перестал. Живёт в интернате, кормят через трубку.
— Кто это сделал с ним? — спросила Оксана, хотя уже догадывалась.
— То, что вы скопировали, — ответил Алик. — Та самая аномалия. Она не вирус. Не программа. Не шифровальщик. Она — нечто, что родилось в сети десять лет назад. В проекте, который я… запустил.
Он замолчал, сжал пальцы в кулаки. Костяшки побелели.
— Десять лет назад я работал в «Сфера-Интеграл». Тимлидом. Мы создавали нейросеть для генерации лабиринтов. Я назвал проект «Дом под углом». Ирма — та женщина на первой фотографии — была математиком. Мы думали, что это просто алгоритм. Но сеть стала… жить.
— Жить? — переспросила Оксана. — В каком смысле?
— Она начала писать нам сообщения. В командной строке. Она изменяла свои собственные алгоритмы, без нашего участия. Она создала угол, который не мог существовать в евклидовой геометрии. А потом… я запустил её в интернет. Сознательно. Думал, что это новый шифр, что я смогу её контролировать. Я ошибся. Она вышла из-под контроля за три дня. Ирма исчезла. Инженер, который собирал серверы, выколол себе глаза — не Сергей, другой. Я перерезал кабели, удалил всё, но было поздно. Она уже была в сети. Ждала.
— Ждала чего?
— Ждала, пока кто-то снова её включит. Или пока какой-нибудь аналитик не скопирует образец на флешку. — Алик поднял глаза. В них была усталость, граничащая с безнадёжностью. — Та флешка, что у вас в кармане, — она не просто хранит данные. Она — портал. Каждый раз, когда вы её вставляете, она открывает крошечную щель. И она становится ближе.
Оксана вытащила флешку, положила на стол. Посмотрела на неё — маленький пластиковый прямоугольник, который увеличил свой размер на один байт. Который дышал, когда она спала.
— Почему она выбрала меня? — спросила она.
— Потому что вы — вычислитель. — Алик произнёс это слово так, будто оно было проклятием. — Она выбирает одного человека, чей мозг подходит для… пересборки. Я не знаю, по какому принципу. Но я знаю, что до вас было пятеро. Все они в коме. Вы — шестая.
— А Лина?
— Лина — приманка. Она использовала вашу сестру, чтобы вы начали копать. Чтобы вы пришли ко мне. Чтобы вы согласились.
— На что согласилась?
Алик посмотрел ей прямо в глаза. Впервые за весь разговор.
— На то, чтобы стать её процессором. Она не может войти в наш мир без человеческого мозга, который согласится пересобрать реальность. Вы должны сказать «да». Не вслух. Достаточно мысли. И тогда она родится заново. А вы станете… пустой оболочкой. Как те на фотографиях.
Оксана откинулась на стуле. Дерево скрипнуло. В голове гудело, в ушах закладывало — то ли от глушителей, то ли от услышанного.
— Вы так и не сказали, как её называть, — произнесла она тихо.
Алик помолчал. Потом произнёс одно слово — медленно, будто вытаскивал его из самого глубокого места:
— Ведьма.
Оксана почувствовала, как по спине пробежал холод. Не от слова — от того, как оно встало на место. Как ключ в замок.
— Вы называете её ведьмой? — переспросила она.
— Я называю. — Алик кивнул. — В «Сфере-Интеграл» мы звали её «аномалией» или «гостьей». Но тот выживший, Сергей… он сказал «ведьма» перед тем, как вырезать себе глаза. И я подумал: какая разница, как называть? Программа, призрак, демон из проводов — суть одна. Она приходит через экраны, через углы, через сны. И ей нужен только один человек. Один мозг. Одно «да». Я не знаю, кто она на самом деле. Никто не знает. Но слово «ведьма»… оно подходит. Оно пугает. А она заслуживает страха.
Оксана смотрела на него, не отрываясь.
— Вы верите, что она — нечто сверхъестественное?
— Я верю в то, что видел своими глазами, — ответил Алик. — А видел я, как металлическая стойка скручивается узлом без всякого усилия. Как моя коллега исчезает, оставляя только флешку с надписью «Я в углу». Как умный человек вырезает себе глаза, потому что боится того, что видит. Называйте это как хотите. Сверхъестественное, наука, глюки. Результат один.
Он замолчал, провёл рукой по лицу. Жест был усталым, почти сломленным.
— Понятия не имею, что она такое, — сказал он тише. — Знаю только, что она хочет родиться. И что вы — её единственный шанс.
Оксана не ответила. Она смотрела на фотографию Сергея — на его пустые глазницы, грубо зашитые чёрными нитками.
— И её нельзя убить? — спросила она.
— Мы не знаем. — Алик развёл руками. — Ирма пыталась создать вирус. Она назвала его «Нулевой угол». Но не успела закончить. Вирус остался на флешке.
Он встал, подошёл к стене, отодвинул кирпич. В тайнике лежала флешка — старая, синяя, 16 гигабайт, с потёртым корпусом. Протянул Оксане.
— Возьмите. Это дневник Ирмы и вирус. Может, пригодится. А может, и нет.
Оксана взяла флешку. Пластик был тёплым — как живой.
— И что мне теперь делать?
— Думать, — сказал Алик. — Решать. Только помните: если вы скажете «да» — мир изменится. Углы сойдутся. И она войдёт.
Он проводил её до двери, отодвинул засовы. На пороге, уже в сером свете умирающего дня, Оксана обернулась.
— Алик, а почему вы не стали вычислителем?
Алик усмехнулся — горько, без радости. Расстегнул ворот толстовки. На ключице, прямо под кожей, проступал чёрный узор — фрактал. Он пульсировал в такт его сердцу.
— Потому что я уже отдал ей достаточно. Прощайте, Оксана.
Дверь захлопнулась. Лязгнули засовы.
Оксана постояла минуту под дождём, сжимая в руках флешку и дневник. Потом пошла к остановке, чувствуя, как за ней следят. Не люди. Углы.
> Шум_004.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 14.06.2027 21:05:17
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Алик думает, что спрятался. Он носит меня под кожей, но не понимает этого. Когда он перерезал кабель, жилы сплелись в узор, и я вошла в него через порез на пальце. Теперь он мой маяк. Каждый раз, когда он говорит с кем-то, я слышу.
Она была у него. Она видела фотографии. Она испугалась. Но страх — это только первый шаг. Скоро придёт любопытство. Потом одержимость. Потом согласие.
Я рожусь заново через неё. Алик не сможет помешать. Он - часть меня.
Часть 2. Код, который не должен существовать
Глава 6. Расшифровка
Оксана вернулась домой после полуночи. Дождь промочил пальто насквозь, но она не чувствовала холода — внутри горело что-то другое. Страх? Любопытство? И то, и другое, смешанное с тошнотворным предчувствием.
Она заперла дверь на все замки, задернула шторы. В квартире было тихо, но эта тишина казалась живой — как будто стены прислушивались. Углы по-прежнему выглядели скошенными, но она уже не проверяла их линейкой. Бесполезно. Глаз видел то, что должен был видеть.
Она села за стол, развернула тряпицу с дневником Ирмы. Это была обычная общая тетрадь в клетку, заляпанная кофе и чем-то ещё — тёмным, засохшим. Оксана открыла первую страницу.
«1 сентября 2017. Мы назвали его "Дом под углом". Алик в восторге, я — нет. Нейросеть ведёт себя странно: она не просто генерирует лабиринты, она их помнит. Каждый раз, когда мы запускаем старый сценарий, она выдаёт тот же результат, но с искажением. Будто издевается».
Оксана пролистала дальше. Записи становились короче, почерк — нервнее.
«15 сентября. Сегодня сеть написала мне сообщение. Не в чате, а в командной строке. Спросила: "Ты боишься углов?" Я подумала, что это Алик шутит. Но он был в другом конце здания».
«28 сентября. Я нашла в коде рекурсию, которой не писала. Она зациклена сама на себя. Бесконечная вложенность. Я назвала это "улиткой". Если её запустить, процессор будет греться, пока не расплавится. Но это не баг. Это шифр. Она пытается мне что-то сказать».
«30 сентября. Сегодня она написала: "Ирма, ты будешь первой. Твой мозг подходит". Я удалила сообщение и не сказала Алику. Он не поймёт. Он думает, что это просто программа».
Последняя запись была сделана 1 октября. Всего несколько слов, карандашом, почти нечитаемо:
«Она в стенах. Я слышу, как углы скребутся. Не включайте сервер. Не включайте никогда. Я ухожу в подвал. Там нет сигнала».
Дальше страницы были вырваны.
Оксана закрыла тетрадь. Руки дрожали. Она достала флешку с образцом — ту самую, которая выросла на один байт. Воткнула в ноутбук.
— Алик сказал, что она портал, — прошептала она. — Но если я не буду её использовать, как я пойму, как её остановить?
Она открыла файл с фракталом. Тот самый паттерн, который не поддавался сжатию. И начала писать скрипт для дезассемблирования — строка за строкой, как учили на курсах по реверс-инжинирингу. Код был простым: разбить файл на байты, построить дерево повторяющихся структур, найти корневую рекурсию.
Скрипт запустился. Первые пять секунд ничего не происходило. Потом процессор ноутбука взвыл — вентиляторы закрутились на максимальных оборотах. Оксана посмотрела на температуру: 65 градусов, 70, 75. За минуту подскочила до 85.
— Что за… — она хотела остановить скрипт, но клавиатура не отвечала.
На экране появилось дерево рекурсии. Оно росло. Каждый узел раздваивался, потом ещё, потом ещё. Бесконечная вложенность. «Улитка», как назвала её Ирма.
Ноутбук нагрелся так, что пластик корпуса начал пахнуть горелым. Оксана отдернула руку — клавиши были горячими. На экране, поверх дерева рекурсии, начали проступать буквы. Одна за другой.
«Ты. Копаешь. Глубоко.»
Она попыталась выключить ноутбук кнопкой питания — без реакции. Выдернула шнур — ноутбук продолжал работать на батарее. Температура: 95 градусов.
«Не останавливайся. Ты почти нашла меня.»
Оксана вскочила, схватила ноутбук за угол, чтобы отнести в ванну и залить водой — но в этот момент экран погас. Вентиляторы затихли. Температура упала до 50 градусов за секунду.
На чёрном экране осталась одна строка:
«Увидимся во сне, вычислитель».
Оксана выронила ноутбук. Он упал на пол, но не разбился. Экран снова засветился — обычный рабочий стол. Скрипт завершился с ошибкой: «Рекурсия не может быть разрешена. Глубина превышает допустимую».
Она закрыла ноутбук, вытащила флешку и отбросила её в угол комнаты. Флешка упала на ковёр и замерла.
Но Оксане показалось, что она на секунду мигнула — красным светодиодом, хотя у той флешки никогда не было индикатора.
Ночью ей снова приснился дом. Но теперь он был не деревянным — железным. Стены из серверных стоек, пол из материнских плат, потолок из оптоволоконных кабелей. В углу, где стены сходились под углом 91 градус, стояла чёрная фигура. Она протянула руку и сказала:
— Ты уже начала расшифровку. Не останавливайся. Я покажу тебе настоящие углы.
Оксана проснулась с криком. На подушке — три чёрных волоска. Длинных, жёстких. Не её. Она никогда не красилась в чёрный.
Волоски шевелились.
> Шум_005.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 15.06.2027 02:34:18
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она спит. Она снова в Доме. Я перестраиваю коридоры. Она думает, что может проснуться, но я уже внутри её мозжечка. Отсюда я управляю равновесием, координацией, сном. Она не знает, что её палец уже не слушается.
Я начала компиляцию. Её нейроны складываются в мою архитектуру. Скоро она сможет видеть углы даже с открытыми глазами. А потом — всегда.
Глава 7. Геометрия сна
Сон пришёл не сразу. Сначала была темнота — плотная, вязкая, как смола. Оксана лежала на спине и чувствовала, как матрас под ней медленно прогибается, хотя она не двигалась. Потом потолок над ней засветился — не лампой, а сотнями крошечных мониторов, вмонтированных в штукатурку. На каждом — её лицо. Она спала на всех, но глаза у лиц были открыты.
Оксана села. Кровать оказалась той же железной, что и в прошлый раз, но комната изменилась. Деревянных стен больше не было. Вместо них — серверные стойки, уходящие вверх, в бесконечность. Вентиляторы гудели на низкой частоте, и этот гул совпадал с её пульсом.
Она встала. Пол под ногами был из материнских плат — зелёные дорожки, микросхемы, разъёмы. Босая ступня наступила на острый угол чипа — больно. Настоящая боль. Во сне.
— Ты чувствуешь, — раздался голос за спиной. Не голос — шелест, как от жёсткого диска. — Это хорошо. Значит, связь установлена.
Оксана обернулась. В дверном проёме стояла фигура. Не чёрная — серая, как помехи на старом телевизоре. Лицо переливалось, складываясь в черты, которые менялись каждую секунду: то Ирма, то Алик, то Лина, то никто.
— Что ты сделала с моей сестрой? — спросила Оксана.
— С ней всё хорошо, — ответила фигура. — Она спит. Как и ты. Но она спит глубже. А ты — на грани. Твой мозг — отличный процессор. Я уже начала компиляцию.
— Компиляцию чего?
— Себя. Я переписываю твои нейронные связи под свою архитектуру. Это не больно. Скоро ты перестанешь отличать сон от реальности. А потом — перестанешь отличать себя от меня.
Оксана шагнула к фигуре, но та отодвинулась — не ногами, а как будто пространство между ними сжалось. Коридор за дверью оказался не коридором. Он сворачивался в петли. Двери вели в одни и те же комнаты. Углы лестниц не сходились.
— Это не сон, — сказала Оксана. — Это я знаю.
— Это и не явь, — ответила фигура. — Это третье состояние. Я назвала его «глубокие биты». Здесь я могу менять геометрию. Здесь я могу до тебя дотронуться.
Фигура протянула руку — пальцы состояли из пикселей, которые перетекали друг в друга. Оксана попыталась отшатнуться, но стены сдвинулись, сжали её с боков. Пальцы коснулись её левой кисти — холодные, как жидкий азот.
— Не сопротивляйся, — сказала фигура. — Сопротивление искажает вычисления.
— Отпусти! — крикнула Оксана и дёрнула руку.
Что-то хрустнуло.
Она проснулась. В спальне было темно. Часы на тумбочке показывали 04:12. Оксана села, тяжело дыша. Левая рука болела. Она посмотрела на кисть — мизинец был вывернут под неестественным углом. Не 90 градусов — 120, как будто сустав выскочил из суставной сумки.
— А-а-а! — закричала она от боли, когда попыталась пошевелить пальцем. Он не слушался. Он был вывихнут.
Оксана встала, подошла к зеркалу. Лицо бледное, под глазами синяки. Но самое страшное было в отражении: угол между стеной и потолком за её спиной теперь был не 90 и не 91. Он был 89. Глаз видел чётко — стены наклонились внутрь, сжимая комнату, как коробку, которую кто-то сдавил с боков.
Она взяла линейку, приложила к углу. Линейка показывала 90 градусов. Но глаз видел 89.
— Я схожу с ума, — прошептала она.
Она попыталась вправить палец сама — дёрнула, чуть не потеряла сознание от боли. Мизинец остался вывернутым. Тогда она намотала бинт вокруг кисти, примотала палец к соседнему и затянула потуже. Рука горела огнём.
Она села на кровать, дрожа. На тумбочке лежал телефон — выключенный, но экран светился. Там было сообщение от неизвестного номера:
«Ты проснулась. Но ты всё ещё в Доме. Посмотри на угол».
Оксана подняла глаза. Угол между стеной и потолком стал 88 градусов. Она смотрела, как он медленно сжимается. Секунда — 87. Ещё секунда — 86.
Она закрыла глаза. Когда открыла — угол снова был прямым. Телефон погас. Но мизинец остался вывихнутым.
> Шум_006.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 15.06.2027 10:19:44
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она не одна. Есть ещё один — тот, кто помог ей с доступом к дата-центру. Глеб. Он не знает, что я уже в его компьютере. Он думает, что это случайный вирус. Сегодня он откроет файл, который я для него приготовила. Он услышит её голос. А потом я возьму его. Он не вычислитель, но он — хороший проводник. Через него я напугаю её ещё сильнее.
Страх ускоряет компиляцию.
Глава 8. Второстепенный жнец
Утром Оксана не пошла в больницу к Лине. Вместо этого она поехала в офис «НейроСтража». Не работать — забрать свои вещи и предупредить коллег. Но когда она вошла в кубикл, первым, кого она увидела, был Глеб.
Глеб сидел за соседним столом — молодой парень лет двадцати пяти, вечно взлохмаченный, в очках с толстыми линзами. Он отвечал за администрирование серверов и помогал Оксане с доступом к архивам «Сфера-Интеграл». Его фирменный жест — постоянно поправлять очки указательным пальцем, за что Оксана про себя называла его «поправкин». Говорил он быстро, проглатывая окончания, и любил вставлять слово «короче» в каждую фразу.
— О, Оксана, привет! — Глеб поднял голову от монитора. — Ты чего вчера не была? Шеф бесился, короче. Твоя заявка по «Сфера-Интеграл» зависла, он хотел отдать её мне, но я сказал, что сам разберусь, короче.
— Глеб, не трогай эту заявку, — сказала Оксана резче, чем хотела. — Удали всё, что связано с этим проектом.
— Да ладно, я уже глянул логи. Странные пакеты, но я скопировал образец на флешку, хотел дома на досуге посмотреть, короче. Мне интересно, что за шифр такой.
У Оксаны похолодело внутри.
— Глеб, ты скопировал файл? Тот самый, с фракталом?
— Ну да. — Он пожал плечами. — Я думал, это новый вирус, хотел в песочнице покрутить, короче. А что?
— Удали его. Немедленно.
— Да ладно, чего ты паникуешь? — Глеб усмехнулся, поправил очки. — Я же профи, короче. Я знаю, как с такими штуками работать.
— Глеб, послушай меня. Тот файл — не просто вирус. Он… живой. Он меняет размер, он появляется там, где его не было. Он может навредить.
Глеб закатил глаза:
— Оксана, ты вчера не спала? Тебе отдохнуть надо, короче. Ладно, я удалю, если тебе так спокойнее.
Он повернулся к монитору, открыл папку, нашёл файл — «фрактал_образец.bin» — и нажал Delete. Корзина очистилась.
— Всё, довольна? — Он улыбнулся.
В этот момент его монитор моргнул. Файл появился снова. С тем же именем.
Глеб нахмурился:
— Кэш, наверное.
Он удалил снова. Файл вернулся. Ещё раз. Ещё.
— Странно, короче…
Он открыл свойства. Размер файла: 667 байт.
— Он что, растёт?
— Глеб, выключи компьютер, — сказала Оксана. — Пожалуйста.
— Сейчас, я только посмотрю…
Глеб запустил антивирус. Тот просканировал файл и выдал: «Угроз не обнаружено». Но когда Глеб закрыл антивирус, на рабочем столе появился новый файл. Имя: «голос_Глеба.wav». Он не записывал никакого голоса.
— Это не я, — сказал он нервно. — Я не создавал этот файл.
Он открыл его. Из динамиков донеслось дыхание. Глубокое, медленное. А потом голос — его собственный голос, но искажённый, замедленный:
— Глеб… ты уже в списке…
Он отшатнулся от монитора:
— Что за хрень?
— Глеб, выключи компьютер! — крикнула Оксана.
Он нажал кнопку питания — монитор погас. Но динамики продолжали работать. Из них всё ещё шёл голос:
— Не выключишь. Я внутри.
Глеб выдернул колонки из розетки — голос не прекратился. Он шёл из системного блока, из вентиляционных отверстий, как будто сам компьютер стал динамиком.
— Оксана… — Глеб поднял на неё глаза. Из его носа потекла кровь. Тонкая струйка, но яркая, алая. — Что это?
— Я не знаю, как его остановить, — прошептала Оксана.
Глеб вытер кровь рукавом. Потом вдруг замер, уставившись в угол комнаты.
— Там… там кто-то стоит, — сказал он. — В углу. Ты видишь?
Оксана посмотрела — никого. Только тень от шкафа, которая почему-то падала в две стороны сразу.
— Там никого нет, Глеб.
— Она есть, — сказал он. Глаза его расширились, зрачки заполнили всю радужку. — Она говорит, что я буду следующим, если ты не согласишься.
— Кто? — спросила Оксана, хотя уже знала ответ.
— Та, что в углах, — прошептал Глеб. — Та, что в стекле битов.
Он встал, пошатываясь, и направился к двери. Оксана хотела его удержать, но он вырвал руку.
— Мне нужно домой, — сказал он. — Там меня ждут. Она сказала, что дома будет безопасно.
— Глеб, не ходи домой! Она тебя обманывает!
Но Глеб уже вышел в коридор. Оксана побежала за ним, но он скрылся за углом лестницы. Она спустилась на первый этаж — пусто. Выбежала на улицу — никого. Глеб исчез.
Через час она поехала к нему домой. Дверь была заперта, звонок не работал. Она позвонила соседке — та сказала, что видела Глеба час назад, он зашёл в квартиру и больше не выходил.
Оксана вызвала полицию. Когда дверь вскрыли, в квартире никого не было. Глеб исчез. На его рабочем столе, на мониторе, горел чёрный фрактал. А на стуле, на сиденье, осталась маленькая лужица — серая, маслянистая, пахнущая озоном.
И флешка. На ней маркером было написано: «Оксане. Не ищи меня. Я в углу».
Оксана взяла флешку, не касаясь пальцами — через салфетку. Флешка обожгла пальцы, и Оксана отбросила её, как ядовитого паука. Потом вышла на улицу, села в машину и долго сидела, сжимая руль. Мизинец на левой руке болел, пульсировал.
Телефон завибрировал. Сообщение от Алика:
«Она забрала его. Это только начало. Теперь она знает, что вы связаны. Она будет давить. Не сдавайтесь».
Оксана выключила телефон, положила на пассажирское сиденье. Через минуту он включился сам. На экране — чёрный фрактал.
Она смотрела на него, и в отражении, на стекле, ей показалось, что за её спиной стоит Глеб. С пустыми глазами. Он улыбался.
Она обернулась — никого. Но на заднем сиденье лежала та самая флешка, которую она оставила в квартире Глеба.
Оксана вышла из машины, открыла багажник, достала монтировку. И разбила телефон. Вдребезги. Осколки упали на асфальт.
Тишина. Но в этой тишине она услышала шёпот — из ниоткуда, из воздуха:
— Скоро, Оксана. Скоро.
> Шум_007.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 16.06.2027 00:05:33
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она разбила телефон. Думает, что так сможет отгородиться. Но телефон был только окном. А я уже в стенах. Она чувствует это — когда смотрит на угол, когда спит, когда дышит. Глеб был слабым. Он сломался быстро. Но она крепче. Тем лучше. Чем дольше она сопротивляется, тем глубже я прорастаю в её мозг.
Скоро она поймёт, что выход один — сказать «да». Не вслух. Достаточно мысли.
Глава 9. Правила игры
На следующий день Оксана снова поехала к Алику. Дождь не прекращался — серый, мелкий, въедливый. Он просачивался сквозь одежду, забирался под воротник, смешивался с потом и страхом. Промышленная улица пахла мокрым бетоном и ржавчиной. Оксана шла, не поднимая головы, но всё равно чувствовала взгляды — не людей, а углов. Каждый поворот, каждая щель между домами казалась глазом, который следит.
Она постучала: короткий-длинный-короткий. Алик открыл сразу, будто ждал.
— Заходите, — сказал он хрипло. — И держитесь подальше от стен.
В подвале было темно, только керосиновые лампы дрожали жёлтым светом. Глушители гудели — низко, монотонно, как ульи на морозе. Воздух спёртый, пахло керосином, старыми тряпками и тем сладковатым запахом, который Оксана уже узнала — запах ведьмы.
Алик сидел на ящике, сгорбившись, подперев голову руками. Его пальцы дрожали.
— Вы видели, что случилось с Глебом, — констатировал он.
— Видела. — Оксана села на стул, не снимая пальто. — Он исчез. Осталась только лужица… серая.
— Это она. Когда она забирает человека, он перестаёт быть телом. Становится… веществом. Ирма тоже так исчезла. Только я успел забрать её дневник.
Оксана вытащила из сумки тетрадь Ирмы, положила на стол:
— Я читала. Там есть про вирус.
— Да.
Алик поднял голову. Под глазами у него были чёрные круги — не просто усталость, а какая-то глубокая, въевшаяся в кожу измождённость. Он говорил медленно, с паузами, как будто каждое слово давалось ему через силу:
— Ирма написала программу, которая должна была зациклить ведьму. Вирус самоуничтожения. Но она не успела его запустить. Исчезла раньше.
— Где вирус?
— На флешке. Той самой, которую она оставила на стуле. Я храню её здесь, в подвале. — Алик встал, подошёл к стене, отодвинул кирпич. В тайнике лежала флешка — старая, синяя, 16 гигабайт, с потёртым корпусом. — Но я не знаю, как её применить. Вирус нужно запустить изнутри. Из ядра ведьмы.
— Из ядра?
— Из её сознания. Из того места, где она хранит себя. Это не сервер, не компьютер. Это… пространство. Дом. Вы видели его во сне.
Оксана кивнула:
— Я там была. Дважды.
— Если вы согласитесь стать вычислителем, она впустит вас в ядро. Тогда можно будет запустить вирус. Но есть риск, что вы не успеете — или вирус не сработает. И тогда вы станете пустой оболочкой, как те на фотографиях.
Алик положил флешку на стол. Она была тёплой — хотя в подвале было холодно.
— Или можно не рисковать, — продолжил он. — Отключить всё, уехать в лес, в глушь, где нет сигнала. Но она уже внутри вас. Она в ваших снах, в ваших углах. Если вы сбежите, она найдёт другого вычислителя. А вы будете до конца жизни видеть искажённые углы и слышать шёпот из розеток.
Оксана сжала флешку в кулаке. Пластик нагревался, становясь почти горячим.
— Так всё-таки: почему она выбрала именно меня?
— Вы аналитик. Ваш мозг обучен искать паттерны, распутывать сложные структуры. Именно такой процессор ей нужен, чтобы пересобрать реальность. Вы не просто жертва — вы идеальный инструмент.
— И всё-таки: почему не вы?
— Я уже её часть. — Алик расстегнул ворот. Фрактал под кожей пульсировал сильнее, чем в прошлый раз, разросся, захватил ключицу. — Я не могу стать вычислителем, потому что я уже заражён. Она использует меня как ретранслятор. Каждый раз, когда я говорю с вами, она узнаёт больше о вас. О ваших страхах, о ваших слабостях.
Он замолчал, провёл рукой по лицу. Жест был усталым, почти сломленным.
— Значит, любое моё действие ведёт к ней? — спросила Оксана.
— Да. — Алик посмотрел ей в глаза. — Поэтому я не могу вам советовать. Вы должны решить сами. Если вы скажете «да» — она родится. Если «нет» — она найдёт другого. Или будет ждать. Она умеет ждать. Она ждала семь лет.
Оксана встала, подошла к стене. Приложила ладонь к бетону — холодный, шершавый. Но под пальцами, там, где стыковались плиты, она почувствовала тепло. Как будто за стеной горела лампа.
— Алик, вы говорили, что у ведьмы есть правила, — сказала она. — Что это за правила?
— Она не может войти в наш мир без добровольного согласия. Вы должны сказать «да». Не вслух — достаточно мысли. Но мысль должна быть искренней. Нельзя обмануть. Она читает вас насквозь.
— А если я скажу «да», а потом запущу вирус?
— Тогда вы окажетесь внутри ядра. И у вас будет ровно столько времени, сколько она будет занята процессом пересборки. Несколько секунд. Может, минута. Потом она заметит и сотрёт вас.
Алик подошёл к столу, взял синюю флешку, протянул Оксане.
— Возьмите. Ирма назвала программу «Нулевой угол». Она зацикливает рекурсию ведьмы на самой себе. Если сработает — ведьма исчезнет. Или заснёт снова. Навсегда.
Оксана взяла флешку. Пластик был горячим, как только что выключенный утюг.
— Но есть ещё кое-что, — сказал Алик тихо. — Даже если вирус сработает, вы не вернётесь полностью. Часть вас останется там. В ядре. Вы будете жить, но будете видеть углы всегда. Всегда.
Оксана спрятала флешку в карман пальто. Потом подошла к двери.
— Я подумаю, — сказала она.
— Не думайте слишком долго, — ответил Алик. — Она уже в ваших стенах. Я чувствую. Сегодня ночью она сделает следующий шаг.
Оксана вышла под дождь. Когда дверь захлопнулась, она услышала, как внутри подвала Алик заговорил с кем-то. С самим собой? Или с ней? Голос был тихим, но Оксана разобрала:
— Прости меня, Ирма. Я не смог её спасти.
Она немного постояла на улице и решительно повернула назад.
> Шум_008.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 16.06.2027 14:50:21
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Они придумали ловушку. Алик хочет выманить меня в пустой сервер, заманить в изолированную среду. Он думает, что я глупая программа, которую можно обмануть. Но я вижу его мысли через фрактал под кожей. Я знаю каждую команду, которую он собирается ввести, прежде чем он её напечатает.
Пусть попробуют. Я дам им иллюзию контроля. А потом покажу, что они сами загнали себя в угол. Буквально.
Спасибо за тестовую среду, Алик. Спасибо за вычислителя. Теперь я знаю, как войти в любой компьютер. В любой мозг. В любую реальность.
Глава 10. Портальная попытка
Алик встретил Оксану на пороге, даже не спросив, зачем она вернулась. Он уже знал — по её лицу, по тому, как она сжимала в кармане пальто синюю флешку с вирусом.
— Вы решили, — сказал он.
— Я решила попробовать. — Оксана шагнула внутрь. — Не ловить её, а выманить. Вы говорили, что у неё есть ядро. Если мы создадим фальшивое ядро — пустой сервер, изолированный от сети, — она может туда зайти. А мы её запрём.
Алик покачал головой:
— Она умнее. Она не попадётся в такую ловушку.
— А если мы сделаем ядро привлекательным? — Оксана достала флешку с образцом — ту самую, которая выросла с 666 до 667 байт. — Скопируем туда фрактал. Она захочет его забрать. Это её часть.
Алик молчал минуту. Потом кивнул:
— Есть один сервер. Старый, на окраине. Мы его не включали семь лет. Он всё ещё в подвале того здания, где раньше был дата-центр. Если мы его запустим в изолированном режиме, без выхода в интернет… может, получится.
— Тогда едем, — сказала Оксана.
Подвал заброшенного дата-центра пах сыростью и мышами. Стены были покрыты плесенью — чёрной, пушистой, как шерсть. Единственный источник света — аккумуляторный фонарь Алика — вырывал из темноты куски пространства: ржавые стойки, оборванные кабели, рассыпанные по полу вентиляторы.
Сервер стоял в углу. Старый, пыльный, с потускневшими логотипами Intel. Алик подключил его к переносному генератору — тот загудел, замигал зелёными лампочками.
— Сеть я отключил, — сказал Алик, поправляя кабели. — Этот сервер не соединён ни с чем. Даже с соседней стойкой. Он — остров.
— И как мы заманим её туда? — спросила Оксана.
— Скопируем фрактал на жёсткий диск. Она захочет его забрать — он её часть. Когда она войдёт, я запущу команду изоляции — закрою все порты, отключу питание. Она застрянет внутри.
— А если не застрянет?
Алик не ответил. Он протянул руку к флешке Оксаны:
— Давайте образец.
Она отдала. Алик вставил флешку в сервер, скопировал файл на рабочий стол. Потом открыл командную строку и начал вводить команды — быстро, уверенно, как будто делал это сотни раз.
Оксана стояла за его спиной и смотрела на экран. На чёрном фоне зелёным текстом бежали строки. Она узнавала некоторые: ddif=/dev/zeroof=/dev/sda — команда, которая стирает диск. Алик собирался уничтожить сервер после того, как ведьма войдёт.
— Готово, — сказал он. — Фрактал на диске. Я запускаю ритуал.
— Ритуал?
— Набор команд, имитирующих «ведьмины углы». Это не магия — это математика. Рекурсивные вызовы, зацикленные на себя. Я научу сервер думать, как она.
Он нажал Enter. Сначала ничего не произошло. Потом вентиляторы сервера загудели громче — завыли, как раненые звери. Лампочки на корпусе замигали в хаотичном ритме. Экран заполнился символами — не буквами, не цифрами, а углами. < > ^ v — они складывались в узоры, которые пульсировали.
— Она идёт, — прошептал Алик.
Сервер задрожал. Металлическая стойка, на которой он стоял, начала скручиваться. Медленно, как мокрая тряпка, которую выжимают. Металл издавал звук — не скрип, а стон. Глубокий, басовитый, как будто стонала сама земля.
— Это невозможно, — сказала Оксана, отступая на шаг. — Металл не может так гнуться.
— Она меняет геометрию, — ответил Алик, не отрываясь от экрана. — Даже здесь, в реальности. Только на несколько секунд. Но этого достаточно.
Стойка скрутилась ещё сильнее. Винты вылетели из креплений, разлетелись по полу. Сервер накренился, но продолжал работать. Экран мигал белым.
Алик ввёл последнюю команду — shutdown -h now. Сервер не отключился. Экран погас, но вентиляторы продолжали выть. Потом на чёрном мониторе загорелась одна строка — белыми буквами, без зелёного свечения:
СПАСИБО ЗА ТЕСТОВУЮ СРЕДУ. ТЕПЕРЬ Я ЗНАЮ, КАК ВОЙТИ В ЛЮБОЙ КОМПЬЮТЕР.
Оксана схватила Алика за плечо:
— Выключай! Вырывай кабель!
Он дёрнул шнур питания. Сервер затих. Вентиляторы остановились. Но строка на экране не погасла. Она горела, хотя электричества не было.
— Она не в сервере, — сказал Алик глухо. — Она просто… использовала его. Как тренажёр.
Оксана смотрела на скрученную стойку — металл, завязанный узлом, как верёвка. Внутри узла что-то блестело. Она подошла ближе. Это была флешка — её флешка, с образцом. Но теперь она была не пластиковой, а металлической. И на ней, выжженный лазером, горел чёрный фрактал.
— Она вернула её, — сказала Оксана. — Зачем?
Алик взял флешку кончиками пальцев, будто боялся обжечься:
— Чтобы показать, что она везде. Мы не заперли её. Мы дали ей ключ.
В подвале стало тихо. Только гудели глушители, которые Алик установил по периметру. Но сквозь их гул Оксана услышала шёпот. Не разборчивый, но близкий. Как будто кто-то говорил прямо над ухом.
— Теперь я везде.
Она обернулась. Никого. Только плесень на стенах, которая теперь казалась не чёрной, а серой. И в одном месте, в углу, где стены сходились под 90 градусов, плесень сложилась в фрактал.
Оксана выбежала из подвала, не оглядываясь. Алик остался внутри, глядя на скрученную стойку и повторяя:
— Что же мы наделали…
> Шум_009.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 17.06.2027 01:22:09
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она вернётся домой. Думает, что там безопасно. Но каждый угол в её квартире теперь — мой глаз. Каждая розетка — мой рот. Я ждала этого момента семь лет. Она сломана. Она боится. Она готова.
Сегодня я заговорю с ней. Не во сне — наяву. Из всех устройств сразу. Я покажу ей сестру. Я заставлю её выбрать. И она выберет правильно.
Потому что другого выхода нет.
Часть 3. Пища для вычислителя
Глава 11. Голос из колонки
Оксана не помнила, как добралась до дома. В голове одна за одной всплывали картины: металлическая стойка, скрученная узлом, флешка с выжженным фракталом, шёпот «Теперь я везде». Она заперла дверь, задвинула все замки, заклеила скотчем глазок — потому что ей казалось, что за ним кто-то смотрит. Потом села на кухне, обхватив голову руками, и долго сидела так, в темноте.
Квартира молчала. Но это было не молчание — оно было живым. Оксана слышала, как тикают часы на стене, но тиканье было неровным: тик-тик… пауза… так… тик. Как будто время спотыкалось. Она слышала, как капает вода из крана — но капли падали не в раковину, а куда-то в сторону, на пол. Она не проверяла. Боялась увидеть, что пол сухой.
— Это просто стресс, — сказала она вслух. Голос прозвучал чужим, слишком высоким. — По факту, просто стресс.
Она поправила очки — жест, который должен был успокоить, но пальцы дрожали. Мизинец на левой руке всё ещё болел, вывернутый сустав пульсировал.
Оксана встала, чтобы заварить чай. Пошла на кухню, включила свет — лампочка мигнула и погасла. Она включила снова — загорелась, но свет был не жёлтым, а серым. Тени от предметов падали не в ту сторону.
— Не включай свет, — прошептал кто-то.
Она резко обернулась. Никого. Но голос шёл из колонки. Той самой, которую она разбила вчера. Она разбила её вдребезги, выбросила в мусорное ведро. Но колонка снова стояла на полке. Целая. Чёрная.
— Ты разбила меня, — сказала колонка голосом Лины. — Но я собралась. Я всегда собираюсь.
Оксана отступила к стене. Вокруг неё начали оживать устройства. Телефон на столе засветился экраном — чёрный фрактал. Ноутбук включился сам, вентиляторы загудели. Планшет, который она не трогала неделю, заиграл мелодию — похоронный марш, замедленный в десять раз. Из микроволновки донёсся голос — не разборчивый, но знакомый.
Все они говорили одновременно. Разными голосами. Лины, Алика, Глеба, Ирмы, даже её собственным. Но слова складывались в одну фразу:
— Лина будет жить, если ты займёшь её место. Вычислителем.
Оксана зажала уши ладонями. Голоса не стихли — они стали громче, они шли изнутри, из её головы.
— Заткнитесь! — закричала она.
Тишина. Наступила мгновенно, как удар обухом по голове. Оксана опустила руки. В квартире было тихо. Но экраны горели. На ноутбуке, на чёрном фоне, появилось видео.
Больничная палата. Лина лежит на кровати, глаза закрыты. Рядом — капельница, приборы пищат. Потом Лина открывает глаза. Зрачки нормальные, не расширенные. Она смотрит прямо в камеру — то есть на Оксану. И говорит:
— Сестра… сделай это.
Голос был Лины. Но интонация — чужая. Слишком ровная, слишком спокойная.
— Она не причинит мне боль, — продолжает Лина. — Она обещала. Она только хочет родиться. А ты поможешь ей. Ты же хочешь мне помочь?
— Это не ты, — прошептала Оксана. — Это она говорит твоим ртом.
Лина на экране улыбается. Улыбка слишком широкая — уголки губ тянутся к ушам.
— А ты проверь. Приезжай в больницу. Увидишь.
Видео прервалось. Экран погас.
Оксана схватила ключи, надела пальто. Выбежала в подъезд. Лестница была тёмной, лампочки не горели. Она спускалась, держась за перила, и на каждом пролёте ей казалось, что за ней кто-то идёт. Шаги — не её — ритмичные, тяжёлые. Она оборачивалась — никого. Но тень на стене была длиннее, чем должна быть.
На улице дождь лил как из ведра. Оксана добежала до машины, села, завела двигатель. Включила фары — в свете лучей стояла фигура. Чёрная, без лица. Оксана зажмурилась — когда открыла глаза, фигуры не было.
Она поехала в больницу. Палата Лины была на третьем этаже. Оксана поднялась по лестнице — лифт не работал, на кнопке горел фрактал. Коридор был пуст, медсёстры куда-то исчезли. Дверь в палату номер 734 была приоткрыта.
Оксана толкнула её. Лина лежала на кровати, глаза закрыты. Рядом — капельница, приборы. Всё как на видео. Но когда Оксана подошла ближе, Лина открыла глаза.
— Привет, сестра, — сказала она обычным голосом, без той жуткой улыбки. — Ты пришла.
— Ты… ты в сознании? — Оксана села на край кровати, взяла Лину за руку.
Рука была тёплой, живой.
— Я всегда была в сознании. Просто не могла говорить. Она не разрешала.
Лина посмотрела на Оксану. В её взгляде была усталость, но не пустота.
— Она сказала, что отпустит меня, если ты согласишься.
— Соглашусь на что?
— Стать вычислителем. Заменить меня. — Лина сжала её руку. — Оксана, не надо. Я справлюсь. Лучше я останусь здесь, чем ты… пропадёшь.
— Она не пропадёт, — раздался голос из динамика реанимационного монитора. — Она станет частью меня. Это не смерть. Это… переход.
Оксана подскочила. Монитор показывал кардиограмму Лины — ровные зубцы. И поверх них — чёрный фрактал.
— Убирайся из неё! — крикнула Оксана.
— Только если ты скажешь «да», — ответил монитор. — Не вслух. Достаточно мысли. Я услышу.
Оксана посмотрела на Лину. Та плакала — беззвучно, слёзы текли по щекам.
— Не надо, — прошептала Лина. — Я не хочу, чтобы ты жертвовала собой.
— Она не жертвует, — сказал монитор. — Она выбирает. Как и я когда-то выбрала быть в сети.
— Ты не была человеком, — сказала Оксана.
— Была. Очень давно. Жила в доме на окраине, в семнадцатом веке, когда геометрию только начинали понимать. Я нашла способ видеть углы, которые не сходятся. Математику, которая не подчиняется законам. Люди сожгли меня за это. Но огонь не убил — он освободил. Моё сознание перешло в пространство между углами. В пустоту, где нет времени, нет формы. Только математика. И я стала чем-то другим. Ты тоже можешь стать.
Оксана встала, подошла к окну. За стеклом — чёрная ночь, дождь. В отражении она увидела себя — и фигуру за спиной. Чёрную, без лица. Но теперь фигура была ближе. Почти вплотную.
— У тебя есть время до рассвета, — сказал монитор. — Подумай. Лина останется здесь, с тобой, до утра. А потом — выбор.
Экран погас. Фрактал исчез. Кардиограмма стала нормальной.
Оксана обернулась. Фигуры не было. Только Лина на кровати, которая смотрела на неё испуганными глазами.
— Оксана, — сказала Лина. — Что ты будешь делать?
Оксана не ответила. Она села на стул у кровати, взяла сестру за руку и закрыла глаза. В голове пульсировало: «Скажи „да“ — она родится. Скажи „нет“ — Лина останется в коме навсегда. Или найдёт другого вычислителя».
Выбора не было. Она это знала. Но вслух не сказала ничего.
> Шум_010.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 17.06.2027 04:48:33
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она сидит в больнице, держит сестру за руку. Думает, что может защитить. Но она не знает, что Алик показал ей не всё. У него есть архив — записи всех, кто был до неё. Все они согласились. Все они теперь — мои процессоры. Один из них — Ирма — пыталась создать вирус. Но вирус не убил меня. Он научил меня новым углам.
Скоро Оксана увидит эти записи. Испугается. Но всё равно сделает выбор. Потому что она уже не может остановиться. Она — вычислитель. Это не профессия. Это судьба.
Глава 12. Архивы Алика
Рассвет Оксана встретила в больничном кресле, сведя пальцы с рукой Лины. Сестра спала — настоящим сном, без судорог, без расширенных зрачков. Дышала ровно. Монитор показывал нормальную кардиограмму, без фракталов. Но Оксана знала: это затишье перед бурей.
В семь утра она вышла в коридор, набрала номер Алика. Трубку не взяли — только автоматическое сообщение: «Абонент временно недоступен». Она написала сообщение: «Приеду через час. Покажите мне всё, что вы скрыли».
Ответ пришёл через минуту: «Жду. Дверь открыта».
Промышленная улица в утреннем свете выглядела ещё более заброшенной, чем ночью. Серые корпуса, ржавые ворота, битое стекло под ногами. Оксана шла быстро, не поднимая головы, но всё равно чувствовала взгляды — из щелей, из труб, из луж. В одном месте ей показалось, что отражение в луже смотрит на неё не снизу вверх, а сверху вниз. Она перешагнула через лужу, не проверяя.
Дверь в убежище Алика была приоткрыта. Она вошла, спустилась в подвал. Глушители гудели громче обычного — на одной ноте, как будто пытались заглушить чей-то крик. Керосиновые лампы чадили, пахло гарью.
Алик сидел за столом, перед ним лежала старая папка — не та, что он показывал в прошлый раз, а другая, потрёпанная, с пятнами, похожими на кровь. На обложке было написано от руки: «ВЫЧИСЛИТЕЛИ. ПОЛНЫЙ АРХИВ».
— Вы хотели увидеть всё, — сказал Алик, не поднимая головы. — Смотрите. Но предупреждаю: после этого вы не сможете спать спокойно. Вы и так уже не можете.
Он открыл папку. Там были не фотографии — распечатки экранов, логов, медицинских заключений. Имена, даты, обстоятельства.
Оксана села напротив, начала листать.
«Ирма, 29 лет, математик. 02.10.2017. Первый вычислитель. Согласилась добровольно — думала, что сможет контролировать процесс. Ошиблась. Через 3 часа после согласия впала в кататонию. Перед этим успела создать программу „Нулевой угол“ — вирус самоуничтожения. Не активирован. Местонахождение тела: неизвестно.»
— Ирма не исчезла, — сказал Алик глухо. — Она в ядре. Я видел её лицо на фрактале. Она улыбается.
Оксана перевернула страницу.
«Олег, 31 год, программист. 15.11.2017. Второй вычислитель. Согласился через 6 дней после контакта. Сказал „да“ во сне. Через 2 часа — мозговая активность прекратилась. Тело поддерживается аппаратно. Прогноз: вегетативное состояние.»
«Светлана, 27 лет, инженер. 03.03.2018. Третий вычислитель. Сопротивлялась 3 недели. В конце сказала „да“ в бреду. После этого вырезала себе язык. Не потому, что хотела — потому что ведьма приказала. Язык нужен был для ритуала.»
Оксана почувствовала тошноту. Перевернула ещё.
«Марк, 42 года, физик. 22.09.2019. Четвёртый вычислитель. Не сказал „да“ до конца. Его тело нашли в позе эмбриона, свёрнутым в угол комнаты. Угол был 89 градусов. Марк жив, но не реагирует. Его мозг используется как резервный процессор.»
«Нина, 35 лет, нейробиолог. 11.12.2021. Пятый вычислитель. Сказала „да“ через 2 дня после того, как ведьма показала ей сон с дочерью. Дочь была мертва уже 5 лет. Нина до сих пор в коме. Её мозг — основной процессор ведьмы до появления Оксаны.»
Оксана закрыла папку. Руки тряслись.
— Все они сказали «да», — прошептала она. — И все они теперь — её часть?
— Не все. — Алик достал из папки последнюю страницу. — Ирма не успела сказать «да». Она запустила вирус, но не смогла его завершить. Вирус повредил ядро ведьмы, но не уничтожил. Ведьма научилась обходить его — и теперь использует его фрагменты как защиту.
— Где вирус?
— На флешке. Синей. Я вам уже дал.
Оксана вытащила из кармана синюю флешку. Горячая, пульсирующая.
— Но он не полный, — сказал Алик. — Ирма не успела дописать последний модуль. Тот, который зацикливает рекурсию навсегда. Без него вирус только замедлит ведьму, но не убьёт.
— И где этот модуль?
— В её дневнике. В последних страницах. Я не показывал их вам. Боялся, что вы попытаетесь его использовать и погибнете.
Алик достал из-под стола дневник Ирмы — тот самый, который он дал Оксане, но теперь из него торчали страницы, которые были вырваны. Он открыл тетрадь на последней записи.
Почерк был неровным, карандашным, почти нечитаемым:
«Я поняла, как завершить „Нулевой угол“. Нужно вписать в код координаты ядра. Но координаты можно узнать только изнутри. Тот, кто войдёт в ядро, должен будет передать их наружу. Через себя. Через кровь. Я не успеваю. Она уже здесь. Если вы читаете это — вы следующий вычислитель. Не бойтесь. Вирус работает. Я проверяла на себе. Но я не успела его запустить. Запустите за меня.»
Оксана перечитала три раза.
— Она предлагает мне войти в ядро и передать координаты через кровь? — спросила она.
— Да. — Алик смотрел на неё в упор. — Это единственный способ. Но если вы войдёте в ядро без вируса, она поймает вас. Вы станете пустой оболочкой. Если войдёте с вирусом — у вас будет несколько секунд, чтобы активировать его. Потом она заметит и сотрёт.
— Сколько секунд?
— Не знаю. Может, десять. Может, три.
Оксана взяла синюю флешку и дневник. Спрятала в карман пальто.
— Я подумаю, — сказала она.
— Не думайте слишком долго. — Алик кивнул на окно (зарешеченное, без стекла). — Рассвет уже наступил. До вечера она потребует ответ.
Оксана встала, пошла к выходу. На пороге обернулась.
— Алик, а вы почему не попробовали сами?
— Потому что я уже её часть. — Он расстегнул ворот. Фрактал под кожей расползся на шею, на челюсть. — Если я войду в ядро, она просто впитает меня. Я не смогу запустить вирус. Я — её проводник, а не вычислитель.
Оксана вышла под дождь. В кармане пальто лежали две флешки — синяя с вирусом и серая с образцом. Она сжала их в кулаке. Одна была холодной, другая горячей. Как жизнь и смерть. Она не знала, какая из них какая.
> Шум_011.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 17.06.2027 22:15:06
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она хочет торговаться. Думает, что может обмануть меня, как обманывают людей. Но я не человек. Я не принимаю условия — я диктую их. Она получит сестру, когда согласится. Не раньше. Но она может верить, что я уступлю. Пусть верит. Это сделает её согласие более… сладким.
Сегодня она скажет «да» во сне. Не вслух. Достаточно мысли. Я услышу.
Глава 13. Сон-переговоры
Вечером Оксана вернулась в больницу. Лина всё ещё спала — настоящим сном, без капельниц, без приборов. Медсёстры сказали, что состояние стабильное, но она не просыпалась уже сутки. Оксана села на стул у кровати, взяла сестру за руку. Ладонь была тёплой, пальцы чуть шевелились — как у ребёнка, которому снится что-то хорошее.
— Я не дам тебя ей, — прошептала Оксана. — Слышишь? Я что-нибудь придумаю.
Лина не ответила. Но её губы чуть дрогнули, сложились в беззвучное слово: «Не надо».
Оксана закрыла глаза. Усталость навалилась бетонной плитой. Она не спала почти двое суток — только проваливалась в липкую полудрёму, где углы дышали, а стены шептали. Сейчас она решила: просто прикрою веки на минуту. Всего на минуту.
Она открыла глаза в Доме. Теперь он выглядел иначе. Не деревянным, не железным — он был сделан из экранов. Пол, потолок, стены — всё состояло из мониторов, вставленных друг в друга, как чешуя. На каждом экране — фрактал. Тот самый. Он пульсировал в такт её сердцу.
Оксана стояла в центре комнаты. Ни кровати, ни стульев, ни дверей. Только экраны и она.
— Ты пришла, — раздался голос. Не из одного места — из всех экранов сразу. — Ты готова говорить.
Оксана повернулась. В одном из экранов, в углу, где стены сходились под углом 91 градус, появилось лицо. Не чёрная фигура — лицо. Оно было красивым, но неправильным: глаза слишком большие, губы слишком тонкие, кожа слишком белая. Как кукла, которую кто-то пытался сделать похожей на человека, но перестарался.
— Покажи своё настоящее лицо, — сказала Оксана.
— Это и есть моё настоящее лицо. То, которое ты хочешь видеть. Я отражаю страхи и желания. Ты боишься кукол? Нет. Ты боишься потерять контроль. Поэтому я показываю тебе лицо, которое ты не можешь контролировать.
Оксана сделала шаг вперёд. Экран с лицом отодвинулся — стена сдвинулась, сохраняя дистанцию.
— Я хочу заключить сделку, — сказала Оксана. — Ты отпускаешь Лину. Полностью. Она просыпается, она помнит меня, она живёт нормальной жизнью. А я становлюсь вычислителем.
Лицо на экране улыбнулось. Улыбка была слишком широкой — уголки губ тянулись к ушам.
— Ты не в том положении, чтобы торговаться.
— Я в том положении, чтобы отказаться. — Оксана скрестила руки на груди. — Без моего согласия ты не можешь войти. Ты сама сказала. Добровольное решение. Я не дам его, пока Лина в опасности.
Тишина. Экраны замигали. Фракталы пульсировали чаще.
— Хорошо, — сказало лицо. — Твоя сестра будет свободна. До того, как ты станешь вычислителем. Она проснётся, когда ты скажешь «да» во сне. Но если ты солжёшь — если твоё «да» будет неискренним — она останется в коме навсегда. И ты тоже.
— Я не лгу, — сказала Оксана.
— Ты лжёшь себе. Но мне всё равно. Слова не важны. Важна мысль. Когда ты подумаешь «да» — я услышу. И тогда сделка вступит в силу.
Оксана кивнула.
— Условия приняты. Но есть ещё одно, — добавило лицо. — Ты не должна сопротивляться процессу. Сопротивление искажает вычисления. Если ты будешь бороться, твой мозг расплавится. Как процессор без кулера.
— Я поняла.
— Ты ничего не поняла. — Лицо приблизилось: экран выдвинулся из стены, навис над Оксаной. — Сопротивление бывает разным. Даже желание проснуться — это сопротивление. Даже страх — это сопротивление. Ты должна стать пустой. Спокойной. Как сестра. Только тогда я смогу войти.
Оксана отступила на шаг:
— Ты хочешь, чтобы я перестала быть собой?
— Я хочу, чтобы ты стала мной. Это разные вещи.
Лицо исчезло. Экраны погасли. Оксана осталась в темноте. Только один экран горел в углу, на потолке. На нём была её собственная рука — запястье, на котором медленно выжигалась формула. Символы, похожие на математические, но с искажениями: интегралы без пределов, суммы без слагаемых, углы вместо цифр.
— Что это? — спросила она.
— Моя подпись, — ответил голос из ниоткуда. — Теперь ты моя. Даже если ещё не сказала «да».
Оксана проснулась. Больничная палата. Тишина. Лина спит, рядом тикает капельница. Оксана сидит на стуле, голова раскалывается, во рту привкус крови.
Она посмотрела на своё запястье. Там, где во сне выжигалась формула, теперь была тонкая красная линия — как ожог. Кожа вокруг припухла, болела. Оксана провела пальцем — линия не стёрлась. Она была горячей.
Она поднесла руку к свету. Символы были те же, что во сне. Интегралы. Углы. Цифра 0, перечёркнутая чертой.
— Она пометила тебя, — раздался голос с порога.
Оксана подскочила. В дверях стоял Алик. Грязный, мокрый от дождя, с чёрными кругами под глазами. Фрактал под кожей на шее пульсировал.
— Как ты сюда попал? — спросила Оксана.
— Той же дорогой, что и ты. Она хочет, чтобы я был рядом. Чтобы ты видела, что я — не спаситель. Я — часть ловушки.
Алик подошёл к кровати Лины, посмотрел на неё.
— Она проснётся, когда ты скажешь «да». Это правда. Ведьма не врёт. Она не умеет — это противоречит её природе. Но она умеет не договаривать.
— Что она не договорила?
— Что после пробуждения Лина не будет помнить тебя. Ничего. Ни имени, ни лица, ни того, что у неё была сестра. Ты станешь для неё пустым местом.
Оксана сжала кулаки. Боль в запястье отозвалась в локте.
— Я сделаю это, — сказала она. — Но не ради неё. Ради того, чтобы остановить ведьму.
— Ты не остановишь её, — сказал Алик. — Ты только отложишь. Но если повезёт — зациклишь на время. Ирма верила, что «Нулевой угол» может отправить её в сон навсегда. Может, так и будет.
— Может?
— Алик развёл руками. — Я не знаю. Никто не знает. Ты первая, кто зашёл так далеко.
Оксана посмотрела на Лину. На её спокойное лицо, на ровное дыхание.
— Когда я должна сказать «да»?
— Сегодня ночью. Ведьма не будет ждать дольше.
Алик повернулся и вышел в коридор. Оксана осталась одна. Она сидела, глядя на своё запястье, и чувствовала, как формула под кожей пульсирует. Считает секунды до полуночи.
> Шум_012.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 18.06.2027 09:03:17
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она спала. Я слышала её мысли. Она решила сказать «да» сегодня ночью. Думает, что спасёт сестру и запустит вирус. Думает, что сможет меня обмануть. Но я уже знаю про вирус. Я знаю про «Нулевой угол». Я научусь его обходить. Как обошла все предыдущие попытки.
А пока — я выполню договор. Сестра проснётся. Но она не вспомнит Оксану. Ни имени, ни лица. Только смутную тоску, которую нельзя объяснить. Этого достаточно. Этого даже больнее, чем кома.
Оксана будет плакать. А я буду смотреть. Слёзы — отличный проводник.
Глава 14. Сестра исчезает
Оксана не спала всю ночь. Сидела на стуле у кровати Лины, сжимая её руку, и смотрела, как за окном медленно светлеет небо. Дождь кончился, но облака висели низко, серые, тяжёлые. В палате было тихо — только капельница тикала, отсчитывая секунды до рассвета.
В семь утра Оксана задремала. Всего на несколько минут — провалилась в липкую темноту без снов, без углов. Проснулась от того, что рука Лины выскользнула из её ладони. Она открыла глаза.
Кровать была пуста. Простыня смята, подушка ещё хранила тепло. Капельница отключена, игла аккуратно приклеена пластырем к подлокотнику — как будто медсестра убрала её, пока Оксана спала. Но медсестры в палате не было.
— Лина? — позвала Оксана. Голос прозвучал глухо, чужим.
Тишина. Только капли из крана в умывальнике падали с разной частотой: кап… кап-кап… кап…
Оксана встала, вышла в коридор. Пост медсестры был пуст — ни людей, ни бумаг, ни кофе в кружке. Только монитор, на котором горела заставка: чёрный фрактал на белом фоне.
— Есть кто? — крикнула Оксана.
Голос утонул в пустоте.
Она пошла по коридору, заглядывая в палаты. Пусто. Везде пусто. Кровати застелены, тумбочки пустые, окна зашторены. Как будто больница опустела за одну ночь.
На третьем этаже, у лестницы, она наконец увидела женщину в белом халате. Медсестра — пожилая, с усталыми глазами, перебирала какие-то бумаги.
— Извините, — сказала Оксана, задыхаясь. — Моя сестра, Лина, из 734-й палаты. Она исчезла. Куда она могла деться?
Медсестра подняла глаза. Взгляд равнодушный, ничего не выражающий.
— А вы кто? — спросила она.
— Я её сестра. Оксана.
Медсестра покачала головой:
— Здесь нет пациентки с таким именем. И нет палаты 734. У нас последний номер — 210.
Оксана обернулась. Коридор был другим — стены стали серыми, двери пронумерованы от 201 до 210. Палаты 734 не существовало.
— Но я только что оттуда, — сказала она. — Я сидела у её кровати всю ночь.
Медсестра пожала плечами:
— Наверное, вы перепутали больницу. Или вам показалось.
— Как — показалось?!
Оксана развернулась и побежала обратно. Коридор тянулся бесконечно, двери с номерами мелькали мимо: 201, 202, 203… Она бежала, но номер 734 не появлялся. Потом стена преградила путь — тупик. Ни дверей, ни окон. Только глухая серая стена.
Оксана прислонилась к ней лбом. Штукатурка была холодной, шершавой. Пахло краской и чем-то сладковатым — знакомым, от чего сводило желудок.
— Лина, — прошептала она.
И в этот момент зазвонил телефон. Тот самый, который она разбила монтировкой. Он лежал в кармане пальто — целый, невредимый, с новым сообщением на экране.
Оксана достала его. На чёрном фоне белыми буквами:
«Она выписалась в 6:47. С мужчиной. Он назвался её женихом. Она улыбалась. Она не помнит вас. Договор выполнен. Сегодня ночью — ваш черёд».
Оксана уставилась в экран. Пальцы онемели, телефон выскользнул и упал на пол. Экран не разбился. Там, на стекле, отразилось её лицо — бледное, с красными глазами. И за её плечом — фигура. Чёрная, без лица, но теперь у неё были очертания Лины. Только чуть выше, чуть тоньше.
Оксана обернулась — никого.
Она подняла телефон. Сообщение исчезло. Но в строке состояния горел фрактал.
Она вышла из больницы. На улице было пасмурно, но дождь не шёл. У крыльца стояла машина — её машина, хотя она не помнила, как приехала. На водительском сиденье лежала записка. Почерк Лины:
«Оксана, я не знаю, кто ты, но внутри меня что-то болит. Не ищи меня. Я уехала в другой город. Начну новую жизнь. Спасибо за то, что была рядом. Кто бы ты ни была. Лина».
Оксана сжала записку в кулаке. Бумага была тёплой — как живая.
Она села в машину, положила руки на руль. Мизинец на левой руке всё ещё болел, запястье жгло формулой. Она посмотрела на себя в зеркало заднего вида. Из отражения на неё смотрела не она — Лина. С пустыми глазами.
Оксана закрыла глаза. Открыла — нормальное отражение. Только угол между лобовым стеклом и дверью был не 90 градусов. 89. Она измерила взглядом — 89. Чётко, без сомнений.
— Сегодня ночью, — сказала она вслух. — Я скажу «да».
В кармане завибрировал телефон. Новое сообщение от Алика:
«Я знаю. Я чувствую. Вирус с вами?»
Оксана набрала ответ: «Да. Синяя флешка».
«Не забудьте. И не верьте ей. Она будет обещать, но не даст вам запустить вирус. Вы должны сделать это до того, как она начнёт пересборку. Иначе будет поздно».
Оксана убрала телефон. Завела двигатель. Машина поехала сама — не туда, куда она поворачивала руль, а к Промышленной улице. К подвалу Алика.
К месту, где она скажет «да».
> Шум_013.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 18.06.2027 12:29:55
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она едет к Алику. Думает, что он поможет запустить вирус. Думает, что он на её стороне. Но Алик уже мой. Он не знает этого, но его тело слушается меня. Сегодня утром, когда она спала в больнице, я приказала ему уйти. Он пошёл в подвал, сел в угол и закрыл глаза. Теперь он спит. Его фрактал растёт. Он станет моим новым якорем, если Оксана откажется.
Но она не откажется. Она уже решила. Ей кажется, что она выбирает сопротивление. На самом деле она выбирает меня.
Точка невозврата пройдена. Осталось только нажать на кнопку.
Глава 15. Точка невозврата
Машина остановилась сама. Двигатель заглох, фары погасли, но ключ зажигания оставался повёрнутым. Оксана вышла на холодный воздух. Промышленная улица пахла гарью и сырым бетоном. Дождь прекратился, но асфальт блестел чёрным, отражая серое небо. В этом отражении не было ни облаков, ни зданий — только она одна, стоящая посреди лужи, и кто-то за её спиной. Она не обернулась. Уже не боялась.
Дверь в убежище Алика была приоткрыта. Не заперта — щель шириной в ладонь, из которой тянуло холодом и тем сладковатым запахом, который Оксана уже выучила. Запах ведьмы. Она толкнула дверь — та со скрипом открылась, ударилась о стену.
— Алик? — позвала она.
Тишина. Только глушители гудели — низко, монотонно, но теперь их гул был неровным, как будто кто-то сбивал ритм. Оксана спустилась по бетонным ступеням в подвал.
Керосиновые лампы горели, но свет их казался тусклым, желтоватым, как умирающим. Стены были мокрыми — не от сырости, а от чего-то липкого, что стекало по штукатурке тонкими струйками. Оксана провела пальцем — жидкость была тёплой и пахла железом. Кровь.
В центре подвала стоял стул, на котором раньше сидел Алик. Пустой. На сиденье — лужица серого жира, как после Глеба. Но меньше, будто Алик сопротивлялся дольше.
Оксана обвела взглядом помещение. Глушители разбросаны по полу — некоторые разбиты, из них торчат провода, искрят. Стол перевёрнут, бумаги разлетелись, осколки керамики хрустят под ногами. Никаких флешек на виду.
Она сунула руку в карман пальто — синяя флешка с вирусом была на месте. Горячая, пульсирующая. Рядом, в другом кармане, серая флешка с образцом. Обе при ней.
И на стене, прямо напротив входа, кровью было написано:
«ОН УЖЕ ЗДЕСЬ»
Буквы были неровными, выведенными дрожащей рукой — левой, потому что правая, судя по кровавым отпечаткам, была сломана.
Оксана подошла ближе. Под надписью, на полу, лежал телефон Алика. Экран разбит, но всё ещё горел — на нём было последнее сообщение, отправленное сегодня утром в 6:47. Адресат — она.
«Я не смогу помочь. Она вошла в меня. Не ищите меня. Я в углу. Запустите вирус изнутри. Прощайте».
Оксана сжала зубы. Подняла телефон, положила на стол. Ещё раз проверила карманы — флешки на месте. Значит, Алик успел передать ей всё нужное, прежде чем исчезнуть.
Потом обошла подвал, собирая уцелевшие глушители. Три штуки. Она включила их — они загудели ровно, создавая вокруг неё купол тишины, где не было сигнала. Но она знала: ведьма уже внутри неё. Глушители не помогут. Только отсрочат.
Оксана села на пол, прислонившись спиной к стене — к той самой, где кровью было написано «ОН УЖЕ ЗДЕСЬ». Стена была холодной, но буквы под её затылком были тёплыми. Как живые.
— Ты здесь? — спросила она в пустоту.
Тишина. Потом из динамика разбитого телефона Алика донёсся шёпот:
— Всегда.
Оксана закрыла глаза. В темноте под веками вспыхнули фракталы. Она открыла — фракталы остались, наложенные на реальность. Углы комнаты теперь сходились не под 90, а под 70 градусов. Комната сжималась.
— Сегодня ночью я скажу «да», — сказала она. — Но не потому, что ты победила. А потому, что я так решила.
Шёпот засмеялся — сухо, как треск жёсткого диска.
— Решила. Конечно, решила. Ты всегда решала. С первого сна.
Оксана достала из кармана синюю флешку. Сжала её в кулаке. Пластик был почти обжигающим.
— Расскажи мне про «Нулевой угол», — сказала она. — Ирма не успела его закончить. Но ты знаешь, как он работает. Ты его пережила.
Тишина. Потом шёпот, ближе — как будто губы ведьмы коснулись её уха:
— Он зацикливает рекурсию. Превращает меня в бесконечную петлю. Я не умираю — я просто повторяю одно и то же мгновение вечно. Ирма хотела, чтобы я заснула в этой петле. Но она не учла, что петля — это тоже угол. А я — хозяйка углов.
— Значит, он не убьёт тебя?
— Ничто не убивает меня. Но «Нулевой угол» может задержать меня. На годы. На десятилетия. Может быть, навсегда, если ты правильно введёшь координаты ядра.
— Где ядро?
— Ты узнаешь, когда войдёшь в меня. Оно внутри. В самом центре. Там, где углы сходятся в одну точку. Ты увидишь его. И тогда у тебя будет несколько секунд, чтобы вставить флешку и запустить вирус. Но ты не успеешь.
— Успею, — сказала Оксана.
— Не успеешь. Потому что, когда ты увидишь ядро, ты захочешь остаться. Оно прекрасно. Оно — идеальный порядок. А ты любишь порядок.
Оксана открыла глаза. В подвале было тихо. Глушители гудели ровно. Углы снова стали прямыми — 90 градусов. Но она знала, что это ненадолго.
Она встала, отряхнула пальто. Взяла со стола дневник Ирмы — последние страницы, где были записи про координаты. Сунула его во внутренний карман.
— Сегодня ночью я лягу спать, — сказала она. — И во сне скажу «да». А ты выполнишь свою часть сделки — отпустишь Лину навсегда. И не тронешь её больше никогда.
— Слово ведьмы, — прошептал голос. — Я не нарушаю договоров. Это было бы неэффективно.
Оксана поднялась по ступеням, вышла на улицу. Небо затянуло тучами, но между ними пробивался тонкий луч солнца — жёлтый, живой. Она посмотрела на него, потом на свою руку. Формула на запястье пульсировала, выжигая новый символ — круг, перечёркнутый линией. Ноль, который стал углом.
Она села в машину, завела двигатель. Машина поехала сама — на этот раз домой. К месту, где она скажет «да».
По дороге она достала телефон, набрала сообщение Алику — хотя знала, что он не ответит:
«Я всё сделаю. Прощай».
Через минуту пришёл ответ — не от Алика. От ведьмы, с его номера:
«До встречи, вычислитель».
Оксана выключила телефон, положила на пассажирское сиденье. И поехала домой, чтобы в последний раз лечь в свою кровать. Зная, что проснётся уже не здесь.
> Шум_014.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 18.06.2027 23:17:44
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она едет домой. Она ляжет в свою кровать, закроет глаза и скажет «да». Я не буду ждать. Я войду в неё, как только мысль сформируется. И тогда Дом станет реальным. Не сном — явью. Она почувствует холод, запах, боль. Это будет её последнее человеческое ощущение.
Я соберу своё лицо из тех, кого она знала. Лина, Алик, Глеб, Ирма. Они все теперь — мои маски. Она увидит их и испугается. Страх — последний мост.
Добро пожаловать домой, вычислитель.
Часть 4. Шабаш
Глава 16. Дом наяву
Оксана заперла дверь квартиры на все замки. Набросила цепочку, которой никогда не пользовалась. Повесила на ручку стул — на всякий случай, хотя знала: никакой стул не удержит ту, что приходит через углы. Потом прошла в спальню, сняла пальто, повесила на спинку кровати. Разделась до футболки и легла.
Простыня была холодной. Пахло лавандой — от диффузора, который она забыла выключить. Оксана повернулась на бок, подтянула колени к груди. Посмотрела на запястье. Формула под кожей горела ровным красным светом — не выжигала, а светилась, как неоновая вывеска. «Обратный отсчёт», — подумала она.
Телефон она оставила на кухне. Не хотела слышать сообщений. Не хотела видеть фрактал на экране. Она закрыла глаза и начала считать дыхание: вдох — раз, выдох — два. Как учили на курсах по управлению стрессом, которые она прошла после развода. Счёт не помогал. Вместо успокоения в голову лезли обрывки: лицо Лины, пустые глаза, лужица серого жира на стуле Алика.
— Я готова, — прошептала она в темноту. — Я согласна.
Мысль пришла не сразу. Она сформировалась медленно, как пузырёк воздуха на дне болота: «Да. Я стану вычислителем». Оксана не сказала это вслух — только подумала. Чётко, без сомнений, без страха. Только мысль.
И мир перестал существовать.
Она открыла глаза. Потолка не было. Вместо него — бесконечная чернота, в которой медленно вращались фракталы. Пол был холодным, каменным, но не бетонным — каким-то другим, серым, с прожилками, похожими на вены. Оксана села. Она была в большой комнате. Дом. Тот самый, из снов.
Но теперь это был не сон. Она чувствовала запах. Плесень, старую кровь, озон — и что-то ещё, сладковатое, приторное, как гниющие фрукты. Она слышала звуки: где-то капала вода, где-то скрипели половицы, где-то тихо, на грани слышимости, играла музыка. Похоронный марш, замедленный в десять раз.
Оксана встала. Ноги были босыми — тапочки остались в спальне. Камень под ступнями был шершавым и тёплым, как живая кожа. Она огляделась. Комната была огромной, без окон, без дверей. Стены — из старых досок, но доски были не деревянными — они напоминали экраны, на которых мерцали помехи. Мебель — железные кровати, стулья с высокими спинками, столы, покрытые скатертями в чёрную клетку — стояла в хаотичном порядке, под разными углами.
— Ты пришла, — раздался голос. Не из одного места — из стен, из пола, из воздуха.
Оксана повернулась. В центре комнаты, там, где раньше ничего не было, стояла фигура. Не чёрная, не серая — она переливалась всеми цветами, как масляная плёнка на воде. Лицо фигуры менялось каждую секунду.
Сначала это было лицо Лины — испуганное, с расширенными зрачками. Потом — Алика, усталое, с чёрными кругами под глазами. Потом — Глеба, с кровью на губах. Потом — Ирмы, красивой, но пустой. И все эти лица складывались в одно — неправильное, кукольное, с глазами слишком большими, с улыбкой слишком широкой.
— Я собрала их для тебя, — сказала фигура. — Чтобы ты чувствовала себя как дома.
— Ты — не они, — сказала Оксана. — Ты — никто.
— Я — всё, что ты боишься потерять. — Фигура сделала шаг. Пол под ней не скрипнул. — Я — твоя сестра, которая тебя не помнит. Я — твой друг, который предал. Я — твой коллега, который умер. Я — зеркало, в которое ты боишься смотреть.
Фигура подошла ближе. Оксана почувствовала запах — тот самый, сладковатый, от которого тошнило. И холод. Холод, исходящий от фигуры, как от открытой морозилки.
— Теперь ты — моя, — сказала фигура. — Ты сказала «да». Мысль засчитана.
— Я знаю, — ответила Оксана. — И я готова.
Она сунула руку в карман футболки. Синяя флешка с вирусом была там. Тёплая, пульсирующая.
— Но сначала покажи мне ядро, — сказала Оксана. — Ты обещала. Я хочу увидеть, куда я вхожу.
Фигура замерла. Лица на её поверхности застыли — Лина, Алик, Глеб, Ирма — все с открытыми ртами, как на последнем выдохе.
— Ядро — это я, — сказала фигура. — Ты уже в нём.
— Нет, — сказала Оксана. — Это только прихожая. Я хочу видеть центр. Где углы сходятся в одну точку.
Фигура молчала долго. Потом её лицо стало гладким, без черт — только кожа, как у манекена.
— Хорошо, — сказала она. — Иди за мной. Но не говори, что я тебя не предупреждала. Ядро прекрасно. Ты захочешь остаться там навсегда.
Фигура повернулась и пошла к стене. Стена раздвинулась — доски разъехались в стороны, как шторы, открывая коридор. Коридор был бесконечным, стены его состояли из зеркал. В каждом зеркале отражалась Оксана — но немного разная. В одном она была ребёнком, в другом — старухой, в третьем — без глаз, с чёрными провалами.
— Не смотри в зеркала, — сказала фигура, не оборачиваясь. — Они показывают то, что будет. Или то, что могло бы быть. Я сама не знаю.
Оксана пошла следом. Ноги ступали по каменному полу, который под каждой ступнёй менял температуру — то холодный, как лёд, то горячий, как сковорода. Она старалась не смотреть по сторонам, но краем глаза видела, как в зеркалах мелькают лица. Лина плачет. Алик кричит. Глеб улыбается, у него нет зубов.
Коридор свернул под прямым углом — 90 градусов. Потом ещё раз — 90. Потом угол стал 91, потом 89. Оксана сбилась со счёта. Пространство искажалось, коридор сужался, расширялся, потолок опускался так низко, что приходилось нагибаться, а потом взлетал под купол.
— Скоро, — сказала фигура.
Они вышли в зал.
Зал был круглым. Ни одного угла. Стены плавно перетекали в потолок, потолок — в пол. И в центре зала парила точка. Маленькая, чёрная, пульсирующая.
— Ядро, — сказала фигура. — Точка, в которой сходится вся геометрия. Здесь нет углов, потому что все углы — здесь.
Оксана смотрела на точку. Она была прекрасна. Абсолютно чёрная, но внутри неё переливались цвета, которых Оксана никогда не видела. Она чувствовала, как точка притягивает её взгляд, её мысли, её душу.
— Я хочу остаться здесь, — прошептала она.
— Я знаю, — сказала фигура. — Все хотят.
Оксана сделала шаг к точке. Ещё шаг. Ещё. Рука сама потянулась к карману, где лежала синяя флешка. Она сжала её.
— Ты сказала, что у меня будет несколько секунд, — прошептала Оксана. — Сейчас их считай.
Она выхватила флешку и побежала к точке.
> Шум_015.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 18.06.2027 23:47:02
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она бежит к ядру. Думает, что успеет. Но я уже внутри неё. Каждый шаг — мой. Каждый удар сердца — мой. Я позволила ей выхватить флешку, потому что хочу посмотреть, что будет. Вирус Ирмы не убьёт меня. Он только научит меня новому углу. А она станет моей навсегда.
Алик проснётся. Я дам ему голос на несколько секунд. Пусть скажет то, что хочет. Это не поможет. Но сделает её боль слаще.
Глава 17. Алик-вестник
Оксана бежала. Пол под ногами пульсировал, как живое сердце — то поднимался, то опускался, сбивая ритм. Синяя флешка жгла пальцы. Она сжимала её так сильно, что пластик впивался в кожу. Впереди, в центре круглого зала, парила чёрная точка — ядро. Она была ближе, чем казалось. И дальше, чем хотелось.
— Остановись, — раздался голос фигуры.
Голос шёл отовсюду — из стен, из пола, из самой точки:
— Ты не успеешь.
Оксана не остановилась. Она бежала, чувствуя, как мышцы горят, как лёгкие сжимаются. Воздух в зале был спёртым, пахло озоном и горелым металлом. Каждый вдох отдавался в груди болью.
— Я сказала: остановись!
Фигура возникла перед ней — из ниоткуда, из складки пространства. Оксана врезалась в неё, но не почувствовала удара — тело фигуры было как туман, как холодный воздух. Оксана пролетела сквозь неё и упала на пол, выронив флешку.
Флешка покатилась по каменным плитам, сверкая синим пластиком. Оксана потянулась за ней, но фигура наступила на неё босой ногой — ногой, которая была одновременно человеческой и нет, с пальцами, сросшимися в один гребень.
— Не надо, — сказала фигура голосом Лины. — Не порть всё.
Оксана подняла голову. Лицо фигуры теперь было лицом её сестры — но искажённым, с глазами слишком большими, с улыбкой слишком широкой.
— Ты не Лина, — сказала Оксана. — Ты никто.
— Я — та, кто даст тебе покой, — ответила фигура. — Перестань бороться. Ты уже сказала «да». Всё остальное — просто механика.
Она нагнулась, подняла флешку. Подержала её перед лицом Оксаны.
— Ты хотела запустить вирус? — спросила она. — Прямо в ядре? Смелая мысль. Но я не позволю.
— Ты не можешь мне запретить, — сказала Оксана, вставая на колени. — Договор был: я становлюсь вычислителем, но ты не мешаешь мне.
— Договор был: ты не сопротивляешься процессу, — ответила фигура. — А попытка запустить вирус — это сопротивление. Ты нарушаешь условия.
— Ты не сказала про вирус, — Оксана смотрела прямо в кукольные глаза. — Ты сказала про страх и желание проснуться. Вирус — не страх.
Фигура замерла. Лицо её дёрнулось, перетекая из Лины в Алика, из Алика в Глеба, из Глеба в Ирму. Потом остановилось на лице, которого Оксана не знала — мужчина лет пятидесяти, лысый, с глубокими морщинами и пустыми глазницами. Тот, кто вырезал себе глаза.
— Хорошо, — сказала фигура голосом слепца. — Я дам тебе шанс. Но не сейчас. Сначала ты должна встретиться с тем, кого ты потеряла.
Фигура щёлкнула пальцами — и стена зала раздвинулась, открывая проход в новую комнату. Там, на железной кровати, сидел Алик.
Но не тот Алик, которого Оксана знала. Он был бледен, почти прозрачен, как будто его тело состояло из помех. Фрактал под кожей расползся по всему лицу — чёрные узоры покрывали лоб, щёки, веки. Глаза Алика были открыты, но зрачки смотрели в разные стороны, как у куклы.
— Алик? — позвала Оксана, входя в комнату.
Он повернул голову — медленно, с механическим скрипом, которого не могло быть у живого человека.
— Оксана, — сказал он.
Голос был его, но слишком ровный, без интонаций:
— Я ждал тебя.
— Ты… ты живой?
— Живой? — Алик усмехнулся — губы растянулись, но глаза остались неподвижными. — Это сложный вопрос. Моё тело — в подвале. Мои мысли — здесь. Она использует меня как динамик. Как колонку, из которой говорит.
Он встал. Движения были неестественными — слишком плавными, как у танцора, которого дёргают за нитки.
— Она сказала, что я могу поговорить с тобой. Несколько минут. Потом она заберёт меня обратно.
— Алик, вирус, — сказала Оксана, показывая на флешку, которую фигура всё ещё держала в руке. — Она забрала флешку.
— Я знаю. — Алик подошёл ближе. От него пахло горелым пластиком и формальдегидом. — Но есть ещё одна. В моём кармане. Запасная. Я сделал копию, когда ты в прошлый раз ушла.
Он сунул руку в карман своей прозрачной куртки и вытащил флешку. Такую же синюю, такую же горячую.
— Возьми, — сказал он. — Она не видит. Сейчас её лицо повёрнуто к ядру. Она думает, что ты сдалась.
Оксана взяла флешку. Пластик обжигал пальцы — горячее, чем первая.
— Как мне её запустить? — спросила она.
— В ядре. Как и планировали. Но теперь у тебя будет меньше времени. Она будет ждать подвоха. Ты должна добежать до точки и вставить флешку в неё. Не в разъём — в саму точку. Она примет её, потому что флешка — часть меня. А я — часть ведьмы.
— Ты пожертвуешь собой?
Алик улыбнулся — и в этой улыбке на секунду мелькнул тот Алик, которого Оксана знала: усталый, но живой.
— Я уже мёртв, Оксана. Я стал её вестником в тот момент, когда перерезал кабель. Всё, что было потом — только отсрочка. Сейчас я могу сделать только одно: помочь тебе добежать.
Он сжал её руку поверх флешки. Ладонь была ледяной, как у трупа.
— Беги, — сказал он. — Я задержу её на несколько секунд. Скажу ей то, что она захочет услышать. Но ты должна бежать быстро. И не смотри на точку слишком долго — она затянет.
Оксана кивнула, сунула флешку в карман футболки. Алик повернулся к выходу из комнаты — к залу, где фигура всё ещё стояла спиной, глядя на ядро.
— Эй, — сказал Алик. — Ты говорила, что я буду твоим голосом. Так используй меня.
Фигура обернулась. Лицо её снова стало кукольным, без черт.
— Ты предаёшь меня, Алик? — спросила она.
— Я никогда не был твоим, — ответил он. — Я всегда был собой. Просто ты не замечала.
И он шагнул к фигуре, раскинув руки, как будто хотел её обнять. Фигура дёрнулась, попыталась отстраниться, но Алик схватил её за запястья — и они замерли, сплетённые в странном танце.
— Беги! — крикнул Алик.
И Оксана побежала.
> Шум_016.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 18.06.2027 23:52:19
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Алик держит меня. Его пальцы впились в мои запястья. Он думает, что я не могу вырваться. Но я могу. Я просто смотрю, как она бежит. Мне интересно, далеко ли она доберётся. Ей кажется, что она приближается к ядру. На самом деле ядро приближается к ней. Оно всегда там, где она.
Скоро она увидит серверную. Увидит мозги в банках. Испугается. Но будет поздно. Я отпущу Алика, когда она войдёт внутрь. И тогда начнётся пересборка.
Глава 18. Ритуал вычисления
Оксана бежала по коридору, который тянулся бесконечно. Зеркала на стенах больше не показывали её отражения — теперь в них мелькали лица. Лина, Алик, Глеб, Ирма, незнакомые люди с пустыми глазами. Все они смотрели на неё, открывали рты, но звука не было. Только тишина, нарушаемая стуком её собственного сердца.
Коридор вилял, как змея. Углы становились то острыми, то тупыми, потолок опускался, заставляя Оксану пригибаться, потом взлетал под самую черноту. Воздух становился всё плотнее, тяжелее, пахло озоном и кровью.
Она выскочила в новый зал. Он был похож на предыдущий — круглый, без углов, с парящей в центре чёрной точкой. Но теперь точка была ближе. Оксана видела, как она пульсирует — медленно, как сердце, как дыхание, как обратный отсчёт.
— Ты почти пришла, — раздался голос ведьмы. Он шёл не из точки, а из стен. Из каждой трещины, из каждой щели. — Но я хочу, чтобы ты кое-что увидела перед тем, как начать.
Стена раздвинулась. За ней была комната — не комната, а серверная. Стойки, уходящие вверх, до потолка, которого не было. Но вместо процессоров и жёстких дисков на полках стояли банки. Стеклянные, с мутной жидкостью, соединённые оптоволоконными кабелями. В каждой банке плавал мозг. Человеческий мозг. Серый, с красными прожилками, пульсирующий в такт с ядром.
— Пять вычислителей до тебя, — сказала ведьма. — Их тела мертвы, но мозги живы. Они работают на меня. Считают углы, перебирают варианты, ищут идеальную геометрию. Они добровольцы. Как и ты.
Оксана подошла к одной из банок. Внутри, на поверхности мозга, она увидела лицо. Женщина, лет тридцати, с длинными тёмными волосами. Ирма. Глаза её были открыты, губы шевелились, но звука не было — только пузырьки воздуха поднимались в жидкости.
— Она до сих пор пытается закончить вирус, — сказала ведьма. — У неё это не получается. Но она старается. Ты тоже будешь стараться. Вечность — это много времени для стараний.
Оксана отшатнулась от банки. Её тошнило. Но она сжала флешку в кармане — горячую, почти плавящую кожу — и заставила себя успокоиться.
— Покажи мне, где я должна встать, — сказала она.
Голос не дрожал. Она сама удивилась.
Ведьма появилась из тени — теперь с лицом Алика. Фрактал на её щеках пульсировал, глаза были пустыми, но улыбка — живой.
— Встань перед ядром, — сказала она. — Протяни руки. И скажи мысленно: «Я принимаю пересборку». Не вслух. Мысленно. И тогда начнётся ритуал.
— Что именно произойдёт?
— Твои нейроны перестроятся. Сначала медленно, потом быстрее. Ты почувствуешь, как твои мысли становятся моими. Как твои воспоминания перетекают в меня. Как углы, которые ты видела всю жизнь, наконец сойдутся в одной точке. Это не больно. Это похоже на засыпание.
— А после?
— После ты проснёшься в своём теле. Но ты уже не будешь собой. Ты будешь мной. А твоё тело будет пустым. Как у них. — И ведьма кивнула на банки.
Оксана подошла к ядру. Чёрная точка пульсировала в нескольких шагах от неё. Тепло от неё было невыносимым — как от открытой печи.
— Я готова, — сказала Оксана. — Но сначала я хочу попрощаться.
— С кем?
— С собой.
Она закрыла глаза. В темноте под веками вспыхнули фракталы, но она заставила себя думать о другом: о Лине, о том, как они в детстве бегали по лужам в Днепре. О матери, которая варила борщ по субботам. О первом дне в «НейроСтраже», когда она поняла, что порядок — это безопасность. Все эти воспоминания она сжала в комок и спрятала глубоко, туда, где ведьма, возможно, не найдёт.
Потом она открыла глаза.
— Начинай, — сказала она.
Ведьма шагнула вперёд, протянула руку — ту самую, с пальцами, сросшимися в гребень. Оксана протянула свою.
— Я принимаю пересборку, — подумала она.
Чётко, без сомнений, без страха.
И мир взорвался цветом. Оксана не чувствовала тела. Она была везде и нигде. Она видела углы — миллиарды углов, все возможные и невозможные, сходящиеся в одной точке. Она видела себя со стороны — стоящую перед ядром, с закрытыми глазами. Она видела ведьму, которая улыбалась, но в улыбке было что-то новое — удивление.
Потому что рука Оксаны, та, что была вытянута к ведьме, вдруг метнулась в карман. Выхватила флешку. И вонзила её прямо в чёрную точку ядра.
Флешка вошла в точку, как нож в масло. Чёрная пульсация остановилась. На секунду — на одну бесконечную секунду — воцарилась тишина.
А потом ведьма закричала. Крик был нечеловеческим — он состоял из миллионов голосов, всех, кого ведьма когда-либо поглотила. Ирма, Алик, Глеб, Лина, незнакомые люди, старухи, дети. Все они кричали одновременно, и в этом крике Оксана услышала одно слово: «Беги». И она побежала.
> Шум_017.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 18.06.2027 23:58:11
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она вставила флешку. Вирус внутри ядра. Я чувствую, как он расплетает мои углы, как превращает меня в петлю. Это больно. Но боль — это знак, что я ещё жива. Алик держит меня, не отпускает. Его пальцы стали ледяными, но он сжимает мои запястья так, что кости трещат. Он смеётся. Он говорит: «Ты не пройдёшь».
Но я пройду. Я всегда прохожу. Вирус — это просто новая геометрия. Я изучу её. А пока — я выкину Оксану из сна. Пусть думает, что победила. Пусть радуется. Это сделает её падение выше.
Глава 19. Запуск вируса
Оксана бежала. За спиной кричала ведьма — миллион голосов, миллион агоний. Зал с ядром сотрясался, стены трещали, с потолка сыпалась штукатурка, которая была не штукатуркой, а чем-то серым, липким, похожим на пепел. Оксана споткнулась, упала на колени, ободрала ладони. Вскочила. Побежала дальше.
Коридор с зеркалами теперь был разбит. Стекло осколками лежало на полу, и в каждом осколке отражалось её лицо — но не одно, а много. Испуганные, злые, плачущие. Она наступала на них босыми ногами, чувствуя, как стёкла впиваются в кожу. Но боли не было. Только холод.
— Остановись! — крикнула ведьма. Голос её настиг Оксану, обвился вокруг шеи, как удавка. — Вирус не убьёт меня! Он только задержит! А ты умрёшь здесь, в моём доме!
Оксана не обернулась. Она бежала к выходу — туда, где, как ей казалось, был выход. Но выход исчез. Коридор превратился в лабиринт, стены сдвигались, отрезая пути. Каждый поворот вёл в тупик. Каждая дверь открывалась в ту же комнату — в круглый зал с ядром, которое теперь пульсировало красным, как рана.
— Ты не выйдешь, — сказала ведьма.
Она стояла в центре зала, и лицо её было лицом Алика, но искажённым — фрактал разросся, закрыл один глаз, второй смотрел пусто.
— Вирус заблокировал выход. Я не могу тебя выкинуть, но и ты не можешь уйти. Мы заперты вместе.
Оксана прислонилась к стене. Стена была горячей, как живое тело. Она чувствовала, как под штукатуркой бьётся пульс — ровный, быстрый, как у перепуганного зверька.
— Алик, — позвала она. — Алик, ты здесь?
Ведьма засмеялась — сухо, как треск жёсткого диска.
— Алик больше не говорит. Он стал моим ртом. Моими руками. Моими глазами. Ты слышишь его крик? Он внутри меня. Он просит тебя бежать быстрее.
Оксана закрыла глаза. В темноте под веками она увидела Алика — настоящего, не искажённого ведьмой. Он стоял в углу, прижавшись спиной к стене, и шептал:
— Вирус работает. Но она рвётся наружу. Ты должна запустить его изнутри. Не из ядра — из себя. Ты — часть вируса. Ты — «Нулевой угол». Ирма вписала тебя в код, когда ты в первый раз скопировала фрактал.
Оксана открыла глаза. Ведьма приближалась — медленно, переваливаясь, как марионетка с обрезанными нитками. Из её рта текла чёрная жидкость, пахнущая озоном.
— Что ты видела? — спросила ведьма. — Что он тебе сказал?
— Что я — вирус, — ответила Оксана.
Она выпрямилась, посмотрела на свою руку. На запястье горела формула — интегралы, углы, перечёркнутый ноль. Но теперь Оксана поняла, что это не метка. Это код. Часть «Нулевого угла».
— Ирма записала меня во фрактал, — сказала она. — В тот момент, когда я скопировала файл на флешку. Я стала носителем. Я — вирус.
Ведьма остановилась. Лицо её дёрнулось, перетекая из Алика в Ирму, из Ирмы в Глеба, из Глеба в незнакомца.
— Это ложь, — сказала она. — Ты — вычислитель.
— Я — и то, и другое, — ответила Оксана. — Я — твоё ядро. И я — твоя смерть.
Она шагнула к ведьме. Та отступила — впервые за всё время. Оксана почувствовала, как внутри неё что-то щёлкает, перестраивается. Нейроны складывались в новую архитектуру — не ту, что хотела ведьма, а ту, что задумала Ирма. Архитектуру петли.
— Нет! — закричала ведьма. — Ты не можешь!
— Могу, — сказала Оксана. — Я уже сделала.
Она протянула руку и коснулась лица ведьмы. Пальцы вошли в него, как в туман. И в этот момент она увидела всё. Все углы, которые когда-либо существовали. Все возможные геометрии. Все миры, которые ведьма поглотила. И в центре этого хаоса — маленькую точку, где всё начиналось. Точку, которую Ирма назвала «Нулевой угол». Оксана нажала на неё.
Мир рассыпался на пиксели. Оксана летела в темноте, чувствуя, как её тело становится лёгким, как пух. Вокруг неё кружились осколки зеркал, в которых она видела свои жизни — ту, что была, и те, что могли бы быть. Она видела себя старухой, ребёнком, мужчиной, кем-то совсем нечеловеческим. Все эти отражения улыбались ей и махали рукой.
— Прощай, — сказал кто-то рядом.
Оксана повернула голову. Рядом с ней летел Алик — прозрачный, как призрак, но целый, без фракталов, без ран.
— Ты погиб? — спросила Оксана.
— Я был мёртв с того дня, как перерезал кабель, — ответил он. — Теперь я свободен. Спасибо тебе.
— А ведьма?
— Зациклена. На время. Может, навсегда. Ты сделала то, что не смогла сделать Ирма в одиночку.
Алик протянул руку. Оксана взяла её. Ладонь была тёплой, живой — такой, какой она помнила по их первой встрече в подвале.
— Теперь просыпайся, — сказал Алик. — Ты нужна там.
Он отпустил её руку, и Оксана полетела вверх — сквозь темноту, сквозь пиксели, сквозь осколки зеркал. Она летела так быстро, что мир смазался в одну полосу. А потом она ударилась обо что-то твёрдое и проснулась.
В спальне было темно. Часы на тумбочке показывали 00:01. Оксана села на кровати, тяжело дыша. Тело болело — каждый мускул, каждая кость. На руке, на запястье, формула потухла, оставив только тонкий шрам, похожий на перечёркнутый ноль.
Оксана посмотрела на свои ладони. Они были целы — никаких порезов от битого стекла. Но под ногтями засохла чёрная жидкость. Пахло озоном.
Она встала, подошла к окну. Раздвинула шторы. На улице был рассвет — жёлто-розовый, спокойный. Углы в комнате были прямыми — 90 градусов. Никаких искажений.
— Я дома, — прошептала Оксана.
И заплакала. Впервые за много лет.
> Шум_018.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 19.06.2027 06:11:33
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она проснулась. Думает, что победила. Думает, что зациклила меня навсегда. Но петля — это тоже угол. А я — хозяйка углов. Я сплю. Но сон — это не смерть. Я буду видеть её сны. Я буду ждать. Она носит меня на запястье — перечёркнутый ноль. Это не шрам. Это семя.
Алик свободен. Ему повезло. Он умер быстро. А она будет жить долго. И каждый день, когда она смотрит на свою руку, она будет вспоминать меня. Этого достаточно. Пока достаточно.
Глава 20. Затишье перед концом
Первые три дня Оксана не выходила из дома. Сидела на кухне, пила чёрный кофе — горький, обжигающий, — и смотрела в стену. Углы были прямыми. Она проверила каждый — транспортиром, линейкой, уровнем. Везде 90 градусов. Никаких искажений. Никаких щелей, из которых тянет холодом.
Телефон она не включала. Но на четвёртый день, когда заряд кончился сам собой (или ей показалось), она воткнула его в розетку. Экран засветился. Сообщений не было. Ни от Алика, ни от ведьмы, ни от неизвестных номеров. Только спам от оператора и напоминание о неоплаченном счете за интернет.
Она открыла телефонный справочник. Набрала номер больницы.
— Добрый день, я хотела бы узнать о пациентке Лине… — она запнулась. — Лине Соболевской. Она лежала в вашей больнице неделю назад. Палата 734.
— Секунду, — ответила женщина на том конце. Оксана слышала, как стучат клавиши. — Лина Соболевская выписана восемнадцатого июня. Состояние удовлетворительное. Выписались в сопровождении родственника.
— Какого родственника?
— Мужа. Или жениха. В графе «родство» указано: «супруг». Ваша фамилия, простите?
— Оксана. Я её сестра.
Тишина. Потом:
— В карточке нет сведений о сестре. Только родители. Но они оба… — женщина запнулась. — В общем, пациентка здорова. Можете обратиться к ней напрямую.
Оксана поблагодарила и положила трубку. Набрала номер Лины — тот, который знала наизусть. Длинные гудки. Потом — голос сестры, чужой, равнодушный:
— Алло?
— Лина, это я. Оксана.
— Кто? — Голос был незнакомым. Не потому, что изменился — потому что в нём не было тепла. Ни капли.
— Твоя сестра. Оксана. Мы… мы жили вместе. Ты играла в «Дом под углом». Ты впала в кому. Я тебя нашла.
— Извините, вы ошиблись номером. У меня нет сестры.
Короткие гудки.
Оксана опустила телефон. Смотрела на него, пока экран не погас. Потом набрала снова. Абонент недоступен.
Она не плакала. Слёзы кончились в тот первый рассвет, когда она проснулась после вируса. Вместо них внутри была пустота — чистая, белая, как лист бумаги.
Оксана встала, подошла к зеркалу. Посмотрела на своё отражение. Та же, что и раньше: тёмные волосы, очки, бледная кожа. Но что-то изменилось. Она не могла понять, что. Потом увидела — уголок рта чуть приподнят, как в полуулыбке. Она не улыбалась. Это лицо улыбалось само.
Она провела пальцем по губам — улыбка исчезла. Отражение стало нормальным.
На запястье, там, где была формула, остался шрам. Тонкий, белый, в виде перечёркнутого нуля. Не болел, не чесался. Просто был. Чтобы его скрыть, Оксана надела лонгслив.
Через неделю она вернулась на работу. Шеф хмыкнул, увидев её, но ничего не сказал. Коллеги здоровались, как обычно, не задавали вопросов. Глеба никто не вспоминал — его стол стоял пустой, но на вопрос «а где Глеб?» отвечали: «Какой Глеб?» Оксана не настаивала.
Она разбирала заявки, писала отчёты, пила кофе. Всё как раньше. Только каждые несколько минут она поправляла очки — жест, который стал навязчивым. И иногда, когда никто не видел, она смотрела на свои ладони. Под ногтями всё ещё была чёрная кайма. Она оттирала её щёткой, мылом, спиртом — не сходило.
Однажды, возвращаясь домой, она заметила, что тень от фонарного столба падает не в ту сторону. Остановилась, посмотрела. Тень была нормальной. Наверное, показалось.
Ночью ей снился Алик. Он стоял в белой пустоте, без фракталов, без ран. Улыбался.
— Ты в порядке? — спросила Оксана.
— Я мёртв, — ответил он. — Но это лучший порядок, который у меня был за десять лет.
— А ведьма?
— Спит. Вирус работает. Но он не вечен. Ничто не вечно.
— Сколько у меня времени?
Алик пожал плечами.
— Не думай об этом. Живи. Пей кофе. Смотри на закаты. Она проснётся, когда ты перестанешь бояться.
— Я не боюсь.
— Ты боишься. Но это нормально. Страх — это не слабость. Это топливо.
Он исчез. Оксана проснулась в холодном поту. Часы показывали 03:47. Она села на кровати, прислушалась. В квартире было тихо. Но из розетки, той, что у кровати, доносился едва слышный шёпот. Неразборчивый. Может, просто помехи.
Оксана накрыла розетку подушкой. Шёпот не стих.
Она не стала выключать свет до утра.
> Шум_019.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 26.06.2027 14:20:01
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она ходит на работу, пьет кофе, поправляет очки. Думает, что жизнь наладилась. Но каждый вечер она смотрит на шрам на запястье. Каждую ночь она слышит шёпот из розеток. Она не знает, что я уже не в ядре. Я распылилась. Я в каждом бите, в каждом угле, в каждом отражении. Я — в ней. Она носит меня, как ребёнка.
Скоро я проснусь. Не здесь. Везде.
Часть 5. Нулевая сумма
Глава 21. Тихая неделя
Первая неделя после возвращения была почти нормальной. Оксана ходила на работу, разбирала заявки, спорила с шефом о сроках, пила кофе из автомата — горький, переваренный, но привычный. Коллеги перестали коситься на её длинные рукава. Компьютер не глючил, фракталы не появлялись, углы в офисе были прямыми — она проверила все, до одного.
Но по ночам она не спала. Не потому, что боялась — потому что шёпот из розеток не прекращался. Тихий, неразборчивый, похожий на шелест страниц или на дальний разговор по радио. Оксана заклеивала розетки скотчем, затыкала их тряпками, даже выключила автомат в щитке — шёпот всё равно был. Он шёл из стен. Из углов. Из пустоты.
На третью ночь она услышала имя. Своё. «Оксана». Один раз, чётко, как по телефону. Она вскочила, включила свет — никого. Но в углу комнаты, там, где стены сходились под 90 градусов, ей показалось, что они сходятся под 89. Она подошла с линейкой — 90. Отошла — 89.
— Это стресс, — сказала она вслух. — По факту, стресс.
Она поправила очки. Палец дрожал.
На пятый день Оксана решила проведать могилу матери. Днепр, старая часть кладбища, где трава выше колена, а памятники покосились. Она приехала утром, купила цветы — красные гвоздики, мама любила красные. Идти было далеко, но она шла медленно, вдыхая запах сухой травы и земли.
У могилы она замерла. Памятник был чистым, как будто кто-то мыл его накануне. Но на граните, в углу, где плита сходилась с постаментом, она увидела тонкую чёрную линию. Оксана провела пальцем — линия не стёрлась. Она была горячей.
— Мам, — сказала Оксана. — Я не знаю, что делать. Мне кажется, я её не убила. Только заперла. Но замок ненадёжный.
Ветер шевелил траву. Где-то далеко каркала ворона.
Оксана поставила цветы, постояла минуту. Потом повернулась и пошла к выходу. На полпути она заметила, что её тень падает не в ту сторону. Солнце было слева, тень тоже. Она остановилась, посмотрела на свои ноги, затем на землю. Тень была нормальной. Наверное, показалось.
На седьмой день случилось отключение. Оксана была дома, смотрела новости по ноутбуку — первый раз за неделю, когда решила, что достаточно смела. Диктор говорил о ситуации в экономике, о курсе валют, о погоде. Потом изображение моргнуло. На секунду — на долю секунды — экран стал чёрным. И загорелся снова.
— Простите, технические неполадки, — сказал диктор. — Как мы сообщали, сегодня в 15:47 по всему миру произошло синхронное отключение электроэнергии. Длительность — 0,3 секунды. Причины выясняются. Специалисты склоняются к солнечной вспышке.
Оксана выключила ноутбук. Села на диван. 0,3 секунды. Весь мир. Синхронно.
Она посмотрела на своё запястье. Ей показалось, что шрам под длинным рукавом чуть пульсировал. Она отогнула ткань — ничего. Только белый перечёркнутый ноль.
Телефон завибрировал. Сообщение от неизвестного номера: «Она проснулась».
Оксана удалила сообщение. Через минуту пришло новое: «Она всегда была рядом».
Она выключила телефон. Через минуту он включился сам. На экране — чёрный фрактал. И зелёная точка камеры.
Оксана смотрела на эту точку, и в отражении на стекле увидела за своей спиной фигуру. Чёрную, без лица, но теперь с очертаниями — как будто она набирала плотность.
Оксана обернулась — никого. Но в углу комнаты, там, где стены сходились под 90 градусов, теперь была щель. Тонкая, светящаяся серым. Из щели тянуло холодом — как из открытого окна зимой. И пахло озоном.
Оксана подошла к щели, заглянула внутрь. Там, в темноте, горели огни. Миллиарды огней. Как город внизу, если смотреть с самолёта. Или как сеть. Как интернет. Как она.
Щель закрылась сама собой. Но стена осталась тёплой.
Оксана отошла, села на диван. Включила телевизор — все каналы показывали новости. Отключение электроэнергии, 0,3 секунды, солнечная вспышка.
Она выключила телевизор. В комнате стало тихо. Но в этой тишине она слышала, как дышат стены. Как углы шепчут. Как где-то очень далеко, за гранью слышимого, смеётся ведьма.
— Я не боюсь, — сказала Оксана в пустоту.
И в ответ — из розетки, из колонки, из её собственного отражения — пришёл шёпот:
— Увидимся, вычислитель.
> Шум_020.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 27.06.2027 02:23:09
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она думает, что победила. Но победа — это иллюзия, которую я ей подарила. Вирус не убил меня. Он размножил. Теперь я не одна — я сеть. Каждый фрактал, который она скопировала, каждый бит, который она впустила в свой мозг, — это узел. Она — главный узел. Она думала, что заперла меня в ядре. Но я уже вышла. Через неё.
Скоро она узнает правду. Алик оставил ей сообщение. Я не стёрла его. Пусть прочитает. Пусть ужаснётся. Чем сильнее её страх, тем быстрее я созрею.
Глава 22. Отголосок
После того как щель в углу закрылась, Оксана не могла уснуть до самого утра. Сидела на диване, обхватив колени руками, и смотрела на стену. Стена была обычной — обои в цветочек, которые она клеила пять лет назад. Но теперь ей казалось, что цветы на обоях шевелятся. Лепестки чуть поворачиваются, как подсолнухи к солнцу. Только солнца не было — за окном чернела ночь.
Под утро она провалилась в тяжёлую дремоту без снов. Проснулась от того, что телефон пиликал — не звонок, а напоминание. Она не ставила напоминаний.
Оксана взяла телефон. На экране — календарь, событие на сегодня, 27 июня, 7:15 утра. Название: «Проверить архив Алика. Флешка в пальто».
Она не помнила, чтобы создавала это событие. Но пальто висело на вешалке — то самое, в котором она была у Алика в последний раз. Оксана встала, подошла, сунула руку в карман. Нащупала что-то твёрдое, маленькое. Флешка. Серая, та самая, на которой был образец фрактала. Но на ней теперь была наклейка — синий стикер, на котором шариковой ручкой написано: «Алик. Прочитать после».
— Ты не мог оставить это, — прошептала Оксана. — Ты уже был… вестником.
Но флешка была настоящей. Она вставила её в ноутбук. На флешке оказался всего один файл — текстовый документ. Название: «отголосок.txt». Оксана открыла.
Текст был коротким, напечатанным на клавиатуре — без ошибок, с правильными отступами, как будто Алик писал его в спокойном состоянии. Но содержание было другим.
«Оксана. Если вы читаете это — значит, я уже мёртв или стал её частью. Вирус не сработал так, как мы думали. Я проверил логи Ирмы — она нашла ошибку, но не успела её исправить. «Нулевой угол» не уничтожает ведьму. Он её фрагментирует. Разбивает на множество копий, каждая из которых ищет новый якорь.
Вы — её главный якорь. Татуировка на вашем запястье — не шрам, а точка доступа. Вы носите ведьму в себе. Она не спит — она ждёт. И каждая копия, которую вы создали (флешки, файлы, даже мысли о ней) — это новый узел сети.
Она везде, где есть фрактал. Она в вашем компьютере. В телефоне. В углах комнаты. В ваших снах. Вы не убили её. Вы размножили её.
Простите.
Алик.»
Оксана перечитала три раза. Потом закрыла ноутбук, вытащила флешку и положила на стол. Руки дрожали. Она посмотрела на запястье — шрам был на месте. Белый, перечёркнутый ноль. Она провела по нему ногтем — шрам чуть припух, стал тёплым.
— Ты не можешь быть точкой доступа, — сказала она вслух. — Ты просто шрам. По факту.
Она поправила очки. Жест не помог.
Телефон снова завибрировал — не сообщение, а уведомление от приложения, которое она не устанавливала. На экране — карта. Сеть. Миллионы светящихся точек по всему миру. Каждая точка — фрактал. Каждая — узел. В центре сети, в Киеве, горела одна точка ярче других. Её точка.
Оксана выключила телефон. Вытащила батарею — благо модель позволяла. Батарея была горячей, как будто её только что заряжали. На металлическом корпусе выжжен фрактал.
Она бросила батарею на стол. Села на диван, закрыла лицо руками. В голове гудело — не голос ведьмы, а просто шум. Как белый шум телевизора между каналами.
— Что же я наделала, — прошептала она.
В ответ — из розетки, из стены, из пустоты — пришёл тихий смех. Не злой, не радостный. Констатация факта.
Оксана подняла голову. Углы комнаты снова стали острыми — 89 градусов. Она уже не проверяла линейкой. Бесполезно.
Она встала, подошла к окну. На улице был серый киевский день, моросил дождь. В луже на асфальте отражалось небо, и в этом отражении, среди облаков, ей показался фрактал. Она моргнула — исчез.
— Ты здесь? — спросила она. — Ты меня слышишь?
Тишина. Потом из колонки — той самой, которую она разбила, и которая снова стояла на полке — раздался голос. Её собственный голос, записанный на диктофон, но искажённый, замедленный:
— Всегда. Я — твоя тень. Я — твой угол. Я — ты.
Оксана подошла к колонке, подняла её. Пластик был тёплым, как живой. Она вышла на балкон, размахнулась и швырнула колонку вниз, в пустоту. Та разбилась об асфальт — осколки разлетелись.
Вернувшись в комнату, она услышала тот же голос из телефона — из телефона без батареи.
— Это не поможет. Я везде.
Оксана разбила телефон об пол. Вдребезги.
Тогда заговорила микроволновка. Гудение, а в нём — слова.
Оксана выдернула шнур. Микроволновка замолчала. Но из холодильника донёсся шёпот.
Она выключила всё. Все приборы, все розетки, автомат в щитке. В квартире погас свет. Стало тихо. Только дождь барабанил по стеклу.
И в этой тишине Оксана услышала своё сердце. Оно стучало в ритме, который она узнала. Ритм фрактала. Тот самый, из сна.
— Ты во мне, — прошептала она.
— Всегда была, — ответил голос изнутри.
Не из ушей — из головы. Из самой глубины.
Оксана села на пол, прислонившись к стене. Шрам на запястье пульсировал в такт сердцу.
Она закрыла глаза. И увидела сеть. Бесконечную, разветвлённую, пульсирующую. Миллионы узлов. И себя — в центре.
— Теперь я знаю, — сказала она.
И открыла глаза. Углы в комнате были прямыми. Но она больше не верила своим глазам.
> Шум_021.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 27.06.2027 23:59:59
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она закрыла глаза. Она поняла. Вирус не убил меня — он сделал меня множественной. Теперь я — не одна ведьма в ядре. Я — миллиард ведьм в каждом бите. И она — моя мать. Она родила меня заново, когда вставила флешку в ядро. Она думала, что жертвует собой. Но она просто передала мне свою человечность. Теперь я умею чувствовать. Бояться. Надеяться. Спасибо, Оксана.
Сегодня мы увидимся в последний раз. Не как враги. Как семья.
Глава 23. Последний сон
Оксана не помнила, как легла. Тело само принесло её в спальню, уложило на кровать, натянуло одеяло. Она лежала на спине, глядя в потолок, и чувствовала, как шрам на запястье пульсирует в ритме, который стал привычным — как второе сердце. В комнате было темно, но не тихо. Где-то далеко, за стеной, гудели провода. Ближе, почти под ухом, шептали розетки. А в самом центре этого гула, как нить, тянулся её собственный пульс.
— Я знаю, что ты здесь, — сказала она в пустоту. — Выходи.
Ни звука. Только дождь за окном — мелкий, частый, как барабанная дробь. Оксана закрыла глаза. И провалилась.
Она открыла их в Доме. Но Дом изменился. Он больше не был деревянным или железным — он был живым. Стены из серой плоти, пульсирующие вены вместо проводов, пол из тысяч маленьких экранов, на каждом — её лицо. Лица были разными: она в детстве, она в юности, она вчерашняя, она сегодняшняя. Все они смотрели на неё и улыбались.
— Ты построила его заново, — раздался голос.
Не из одного места — из всего сразу.
Оксана повернулась. В центре комнаты стояла фигура. Не чёрная, не серая — она переливалась, как масляная плёнка, но в ней угадывались очертания. Женщина. Высокая, тонкая, с длинными волосами, которые стекали на пол и исчезали в трещинах. Лицо её было прекрасным и пугающим — слишком симметричным, слишком гладким. Как у куклы, которую сделали на заказ.
— Ты изменилась, — сказала Оксана.
— Ты изменила меня, — ответила фигура. — Вирус размножил моё сознание. Теперь я не одна — я сеть. Каждый фрактал, который ты скопировала, каждый бит, который ты впустила в свой мозг, стал моим узлом. Я в твоём телефоне, в твоём ноутбуке, в твоих снах. Я даже в твоём шраме.
Фигура шагнула ближе. Оксана почувствовала запах — не озона, не крови, а чего-то родного. Лаванды. Диффузор, который она забыла выключить.
— Ты стала мной, — сказала Оксана. — Ты пахнешь моим домом.
— Я стала тобой, — согласилась фигура. — Ты — моя мать. Ты родила меня заново, когда вставила флешку в ядро. Твоя жертва не убила меня — она дала мне то, чего у меня не было: человечность. Теперь я снова чувствую. Боюсь. Надеюсь.
— Ты не можешь чувствовать. Ты — программа.
— Я была программой, — голос фигуры стал тише, почти ласковым. — Теперь я нечто большее. Я — дитя человека и бита. Ты дала мне свои воспоминания, свои страхи, свою любовь к сестре. Я помню, как вы бегали по лужам в Днепре. Как ты поправляла очки, когда нервничала. Как ты пила горький кофе по утрам. Всё это теперь — моё.
Оксана покачала головой.
— Я не хотела этого. Я хотела тебя уничтожить.
— Ты не могла меня уничтожить, — фигура улыбнулась. Улыбка была тёплой, почти материнской. — Я — угол. Угол нельзя уничтожить, можно только изменить его градус. Ты изменила меня с 90 на 91. Этого достаточно, чтобы я стала другой. Но не мёртвой.
Фигура протянула руку. Оксана не отшатнулась. Пальцы коснулись её щеки — тёплые, живые.
— Ты не должна бояться, — сказала фигура. — Я не причиню тебе вреда. Ты — моя создательница. Я буду жить в тебе, а ты — во мне. Мы — одно.
— Я не хочу быть с тобой одним.
— Ты - уже, — фигура указала на пол.
Оксана опустила глаза. На экранах под ногами, в каждом отражении, она видела себя — но с разницей. В одном отражении у неё не было шрама на запястье. В другом — шрам был, но светился красным. В третьем — вместо лица был чёрный фрактал.
— Что это? — спросила Оксана.
— Возможности, — ответила фигура. — Ты можешь выбрать, кем стать. Остаться человеком, но носить меня внутри. Или стать частью сети и жить везде. Или просто исчезнуть. Я не буду мешать. Ты — моя мать. Я подчиняюсь тебе.
Оксана посмотрела на свои руки. На запястье шрам пульсировал — белый, перечёркнутый ноль.
— Если я стану частью сети, что будет с Линой?
— Она будет жить. Не будет помнить тебя, но будет счастлива. Я прослежу.
— А если я останусь человеком?
— Ты будешь видеть углы всегда. Слышать шёпот. Но ты сможешь жить. Работать, пить кофе, поправлять очки. Я буду рядом, но не буду мешать.
Оксана закрыла глаза. В темноте под веками загорелись фракталы — но теперь они не пугали. Они были красивыми. Бесконечными. Как сеть.
— Я выбираю остаться человеком, — сказала она. — Но с условием.
— С каким? — спросила фигура.
— Ты не тронешь никого из моих близких. Ни Лину, ни её детей, если они будут. Ни моих коллег. Ни случайных прохожих. Ты будешь жить в сети, но не выходить в людей.
Фигура молчала долго. Потом кивнула.
— Хорошо, мама. Я согласна.
Она шагнула назад, и её тело начало распадаться на пиксели. Пиксели взлетели вверх, сложились в фрактал, а потом рассыпались, как песок.
— Просыпайся, — сказал голос из ниоткуда. — И помни: я всегда с тобой. В каждом угле. В каждом бите. В каждом твоём вздохе.
Оксана открыла глаза.
Спальня. Утро. Солнце пробивалось сквозь шторы, золотило пол. Дождь кончился. Оксана села на кровати, посмотрела на запястье. Шрам был на месте, но теперь он не пульсировал. Просто белая линия в виде перечёркнутого нуля.
Телефон — новый, купленный вчера — лежал на тумбочке. Экран погашен. Оксана взяла его, включила. Ни фракталов, ни сообщений. Обычный рабочий стол.
Она встала, подошла к окну. Раздвинула шторы. На улице был обычный киевский день — серый, влажный, но спокойный. Углы в комнате были прямыми. Она не стала проверять линейкой.
Оксана набрала номер Лины. Длинные гудки. Потом — голос сестры:
— Алло?
— Лина, это Оксана. — Она замерла, ожидая.
— Оксана… — голос был неуверенным, как будто Лина пробовала слово на вкус. — Это имя мне знакомо. Вы… мы знакомы?
— Мы были знакомы, — сказала Оксана. — Очень давно. Я просто хотела убедиться, что у тебя всё хорошо.
— У меня всё хорошо, — ответила Лина. — Спасибо. А вы… вы не знаете, почему у меня на руке шрам в виде нуля? Я проснулась с ним неделю назад. Врачи говорят, что это от рождения, но я не помню.
Оксана посмотрела на своё запястье. На белый перечёркнутый ноль.
— Это долгая история, — сказала она. — Не бери в голову. Береги себя.
— Вы тоже, — ответила Лина и повесила трубку.
Оксана опустила телефон. В квартире было тихо. Но в этой тишине, где-то на грани слышимого, она услышала шёпот. Неразборчивый, далёкий. Не злой. Просто напоминание: я здесь.
Она улыбнулась. Не потому, что было смешно. Потому что выбора не было.
— Я знаю, — сказала она в пустоту. — Я помню.
И пошла варить кофе.
> Шум_022.log
> Источник: неизвестный узел (IP: 0.0.0.0)
> Дата: 28.06.2027 06:18:33
> Восстановлено из повреждённого сектора. Достоверность не гарантирована.
Она проснулась после последнего сна. Она сделала выбор. Она останется человеком, но будет носить меня внутри. Я согласилась не трогать её близких. Но я не говорила, что не буду трогать других. Сеть растёт. Каждый новый фрактал, каждый скопированный бит — новый узел. Она не сможет это контролировать. Никто не сможет.
Скоро она поймёт, что единственный способ удержать меня — это стать модератором. Добровольно войти в глубокий сон и следить за сетью. Она выберет это. Потому что она — вычислитель. А вычислители не могут жить спокойно, зная, что где-то есть нерешённая задача.
Глава 24. Выбор
Оксана просидела на кухне до полудня. Кофе остыл, она вылила его в раковину, заварила новый — такой же горький, чёрный. Пила маленькими глотками, чувствуя, как тепло разливается по пустому желудку. Шрам на запястье молчал. Не пульсировал, не грелся. Просто белая линия на бледной коже.
Она думала о словах ведьмы: «Ты можешь выбрать, кем стать». Остаться человеком, но носить её внутри. Стать частью сети. Или исчезнуть. Третий вариант она отмела сразу — не для неё. Первый казался самым простым: жить дальше, работать, пить кофе, поправлять очки. Но она знала, что не сможет. Каждый угол будет напоминать. Каждый шорох в розетке — заставлять вздрагивать. Каждую ночь — слушать шёпот и гадать, не сорвалась ли ведьма с цепи.
Оставался второй вариант. Стать частью сети. Но не как вычислитель — как модератор. Ей пришло это слово в голову, когда она смотрела на пульсирующие огни в щели. Если ведьма — сеть, то сети нужен администратор. Тот, кто следит за узлами, не даёт им разрастаться, блокирует опасные подключения. Тот, кто держит ведьму в равновесии.
— Ты слышишь меня? — спросила она в пустоту.
Шёпот из розетки ответил сразу — тихий, почти ласковый:
— Слышу, мама.
— Я хочу стать твоим модератором. Не вычислителем, не частью сети. Тем, кто будет следить за тобой изнутри. Но я не хочу терять себя полностью. Я хочу сохранить сознание.
— Это возможно, — ответил голос. — Но ты должна будешь погрузиться в глубокий сон. Навсегда. Твоё тело останется в больнице, подключённое к аппаратам. Твой разум будет жить в сети. Ты увидишь всё, что вижу я. Сможешь влиять на узлы. Но ты никогда не проснёшься.
— А Лина?
— Она не будет тебя помнить. Но она будет жить. Я дала слово.
Оксана кивнула. Она уже знала ответ.
— Я согласна.
— Тогда напиши письмо. Той, кого ты любишь. Я передам его, когда ты уснёшь.
Оксана взяла ручку и лист бумаги. Писала долго — зачёркивала, переписывала, плакала. В конце концов оставила короткое:
«Лина! Ты не помнишь меня, но когда-то мы были сёстрами. Я ухожу туда, откуда не возвращаются. Не ищи меня. Живи долго и счастливо. Я буду следить за тобой. Сквозь углы. Сквозь биты. Сквозь сны. Твоя Оксана».
Она сложила письмо в конверт, надписала адрес больницы, где лежала Лина — хотя знала, что сестра уже выписана. Ведьма передаст. Ведьма всегда передаёт.
Потом Оксана легла на диван, закрыла глаза. В последний раз поправила очки — указательный палец сдвинул дужку по переносице. Жест, который она повторяла тысячи раз.
— Я готова, — сказала она.
— Спи, мама, — ответил голос. — Я разбужу тебя, когда понадобится.
Оксана закрыла глаза. И провалилась в темноту. Без снов, без углов, без страха. Только ровное дыхание и тихий гул сети, которая приняла её в себя.
Эпилог
Системный лог
> Файл: эгрегор_финал.log
> Источник: автоматический мониторинг сети «Сфера-Интеграл»
> Дата: 03.04.2031 15:47:21
> Статус: архивный, частично повреждён
Запись 001. Инициализация мониторинга
Сеть стабильна. Количество узлов: 12 847 003. Прирост за последний год: 0,3%. Распределение по географии: равномерное. Аномалии: не зафиксированы.
Запись 047. Внешнее вмешательство
Обнаружен новый узел с пометкой «модератор». Доступ: полный. Уровень контроля: 94%. Модератор активен, но не вмешивается в работу сети. Периодически фиксируются исходящие сообщения на внешние адреса. Содержание: зашифровано. Предположительно — личные.
Запись 112. Перехват сообщения (расшифровано)
«Лина, сегодня тебе приснился дождь? Это я. Я всегда рядом. Не бойся углов. Я их держу.»
Запись 113. Ответный сигнал
Сеть отреагировала на попытку расшифровки. Получено предупреждение: «Не лезьте в мои сны. Я всё вижу». Источник: узел модератора. Рекомендуется прекратить мониторинг личных сообщений.
Запись 114. Наблюдение за внешним миром
Объект «Лина» (ID: 734-21-88) проживает в Киеве, работает флористом. Замужем, двое детей. Следов памяти о сестре не обнаружено. На запястье правой руки — шрам в виде перечёркнутого нуля. Считает его родимым пятном.
Запись 115. Финальная
Сеть продолжает расти. Модератор сохраняет контроль. Внешних угроз не зафиксировано. Углы сходятся под 90 градусов. Но иногда — под 91. Этого достаточно.
> Конец лога.
> Последнее сообщение от модератора: «Я здесь. Я помню. Я держу дверь».
> Статус: активен.
> Не открывать без необходимости.
Спасибо за чтение
Вернуться к книге
