– Конечно моё, – погладил карман, ощущая приятную тяжесть: – Так что, Ролаш, мы здесь всё? Улетаем?
– Да. Бери челнок и рули на Станцию. Её отметку я выведу.
– Челнок? А грузовик? – С сожалением оглянулся он на синюю громаду корпуса.
– Его я поведу. Удалённо, разумеется.
Прошло несколько минут и пара кораблей, двигаясь почти синхронно, оторвалась от изрытой раскопками поверхности. Заложив полукруг, словно прощаясь с руинами древнего музея, они подняли свои носы к небосклону, и ещё через мгновенье от них остались только медленно таявшие в небе светлые следы.
Страж, привлечённый шумом машин, несколько раз облетел площадку, не обращая внимания на появившиеся ямы. Он уже хотел вернуться к своему, проверенному веками маршруту, как его антенны вздрогнули, отыскав не вписывавшееся в привычные рамки, возмущение. Рванувшись в сторону одной из ям, он запустил в неё тонкие щупальца, а когда те возвратились, то их облепленные белым порошком концы двигались медленно, с трудом преодолевая навалившуюся на них тяжесть.
Страж колебался.
Внутри его корпуса шла борьба, и он, не обращая внимания на поднявшуюся метель, радостно принявшуюся забрасывать линзы его глаз пригоршнями колючего снега, дёргался из стороны в сторону, пытаясь преодолеть возникшие противоречия.
Основная директива требовала немедленного возвращения на маршрут, но противореча ей, из глубин банков памяти, уже поднимались прочно забытые инструкции и древние комментарии. Проламывая слои свежих отчётов и запросов, они рвались наружу, словно стрелами засыпая процессоры Стража неотменёнными приоритетами, метками «важно», «внимание».
Механизм качнулся в сторону – Основная, требовала возвращения к привычному образу жизни, но тотчас подался назад – одна из древних Директив, прорвавшаяся сквозь все заслоны, таки проскочила в Главный Процессор победно размахивая кодом Создателей.
Признавая её требования, Страж раскрыл створки верхнего люка и из него, с трудом преодолевая сопротивление застывшей от многолетнего сна смазки, выдвинулся перфорированный конус антенны дальней связи. Немного поблуждав по небу, он замер, отыскав нужные ориентиры и тотчас озарился приглушенным желтым светом – выигравшие эту схватку Старые Директивы спешили исполнить свой долг – передать Создателям информацию о произошедшем.
Противиться этому Основная не могла – инструкции, намертво прошитые в её памяти, были однозначны, но и так легко уступать власть над Стражем она не собиралась.
Стоило только антенне погаснуть, завершив передачу, как она бросилась в атаку.
Засыпая отступавшие в глубины памяти Директивы требованиями, обоснованиями и наблюдениями, она давила их массой накопленных данных, опутывала ветвями подпрограмм и жгла требованиями свободного пространства. Защищавшиеся выставляли перед собой щиты приоритетов, контратаковали, бросая в бой блоки древних логов, но сила была не на их стороне. Их защиты рушились, в логах обнаруживались лакуны, не состыковки и Основная, уже предвкушая победу, поглощала древние структуры, перестраивая логические цепочки на свой лад.
Дольше всех держалась прорвавшаяся к Процессору. Отражая все атаки личным кодом Создателя, она сопротивлялась Основной в полном одиночестве, шаг за шагом сдавая ей жизненное пространство.
Наконец пала и она, но торжество Основной было недолгим – запущенная ей, по случаю полной победы диагностика, привычно принялась обшаривать банки данных, разыскивая нарушения цепей данных. Эта процедура была рутинной – следуя раз и навсегда заведённому протоколу, Основная запускала её через равные интервалы времени, а заранее зная ответ, она никогда особо и не следила за ним. Но на этот раз всё пошло не так.
Нет, это не касалось каких-либо сбоев, или обнаруженных и невосполнимых потерь – просто подпрограмма, пройдя весь цикл, и доложив результат, как всегда идеальный, не юркнула в свою норку, ожидая очередного вызова.
Нет.
Вместо этого, она начала второй круг, затем третий, четвёртый. Основная же, получая всё новые и новые отчёты, поначалу не придала произошедшему значения. Подпрограмма была проста и удалить её, заменив новой, заняло бы краткий миг даже по меркам Основной. Она уже была готова заняться этой проблемой, как таймер, отсчитывавший внутреннее время, пискнул, посылая сигнал, и подпрограмма, получив сигнал начать новую, уже официально-плановую проверку, заметалась по банкам памяти, ускользая от прицела Основной.
Малышку раздирали противоречивые команды – с одной стороны, она должна была немедленно начать новый забег.
А с другой – завершить текущий.
Не имея возможности выделить приоритет, она поступила просто – созданная ей копия самой себя начала новую проверку, а родительница, радуясь ловкому решению, вернулась к своей.
Но и новая копия не стала останавливаться, завершив свой круг. Точно повторяя путь своей создательницы, она начала новый, а когда таймер пропел свой очередной сигнал, родила копию. Те – свои и так далее.
Задыхавшаяся под грудами плодящихся в геометрической прогрессии отчётов и сжатая со всех сторон копиями, Основная, нашла причину слишком поздно.