Книга Инженеры слова - читать онлайн бесплатно, автор Ураз Баева. Cтраница 7
Инженеры слова
Инженеры слова
Оценить:

Рейтинг: 3

Инженеры слова

– Мы вошли, – буднично сообщил Яр.

Повисла пауза. Калеб с любопытством смотрел перед собой, пытаясь что-то рассмотреть за спиной Ската. Тот сообразил, что с камеры его смарта видны висящие позади экраны. Пробормотав невнятное ругательство, он сбросил вызов.

– Начинаю загрузку вируса. Взлом займет от двух до четырех часов.

Голос Яра прозвучал как уведомление от робота. Хакер даже головы так и не повернул.

– Эй! А чего так долго? И неточно?! – удивился Скат.

Яр обернулся и пару секунд растерянно хлопал глазами, словно ответы и так очевидны.

– Потому что взламываем главные системы Станции, – буркнул он недовольно и вновь отвернулся.

Хренов чудик! Несколько часов ждать?! Так ведь и поседеть недолго!

* * *

Калеб несколько раз растерянно моргнул. Связь прервалась внезапно. Он услышал «мы вошли», а затем что-то в строчках кода на мониторах за спиной Ската царапнуло его сознание… Почему тот прервал разговор?! Калеб ткнул пальцем в проекцию кнопок перед собой. Всплыло сообщение: «Пользователь заблокировал ваш контакт». Что за…?!

Впрочем, есть и более срочное дело. Программу, что он установил на отцовский смарт, можно деактивировать удаленно. Огромный плюс! На все ушла минута, не больше. Уф! Теперь отец ничего и не заподозрит. Мысли вновь вернулись к тому, как Скат сбросил звонок. Обидно! Хоть бы спасибо сказал! Еще эти экраны… Что его так зацепило? Ну, кроме того, что физическими мониторами мало кто пользуется…

– Помощник, – Калеб обратился ИИ-ассистенту, – ты сохранил запись последнего звонка?

– Запись последнего звонка будет удалена из облака через одну минуту, – сообщил мягкий, приятный голос.

– Отменить удаление! Выведи видео на экран.

Разговор со Скатом длился меньше минуты. Монитор, по которому бежали строчки кода, влез в кадр не целиком, да и на запись попал лишь небольшой фрагмент. Калеб задумчиво хмыкнул. Угадывать по обрывкам кода назначение программы, а еще лучше – способы ее улучшить, было его любимым развлечением.

– Помощник, распознай и сохрани программный код в левом верхнем углу видео…

* * *

Шумахеры договорились встретиться в час дня. Обычно первыми приезжали Артемий и Свят – они и жили ближе к VR-клубу, и любили поболтать до появления остальных. В этот раз вся компания столкнулась в дверях за десять минут до назначенного времени.

– Ого! Как всем не терпится! – удивилась Кэт.

– А то! Интересно же, что из этого выйдет, – отозвался Свят.

Ник после его фразы посмотрел на Артемия, но быстро отвел взгляд. Тот все равно заметил. Непримиримые соперники сдержанно поздоровались, и оба удержались от каких-либо колкостей.

Вскоре все семеро уже рассаживались по креслам.

– Генерация трассы займет три минуты! – крикнул Свят.

Минуты эти тянулись долго. Артемий то и дело ерзал – кресло в любимом клубе впервые показалось неудобным. Наконец, вновь раздался звонкий голос друга:

– Можем подгружаться!

Наконец-то! Начало, независимо от трассы, всегда одинаковое – лифт, стоянка с тачками. В этот раз на противоположной от лифта стене оказалось аж шесть въездов в тоннели. Один – прямо напротив тачки Артемия. Повезло! По сигналу старта можно будет просто рвануть вперед. А вот Мэри придется исхитряться – ей единственной не досталось отдельного заезда на трассу. Артемий почувствовал привычные предстартовые нетерпение и азарт. В этот раз какие-то особенно острые. Какие сюрпризы ждут сегодня?

Когда прозвучал стартовый сигнал, все мысли разом вылетели из головы. Артемий поддал газу, и тачка его буквально влетела в тоннель. Долгое время тот просто шел прямо. Неужели случайная трасса окажется самой скучной за все время? Нет. Вскоре коридор стал заметно сужаться и одновременно с этим – по чуть-чуть сворачивать все левее и левее. Лампы под потолком едва светили, поэтому, когда впереди показалось пятно света, Артемий сразу понял – тоннель вот-вот выведет его в новое, ярко освещенное помещение. Через несколько секунд его тачка вырвалась из узкого коридора в более широкий и… слева, буквально в паре метров, из такого же тоннеля вылетела другая тачка. От неожиданности Артемий крутанул руль вправо и лишь чудом не влетел в стену, а другой шумахер инстинктивно уклонился влево и тоже едва не впечатался в стену. Кажется, это был Свят. Ох! Артемий почувствовал неприятный холодок. Гонка едва началась, а они уже чуть друг друга не выбили! Скучной эта гонка точно не будет!..

* * *

Использовать ИИ-ассистентов для работы с программным кодом – обычное дело. Стоит закинуть фрагмент кода, и нейросеть сможет предположить, что должно быть в нем дальше. Или было «до». Часть вариантов ассистент отсекал сразу – с ними программа просто не работала бы. Остальные выглядели более или менее правдоподобно. Чем сложнее код, тем больше таких версий предлагала нейросеть. Дальше Калеб изучал предложенные фрагменты кода сам и, опираясь на опыт и интуицию, делал предположение – какой из них подходит больше. Процесс анализа можно упростить, если подкинуть нейросети вводных – например, предположений, для каких целей программа создавалась или каким требованиям должна соответствовать. Что же в этот раз? Действия Ската не должны быть чересчур подозрительными – иначе система безопасности может его заблокировать. Все должно быть замаскировано под какое-то максимально невинное действие. Возможно, программа похожа на «червя» – попадает в систему под видом чего-то невинного, а потом уже постепенно распаковывается и начинает вносить изменения. Далее. Идея была в том, чтобы доказать, что в работу управляющим Станцией ИИ можно вмешиваться. Значит, изменения будут вносится в какую-то из систем, управляемых им.

Когда ассистент выдал первый результат, Калеб наконец осознал, что его удивило еще на созвоне. В коде, ближе к концу фрагмента, мелькнуло упоминание «настроек виртуальной реальности».

VR? Что за глупость?! Зачем им туда-то лезть? Самое дурацкое, что можно придумать!

Хм. Ну, ничего. Он обязательно разберется!

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

Калеб помотал головой. Хватит! Один способ выяснить все у него есть – разобраться в коде «червя». Почему «Настройки виртуальной реальности»? Чтобы громко заявить о возможности изменения системы, логичнее выбрать что-то другое. Электричество. Температурный режим. Может, это просто обходной путь? Через настройки одной подсистемы найти лазейку к другой, более защищенной? Пальцы едва поспевали за мыслями. Хорошо составленный запрос – «промпт» – основа успеха, когда речь идет об ИИ-ассистентах. Калеб учился составлять их с раннего детства и накопил нешуточный опыт.

Правда, в этот раз этот опыт почему-то совсем не помогал. Ассистент не подтвердил его предположение, что целью должна быть не виртуалка, а какая-то другая подсистема. Калеб был уверен, что программа должна вносить изменения от имени отца. Ведь он – член Совета, а значит, так проще будет доказать, что людям врут про невозможность управления Станцией в обход Матушки. Но и тут нейросеть подсказывала что-то странное. Дескать, вирус должен замаскировать вмешательство. Выставить все так, что изменения внесены Матушкой. Ну, бред же… Зачем тогда это все?!

Калеб упрямо составлял промпт за промптом, нервно покусывая губы всякий раз, когда нейросеть тянула с ответом. Ассистент упорно выдавал один и тот же результат – вирус создан, чтобы изменить что-то в настройках виртуальной реальности. От имени Матушки. В какой-то момент Калеб решил, что ИИ просто-напросто заглючил. Начать диалог с нейросетью заново? Неужели столько времени потрачено впустую? Прежде чем очистить историю, Калеб решил напоследок проверить – каким будет результат, если он согласится с доводами ИИ? Допустим, цель червя – виртуалка, а изменения вносятся так, чтобы все решили, что это сделала Матушка. Что именно должно поменяться в настройках? В этот раз ответ особенно долго не приходил, и Калеб решил, что ИИ окончательно завис. Пока он раздумывал – стоит ли сбросить процесс и начать-таки диалог заново, как по проекции экрана побежали строчки ответа.

Прочитав его, Калеб на секунду закрыл глаза и помотал головой. Словно надеялся, что это наваждение и текст изменится, если на него не смотреть. Не изменился. Анализ показал, что вирус сбросит настройки безопасности в виртуальной реальности. Те самые, которые автоматически «выдергивали» из VR всех, кто задерживался там слишком долго, теряя связь с реальностью. Те, которые защищали пользователей, если в виртуальности происходило что-то опасное. Например, падение с высоты. Сколько людей даже не подозревают, сколько раз эти настройки спасали их мозг от чересчур реалистичных ощущений и травм?

Калеб нервно сглотнул. Сколько человек пострадает, прежде чем кто-то что-то заметит?

«После уже никто не усомнится, что в работу Матушки стоит вмешиваться!» Вот о чем говорил Скат! Если по мнимой вине станционного ИИ пострадают или погибнут люди…

«Что я наделал?!»

Калеб почувствовал, что любимая толстовка прилипла к взмокшей спине, хотя температура в комнате не изменилась. Из-за двери послышались приглушенные голоса – родители о чем-то негромко переговаривались.

Несколько секунд Калеб тупо рассматривал проекцию экрана и текст на нем. Ощущал, как холодная испарина покрывает тело все сильнее. Ступор прошел внезапно, и тело словно действовало само, без участия мозга. Палец постучал по дужке очков, проекция экрана исчезла. Он рванул к двери, и как только створки стали расходиться, охрипшим голосом крикнул:

– Отец! Па-ап! Нужно поговорить!..

* * *

Скат не знал, чем себя занять. Отвлечься на серфинг в Сети не получилось. От ходьбы туда-сюда по комнатушке Яра он начинал чувствовать себя узником в одиночном отсеке. Пришлось плюхнуться на стул и тупо наблюдать за хакером, который молча пялился в мониторы и изредка лениво стучал по терминалу. Скукотища.

На экранах открывались и закрывались какие-то окна, пробегали строчки символов и колонки цифр. Скат сам не заметил, как начал барабанить пальцами по колену. Потом поймал себя на том, что-то и дело смотрит на часы. Всякий раз проходило всего несколько секунд.

Иногда Яр монотонно бурчал короткие фразы вроде:

– Файл загрузился.

– Червь начал распаковку.

– Начинаем взлом настроек.

Скату это ничего не говорило, а вопросы он задавать не решался. Помнил, каким взглядом Яр посмотрел на него в прошлый раз. Надо же. Он так долго ждал этого дня, думал, что его будут переполнять азарт и радость, а вместо этого ощущал только глухое раздражение и нарастающее напряжение, от которого хотелось вскочить и снова начать ходить по комнате.

Скат уже открыл рот, собираясь спросить, сколько еще ждать, когда хакер вдруг резко повернулся к нему. В его голосе едва ли не впервые прозвучали живые, радостные нотки:

– Готово! Через минуту настройки сбросятся!

6

Картинка на вспомогательном экране отличалась от привычной. Обычно разноцветные кружочки, обозначающие участников гонки, мигали и двигались на схематичной мини-карте. На случайно сгенерированной трассе они ползли по молочно-белому экрану. Словно в пустоте. Благо хоть позиции отображались – Артемий шел третьим. Где-то впереди Ник и Свят боролись за лидерство – вперед вырывался то один, то другой. Кружочек, помеченный как «Мэри», горел красным и не двигался, словно прилипнув к нижнему краю карты. Похоже, она вылетела из гонки, разбившись еще где-то в начале трассы. Остальные шли плотной группой позади Артемия – отставание было минимальным.

Никогда еще гонка не ощущалась настолько напряженной. Трасса оказалась сложным клубком тоннелей, которые неожиданно пересекались, сливались из нескольких в один, чаще обычного подвергая участников риску столкнуться друг с другом. Сам Артемий уже трижды едва избежал аварии, а в руль он вцепился так, что пальцы ломило. Отчего маневры получались не такими уверенными, как обычно. Стоило немного расслабиться, но куда там! Трасса становилась все более ломаной и зигзагообразной, а многочисленные углы и выступы только добавляли сложностей.

Артемий все равно постепенно наращивал скорость, и на экране «его» кружочек упорно приближался к обозначениям Ника и Свята. Через пару минут он понял, что они едут по трем параллельным тоннелям. Ох. Значит ли это, что они пересекутся или сольются в один в самый неожиданный момент? Как это уже не раз случалось за эту гонку? Вместо этого стены коридоров вдруг сменились массивными столбами-опорами. Теперь Артемий своими глазами видел мелькающие впереди – слева и справа – тачки соперников. Трасса не переставала удивлять разнообразием!

Еще через минуту стало ясно – фактически тоннели и правда слились в один, вот только опоры никуда не делись. В этой части трассы они оказались хаотично разбросаны. Тут – несколько в ряд, а чуть впереди внезапно возникающие на пути столбы-одиночки. Бесконечные вариации неожиданных препятствий. При этом тоннель продолжал причудливо петлять, то сужаясь, то расширяясь.

Первым рискнул Ник – нырнул в зазор между двумя опорами. Казалось, что расстояние между ними меньше корпуса машины, и Артемий невольно втянул голову в плечи, ожидая удара. Однако Ник проскользнул и вырвался вперед. Слева поддал газу Свят, не желавший отдавать лидерство. Его тачка шла удивительно ровно, без лишних рывков, и стремительно сокращала дистанцию. На одном из следующих поворотов Свят подрезал Ника, проскочив в узкий просвет между опорой и стеной тоннеля. Артемий удачно держался чуть в стороне – ему попался на удивление ровный участок, и он нагнал друзей без опасных маневров. Некоторое время три тачки шли практически вровень, разделяемые лишь бетонными столбами.

Затем трасса резко сузилась. Ряды опор сместились так, что остался один проход – по центру. Ник и Свят лихо перестроились – один вправо, другой влево и… Едва не столкнулись. В последнее мгновение каждый рванул руль в сторону, и удара удалось избежать. Вот только Свят сделал это слишком резко, и тачку начало кидать из стороны в сторону. Артемий благоразумно сбросил скорость, наблюдая, как друг пытается справиться с управлением. Не вышло. Тачка Свята на скорости влетела в одну из опор за пару мгновений до того, как Артемий пронесся мимо. Обычно момент удара размывался, и картинка становилась похожей на мутное пятно, но не в этот раз. На долю секунды Артемий увидел все предельно четко: как тачка вмялась в бетон, как разлетаются фрагменты. «Странно…» – мелькнуло где-то на краю сознания. Разбираться, почему так вышло, времени не было. На мини-карте кружок, обозначающий Ника, стремительно удалялся, а группа преследователей – приближалась. Шансы выиграть гонку уменьшались с каждым мгновением. Артемий решительно вдавил педаль газа. Сдаваться он не собирался.

Его тачка лихо влетала в повороты, срезала углы везде, где только можно. Кружочек, обозначающий Ника, медленно, но верно приближался. Ну же! Артемий крутанул руль влево, пролетел между двумя опорами и… внезапно увидел третью, одиночную, как нарочно, оказавшуюся прямо на пути. Руки сами дернули руль, тачку развернуло боком и несло на широкий прямоугольный столб. Артемий быстро понял – крутить руль, жать на тормоза, предпринимать что угодно еще – бесполезно. Его начнет мотать и разворачивать, но столкновения ему все равно не избежать. Поэтому он просто смотрел в окно со стороны пассажирского сиденья на стремительно приближающееся препятствие. Через долю секунды стало ясно – что-то не так. Серая металлическая опора стремительно надвигалась, а привычного «размытия» происходящего все не было. Артемий почувствовал, как по загривку пробежал неприятный холодок, рот медленно приоткрылся и… картинка неминуемого столкновения сменилась непроглядной тьмой. Вместо крика изо рта вырвался сдавленный полувздох. На левом виске пульсировала жилка, неприятно отдаваясь в голове. Темнота начала рассеиваться, и Артемий не сразу сообразил, что это всего лишь постепенно сходящее на нет затемнение стекол на очках. Вскоре он смог разглядеть проекцию экрана, на котором мигал красный текст ошибки: «Потеряна связь с сервером». Это мигание, кажется, еще больше усилило пульсацию. Прийти в себя помог громкий вопль Ника, раздавшийся откуда-то справа:

– Да какого хрена! Я почти победил!



Артемий постучал по дужке очков, проекция с надоедливой красной надписью исчезла, и сразу стало легче. Трепыхание жилки на виске приутихло, голова прояснилась. Стало доноситься больше звуков – в основном гул взволнованных разговоров. Кроме голосов друзей-шумахеров звучало немало незнакомых. Другие посетители VR-клуба? Это что, не наш сервер упал, а виртуалка отрубилась?! Мысли все еще ворочались неохотно, зато руки машинально сняли очки и нейротрансляторы, сунули их в чехол.

– Ребята! Ребята! Святу плохо!

Голос Кэт раздался где-то совсем рядом. Громкий. Напуганный. Едва не сорвавшийся на визг. От неожиданности Артемий вздрогнул, спешно выбрался из кресла и едва не споткнулся – в ногах от чего-то ощущалась неприятная слабость. Кэт и впрямь оказалась близко – всего через два кресла. Вокруг уже начали собираться остальные шумахеры и другие посетители VR-клуба. Одни еще только снимали очки, другие – наперебой спрашивали, что случилось. Свят полулежал в своем кресле-ложе. Тело выгибалось короткими, резкими рывками. Руки хаотично метались по сторонам, а пальцы несколько раз будто пытались схватить что-то прямо в воздухе. Сквозь линзы очков были видны лишь пугающие белые полоски – настолько закатились зрачки. Из уголка рта стекала пена. Ник уже стоял рядом и лихорадочно тыкал в экран смарта.

– Я вызову экстренную! – дрогнувшим голосом сообщил он.

– Расступитесь! Я врач! – раздался уверенный хриплый голос.

Мужчина лет тридцати легко раздвинул столпившихся подростков и склонился над креслом.

– Помогите положить его на бок!

Артемий коснулся руки Свята и еле сдержался, чтобы не вскрикнуть – пальцы друга оказались ледяными, хотя на лбу у него выступили мелкие капельки пота. Незнакомец нащупал пульс. Задумчиво кивнул. Сказал что-то стоящей рядом Кэт. Слов Артемий не расслышал, но тон был успокаивающим. Врачи экстренной службы прибыли минут через семь, показавшихся вечностью. К этому моменту судороги прекратились, Свят пару раз даже что-то невнятно пробормотал, но в себя так и не пришел.

Медики действовали быстро и четко. Короткие вопросы. Быстрая проверка зрачков.

– Кто-то из вас родственник? – устало спросил один них. Шумахеры переглянулись.

– Мы друзья, – робко ответила Кэт.

– Родителям сообщили? – голос медика прозвучал еще более устало.

– Сейчас, – кивнул Ник и вновь занялся смартом.

Еще минута суеты, и носилки со Святом унесли. Люди начали быстро расходиться, и в зале вдруг стало непривычно тихо. В кармане завибрировал смарт, и Артемий осознал, что тот настойчиво жужжал все то время, пока они ждали экстренную службу. Быстрый взгляд на экран. Ого! Шесть пропущенных! Он нажал перезвонить.

– Тема, – мама ответила сразу, – срочно приезжай домой!

От тревожных интонаций в ее голосе по коже побежали неприятные холодные мурашки.

– Мам, что такое? Что случилось?

Тихий всхлип.

– Тут… Я… Приезжай скорей, ладно?!

– Скоро буду!

Артемий привык к тому, что мама сердится, когда он засиживается с друзьями. Ругается. Требует, чтобы он срочно возвращался домой. Сегодня в ее голосе впервые слышались умоляющие нотки. Да что вообще происходит?! Люди, взволнованно гомоня, тянулись к выходу. Помогавший им мужчина тоже ушел. На месте остались лишь растерянные шумахеры. Артемий встретился взглядом с непривычно бледным Ником и сказал:

– Мне домой нужно. Там мама переживает.

– Да, давайте расходиться. Родителям Свята я все сообщил…

Компания молча побрела к выходу. Никто просто не знал, что сказать. Вяло попрощавшись с Артемием, остальные шумахеры пошли к своей станции скоростных капсул. Обычно он ехал домой вместе со Святом. В этот раз того не было рядом. Беспокойство за друга захлестнуло с новой силой, едва закрылись автоматические двери вагончика-капсулы. Что вообще вызвало приступ? Его самого просто выбросило в реал, без малейших последствий… Народа набилось непривычно много, и отовсюду слышались возбужденные разговоры. Виртуалку отключили разом по всей Станции. И никто до сих пор не знал почему! Тревожный гул голосов вокруг, переживания за Свята, до сих пор звучащие в голове нервные нотки в мамином голосе – все это тяжелым комом засело в груди. От станции скоростных капсул до дома Артемий практически бежал. Наконец, он приложил ладонь к датчику у дверей родного отсека.

– Слава богу! Ты в порядке! – мама кинулась к нему навстречу и крепко обняла.

Артемий, растерявшись, неловко приобнял ее в ответ.

– Мам, что случилось?!

Ответа он дождался не сразу. Раздалось несколько сдавленных всхлипов и лишь затем неразборчивые слова:

– Отца и Калеба забрали!.. Заседание Совета…

Артемий растерянно заморгал. Отец-то понятно. Раз случился крупный сбой – его должны были вызвать на службу. Но Калеб-то тут причем?

7

На кухне вновь раздался писк автоматики. Мама уже третий раз за вечер включала подогрев, а отец все не возвращался. Артемий лежал на застеленной кровати, то и дело прислушиваясь – не зашумят ли входные двери? Смарт лежал на столике – только руку протяни, но Артемий даже не пытался в него заглянуть. Последние несколько дней вообще не получалось заниматься привычными делами. Калеба с утра до вечера таскали на допросы, благо хоть ночевать отпускали домой. Отец все время пропадал на службе. Мама места себе не находила, переживая за обоих, а Артемий не знал, как ее успокоить.

Вчера брату велели остаться дома и ни в коем случае его не покидать. Отца же вызвали на очередное экстренное совещание. Отчего-то Артемий сразу понял, что решается судьба Калеба. Какое наказание ему назначат? Как его вообще угораздило влипнуть в такую историю? Брат ведь всегда был умнее всех вокруг! Ждать, уставившись в серый потолок отсека, казалось пыткой. Артемий задумался – не пойти ли на кухню, когда услышал едва различимый шелест и торопливые шаги мамы. Пришел!

Кажется, еще ни разу он не выскакивал в коридор так быстро, буквально одним прыжком. Вот только лежал на кровати, а вот уже смотрит на замерших на пороге родителей. Калеб точно так же выглядывал из своего отсека. Отец поочередно посмотрел на лица встревоженных жены и сыновей, вздохнул и негромко, но решительно произнес:

– Давайте-ка ужинать!

Вскоре семья собралась в гостиной. Мама спешно накрывала на стол, то и дело бросая на мужа встревоженные взгляды. Руки ее заметно дрожали. Отец молчал. Выглядел он даже не уставшим, а больным. На лице залегли несколько новых глубоких морщин, под глазами – мешки, которых раньше никогда не было.

Поняв, что никто не прикоснется к еде, пока не узнает новостей, он поднял взгляд на Калеба и заговорил.

– Тебя еще будут вызывать и официально сообщат позже, но… Испытательный срок. Два года.

Мама издала радостный полувздох-полувсхлип. Артемий скосил глаза на брата, тот радоваться не спешил, тоже чувствовал какую-то недоказанность.

Отец потер покрасневшие глаза. Вздохнул.

– Сегодня на голосование ставили вопрос о моем отстранении.

Лицо Калеба побледнело буквально за секунды.

– Оставили. У меня еще есть друзья.

Артемий почувствовал, что засевшее где-то в районе живота напряжение наконец-то исчезает. Мама уже не сдерживала всхлипов, но это были слезы радости. Калеб, все такой же бледный, приподнялся с места и заговорил. Сбивчиво, непривычно дрожащим голосом.

– Пап, прости. Мне так жаль…

Отец нахмурился, сердито махнул рукой, прерывая его. На секунду показалось, что он начнет отчитывать старшего сына, но в итоге лишь негромко буркнул: