
Полная версия
Ошибка на карте
В сортировочной было темно. Рая приглушила экран часов. Тимур сел у стены и ощупал голень.
— Перелома не чувствую. Связки или трещина.
— Сам не пойдёшь, — сказала Рая.
Максим разложил кальку на нижней полке. На ней три столицы спорили друг с другом берегами и улицами. Сейчас его интересовал только нижний край листа. Там сохранилась часть вокзальной сетки: старый грузовой выход отмечался в двадцати двух условных делениях от шахты. Новая эвакуационная схема показывала семнадцать.
Пять делений исчезли не из-за масштаба. Между сортировочной и двором встроили помещение сканирования багажа. На новом плане его растянули, чтобы совместить вход и выход с пассажирскими потоками. На старом плане оно имело настоящую длину, но не учитывало перегородки.
— Выход есть в обеих версиях, — сказал Максим. — Не совпадает подход.
Тимур вынул из кармана две смятые багажные квитанции.
— В сортировочной сохранились ручные метки движения. Если открыть старый маршрут, наверху загорится направление тележек.
— И приведёт их к нам.
— Если открыть его здесь.
Максим понял. Система вокзала не видела закрытую сортировочную, но принимала её старые механические сигналы как подтверждение движения груза. Метка не сообщала, где находится человек. Она лишь заставляла новый план выбрать ближайший допустимый проход.
На двух планах ближайшими были разные двери.
— Можно показать движение слева, — сказал Тимур. — Они пойдут к служебному двору.
— Там может быть охрана.
— Охрана увидит пустую тележку.
Рая покачала головой.
— Не только охрана. Если метка попадёт в общий слой, она станет частью эвакуационного журнала. Ложное направление во время локальной тревоги — обвинение.
— Тревога настоящая, — сказал Максим. — Отсек потерял питание.
— Направление будет ложным.
— Ограничим метку одним грузовым контуром, — сказал Максим. — Без пассажирских дверей и без экстренных служб. Один ложный поворот, после него маршрут погаснет.
— Ты не знаешь, погаснет ли.
— Поэтому не буду трогать сеть.
Вдоль стеллажей шёл механический трос. Когда-то сортировщики тянули его, чтобы указатель над нужным коридором повернулся. Сеть лишь считывала положение стрелки. Максим нашёл на кальке прорезь Керны, приложил к шаговой шкале старого плана и отсчитал одно смещение — от реальной двери к закрытому проходу погрузки. Не координату, не последовательность узлов, а единственный выбор между двумя соседними стрелками.
Рая наблюдала за ним.
— Если они проверят привод, увидят ручное вмешательство.
— Увидят.
— И твой жетон в шахте.
— Тоже увидят.
— Максим, это уже не ошибка старой карты. Это твоя.
За кирпичной створкой заскребли металлом. Преследователи нашли кольцо.
Тимур попытался подняться, но побледнел и снова сел.
Максим взялся за трос.
Он вспомнил отчёт об отцовской карте: красную рамку, подпись эксперта, слово «устранено». Тогда ему казалось, что ошибка либо исправлена, либо нет. Но прямая линия не несла на себе тех, кого бросали ради неё.
— Моя, — согласился он.
Трос шёл тяжело. Где-то за стеной повернулся указатель.
На часах Раи возникла серая служебная отметка: движение груза к западному двору. Система достроила путь по новому плану и направила метку налево от шахты — в противоположную сторону.
Снаружи прекратили ломать створку.
— Западный двор, — сказал один голос. — Оставь здесь датчик.
Шаги удалились не сразу. Затем кирпичная панель перестала дрожать.
— Они не оба ушли, — сказала Рая.
— Нам хватит одного.
Старая схема вела из сортировочной через помещение сканирования. Максим и Рая снова взяли Тимура под руки. Курьер считал вдохи: четыре коротких, один длинный.
В конце зала нашлась дверь без ручки. Рядом тянулся выключенный конвейер. По новому плану дверь открывалась в помещение сканирования; по старому — в карман между двумя стенами.
Максим измерил проём квитанцией. Шесть коротких прорезей и одна длинная. Та же последовательность, что открыла камеру хранения. Длинная прорезь приходилась не на дверь, а на край конвейера.
Он надавил на защитный кожух. Тот отошёл, открывая узкий проход вдоль ленты.
— Дверь нарисовали для людей, — сказал он. — Проход оставили для механизма.
Они протиснулись боком. Тимура пришлось посадить на неподвижную ленту и протащить несколько метров. За перегородкой гудело действующее оборудование. Сквозь матовое стекло двигались тени сотрудников вокзала.
Рая остановилась.
— Камеры возьмут лица, — сказала Рая.
— Они уже знают лица, — ответил Тимур. — Им нужна калька.
На часах Раи служебная метка мигнула красным. Западный двор не подтвердил груз. Система собиралась вернуть маршрут к последней точке считывания.
— Сколько? — спросил Максим.
— Меньше минуты.
В проходе позади стукнул металл. Оставшийся преследователь открыл кирпичную створку.
За прозрачной дверью сотрудница раскладывала ручную кладь. Рая постучала. Женщина увидела Тимура и открыла.
Дверь открылась.
— Что случилось?
— Травма в закрытом отсеке, — сказала Рая. — Нужен медик и бумажная регистрация свидетелей.
— Почему бумажная?
— Цифровой маршрут уже содержит спорную отметку, — сказал Максим.
Сотрудница вызвала начальника смены и достала из шкафа красный журнал происшествий. Максим записал фамилии троих, время выхода и состояние Тимура. В графе «причина отклонения» он написал: «Ручное изменение грузового указателя для отвлечения преследования; пассажирские и экстренные контуры не затронуты».
Рая прочитала и поставила подпись рядом.
— Так ты отдаёшь им обвинение раньше, чем объяснение.
— Зато они не смогут назвать ошибку случайной и присвоить её Лидии.
Тимур забрал ручку.
— И курьер подтверждает угрозу.
Он расписался неровно, с нажимом на последней букве.
Из служебного прохода появился мужчина с фонарём. Увидев сотрудников и открытый журнал, он убрал фонарь в карман и перешёл на шаг.
— Этот человек похитил служебный носитель, — сказал он.
— Какой носитель? — спросила начальница смены.
Мужчина посмотрел на Максима, затем на Тимура.
— Материал внутренней проверки.
— Номер описи?
— Предписание направлено в систему.
Начальница положила ладонь на красный журнал.
— Здесь система временно не является единственным источником. Ждите транспортную безопасность.
Мужчина остановился. Он не мог приблизиться к кальке, не назвав её и не объяснив, почему бумажный груз оказался предметом цифрового предписания.
С противоположной двери вошли двое медиков с мягкими носилками. Тимура уложили, зафиксировали ногу. Рая настояла, чтобы в маршрут помощи внесли не адрес назначения, а номер бумажного происшествия. Медики приняли его как временную точку передачи.
Когда носилки повезли к санитарному выходу, Максим шёл рядом. Калька шуршала под рубашкой. Впервые за всё утро у него был не самый короткий путь, а путь с людьми, которые видели его начало.
На улице моросил дождь. У ворот стояла машина транспортной безопасности. Мужчина с фонарём остался внутри вокзала, разговаривая с начальницей смены.
Рая догнала его у санитарного фургона.
— Служебная метка вернулась в журнал, — сказала она. — Автор изменения определён по твоему старому профилю. Приостановленного допуска хватило, чтобы система назвала это попыткой вмешательства в эвакуацию.
— Пассажирский контур не затронут.
— В заголовке этого нет.
— Значит, сохраним доказательство ограничения.
Она показала экран. Под красным обвинением оставалась бледная строка: «область действия — один механический грузовой указатель». Через несколько минут подробность могла исчезнуть из сводки, как исчезали пять делений старого вокзала.
Максим достал квитанцию и прижал к экрану, сверяя положение строки с прорезью. Потом Рая сделала фотографический отпечаток в бумажном журнале медиков. Доказательная цепочка уже не была чистой: один её конец держался на их собственном вмешательстве. Зато Тимур лежал в фургоне, живой, а калька оставалась у них.
— Раньше ты бы исправил отметку, — сказала Рая.
— Раньше я бы ушёл через окно.
Тимур приподнялся на локте.
— И был бы очень точным человеком с бесполезным ключом.
Двери фургона закрылись. Максим посмотрел на схему санитарных выездов у ворот. Их маршрут был обозначен пунктиром: временный, подтверждённый только на время помощи. После передачи пациента линия исчезнет.
Система уже предлагала исправить грузовую отметку и восстановить «достоверную картину движения».
Максим отклонил предложение.
Одна ошибка останется в журнале — ограниченная, подписанная его именем и достаточная, чтобы объяснить, почему человек не был брошен в шахте.
Глава 7. Контур из пустот
Комната над диспетчерской была безопасной потому, что её не считали комнатой.
В старом плане здесь значился архив, в новом — вентиляционный объём. На деле под низким потолком стояли стол, три стула и шкаф с бланками.
Максим запер дверь на обычную щеколду. Электронного замка не было, и журнал доступа не мог сообщить, что трое людей собрались вокруг стола.
Тимур лежал на кушетке у стены. Медики стянули его голень шиной и отпустили под расписку до снимка: курьер отказался ехать туда, где маршрут пациента заранее появлялся в общей сети.
Она сняла с окна рекламную плёнку, перевернула белой стороной вверх и расстелила на столе. Максим достал кальку из-под рубашки. После шахты и дождя края размокли, один угол смялся. Три городских рисунка всё ещё просвечивали друг через друга: тёмный Рубеж, синий Златин и почти бесцветная Керна. Если смотреть прямо, линии превращались в грязную сетку.
Рядом Максим положил две квитанции: независимый отказ Златина и досрочную поправку Рубежа. На обеих были короткие прорези по краям. До вокзала он принимал их за защиту от подмены — бумажный аналог контрольной суммы. Теперь прорези казались зубьями одного ключа.
— У Керны квитанции нет, — сказала Рая. — Её контур нельзя считать доказанным.
Максим совместил длинную прорезь квитанции Рубежа со шкалой на основании лампы. Короткие прорези легли неравномерно: две рядом, промежуток, ещё три.
На кальке у каждой столицы имелись такие же слабые засечки. В вагоне они помогли определить, что заявленные масштабы лгут. Сейчас Максим наложил квитанцию не на рамку всего листа, а на рамку Рубежа. Засечки совпали, но улица Жестянщиков ушла в сторону на знакомые шесть метров сорок сантиметров.
Он повернул бумагу на один зубец.
Улица вернулась на место. Зато три других линии — короткий проезд, дуга коллектора и граница старого промышленного участка — разошлись. Между ними возник белый четырёхугольник.
— Точка? — спросил Тимур.
— Если бы точка, линии сошлись бы внутрь.
Максим обвёл пустое место тупым концом карандаша. Все смещения смотрели вдоль его краёв. Ни одно не указывало в центр.
Рая наклонилась над столом.
— Где?
— Пока нигде.
— Для кого?
— Для того, кто умеет отличить рамку от координат.
Он взял квитанцию Златина. По внешним рамкам синие улицы не совпадали ни с рубежскими, ни друг с другом. Глаз сам искал маршрут между столицами.
Максим вместо рамок совместил прорези.
Калька Златина повернулась и чуть съехала. Масштабная линейка утверждала, что он портит изображение. Но синий контур повторил рубежский белый четырёхугольник — не размером и не формой, а порядком границ: аварийный коридор, коммунальный разрыв, старая стена, участок без подтверждённого владельца.
Максим подложил под кальку чистый бланк и отметил четыре края без привязки к сетке. Получилась замкнутая фигура. Он не переносил длины и углы, только последовательность типов линий. Затем повторил то же со Златином. Вторая фигура легла вокруг первой, как неровная рамка.
— Ошибки не прокладывают дорогу, — сказал он. — Они обходят то, чего карта не показывает.
— Кварталы.
— Вероятно.
— Не говори «вероятно». Ты уже выбрал слово.
Максим посмотрел на белую фигуру. Назвать её кварталом значило приписать пустоте дома, проходы, людей. Но назвать дефектом значило повторить решение системы, которая считала отсутствующее несуществующим.
— Области с устойчивой границей, — сказал он. — Дорожный слой обходит их, коммунальный заканчивается у края, адресный перескакивает через номера, экстренный получает отказ. Это больше, чем дефект.
— И меньше, чем адрес, — сказала Рая.
Тимур приподнялся на локте.
— Поэтому Лидия отдала кальку мне. Курьер подтверждает передачу между краями, но не обязан знать, что внутри.
— Ты возил туда документы?
— Я возил оттуда квитанции.
— Разница удобная.
— Разница договорная.
Рая положила ладонь на кальку, закрыв рубежский контур.
— Если это то, что мы думаем, проверку надо остановить.
— Тогда всё, что у нас есть, останется похищенным носителем, вмешательством в указатель и догадкой на столе.
— Зато стол не выдаст людей.
— Их уже ищут.
— Пока ищут кальку. Ты предлагаешь доказать, что за ней есть что искать.
— Миров исправляет пустоты как ошибки. Если мы ничего не докажем, он совместит слои и назовёт результат восстановлением данных.
— А если докажем, он назовёт их скрытой инфраструктурой.
— Поэтому нужно доказательство без положения.
Рая коротко усмехнулась.
— Ты говоришь как Лидия. Я знала её вопрос, но не ответ.
— Лидия спрашивала, может ли служба принять вызов от места, которого нет в адресном слое, — сказала Рая. — Я ответила: может, если получит координаты хотя бы на время маршрута. Она спросила, кто потом заставит систему забыть координаты. Я сказала, что забывание нельзя проверить.
— И что она ответила?
— Что проверять надо не забывание. Надо не передавать постоянную точку вообще.
— Отказ подтверждает, что запрос был?
— Подтверждает, что определённый сектор не получил право построить маршрут, — ответила Рая.
— Без адреса?
— В открытой части — без адреса. Но отказ сектору A12 не доказывает, что внутри границы кто-то существует. Там может быть пустырь.
— Или ловушка, — сказала Рая. — Созданная, чтобы мы запросили внутренний слой.
Они посмотрели на третий рисунок. Контур Керны был нанесён самым бледным пигментом. В отличие от двух других, у него не было бумажной квитанции и подписанного события. Только прорези на самой кальке: семь коротких и одна длинная.
Максим приложил к ним свободный край златинской квитанции. Совпали три. Рубежская дала ещё три. Седьмая оставалась открытой.
— Не хватает одного основания, — сказал он.
— Или одного свидетеля, — отозвался Тимур.
— Ты знаешь, где его взять?
— Получатель без адреса оставляет встречную расписку в нейтральном узле. Курьер видит поручение и время, но не дальнейший маршрут. Города клиентов я не называю.
— Предлагаю не верить мне, а понять устройство квитанции.
Тимур вытянул руку. Максим передал ему кальку. Курьер развернул её так, что названия городов оказались вверх ногами, и приложил к краю свою больничную расписку. На бланке санитарного парка были пробиты два отверстия для архивной скобы. Одно легло на длинную прорезь Керны, второе — мимо.
— Любая бумага кажется ключом, если достаточно её двигать, — сказал Тимур. — Поэтому настоящий ключ не положение дырок.
Он согнул бланк по линии подписи. Отверстия наложились.
— Настоящий ключ — действие, после которого остаются две независимо подписанные половины.
Максим увидел, что прорези квитанций идут парами относительно сгибов. Разный масштаб не скрывал размер: он запрещал совмещать изображения прежде доказательств по краям.
Он согнул копию златинской квитанции по печатной оси. Прорези сошлись в три пары. Осталась одна одиночная — та, что задавала исторический поворот. На рубежской одиночная прорезь задавала ширину аварийного коридора.
— Парные подтверждают границу, — сказал Максим. — Одиночная задаёт местное правило отказа.
— А семь прорезей Керны? — спросила Рая.
Максим согнул край кальки по слабой линии, которую раньше принимал за след хранения. Шесть прорезей совпали попарно. Седьмая легла на пустое место.
Не хватало не масштаба. Не хватало второй половины события.
— Контур Керны заявлен, но не подтверждён, — сказал он. — Лидия намеренно оставила его открытым. Если мы запросим полную квитанцию, система увидит, какой нейтральный узел отвечает.
— И получит направление, — сказала Рая.
— Не координату. Но направление уже достаточно сузит поиск.
Тимур забрал у него кальку.
— Значит, Керну не трогаем.
— Тогда внешний проверяющий скажет, что два случая подобраны вручную.
— Пусть.
— Миров не «пусть». Он завтра объявит смещения дефектами, а послезавтра исправит их.
— Ты всё ещё хочешь выиграть аудит, — сказал Тимур. — Даже сейчас.
Максим хотел возразить, но увидел на столе собственную запись из красного журнала: ручное изменение указателя, область действия ограничена. На вокзале он выбрал человека вместо чистоты доказательства. Здесь он снова пытался получить чистое доказательство, рискуя людьми, которых не видел.
— Да, — сказал он. — Хочу.
Рая ждала продолжения.
— Потому что умею только так, — добавил Максим. — Но запрос Керны мы не отправим.
— Нам всё равно нужно третье подтверждение.
— Не третье место, — сказала Рая. — Третий тип свидетельства.
Она взяла старый путевой лист. Адрес в нём помещался на отрывной полосе, которую уничтожали после передачи пациента; основная часть подтверждала выезд и доставку без исходной точки. Общий реестр считал ресурсы и объяснял отсутствие фургона в парке.
Группы штрихов рядом с контурами оказались кодом класса, смены и длительности. Лидия оставила способ выбрать один обезличенный расход, но не номер машины или адрес.
Рая открыла автономный терминал санитарного парка. Сеть она отключила ещё внизу; локальный архив обновлялся раз в сутки и не отправлял поисковые запросы наружу. В нём хранились сводные таблицы за пять лет.
— Только Рубеж, — сказала она. — Мы проверим существование одной пустоты. Не Керну.
Рубежский код означал вспомогательную медицинскую перевозку во второй смене длительностью от четырнадцати до двадцати восьми минут. Апрельский цикл подписи Лидии сократил выбор до девяти строк. Одна имела основание: «одноразовое право маршрута; источник удалён после закрытия вызова». Машина отсутствовала двадцать одну минуту, пациент был передан. Начальной точки не было даже в локальной копии.
Рая не коснулась строки.
— Вот.
Прорези квитанции подтвердили подписи ресурса, диспетчера и приёмного пункта. Адреса не было, но расход машины, передача пациента и закрытие вызова были подтверждены независимо.
Белый четырёхугольник перестал быть догадкой. Кто-то из его внутренности попросил помощи, а система довезла человека и уничтожила путь.
До этой минуты пустота принадлежала загадке Лидии. Теперь у неё появился человек — без имени и дома, но с двадцатью одной минутой чужой работы ради его жизни.
— Копируем строку? — спросил Тимур.
— Нет, — ответила Рая.
— Без копии это не доказательство.
— С копией время станет ключом к журналам приёмных пунктов.
Он взял чистый путевой лист и написал: «В локальном сводном архиве подтверждено исполнение одноразового права маршрута без сохранённой начальной точки». Ни даты, ни длительности, ни класса машины. Ниже перечислил только виды независимых подтверждений: ресурс выделен, передача состоялась, вызов закрыт.
— Этого мало для суда, — сказал Тимур.
— Для суда — да. Для следующей проверки достаточно. Мы доказываем метод, не вызов.
Рая подписала запись как специалист экстренной навигации. Тимур добавил, что координаты получателя курьеру не раскрывались. Максим приложил квитанцию так, чтобы в копию попали парные прорези, но не одиночная поправка.
Три свидетельства показывали существование действия. Ни одно не показывало место.
Терминал мигнул.
На экране появилось уведомление внутренней политики. Загруженное утром правило дождалось совпадения поискового шаблона.
«Обнаружен просмотр записей с удалённым источником маршрута».
Ниже медленно раскрылась вторая строка:
«Категория: возможная скрытая инфраструктура. Сохранить журнал обращения до получения законного требования».
— Мы ничего не отправляли, — сказал Тимур.
— И не должны были, — ответила Рая. — Это сторож локального архива. Он запомнил сам факт просмотра.
Максим проверил поля уведомления. Координат там не было. Поисковые условия тоже не сохранялись. Только его временный идентификатор, терминал санитарного парка и категория записи.
— Они не знают, что мы нашли.
— Они знают, что искали удалённый источник, — сказала Рая. — Этого хватит для запроса.
Внизу открылась третья строка. Правило ссылалось на решение транспортного контура после вокзального происшествия. Его ручное вмешательство уже стало основанием связать просмотр архива с возможной угрозой.
Телефон внутренней связи зазвонил один раз и замолчал. Через несколько секунд загорелся снова.
Рая включила громкую связь, не называя комнату.
— Сокол.
— Специалист Сокол, говорит дежурный юридического сопровождения санитарной сети. Получено уведомление о сохранении локального журнала. До поступления требования не удаляйте записи и не перемещайте терминал.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.









