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