Белла не только сама добывает для меня кое-какие данные, но выполняет и роль посредника. Я звоню ей и делаю заказ. Окажутся ли громадные массивы необработанных данных полезными для меня – дело случая; чем больше я их куплю, тем больше вероятность успеха. Однако гарантии успеха тут быть не может, ведь событие, которое меня интересует, могло произойти (если оно вообще произошло!) в любом аэропорту в любое время в течение последних пяти недель.
Найти поддельные выездные визы легко – их выдает сам факт того, что они стерты, дабы избежать, пусть и вялого, официального контроля. Такие пробелы легко обнаружить в любом временном ряду записей в базу данных (вот только сам ряд надо предварительно украсть). Труднее выявить в этой толпе Лауру – за неделю в стране происходит не менее сотни нелегальных выездов. Хильгеманн предоставил мне ее ДНК-сигнатуры, отпечатки пальцев, узоры сетчатки и скелетные измерения. Таможня не использует тесты ДНК (массовая проверка ДНК у пассажиров связана с большими юридическими и социальными сложностями), но остальные три параметра всегда проверяются перед посадкой в самолет. Впрочем, после этого в фальшивой визе эти параметры обычно изменяют, специально для того, чтобы сбить с толку таких, как я. Хотя сама запись о регистрации визы должна оставаться в компьютере в течение всего времени полета (чтобы не сработали тесты, которые непрерывно ведут все авиакомпании для защиты от террористов), данные биологической идентификации проверяются еще только один раз – когда пассажир проходит таможню в пункте назначения. Поэтому только в течение двух небольших отрезков времени запись биологических параметров должна соответствовать действительности. Теоретически эти отрезки времени могут быть сокращены до нескольких миллисекунд, но в жизни невозможно рассчитать все с такой точностью, и на практике они составляют несколько минут. Отпечатки пальцев и сетчатку легко изменить с помощью микрохирургии, так что надеяться можно только на измерения длин костей. В случае крайней необходимости их тоже можно изменить, но никакой мод не поможет вам войти в самолет на следующий день после такой операции. Путешествовать же в качестве инвалида – все равно что повесить на шею табличку со своим настоящим именем.
Я лениво листаю гигабайты мусора, просматриваю рейс за рейсом, все, что записано в компьютеры десяти международных аэропортов страны – меню, карты размещения пассажиров, даже декларации багажа. Лауру, конечно, могли послать и багажом, но это было бы не слишком мудрое решение. Весь груз либо просвечивается рентгеном, либо вскрывается и досматривается персоналом, так что единственный вид груза, который пригоден для такой затеи, – труп. Собственно, имитировать труп не так уж сложно: препараты, отключающие обмен веществ на пару часов, без вреда для мозга и внутренних органов, известны уже несколько десятков лет. Хуже другое – при таком методе слишком высокое отношение сигнал/шум, ведь живых пассажиров-нелегалов великое множество, а трупов из страны вывозится не более одного-двух в неделю.
Однако ничего лучшего в голову не приходит, я просматриваю все собранные списки отправленного багажа и обнаруживаю в них семь упоминаний об отправке умерших.
Обычное рентгеновское просвечивание, которому подвергаются все пассажиры, дает информацию для их последующей идентификации по скелетным измерениям. Для трупов идентификация не производится; как и для обычного багажа, сделанные рентгеновские снимки (стереоскопическая пара) просматриваются визуально, а затем записываются в декларацию. Полчаса уходит у меня на то, чтобы добыть алгоритмы, которые используют в аэропортах для расчета длины костей. Эти алгоритмы зашиты в компьютеры рентгеновских аппаратов, и поэтому их нет в дампах памяти, которые украла для меня Белла. Самому писать такой алгоритм уж очень не хочется: вычисление длин костей по стереопаре – задача тривиальная, а вот автоматическая идентификация костей куда сложнее.
Я пропускаю через эту программу снимки всех семи трупов, сопоставляю их скелетные измерения с параметрами Лауры – и получаю семь отрицательных ответов. И почему-то именно тут меня осеняет, что есть серьезная причина, которая могла заставить похитителей вывезти Лауру из страны как раз под видом трупа. Ведь в ее мозгу не было некоторых важнейших нейронных структур, а без этих структур стандартные марионеточные моды могли и не сработать. Несомненно, эту проблему можно решить, но картирование необычного мозга Лауры и соответствующее перепрограммирование наномашин потребовали бы значительного времени. Проще было попытаться использовать другие возможности.
Отрицательные результаты моих тестов еще ни о чем не говорят. Рентгеновские снимки могли быть подправлены через несколько минут после их записи в декларацию. Информация в компьютере вещь такая же эфемерная, как квантовый вакуум, все время то здесь, то там возникают и исчезают виртуальные пары «правда-ложь». Если речь идет о кратком промежутке времени, можно безнаказанно подделать все что угодно. В поле зрения закона попадает только то, что сидит неподвижно.
Я бегло просматриваю программу анализа рентгеновских снимков, пытаясь разобраться, как она работает. Алгоритм распознавания деталей анатомического строения состоит из нескончаемого списка правил и исключений, за которым следуют несколько строчек формул. У меня мелькает неприятное подозрение, что применять эту программу к обработке снимков багажа нельзя, так как она может быть жестко привязана к геометрии стоящего на ногах человека – в этом случае все мои вычисления ничего не стоят. Оказывается, однако, что это не так – программа ничего не принимает на веру и хранит вместе со снимком все необходимые параметры, аккуратно пометив их стандартными описателями.
Когда длины костей вычислены, они сопоставляются с набором длин, записанных в документах. При этом допускаются небольшие несовпадения за счет возрастных изменений с момента выдачи визы. Самый большой допуск, разумеется, для детей и юношества, а в возрасте Лауры он минимален. Не попробовать ли увеличить этот допуск? Таможня предпочитает перестраховаться, но у меня сейчас совсем другая задача.
Внезапно осознав всю глупость подобных спекуляций, я подскакиваю на месте от досады. Какой же я дурак, ведь я все время рассуждаю о трупе так, как если бы речь шла об обычном пассажире. А ведь поддельный труп может быть искалечен до такой степени, что все костные измерения становятся бессмысленными. Значит, среди длин костей нет ни единой цифры, которой можно доверять.
Впрочем, так ли это? Можно сильно изменить длины почти всех костей (при условии, что предстоит достаточно долгий восстановительный период), но есть некоторые части черепа, с которыми нельзя так вольно обращаться – это и слишком опасно, и слишком бросается в глаза.
Я снова запускаю программу, оставив в ней сравнение только этих частей черепа. На этот раз ответ следует мгновенно:
Номер груза: 184309547
Рейс: КАНТАС 295
Вылет: Перт, 13:06, 23 декабря 2067
Прилет: Нью-Гонконг, 14:22, 23 декабря 2067
Состав груза: Останки человека (Хань Сю Лиен)
Отправитель: Генконсульство Нью-Гонконга 16, Сен-Джордж Террэйс