— Ну понимаешь… тут ещё одновременно… органический вирус заразил некоторых пассажиров.
Лиат'Нир разразилась смехом.
— Что ж, это не может быть совпадением, правда?
— Или может.
— Нет, не может. — Маленький аватар его бабушки потянулся и ударил Сенну по пальцу. Он ничего не почувствовал, даже статики: проекция не имела физического воплощения вообще. — Я была о тебе лучшего мнения!
— Только из-за того, что это тоже называется вирусом, не означает, что вредоносные программы и патогены — это одно и то же. Они могут быть двумя абсолютно разными спланированными атаками, произошедшими в одно время. Каковы шансы?
— Высокие, я бы сказала, раз это происходит с тобой, ке'сед.
— В любом случае я проверился на вирусы, потому что я не идиот…
— Не соглашусь.
— И бабушка… В исходном коде нет никаких ошибок. Вообще ничего. Он совершенен. Никаких вирусов. Никаких червей, проложивших ход сквозь системы. Всё отлично. Даже нет незакрытой скобки.
— Да ну на фиг, — недоверчиво произнесла Лиат.
— Именно!
— Так не бывает, — возмутилась предок-ВИ.
— Я знаю, поэтому и говорю с тобой об этом! — закричал Сенна в пустой комнате. — Ни один сложный код не бывает идеальным!
— Ох, я не про это. Конечно, да, это правда, я была лучшей. Я без труда могла заставить гетов встать в ряд, нацепить кружевные подвязки и исполнить превосходный канкан; я объездила сервера как жеребцов, и вся моя жизнь — это одна незакрытая скобка, мерцающая на бесконечном экране монитора. Но я не об этом, внук мой. — Лиат'Нир взглянула на него сверкающими призматическими глазами, прядь седых волос лежала на ключице. — Код — это правда, код — это жизнь. Единственная честная вещь в этой или иной галактике — информационное ядро. Что написано в командной строке, то и происходит. Не бывает так, чтобы шла одна совершенная строка за другой, в то время как ваши сенсорные щиты отключаются, свет гаснет, сканеры не сканируют, а вы даже не можете налить стакан воды в своих квартирах! Это невозможно. Если хранилище кода активно и работает, то это и делает машина. Всё там, потому что должно быть там, потому что кораблю больше неоткуда получать инструкции, точно так же, как твои милые гены не смогут повторить чужую ДНК. Это так не работает, верно, ке'сед?
Лиат'Нир слишком разгорячилась. Она ни разу за все эти годы, что Сенна с ней провёл, не упоминала тот факт, что она ВИ и не живёт на Раннохе прямо сейчас. Он не знал, была ли она запрограммирована на это, или он просто ещё ни разу не подобрал верную комбинацию слов, чтобы вызвать эти упоминания. Но иногда, крайне редко, когда они вместе работали над какой-либо проблемой, она могла вести себя вот так, и ему всегда казалось, будто это уязвлённая цифровая гордость.
— Ладно, — произнёс он с глубоким вздохом. — Хорошо. Мы подошли к пункту назначения. Ты и я, Лиат. Семейное дело. У меня проблема. Как можно серьёзно нарушить работу информационного ядра так, чтобы оно не могло распознать проблему или последствия проблемы и не выводило никаких критических ошибок в исходном коде? И как мне исправить это?
Предок-ВИ замолчала. Она качнула головой в одну сторону, потом в другую. Развернулась, прошла два или три шага к краю проекционного диска и покрутила в руках что-то невидимое, точно так же, как «рисовала» что-то на песке Ранноха. Когда она повернулась обратно, то уже держала поразительно огромный стакан с кроганским ринколом. Со льдом. Ему потребовались недели иммунизаций и курсов антибиотиков, чтобы только одну ночь попить ринкола с Йорриком, и, по ощущениям, он пил ножи. Но Лиат жила задолго до того, как иммунная система кварианцев разрушилась от жизни на Мигрирующем флоте. До костюмов. До всего того, что делало кварианцев кварианцами в мире Сенны. Она осушила стакан одним глотком, запила цитрусовым коктейлем и уселась посреди диска, подтянув колени к подбородку, как расстроенный ребёнок.
— И? — произнёс Сенна спустя пару минут. Даже с учётом, что это был старый ВИ, таких долгих пауз она ещё не делала.
Предок-ВИ кинула на него быстрый взгляд.
— Думаю, — ответила она и вернулась обратно к своему состоянию, зло глотая остатки ринкола.
— Меня и так уже долго нет. Можешь поторопиться?
Лиат'Нир опустила палец в стакан, провела им по дну, слизала остатки ринкола и ткнула этим же пальцем в своего правнука.
— Думаю, — прорычала она.
Через пять минут — пять! — тишины, питья и размышлений Лиат'Нир сдалась и вытащила бутылку из невидимого бара. Усевшись обратно и икнув два раза, она достала маленькие ножницы из недр своей одежды и начала с убийственным взглядом стричь ногти на ногах. Ещё один загрузочный экран.
— Ринкол — это лучшая выпивка, потому что от него тебе больно, — невнятно выговорила бабушка. Дзынь. Фиолетовый голографический ноготь отлетел и исчез в воздухе.
— Ты издеваешься, что ли? — сказал Сенна.
— Тихо, ке'сед, я говорю. Я умею хорошо говорить, как все считают. Ринкол лучше турианского бренди, потому что вкус ринкола словно поджигает все твои ошибки в стеклянной бочке, а потом сжирает эту самую бочку. Привкус ядерной бомбы. Я слышала, что они разбомбили город, чтобы насытить этот аромат дыма. Букет. А самое лучшее, ке'сед, самое лучшее — то, что с каждым глотком ты понимаешь: кто-то хотел, чтобы ты так себя чувствовал. Какой-то кроганский дистиллятор специально сделал это с тобой. В маленьком стаканчике он такой безобидный. В маленьком. Стаканчике. Ты такой худой, маленький стакан. Ты хорошо кушаешь? Твой рост задерживается, маленький стаканчик. Тебе нужна генная терапия? Бабуля знает одного парня, который знает одного парня, так что не волнуйся. Но ке'сед, ке'сед, ты слушаешь? Ничего из того, что так тщательно херит тебе жизнь, но выглядит таким маленьким и невинным, не происходит случайно. И вы заключаете с кроганом долгосрочный контракт, в котором он обязуется совершить это с тобой, ты обязуешься позволить этому свершиться и никогда за это не мстить. Маленький. Стаканчик злого крогана! — Лиат посмотрела на своего внука сквозь три сотни лет поколения Ниров, глаза её слезились от паров ринкола. — Как много у тебя ВИ?
— Семнадцать систем «Си'ях» используют ВИ-интерфейсы, но это не очень хорошо, бабушка. Все они подсоединены к одному общему информационному ядру.
Дзынь. Ещё один ноготь.
— Что ж, какое счастье для тебя, что твоя бабушка не полная дурочка. Я не спрашивала тебя, сколько ВИ у корабля, я спрашивала, сколько ВИ ты можешь взять, тугоумное дитя.
Дзынь.
— Я не знаю. Люди… брали много всего с собой. Я не стюард, я не смотрел декларации. А что?
«У меня есть ты», — подумал он, но не произнёс вслух. Впрочем, он никогда и не обращался с ней, как с живой кварианкой.
— То, что ты должен знать о ринколе, сынок, — его нельзя просто выкопать из земли, как виноградную лозу. Он совсем не так прост. Настоящий алкоголь требует огромной дистиллирующей штуковины, много камер, бочек и стерилизованных конденсоров. Это крайне выверенный процесс, в результате которого мы получаем по мозгам маленьким злым метеоритом.
Сенна тяжело вздохнул. Не всегда всё срабатывало. Эти алгоритмы соответствия могли ввернуть лекцию о ринколе как нечто полезное. Но он надеялся. Действительно надеялся.
— Бабушка, спасибо за попытку. Я тебя люблю, даже если ты отправляешь меня порыбачить тогда, когда мне ужасно нужна твоя помощь.
Лиат отпила из бутылки.
— Если моя гипотеза верна, то следующей сценой в твоём лучшем сценарии будет крах системы коммуникаций, а следом пойдут или системы контроля окружающей среды, или транспортные системы. В худшем случае первыми навернутся криокапсулы. Потом расскажешь мне, что именно, ке'сед. Мне нужно отдохнуть.
— Подожди, что за гипотеза?
— Думаю! — крикнула она на него и запустила стаканом во что-то невидимое.
— Сенна? — раздался голос одновременно со стуком в дверь.
В квартиру вошла капитан Кетси'Олам вас Кила Си'ях, которая всегда стучала, потому что была вежливой, но редко дожидалась ответа, потому что была маленькой неистовой батарейкой энтузиазма, обладающей собственным кодом отмены блокировки дверей. Сенна'Нир сунул мобильное устройство со своей бабушкой под кровать и достал небольшой контейнер с личными вещами, паникуя, словно кто-то, кто привык прятать улики.
— Ки, заверши разговорный протокол «Сенна-4», — прошептал он. — Возобнови стандартные межличностные процедуры.
Кетси показалась в дверном проёме его спальни. Фиолетовый капюшон покрывал её голову так же, как у Лиат.
— Капитан, — произнёс он, быстро встав.
— Не глупи, Сенна. Сколько раз я говорила, чтобы ты меня так не называл? Кила, как же тут темно.
— Много, Кетси, — сказал он с нежностью. Даже сейчас, в этом бардаке, с нежностью. — Ты говорила много раз.
— Йоррик ввёл меня в курс дела, — сообщила капитан тонким от беспокойства голосом. — Всё… Всё не очень хорошо, да?
— Не очень.
— Мы почти справились. Мы были так близки. Ещё тридцать лет.
Она принялась ходить по комнате, даже не обращая внимания на лужицу охлаждающей жидкости в ёмкостях для воды.
— Это моя вина, — в конце концов прошептала она. Кила, она действительно была очень молода. Как и он сам. Никто бы не доверил им командование на Флоте в тридцать пять лет. Возможно, даже и в сорок пять. Он перехватил её и обнял. Их щитки на шлемах соприкоснулись, словно в поцелуе.
— Это не так, Кетси. Не вини себя.
— Я так старалась. Чтобы быть готовой. К чему угодно. Ко всему угодно. Не как эти пустышки, которых Инициатива отправила перед нами. Я старалась построить для нас хороший корабль. И я построила его! Кварианский корабль. Я проделала потрясающую работу, и нас постигла судьба всех кварианцев: технологии нас предали. Суть в том, что у нас нет того, что нам нужно. Что бы ещё ни случилось, вот она — реальная проблема. У нас нет того, что нам нужно. Не могу определиться, моя мать засмеялась бы или начала ругаться? — Она шмыгнула носом. — Я должна была взять больше медигеля. По крайней мере, я могла это сделать.