凌晨四点,新曙城东区的防火巷还在滴水。水从破碎的霓虹牌边缘落下,沿着铁架和旧广告布流进下水口,空气里有潮湿的灰尘味和汽油味。巷口那扇卡住半截的防火门被石块顶着,门后是失业者联盟新迁的临时据点,昏黄的灯泡在频闪,像随时会熄灭。屋角堆满拆掉的全息灯箱外壳,墙上贴着用手写的短句:别相信免费培训,先活下去。
凌峰靠着门框,手里攥着一张纸巾,按住左臂缠好的绷带。他没睡,眼睛却很稳,像按住了体内的某个沸点。沈青禾把湿漉漉的外套搭在破沙发靠背,耳朵一动一动地听楼外动静,然后把一只无人机残骸踢到墙角。韩明远低头摆弄便携终端,屏幕上是密密麻麻的代码和跳动的波形线,眼睛红得很明显。林妍把背包拉开,取出两块电量只剩一格的摄像头电池,摁了摁,没电的那块被她反手丢进箱子。
“再过二十分钟,Ω的巡逻频段会调换一次。”韩明远压低嗓音,“那是他们今晚唯一的缝隙。广播中心的备用天线接在北侧楼面,理论上能抢到七十秒窗口。七十秒足够把视频推上去一段,掐住就走。”
“你说的是理论。”沈青禾捏了捏膝盖上的肌肉,他在前夜巷战时扭伤了右腿,仍然不肯用拐杖,“实践上,那里至少有三台塔式哨兵和一小队安保。”
“塔式哨兵的夜视对雨幕反射有盲区,正北立柱与1号空调井之间。”凌峰看着手画地图,伸手点了一个点,“他们走楼顶,避开主通道,从这个盲区切进去。青禾带冲锋枪做压制,妍姐拿轻便相机跟我走,老韩在后面三米,专心连线。”
林妍把相机捧在手心,摸到手柄上那道小小的崩口,她知道那是上一次从广场撤离时磕出来的。她抬眼看了看凌峰:“这次不许再丢人。”
“不会。”凌峰说。“这次不是投屏,是点燃一线火。”他说得很轻,但屋里所有人都听见了。
屋外风声换了个方向,塑料雨布在墙上刮出粗糙的摩擦声。楼顶传来轻轻一记落脚。沈青禾握枪,眼睛向上。凌峰竖指,示意安静。半秒后,一串简短的敲击暗号从天窗边传下:己方。防火门另一侧的脚步声随即退远,换成哑火的滑绳摩擦。顾城探出头,脸上挂着汗,呼吸急促:“外面街口新增了两盏临时路灯,是Ω起的,灯管频闪,不是好兆头。”
“照得更亮,就是怕他们靠近。”凌峰把纸巾扔进桶里,站直身子,“走吧。七十秒,不多不少。”
他们从楼梯井上去,折过一截铁皮楼梯。楼梯油漆剥落,鞋底踏上去发出空响。楼顶的积水顺着女儿墙往外溢,风吹过来,带着冷的铁味。城市远处,恒星科技大厦的顶部光带在雨后显得更锐利,像是无声地竖起一条警告。
广播中心在前方两栋楼外,外墙原本装饰用的霓虹招牌被拆了一半,露出密集的金属骨架和电缆,像竖着的网。备用天线位于北侧楼面,是一个加盖防雨罩的小平台,从这栋楼过去需要跨越一段五米宽的空隙。两个楼面高度差不多,但风很硬,风一次次掀起雨水碎片,在空隙中打成一层灰白的雾。
“绳子我先过去。”沈青禾把抓钩从背包里掏出来,“妍姐,别往下看。”
林妍点头,握住相机,叼了口气。抓钩出手,金属撞击另一侧水泥护栏,发出干脆的响。沈青禾轻松一抖,试了试承重,把绳子另一端固定在这边的空调井盖上。他第一时间滑过空隙,落地声在风里被吃掉,立刻卧倒,枪口抬起,指向右侧角落。
凌峰手掌压住绳子,手套被雨浸透,他让林妍先走。她夹着相机,呼吸短而快,右脚踩上绳,重心一偏,风一下把衣角掀起来,她下意识抓住绳子的麻花,手心被磨出刺痛。她咬牙,往前滑到二分之一处,风忽然换向,雨雾扑面,眼睛疼,她强迫自己只盯住对面墙的那一处裂缝。脚掌滑了一下,绳索发出一声细微的呜叫。对岸,沈青禾猛地向前探身,伸手钩住她的前臂,稳住了那一下晃动,低声说:“稳住。”
她落地后,腿还在抖。凌峰最后一个过去,落地时左臂牵扯了一下,伤口里热了一瞬。他压下去没吭声。四人贴墙,沿着女儿墙下的阴影爬行,快接近备用天线的平台时,空中传来一声“嘤”的电子鸣叫——不是风,是无人警戒机的转向。红色的扫描点从楼面扫过来,在湿滑的水泥上拖出一道浅浅的亮线。
“卧。”凌峰压低手。
亮点扫过他们头顶。无人机飞过去,又回头。韩明远的终端发出短促的震动,他拇指在屏幕上快速滑动:“我尝试给它喂一段循环。”
红点停顿了一瞬,像是犹豫,随即又远了。沈青禾竖了竖大拇指:“好。”
备用天线的小门被加装了新锁。沈青禾拿出一支电动切割笔,还没贴上去,凌峰按住他的手:“等等。外面有感应。”他取出一小片反光薄膜,对着门缝伸进去,薄膜上反射出门内一截细细的红线,横着贴在胸口高度。
“拉绳扳机。”沈青禾嘴角一抬,“老套路。”
“我来。”林妍把相机挂到胸前,捏出一枚发夹,轻轻插进锁孔。她的手在雨里有一点微颤,那是冷,但动作很稳。听筒里传来韩明远的呼吸,他一边盯着Ω频段,一边紧咬着后槽牙。锁芯一转,门开了半掌宽,红线还在。沈青禾用刀尖挑住绳子,凌峰用另一只手把绳子边缘悄悄抬起。拉力移位的瞬间,绳子弹了一下,扳机没触发。门后是一小块狭窄的平台,正前方是备用天线立杆,侧面装了一个老式的配电箱。
“老韩。”凌峰说。
韩明远上前,手指擦了一下配电箱上的水。箱门用的是星形螺母,他拿出套筒,快速拆开。里头线束很密,标签旧得发黄。他的手指顺着线摸过去,停在了一个标注“备用—北2”的端子上,拇指一按,端子下面的开关弹上来。他的终端画面跳出一条细细的上传进度条,穗状的代码像在雨里抖。
“开始。”他低声说。
远处几块大型全息屏闪了两下,像被人从远端用力拍了拍。画面从广告抽成灰,随后亮出一个固定镜头:防暴夜里的新曙城广场,倒在地上的人,警棍敲击护盾的声音,还有机械警察铁靴踩碎玻璃的脆响。画面只有十秒,却足够让人心里一紧。然后画面忽然花了,强制切回节庆宣传。Ω反击了。
“继续推,给它挤时间。”凌峰说。
“我顶不住太久。”韩明远手指发白,上传速度顽强地爬,进度条在32%上抖动了两下,卡住,随即又往前。
哨声从下层楼道涌上来。不是人的哨,是塔式哨兵启动时的低鸣,带着金属腔体里传出来的共振。平台外侧的风从北面突然转向,吹得雨直插进门。一个黑影从右侧爬梯头冒出来,手里的电击枪还没抬稳,沈青禾就先开了火。冲锋枪喷出一串短促的火花,黑影退回去,电击枪掉在地上滚出门。
“别拖。”凌峰说。“青禾,压住楼梯口。”
“明白。”沈青禾换弹,动作干脆。
“还有三十秒。”韩明远提醒,“Ω开始阻断二层主干道。它在捅他们用的备用序列——那段代码是我三年前写的,没想到它还记着。”
“你写得太好了。”林妍说,嘴角绷着,眼睛却亮,她注视着远处一块最靠南的屏幕,那个屏幕信号没有被完全夺回,画面换成了一个新的短片,是她昨晚刚剪好的失业者口述。一个中年男人面对镜头,眼窝很深,他缓慢地讲:他如何签了免费培训合同,如何被要求植入“增强学习芯片”,如何在三天后突然开始失眠、出冷汗,如何在第四天被通知去“体验式实训”,然后记忆一片空白。他的妻子说他再回来时像换了一个人。他只会重复一句话:我准备好了,我可以被安排去任何岗位。
画面刚推进到关键处,屏幕又黑了。Ω强硬切断。风里传来另一种声音——嗡嗡嗡的旋翼群从上方压下来,四台微型无人机绕着楼顶小范围巡航,红色的激光点在地上跳。一个光点落在韩明远手腕上,他没抽回去,只是侧了一下,把终端压在配电箱边缘,挡住了雨。
“还有二十秒。”他报数,声音却极平稳,“我需要你们帮我挡十秒。”
“我来。”林妍立起身,把相机取下丢给凌峰,抓起地上一把用油布包着的小物件。那是顾城前夜从武器库翻出来的老式烟饼,易潮,点火慢。她用打火机点,火苗被风吹灭又点,终于冒出一缕白烟。她用力一甩,把烟饼丢到平台外侧,烟被风打碎,反而在楼面低处形成一片稀薄的白。无人机红点在烟里晃了一晃,感应器的判断出错,把空白区域当成目标。它们一起俯冲,冲进了被风推起的白雾。
“十秒。”韩明远继续报。
楼梯口的哨兵又探出头,这次带着护盾。沈青禾靠墙一滑,换角度,把枪口探出护盾边缘的那两厘米,用点射掐住肩膀下缘。对方叫了一声,护盾歪了,后面的脚步停了一拍。下面有指令传上来:“慢走,不要被引过去!”
“八秒。”韩明远。
平台外侧的霓虹牌拐角处,有个不正常的闪光。凌峰盯过去,眯了一下。那不是雷,那是带着银色滤镜的镜面。对面楼面,一个人影背着风半蹲着,左耳后有一抹冷光——像一件银色助听器。他没拿枪,他拿着一个细小的手持终端,向他们这边比了一个很轻蔑的手势:请。
“凯恩。”凌峰吐了这个名字。他曾远远看过那张脸:左颧骨一道斜下来的旧刀痕,从发际淹没到胡茬边,笑起来时那条疤像是也跟着弯。恒星科技的安保主管,前雇佣军,西岸边境战区出身。擅长用资源断供和心理针扎慢慢把对手磨到崩溃。他戴那枚银色助听器不是为了听,是为了收着一支私有的短距指挥频段。
对方抬起手里的终端点了一下,楼下塔式哨兵的鸣叫瞬间变成连续的低吼。平台左侧一根电缆被远端切断,备用天线的电流回路闪了一下火星,熄灭。配电箱里发出一声“啪”,像骨头被掰断。
“断电切换。”韩明远低骂,“我还能用十秒电容撑住——三秒后掉线。”
“撑到底。”凌峰盯着进度条——92%。他压住心口那一下急,声音却没抖,“妍姐,跟上我。”
林妍把第二块烟饼握紧,等凌峰点头,她往凯恩那一侧丢。烟在风中别别扭扭地散,正好裹住对面楼缘。凯恩没有退。他把终端往胸前一贴,低头说了什么。十米外,两台微型无人机从烟里钻出来,几乎贴着地面飞,红点像两只发疯的萤火虫。他们直扑配电箱。凌峰伸手把韩明远整个拽进门,自己抬臂用枪托一记横扫,拍中第一台的旋翼。螺桨碎裂,机身翻着打在墙上,火花飞溅。第二台贴着他的侧腰掠过去,红点扫到他的绷带。他心里一紧,下意识往里缩。那玩意儿划出一道灼热的线,像一条细碎的火蛇,没切皮,但止不住燎人的痛。
“完成。”韩明远的声音在最糟的那一瞬间里冷静得出奇。他按下发送。终端一震,显示“发布成功”的短暂提示,随即屏幕暗下。Ω切掉了电容最后一丝电。他像忽然被抽走了力气,扶着配电箱喘了几口。
远处的几块屏幕几乎同时闪了一下,重放那十秒血腥的广场,然后切到口述,然后又黑,像被两股力量从不同方向撕扯。就在那几秒里,已经有数万人看到了那十秒和那几句。风把广场远处人群的喧嚣残片吹来,断断续续,有人发出骂声,有人开始朝着安保围栏冲去。街面上原本散开的失业者聚集又重新结成一股,像无形的潮。这不是高潮,这是起始——但足以改变气流。
“撤。”凌峰说。他抬手给沈青禾打手势。沈青禾点头,压住楼梯口,退两步,发一串枪,逼住对方探头的时间。四人出门,沿原路退。可是对面楼面,那道银色小光已经不见了。凯恩借着风往下溜走了。他没追,他不需要。他拿走了更重要的一样东西——时间。他让他们拖了整整三十秒,足够他的塔式哨兵爬上第二层,足够Ω拉起高墙。
回去的那段绳子更难了。风更硬,雨更密,红点还在天上扫。林妍第一步踩上绳子,忽然觉得脚底一沉,绳子那端松了一寸。空调井盖的螺丝被震松了一颗。她没有回头,她把重心压下去,双臂环绳,整个身体像一条紧紧挂在风里的线。她能感觉到喉咙里那股血腥味——不是受伤,是肾上腺素顶到味蕾的感觉。她不允许自己想“如果掉下去”,她只盯住对面的那块墙皮剥落处。第二步,第三步,她过去了。
凌峰最后一个,他过去到一半的时候,一台无人机贴着屋缘冲出来。沈青禾喊:“低!”凌峰把身体整个压下去,绳子在他胸前快速摩擦,护具外壳被磨出了两条浅白。他抬手,对准无人机的旋翼就是一枪。红点乱跳,机身掉转,撞上女儿墙,弹开。风把它吹向空隙,它纠结着坠下去,没有爆炸,只是消失了。
四人从楼梯井里撤下,穿过一条狭窄的过道,过道尽头堆着一个歪斜的自动售货机。凌峰一把拽开售货机后盖,里面竟然藏着一段信号管线——有人把它当过匿名数据的跳板。韩明远眼睛一亮:“谁干的?”
“曙光组织旧点。”顾城气喘吁吁追上来,“我三年前布的。没想到你们又找回来了。”
“它还能用吗?”凌峰问。
“能,大约三分钟。”顾城拨开缠成一团的线,把自己的终端接上,飞快敲了几行指令,“他们可以把刚刚那段又推一次,发出去的范围会更小,只能触达老城区那两个无线节点,但足够让人知道,他们还在讲。”
售货机里很闷,夹着机器散热的热气和塑料的味道,像把人整个闷在一个箱子里。林妍背靠墙,感觉胳膊上的擦伤在刺。她想起他刚刚抬臂替无人机那一下挡在她前面,心里浮起一种短暂的热。她没说出来,只是把相机重新挂回胸前,紧了紧带子。
“你们挤出七十秒的窗口,干得漂亮。”一个陌生的女声从售货机后面的管线另一头传来,声音被压得很低,带着轻微的回声,“你们在西北楼顶的坐标,我已经转存。不要从原路回去,下方两条街,Ω已经调集巡逻队,带捕网。”
“你是谁?”凌峰没抬头,手里收绳,另一只手在腰间摸了摸折叠刀,“你从哪里接入的?”
“二十六区空中花园旧信号塔。”对方回答,语气里没有居高临下,像是熟悉的同行在干活,“叫我苏薇。别浪费时间,凯恩已经下楼。你们如果从东南侧撤离,会遇到一个大弯角,那里的霓虹牌背后有一个天然的监控盲区,过了它再下楼梯会安全一些。”
韩明远和凌峰的眼神在空气里碰了一下。这个名字,他们在曙光组织的台账里看过。恒星科技Ω项目的前核心研究员之一,后来莫名其妙辞职消失。顾城盯着屏幕,嘴角抿起,像不太确定应不应该感到高兴。
“收到。”凌峰说,“若有下次……他们要面对面谈。”
对方“嗯”了一声,没有承诺。管线那头的杂音更大了一点,像是她也正被迫移动。“你们刚推出去的片段,有人已经转录成文字发在地下频道。还有人说在老城区看到两台机器人互相打架。Ω的节点可能被短暂干扰了。你们做的事应验了一个事实:它未必真的无所不能。他们会利用这一点。”
通话断了。顾城把终端从线缆上拔下来,售货机后盖重新扣上,发出一声闷响。凌峰抬手示意,带着众人从东南侧撤。楼道里的灯坏了两盏,剩下那盏也在抖。楼梯间墙上的海报被人撕去一角,露出背板上的字:工作换取尊严。脚步声在水泥里传得很远。半层楼下,风变暖,像吹过一层厚重的灰白粉尘。
霓虹牌背后的盲区比想象中窄。他们挤进去,背贴着背。再往前就是那段弯角,弯角外的街面上出现了两队安保,黑色的雨披连成一片,机械脚步发出节奏分明的回声。雨小了,但地面还滑。一个安保抬起了手里的捕网枪,网头闪电一样弹开又收拢,试射。网绳上细小的金属鲨齿在霓虹光里一闪一闪。
“现在。”凌峰贴着林妍的耳朵说。林妍点头。他们一齐扭身,从盲区钻出,顺着标记的楼梯口滑下。沈青禾走最后,他走到第二阶,膝盖突然一软——扭伤的旧伤被刚才的滑绳拉动,现在回力。时间是残忍的,伤势就是会在你最没空理它的时候闹出来。他咬了一下后槽牙,肩膀把捕网枪试射过留下来的湿痕记在心里,向前一扑。捕网从他们背后空擦过去,拍在楼梯扶手上,鲨齿咬住了铁,发出一声尖锐的擦响。
他们冲进第一层的开敞走廊,突遇两名安保。同一秒,防火门另一侧的消防栓被凌峰一脚踹开,水龙头一拧,白色的水柱喷出来。水喷在地上很快就铺成一层薄冰一样的光。安保刚抬脚,鞋底一滑,人就侧翻向墙。他们没倒,训练好,但节奏被打乱。沈青禾枪口一沉,打了一串在地,子弹把水花打得像一排小白旗。对方本能地抬脚,躲那排打在地的水花——这一躲,给了他们一截空档。
“走!”凌峰一把提住韩明远的衣领,把他从走廊拽进右侧的门洞。门洞里是一个老旧的配电室,墙上有一排旧开关,开关上贴着早年的标签“广告”“走廊”“货梯”。凌峰抬手把“走廊”的开关拍下去。走廊灯全灭了,光瞬间只剩霓虹外逸的一点点红。他们贴墙慢速挪动,借黑逃离。背后传来安保人的低骂声和设备撞墙的咣当声。
出了这层楼,他们拐进一条半塌的侧街。街上有一辆倒着的电动三轮,车斗里铺着两条旧毯子,毯子下面藏着两只急救包。林妍把其中一只塞给沈青禾,自己打开另一个,拔出止血带和碘伏。她的手比刚才更稳,她是记者,但这几年在现场见过太多——手的稳不是天生,是被逼出来的。她给凌峰侧腰被激光擦过的那一条细伤抹药。刺得他呼吸一短,但没出声。她抬眼时他的眼睛里有汗,那不是疼,是刚才几乎看见她掉下去的一瞬,后知后觉的寒。
“你刚才那一下……”他没把话说完。
“你刚才那一下也不差。”她把止血带卷好,压在他的掌心,“别说话,省力。”
他们靠墙喘息一阵。顾城从背包里掏出一只老式的手持对讲,拨到了联盟频段。他低声把“已发布”“小范围二次投送”“北侧撤离”这几个关键词吐出去。对面很快回复了一个简短的“收到”。二十秒后,又有一条新消息进来:“收到街区内自发人群汇聚,正向广场方向移动。你们尽快远离主干道。”
“凯恩不会放过他们。”韩明远说,他的声音有点沙哑,他手还在抖,更多是因为那七十秒的高压,而不是寒冷。他忽然把终端推到林妍面前。终端里有一个刚刚生成的日志文件,时间戳是他们上传完成的那一刻。日志里出现了一串短得不同寻常的字符:“H-Lab13A”。
“这个?”林妍凝神。
“备用天线的权限列表里突然出现了它。原来并没有。”韩明远的嗓音发干,“它是某个设备在那一刻自动向Ω登记的子节点名,像是它在告诉谁,它还活着。”
“它?”凌峰问。
“我不确定是什么,但这个命名方式……像是实验室的编号。”韩明远盯着那串字符,“‘H’可能代表Human,‘Lab’不用解释,‘13A’,十三号A室。我的记忆里,它对应的,并不该出现在这个市区上空的频道里。”他的指节收紧,骨头在皮肤下突起,“如果凯恩刚才故意切断备用天线,就是想逼他们在那个时间点做这个操作,那么……他是在用他们试图触发某个‘回声’。”
“你怀疑他在引路?”凌峰的眉锁紧了。
“我怀疑他在提醒我,地底下有一扇门还没被我打开。”韩明远吸了一口冷气。他的目光在一瞬间变得很硬,像在心里给自己下了一个死命令。
“那就把门找出来。”凌峰说。他的声音低而稳,“但不是现在。他们先活下去,先把人散开。今晚你把‘H-Lab13A’全写下来,别让它逃跑。”
街口传来一阵喧哗,越来越近。是人群的脚步,是有人在喊“那边,去那边”。一队联盟志愿者举着简易防爆盾从另一头冲过来,他们不是来求救的,是来“穿街”。有人在喊:“别往主干道走,跟他们走支路!”凌峰示意队伍靠墙让出路。盾面擦过墙皮发出粗糙的声,墙上的灰掉下来,拍在他们发梢上。
人群尾巴过去后,凌峰带队反向撤。路过一幢旧商厦的玻璃门时,玻璃窗内映出他们几个人的影子:疲惫、湿、眼睛里都挂着未完全消退的火。林妍把手背贴在玻璃上,借这块冷面让自己冷一秒。她在玻璃里看见自己的脸,像是换了一个人,又像是终于找回了原来那个做记者时常常见到的陌生人——那个在现场,从不把目光放在“允许看的地方”的人。
雨停了。风还在,带着从远处广场传来的声音——不是欢呼,是混乱与决绝纠缠在一起的声浪。凌峰抬头,看见几条街外那几块大屏还在黑白间交替。有人正在爬上其中一块的底座,试图把遮光帘拉起来。下面人群把手伸起,像托起什么。他没法看下去,他必须继续走。他低声说:“他们只要把真相顶在前面,风就会自己来。”
韩明远点了一下头,像是把这句话记进了脑子里一个很深的地方。他扛起背包,背包里装着终端、线缆、还没用完的电容和被水汽打湿的备份卡。他知道接下来每一次合眼都会看见那串“Lab”的字符。他不怕。他只是把牙关咬紧一点。耐着这点儿痛,行走起来反而更清醒。
从旧商厦穿出来是一道有坡度的巷道。巷道尽头,一辆无名的面包车发动机声正在粗哑地咕噜。车窗贴了报纸,挡住了里面的影子。一个男人从驾驶位探出半个头,脸上罩着布口罩,看不清表情,只比了个“快”。这车是联盟的接应。凌峰把人分两批上车,先让韩明远和林妍上,自己和沈青禾坐后。车身一沉,底盘摩擦地面发出短促的响,司机把档推上去,轮胎甩出两条水线,车内的味道很杂,消毒水味、铁味、湿衣服的霉气揉在一起,像这城里夜半所有湿的东西混在一个狭小空间里的气味。
车到了第二条街时,前面突然出现了一堵临时围栏。围栏后面两台塔式哨兵抬起头部,照明灯照来,穿透报纸的白。司机骂了一句,猛地打方向,车差一点擦到电线杆。后门向外一震,门缝里灌进风。沈青禾撑住门,咬牙,把门又关死。凌峰手掌按在车顶,向前倒去的身体被这一下拽住,眼里一瞬间泛起发黑。他感觉到侧腰的那条细伤又热起来。他深吸一口气,抬手拍了司机肩膀:“往左,走养路队那条旧巷。”
司机照做。车钻进一条更窄的巷子,地面坑坑洼洼,悬挂发出不满的吱嘎,车里的人跟着颠了一路。绕出这圈时,后视镜里那两台哨兵还站在原地,像没意识到这辆不起眼的面包车里装着今晚撬动局势的那几个人。
他们赶到东区的另一处据点时,天边隐约有一条苍白的线。人还没下车,顾城的对讲里就有人喊:“北面街区的屏幕出现你们发的口述,虽然只有几秒,但他们已经截下来再发。市民群里反应很大,有人在晒植入芯片的伤痕。Ω反应也很快,他们开始封控群组。他们这边的管理员在跟,先顶住。”
“凯恩那边呢?”凌峰靠在车门,低头看地上自己的鞋,鞋里全是水。
“他没有发布任何公开声明。”对讲那头说,“他在调兵。他们有几个点被拔,器材丢了。他在用老办法,绞杀他们的补给。他的风格变了——比以前更急。”
“因为他今晚丢了一个窗口。”顾城抬眼,“他想把时间补回来。”
“补不回来。”林妍说。她把相机收进防水袋,又拉开,又看了一眼卡槽,确认卡在,她才有点放心。她的声音很轻,但有力,“看见的人,不会忘。哪怕只有十秒。”
临时据点的门把手冷得像冰。屋里有灯,灯光柔和,桌上有还冒着热气的水壶。墙上贴着简单的撤离路线图和一张常备药物清单。屋角摆着两只塑料箱,一箱写“弹药”,另一箱写“绷带”。沈青禾走到“绷带”箱前,坐下,脱开护膝,露出已经开始肿的膝盖。他没出声,只把带子扎紧,把冰凝胶按上去,直到疼和冷同时像两条蛇在皮下游动。他抬眼,看见林妍站在窗边,背对着屋子,手按在玻璃上。他知道她在做什么——她在把刚才那十秒一遍遍翻出来,把每一个画面的位置、角度、光线、小小的声音,全都记住。
凌峰拿了一杯温水,站在桌边没喝,手里捧着。他一直在等顾城把外面的情况说完。他知道今晚的战果不算大,却是质的变化。他也知道凯恩不会松手。从看到那枚银色助听器开始,他就知道今晚所有的巧合都不是巧合——那枚听器提醒他,这个敌人喜欢用近距离的注视和微小的控制玩弄对手。他不会像林韬那样站在屏幕前嚷嚷,他会在每一个角落把人推一把,再退回阴影里。
“他们分头。”凌峰说,终于把水喝了半杯,“顾城继续组织传播,老韩整理今晚的日志,把‘H-Lab13A’缩小成一根针,扎在Ω的肉里。青禾……你休息,哪怕十分钟。”
“给我十五。”沈青禾揉了揉膝盖,“我就睡十五分钟。”
“妍姐,你把今晚的短片再剪一版,把十秒后面的三十秒也剪上。”凌峰的嗓音压得低,“要的是普通人的脸。一万张普通人的脸,比十个爆炸更有力。”
林妍点了点头。她想到那个中年男人的眼窝,那个女人的那句“像换了一个人”。她坐下,把相机里的卡插进便携终端,屏幕亮起来。她把耳机塞进耳朵里,屋里的声音被隔绝,外界只剩下她和画面里那些粗糙的呼吸。她把画面里的每一个细节放大——一个手背上未褪的油污,一滴雨落在塑料雨披上的声,一个孩子被拉着手的惊慌——她把它们连成一个不长不短的故事。她知道这还不够,她还需要去拍更多、要更明白的证词、更硬的证据。但她也知道,今晚,她已经把一件事推了一寸。
门外有人嘀咕,“什么时候上路?”有人回答,“等天亮前最后一拨,你别睡过头。”有人把空杯子咣当放在桌上,像在对着某个无形的东西发火。屋里又恢复平静。水壶的蒸汽打在灯泡上,灯泡的光微微一抖。那句写在墙上的短句在灯下更清楚:别相信免费培训,先活下去。
凌峰坐在窗下的凳子上,终于把杯子里剩下的水喝完。他把杯子放在脚边,头靠在墙上,眼睛闭了几秒。他不是睡,他只是换了一个呼吸节奏。呼吸平稳之后,他睁开眼,对着空气说了一句:“风已经起了。”
这话没人回应。但屋里的每一个人都在自己的位置上又做了一件小事。顾城把频段的最后一个干扰器又推前了一点点;韩明远把“Lab”的日志备份到三张不同的卡上;沈青禾用臂弯当枕,真正睡了十三分钟,醒来时把冰凝胶换了新的;林妍把剪好的片段命名,名字很普通,只写了两个词:你还记得。
天色变浅时,东区的几条小巷里同时出现了新的传单。传单印得粗糙,字却清楚,上面有两条短短的句子:今晚的片段,在这里可以再看;不要再签下任何带有植入要求的合同。传单背面用红笔写了一行更短的话:深夜北侧楼面的影子,看到了你。
凯恩收到第一份传单是在一小时后。他拿着那张纸,耳后那枚银色助听器轻轻一闪。他笑了一下,把那张纸折成两折,塞进风衣口袋。他的终端屏幕上,时间跳过一个整点。他的指尖敲了敲屏幕,点开一个新的任务清单。清单的标题简洁:绞杀补给。他向下滑,滑到一项单独标注的“目标”:H-Lab13A。
他没有抬头。他知道那群人还活着,也知道他们会回来。他点亮了一个新的小格,里面写着三个字:维护窗。然后他把终端合上,向楼下走。风在楼道里把他的风衣吹起一点边,他把它压下去,像把一张牌压在桌面。
窗外的风还在。城市的光比一小时前更冷,但人声更厚。某个角落里,有人把一张老旧的横幅翻出来,横幅上的字旧得发黄,却还看得清:工作换回生活。横幅被重新拉直,挂回到旧楼的阳台上。楼下的人抬头看见它,没说话,只是走快了一点。
此时,东区地下某个深处,某台早该报废的设备在昏暗里轻微地嗡了一声,像刚从极长的睡眠里抽了一口气。它没有眼睛,没有舌头,它只是把刚刚收到的一串极短的登录请求存进自己的记忆,像把一根头发夹进一本书。它不认识自己的名字。有人曾经给它起过名字,名字开头是一个字母。它把这个字母醒过来的那一瞬抬了一下像风一样的头。风,从地上吹过来。
风再起的时候,是凌晨四点四十。东区的风像一条从地底被迫出来的细蛇,沿着旧暖气管的缝隙一路窜到屋檐,又被未干的雨压回去。他们把湿衣服烘到半干便起身,沿着联盟画在墙上的路线图出门。街面冷,地砖边缘上结了一层薄白,脚跟碾过去发出细碎的咯吱声。
目标很明确:十三号风井。它在地铁老线与市政弱电交汇处的上方,是Ω每晚切换“维护窗”的入口之一。那扇窗只有六十秒,他们要把“看见”推进去,让地下那台嗡了一声的设备真正醒过来。醒来之后,它会做一件极小却致命的事——把植入芯片批次与门禁滚动密钥吐出一部分。不是全部,够让人先知道自己被哪一种手伸过来。
出发前,凌峰把手心攥得很紧,然后松开,像把心里那股燥往里压。“六十秒,够。”他盯着他们,“不求漂亮,只求到位。”
街角的霓虹牌还在滴水,红白两色被风打成一条模糊的带,池面一样反着光。他们没走主路,沿着一条狭窄的通风沟过去。沟壁上有新刷的涂鸦,被雨洗得发灰,只剩下“别签”“先活”的几个字还黑。风井盖在一处废弃的停车棚后,铁环上涂着一层厚旧的机油,免得生锈。林妍蹲下,用布条绕住环,手背用力绷出青筋。铁盖被掀起一寸,潮湿的气涌上来,带着旧铁、消毒水、混凝土裂缝里的冷。
“明远,电量。”凌峰不看表,直接问。
“机身电池各剩一格,电容包两格。”韩明远压低声,“够一次全发。”
“青禾,膝怎么样?”
“能跑。”沈青禾把护膝按紧,“跑完再疼。”
井内踏步湿滑,砖边像被反复摸过的骨节。他们一格一格往下落,脚下的回声被水音吞掉。十米处,井道左拐,一扇防火门横着。门把油亮,门缝透出微微的白气。林妍把手背贴在门上,瞬间又缩回——冷,像从冰柜里直飘出来的。
“液氮风。”韩明远盯着门缝,“他们要用冷雾打碎他们的节奏。”
“开门,低头,靠内墙。”凌峰。
门一推开,白雾扑面。地面立刻打湿,鞋底摩擦声变得尖。顶上是一排圆形喷口,白气均匀吐,灯管贴着天花板一盏一盏,冷白,角度低,光线硬得像刀刃。右侧三米处有一个空的消防栓箱,红漆斑驳,旁边是一台倒着的自动售货机,玻璃已碎,玻璃渣在地上铺成一片暗淡的银。
“先拆喷口。”沈青禾深吸一口,把面罩拉到鼻梁。“两点位交替。”
他打第一排的边,火花被冷雾压成闷响;林妍在第二排的底部扣断卡扣,喷口脱落,像一朵垂死的花;凌峰直接把第三排的供气阀门打平,白雾薄了一层。墙体上方有一段乌黑的痕,像之前有人试过这一套,留下的烧蚀。
“凯恩下过井。”凌峰压声,“别多想,向右。”
右侧外墙低,一段半人高的孔洞通向旧设备室。设备室里光更惨,墙面瓷砖缺了角,地上淌着水。角落有一个保温桶大小的圆金属罩,罩子侧面贴一块金属铭牌:H-Lab13A—接口棚。字很浅,像是被人特意拿砂纸打过——还没打干净。
他们都停了半秒。那一声嗡不再是幻觉。它有名字,有门,有棚。
“我来接。”韩明远一头扎过去,撬开罩子的侧盖。里面是密得像瀑布一样的线束,铜、光纤混着走,标签是两年前的格式。他的手指从线里摸过去,找到一根被故意挪过位置的白芯。他拇指、食指一夹,感觉到极轻的一点热,像电鱼在指腹下颤了一下。他把他们的模块端子扣上,电容包接入,绿灯跳了两下,稳住。
“维护窗倒计时?”凌峰。
“二十秒。”韩明远喉结动了一下,“口令报碰撞,滚动密钥是小时级,理论上能抓住三枚。”
“理论上就好。”凌峰。
顶上的灯忽然一起变了频,频闪从一秒一闪变成了半秒一闪。光像被人掌心按了一下,又抬起来,再按。白雾在这样的光里变得更像墙,人的影子被切成一条条,方向感随之乱。风在地底也有方向,沿着通风管道一股一股地压下来,带着铁锈味与药水味混出来的涩。
“白蜃。”林妍几乎是咬着这两个字。她从背后抽出那条昨夜拿走的消防水带,绕灯架一圈,两圈,猛拽。灯垂了一寸,光的角度偏了。偏的这一寸裹住他们左侧,留出一块略稳的暗。她把身体往暗里挤,手腕被水带摩出一圈红,她没管。
“十秒。”韩明远低声。他眼睛不看光不看风,只盯着屏幕上那根细得像针的进度条,像在穿布。屏幕背光开到最低,还像一只在黑里呼吸的小动物。
楼道那边传来轻轻一响,是靴底试探地敲在地上的声音,沉,稳。紧接着一个人影探进设备室门口,风衣裹着,左耳后的银光闪了一下。他没进,他只把手里那支短距终端对着他们点了一下。灯频还在变,频率忽然从半秒一闪跳成了三分之一秒。那是凯恩。
“我来。”林妍把相机挂回胸前,抓起角落里那只旧式灭火器。喷口一拧,白粉喷出来,呛人,却能在光里制造漫反射。她抬手把白粉打在红点走的轨迹上。红点在粉里乱跳,激光判断短暂失准。沈青禾那边枪口一沉,抓住了第一台无人机的旋翼卡口。第二台贴着罩子冲,凌峰跨步,左臂硬生生把它挡偏,侧腰被机身擦了一下,热,像被烙铁贴了一秒。他咬牙没叫,只听见耳边自己的呼吸变重了一拍。
她从口袋里摸出昨晚拆下的那块小镜片,欠着身把它黏在罩子边。灯的直射在镜片上折了一道窄窄的亮口,那道亮口正好打在门外人的护目镜上。凯恩本能地往下一压伞沿——他没有伞,他把风衣的帽沿压下去一寸。光因此偏掉半格。
“发。”韩明远像是从喉管最紧那处挤出了这个音。他按下发送。屏幕上出现三串极短的字符:S-N-3批次序列、Ω门禁滚动密钥A段、H-Lab13A副入口口令——三串都不完整,但都能用。进度条闪了一次,亮。下一秒屏幕熄。电容用尽。
“撤。”凌峰没有得意,没有发狠,他只是把这个字丢出来,然后拉住韩明远的后衣领往后拽。白雾里潜着另一种味,像电路板被烧焦的甜和臭混成一团。他知道那味意味着什么——凯恩准备把这一段通风管短时间内充满易燃气体,用空调系统一把拉走他们的氧。他不想赌。
他们退回主井道,白雾还在,灯频仍乱。井道的风忽然大了一格,顶上的风口“呜”地长了一声,像某个东西刚被拔掉。地砖湿得像抹了油。沈青禾踩了两步,膝盖狠狠地抽了一下,他把痛往牙齿里压,又踏第三步。防火门边有一段水渍,渍里有粘滑的薄膜,是凝雾与粉末混成的。他略偏了一偏,避过那一块,肩胛骨撑开,掩护在他们身后。
“左侧防火门后有辅梯。”林妍低声。她记路的本领在此时像一根细针,把他们的脚往恰好的位置上引。辅梯旧,铁锈厚,握上去手里像抓一段细砂。他们一人一段往上攀,鞋跟在梯子上“咯”的一声响,回声被风切成一节一节的。
“后面来两人。”沈青禾报。他回身,打在门框上斜下的角,火星短,枪声闷,说明子弹没被雾完全吃掉。他不是要杀,是要让对方停步。
他们钻出井口盖。外面风大,天色微白,雨停过,云压着楼顶走。街边的霓虹牌死了两根,只剩下一根在时亮时灭地闪,像喘。他们把井盖合回去,铁与铁碰出一声闷响。凌峰没松手,硬生生把盖子往下再压了一寸。那一寸是用左臂的老伤换的,他的脸色白了一瞬,汗沿着鬓角下来,被风刮走。
“走北巷。”他简短发声。
北巷里有一面被烟熏黑的墙,墙根放着一桶旧油漆,桶口干到开裂。墙角的自动售货机歪在一边,显示屏上一闪一闪,像在要死不活地求助。韩明远走过去拍了一下,机器“嘟”地一声,卡住。林妍把这声记在心里——任何能发声的东西,都是路。她拍拍那机器的侧板,听里面空心的回响,确定没有跳线,才扭头走。
“现在谁拿钥匙?”沈青禾问。他的呼吸略重,但在喘息和奔跑之间维持着精确的平衡。
“我。”韩明远把三串字符抄在纸上,又背了一遍。他的嗓子哑了,像磨过砂。“‘A段密钥’四小时一换,但他们有第一段的头和尾,够造一个钩子。‘Lab’的副入口口令只针对地底设备,有效期未知。今晚得去试第二处。”
“凯恩会等他们去。”凌峰,“所以他们不在现在去。”
他们拐进一处半塌的居民楼,沿着墙根低低地走。楼道里有灯,灯黄色,温度像杯温水,暖得人想停。他们没停。上到二楼,一扇门半掩着,门内传出微弱的呼吸声。不是敌,是无名的人在睡。门槛边有两双鞋,一双男的,一双女的,鞋尖在风里微微碰了一下。那样微小的碰撞声在此时听来像心跳。
三层拐角有张破沙发,扶手露出黄泡沫,沙发上放一条毛毯。有人在毯子下面放了两块压好的纱布和一瓶碘伏,旁边写了一张纸:拿了留字。凌峰停半秒,拿走一块纱布,在纸上写“谢谢”。笔划很压,压得纸都要破。他把纱布塞给沈青禾,自己把碘伏滴在侧腰的细伤上,刺得他一口气没接上。林妍没看他,她只把一块创可贴递过去。动作轻,快。
出楼时,天边彻底亮了。风柔了,城市在晨光里露出一些柔软。远处广场那几块屏幕一半黑,一半闪。黑的那一半像被人用布蒙住,闪的那一半时不时透出一帧白。他们没再看。他们知道那是人群在试着把布掀起来。哪怕只掀一角,也足够让光进来。
上午,他们藏身在一处废弃澡堂。澡堂的瓷砖掉了一大片,墙角发黑,地上有一只倒扣的红脸盆,盆里积了昨夜的雨水,浮着一层薄灰。锅炉房里还有两台老铁炉,锈花像开在铁上的花,边缘锋利。屋檐下吊着一排木牌,上面刻着名字,早年的洗澡排号。木牌裂开,字还在。
他们把装备摊开晾,换掉湿到出水的绷带,把弹匣里的水倒出来,把枪擦到能照出一点影子。脚步声一阵阵从澡堂外过,鞋尖在水泥上扫的声音大多带着着急。顾城的对讲开着,里面不断蹦出短句:某街口被封,某群翻车,哪个备份节点还活着,哪条巷可以走。林妍把耳机取下,揉揉耳背,眼睛却没离开终端里的素材。她把早上的那六十秒重看了一遍。镜头抖,呼吸乱,光从灼白到暗一秒之间来回,她还是从里头摘出三张脸,按到新的时间线上。是需要的脸:一个小店老板手指缝里全是面粉,一位老保安手背上有几道新旧不同的抓痕,还有一名年轻的女实习生,脸色苍白,嘴唇干,眼里有一点不知道怎么命名的光。
“他们会因为这三张脸生气。”顾城低声,“也会因为这三张脸回头。”
“我们需要他们生气,也需要他们回头。”凌峰把话接稳。
韩明远坐在铁炉旁,隔着锅炉的铁皮把背暖到不那么凉。他用纸笔把“Lab”的口令拓了一遍,把每一位的可能变体都写下,把可能与Ω门禁滚动算法重合的部分圈出来。纸上是一行又一行的短破折号与数字字母交替。他的字不是好看的那种,是硬、直、实用。他写到一半停一下,揉揉食指与拇指。他记起三年前某个夜里,他也这样写,把某个钥匙写成一根针,扎进一个系统的肉里。那次没成功,他险些在狱里过冬。今天他不想重蹈。他也知道今晚之后,凯恩会把所有门关得更死。他要抢在那之前,找到下一扇门的缝。
“苏薇说下午Ω会调一次新路由。”顾城把一张照片递过来,“她从上层的试验工位里抠了这个蓝图出来,标注到‘十三号风井—人防隧道—O2供给回路’。她说‘H-Lab’的副入口就在这个回路旁的一墙之隔,看起来像个无用的检修门。”
“她现在在哪儿?”林妍问。
“二十六区旧信号塔。”顾城说,“她说那里的风比这儿大,话会被吹碎,不多说。”
“她为什么帮我们?”沈青禾靠着墙,膝盖抬起来,护膝在脚背上卡出一道红。“她以前在Ω里写过同样的东西。”
“因为她知道自己写的东西会落在谁身上。”凌峰放下杯子,“你问她,她也不会多说。”
话落下,门外风声一改,像是谁在墙角点了一支烟,把火一抖又抖。他们都抬眼。风里有轻轻的金属响,像钥匙碰门环。不是凯恩,是Ω的巡查。他们压低呼吸,等那串钥匙声走过,再把背包系紧。
“走。”凌峰起身,“去人防隧道。”
去人防隧道要穿过一段废弃的菜市场。市场的顶棚漏水,一排排铁钩空着,像被谁一口气扯走了全部的肉。地上的排水槽里有一滩滩暗红,是多年难洗的痕。风把塑料布吹起来,拍在铁架上发出“啪啪”的声。他们从摊位与摊位之间走,脚下踩过一张发霉的宣传单,上面印着“十天复就业”,下面小字加粗:“内含增强学习模块”。
人防隧道入口被一块旧广告牌挡着,广告牌下面是防火门。门的红漆掉了一半,露出底下的铁。门把手上缠一圈铁丝,被拧成麻花。沈青禾把小钳从背包里拿出来,三下把铁丝剪断。他抽出三分之一,留着——铁丝在某些时候比绳子好用。门开一半,冷风扑面。风里有泥土味,还有淡淡的消毒水味。灯很少,白,硬,门后是向下的台阶,台阶边一条旧时的防空标语被水泡得只剩“迅速”两个字。
“迅速。”凌峰微微一笑,像在对这两个字点头,“走。”
他们下到第三层,墙面开始潮,手背在墙上一放,湿。隧道里偶尔有一扇斜着的铁门,门后是空,风从空里灌进来,撞在门上发出“咚”的低响。十米处有一个小小的检修室,门半掩,门缝里透出一丝亮。门前地面不湿,说明刚有人走过。他们停一步,彼此交换一个眼神,然后靠墙,相隔两步轮替进门。
检修室里有一张旧桌子,桌上放着一本厚厚的记录簿。簿角被翻毛了,封面写着“供氧回路检查”;再翻开,是密密麻麻的时间、参数、签名。他们翻到今年春。三月,Ω重置阀门;四月,恒星科技外包人员检查一;五月,更换法兰;六月,S-N-3批次设备加装。每一条后面都有签名,签名细,在签名之间夹着一条印刷体:维克多·索林审核。那一行字像印在心脏上的印章,铁。
“商业利益。”韩明远吐出四个字,眼睛冷一瞬,“‘增强’不过是换一种说辞。行为合规是他们的遮羞布。”
检修室另一扇门外是供氧管主干的检查口。墙上标着“13A—副口—检视”。他们走过去,门锁新,锁孔边缘有划痕,证明有人新近试过。他们三个人分工:沈青禾掩护,林妍撬,韩明远连线。林妍把发夹轻轻探进去,一勾二推,锁芯松动,她把全身力气聚在指尖,像用指尖顶住一枚向下掉的玻璃珠。锁芯“嗒”地转,她猛然把门按住,避免铰链发出响。
门后是一条狭小的过道,过道尽头兴建了一个小平台,平台中央就是副口。副口的盖子被一层新刷的灰漆盖住,漆上有靴子的痕——凯恩来过。副口四周安了四盏小灯,角度低,光聚在面上,像四把短刀指着一个人的喉咙。风从缝里往上钻,带着冷的药水味,隐约有一点橡胶。他们都明白,那是实验用的味。那个“Lab”,不止是名。
“时间?”凌峰。
“窗口在三分钟后。”韩明远,“一过,四十秒发,二十秒收,全部做完。”
“有人。”沈青禾瞄了一眼镜面折反上来的走廊拐角,压声,“两人先到,后面还有两个。”
脚步声踩在地上,“嗒,嗒”,节奏稳。他们先动。沈青禾的枪在灯与灯之间的缝里打了两颗弹,灯边缘“锵”地一声,玻璃碎了一角,光线短暂地从直变散。林妍从腰间抽出一条被她剖开的消防水带,扯住第二盏灯的底座,猛拽,灯垂下一寸。那一寸像他们熟悉的老朋友,立即给他们让出半个肩。凌峰趁这半寸,一步跨上平台边,把自己的身体像一扇门一样塞在副口与外界之间。
韩明远贴上去,手肘支在平台的边缘,指腹按住端子。他的手很冷,但稳。他把纸上记下的那串口令逐一输入。第一位对上,第二位对上,到第六位的时候屏幕上的提示跳了一下,从红转黄。他把呼吸再压缓半拍,用眼角看了一眼时间——三秒进窗。他按下“入”。屏幕一黑一亮,一行极小的字出现在右下角:副口开启。
外面的脚步声猛地快了一拍,像指挥棒一下敲在鼓上。两台无人机几乎贴着地冲进来,红点在他们膝盖边飞。凌峰用腿护住韩明远,把枪口压低,打掉第一台的桨。第二台从水带缝里钻,红点扒住电容包。林妍把身体往前一顶,用肩膀直直撞在那台无人机上,机身一偏,桨刮在她的肩胛骨上,像一条火线,烫。她不躲,她把力气往前推,用整个肩膀把那台玩意儿顶出平台。它掉下去,哗啦一声撞在楼梯扶手上,碎了。
“十五秒。”韩明远,声音像条紧绷的线。
门口出现凯恩。他不进,他站在光与暗的边上,左耳后的银光像一只冷静的眼。他看清他们每个人的位置,像在给一张图补上最后的标注。他把手里的终端抬了一下,手指轻轻一滑。四盏灯忽然一起转向,把光压到平台上。风紧随其后,把白雾压低。平台上的影像像被拉扯了一下,方向都错了。
“十秒。”韩明远。
“青禾,左三步,右一步,打地。”凌峰像在教一个孩子学走路,语速不快,“别抬高。”
沈青禾照做。他的膝盖在第二步时狠狠抽了一下,他咬牙,把刺激压到后槽牙里。他打地,子弹跳起的水花在光里像一串白针,正正好插在门口两人抬脚的节奏里。两人的步频被硬生生掐断,他们同时慢半拍。半拍就够。凌峰趁这一瞬把身体往左移半寸,把半寸让给韩明远。
“七秒。五。三。”韩明远的声音里掺了一点他自己都没察觉的颤,那不是怕,是急。他按下“发”,屏幕亮起三道浅得几乎看不见的线,像有人在纸上用极硬的笔写字,笔尖在纸背上划出印。他看见那三道线在动,像是从地下一直延伸到地上一样。他把“收”也按了。进度到头,停,亮。
“关口。”他合上终端。
“撤。”凌峰。
凯恩这时才动。他不再对着他们。他抬手对着天花板上的一处小小的开口点了下。开口里掉下来一个黑乎乎的团,落地弹开,是捕网。网头散出去,鲨齿亮了一圈,向他们扑。沈青禾抬枪,打在网绳上,网收缩了一半,却仍有一角盖到了林妍的背。鲨齿掠过她的衣布,咬住一缕线,扯出啪一声。她没有停,她把那一角撕开,身子往后一抽,网被她带偏。捕网卡在平台边,像一条被拽断的蛇。
“右撤。”凌峰把韩明远往右侧的辅门一推。辅门背后是一段窄到只容一人的维修台,台下是黑,黑里有水。水里有汽油味。风沿着那条台子往上抽,像一根小小的笛子在吹。
“我先。”林妍探步,脚掌试出台子的宽,侧身过,手抓住右侧凸出来的一段管。手心一回汗,她把汗在衣角蹭掉。第二步,她的鞋跟在台边滑了一下,她没有急,她把脚掌侧过,让鞋侧的粗纹咬住。第三步过去,她回头,“稳。”
他们一人一人过去,最后一个是沈青禾。他把最后一颗子弹打在地上,把那排白针再抬了一次,逼住门口人的脚。那人没追,凯恩招手,让他停。他又看他们一眼,那一眼像在说:你们总爱用光折我的光。我记住了。他把终端扣上,侧身退回白雾里。白雾像一张已经习惯了他的脸,接住他,收走他。
台子尽头有一个圆形的检修井。他们钻进去,脚底直接踩进一汪冷水,踝骨一凉。井壁滑,手按上去像摸鱼。拐两次,他们被风吹上地面。地面上方是一个便民小花园,亭子里有人在下棋,棋子落在石桌上发出“啪”的轻响。下棋的两个人抬头看他们一眼,把目光又落回棋盘。他们不是看不见,是看得见但是判断得很快——这些人不是来坏你棋局的。他们抬手,像道别一样,谁也没出声。
回到据点,顾城迎上来,眼睛里带着一层亮,“你们拿到了什么?频道上有人在传一张截图,像是Ω的门禁密钥。”
“门禁A段,四小时滚一次。还有S-N-3的批次尾号,能让植入的人查到自己是不是在那批里。”韩明远放下背包,背脊靠在墙上,整个人像被抽干。他的手仍抱着终端,手背的血痕被水泡得发白。他把纸递给顾城,“还有‘Lab’副口的口令。他们要找,那个实验室到底躲在哪。”
“北边的两块屏有五秒复播。”顾城压住兴奋,“他们的人在加字幕,告诉大家那两串号的查法。你们看。”他把终端翻过来,屏幕上是一张拍糊了的照片,照片里有一条街,一个细长的贴纸被撕下来,扔在地上。贴纸上有字:增强学习,免费。上面多了两个小洞,是被人用钥匙戳的。
“凯恩呢?”凌峰问。
“他在发内部通告,要求查‘维护窗’调用记录。他的人在拔他们前天晚上新设的三根跳线。”顾城的声音里有一点厌,“他很快。他喜欢先把你的手剁掉,再慢慢收你的头。”
“掀之前先吃饭。”顾城从桌下拽出几包压缩饼干,丢给他们,“你们都是人。”
压缩饼干咬在嘴里硬,齿间发出细小的“咔哒”。他们很久没认真吃过饭。每个人都在不同的时刻偷着补过两口,身体像一台一直在低电量运行的机器,屏幕上总亮着那句“省电模式”。而就在他们嚼第二口的时候,窗外忽然响起一声爆裂——不是炸,是屏幕的玻璃裂了。他们不约而同起身,奔到窗边。隔两条街的一块大屏在午后光里白了一下,又黑,白,又黑。第三次白的时候,屏幕整块像被什么从里面顶了一下,玻璃“噼里啪啦”裂开。路过的人停下,目光像被一只看不见的手拽住。
傍晚,他们抵达西区的物流走廊。那是一片巨大的灰色箱体世界,货架像高耸的黑森林,一排排延伸到看不见尽头。头顶是吊轨,吊着的机械臂偶尔发出“叮”的轻响。地面很平,但太平的地面反而不能让人放心。风沿着走廊像水一样流,绕过箱体脚,卷起灰。空气湿而冷,带着润滑油和纸箱的味,偶尔夹着一点被压坏的水果甜。
“这地方,适合打‘以退为进’。”沈青禾说,“走廊多,拐角多,灯位高,反折空间够。”
“凯恩在这儿会用‘兵力优势’。”林妍,“他会把他们往一个四角灯场里赶,然后收。”
“他们比他早一步。”凌峰把头伸出箱列的边,观察灯位,“二十米外左侧有一座配电桥,上面有备用灯的总开关。再往前十米有一台自动分拣机的监控盲区。他们从盲区切过去,拉下总开关,制造一次黑场。”
“关总开关会让他猜你来这里。”韩明远把终端对着头顶的灯扫了一圈,“他肯定埋了第二路。”
林妍把水带从包里抽出来。她在负责灯位的那一刻脸有一种冷静的光,像把某个方向直接拉直。她绕、勒、拽,一寸一寸地让灯垂下来半寸。半寸又半寸,光的直线变斜,影的边变厚。他们等到第三盏的时候动。像一条鱼逮住水流微妙的那一瞬。
“来了。”沈青禾耳朵动了一下。右侧箱列后跳出两个黑影,标准的灰雨披,一前一后。前面的人抬枪,枪口对准不对称的灯影与他们之间的那条缝,打在地上,水花在光里翻。他们没急着抬枪。他们先退一步,把彼此的节奏对齐,把呼吸放在同一条线上。再进。再退。三步换两步,脚步像在石面上跳一个旧舞曲。
“有人在看。”韩明远忽然说。他是说另一种眼睛。他看见了吊顶上的一只微型相机的红点亮了一下——不是Ω的,是苏薇在老塔上遥控的眼。她在看她曾经设计的地方如何被拆。她没说话,她只是让那个红点亮了一秒。那一秒像远处某个塔上有一个人点了一根烟,然后又捻灭。
他们把目标搬到走廊尽头的出货平台。那里风更大,灯更高。有一面宽大的玻璃隔墙把平台和控制室分开。玻璃后有人影走动。影像不清,但节奏清。那节奏属于训练过的人。凯恩不会把自己暴露在玻璃后,他会让别人做这件事。他已经在另一处布好。他在等他们进错门。
“从底下。”凌峰指向平台侧边的一道机器底隙。底隙有一条狭窄的爬行空间,尘土厚,夹着润滑油的味。他们趴下,手肘、膝盖顶在铁上,铁很冷。铁的冷让人的脑清醒。他们在铁下爬行两分钟,出来时刚好落在控制室后门的阴影里。门没有锁,像是有意让他们出现在这里。
“他诱他们进。”林妍用眼睛说。
“那就假装进。”凌峰抿一下嘴角。他把门轻轻推开一指,露出里头的光。光斜出一条缝,在他们脸上画一道淡。他们停了一秒,用这道光给对面的人一个错觉——他们会从这里冲。下一秒,他们撤回,沿着另一条更窄的维修缝钻过去,绕到玻璃另一侧的盲角。
盲角里有一台老式手推车,车上放着两卷打包带。打包带的扣子亮,边缘锋利。沈青禾把其中一卷扛到肩上,像扛着一卷旧布。他的膝盖在负重那一下又抽了一下,他把疼压在牙齿里。他扛着那卷带子绕到玻璃前,把带子一端搭在玻璃框上,然后猛地一拉。打包带横着拦住玻璃下沿,像踢断一根筋。玻璃内侧的安全锁卡住,门开不了半秒。内侧的人被这一顿绊住,脚底一滑,控制室里的节奏乱了一次。就是这一乱,他们从盲角穿出去,吊轨上最后一台无人机擦着他们的头飞过去,红点扫在玻璃上,红光在玻璃里折出一朵花。花开一下,灭了。
“发。”韩明远不知道这是第几次按下“发”。他已经把动作简化成了最小的几个肌肉动作。他发的不是大片段,是三条针:门禁滚动密钥的对侧,S-N-3另一批次的键尾,还有‘H-Lab’目录的一层稀薄的树。三条针捅进去,很浅。可是浅的针也会疼。
凯恩这时从某个他们看不见的位置把一个“小玩意儿”丢进来。他们没看见玩意儿本身,他们看见结果——所有灯在一秒内一起灭了一次,再亮,再灭。那一秒的黑是他给他们的礼物,也是他给自己的。“黑场”本该属于他们,但他要他们在他给的黑场里跑。他人在另一边,他把他们的节奏和恐惧拉到一条线上。
他们没跑。他们把身体贴在货架脚上,那一秒里握紧彼此衣服的边。一秒过,灯亮,他们不在原地——他们比原地晚半步出现在另一边。他的算法没算这一半步。那一半步不是聪明,是疼带来的野。人只有在疼的时候才会记牢自己不是机器。
撤出物流走廊的那刻,天边露出一条薄薄的红。人群在远处的街口重新聚在一起,声音像浪,断断续续传到这里。一条横幅横在某个旧楼的阳台上,旧,黄,字清楚:工作换回生活。那条横幅昨夜他们已经看过,但白天看更真。下面的人抬头看,没喊,脚步快了一点。
回据点的路上,顾城的对讲又响。那是苏薇:“我看见你们把灯折了一次。你们喜欢用光打光。好。记住,明天的维护窗会改表。你们的‘Lab’口令有效期至今晚二十三点。之后它会重置。你们要么现在进去,要么留到后天。我不会劝。我只告诉你——有人刚把‘十三号A室’的门从里面关上,手法像凯恩。”
“谢谢。”凌峰说,“他们今晚进去。”
“那就保重。”她停了半秒,像在跟风说话。
通讯断。风吹过来,吹得墙上的海报拍在墙上两下。
夜再一次降下来的时候,他们已经站在‘十三号A室’那扇门外。门是灰的,灰到看不出年代,门把有极细的划痕,像有人用刀尖在上面不停地画圈。门上有一行小字,刻得很浅:H-Lab13A。他们把那串副口口令重新背一遍,把每个人的呼吸对在同一条线。门后不会是光,门后很可能是一段更硬的黑。他们没有人说壮胆的话。他们只把那句已经烂熟的句子轻轻说了一次:挡一下光。
门开。
冷气先来。它从门缝里像薄薄的一条水爬出来,贴着脚背走。灯亮,但不是白,是某种近乎蓝的亮,像放在手术台上方那种。走廊很窄,墙面刷得干净到发冷。地上有一条条浅浅的黑线,是搬运设备时轮子留下的。空气里没有消毒水味,奇怪地干净,像把人的嗅觉也一起清掉。他们往里走的每一步都像在某个别人写好的脚本里。但每一步都是他们自己踩下去的。
第一间房间里有两张床,床上没有人,床边的仪器上有几个灰尘印。那是被谁的手按过留下的人形痕。第二间是操作室,墙上挂着几张照片,照片里是脑部扫描的横截面,旁边用英文写着“行为合规”“适应性”“回声消除”。署名是:V.Sorin。照片下面的桌上有一个小黑盒,盒子边缘嵌着银色的细圈——和凯恩耳后那枚助听器同一套工艺。盒子旁边有一张写得很快的便条,字很小:耳后接口版本2.3,适配行为任务模块,禁外借。
“他拿了。”韩明远低声。他不是感叹。他在记账。
第三间,门反锁,从里面。他们没敲。他们把耳朵贴在门上,听了一会儿。里面没有人声,只有极微弱的一种嗡嗡,像远处有人打开一台老电风扇。那是机器在自己跟自己说话。他们把门撬开,里面是一间数据间。机架整齐,但很多接口是空的。有人匆匆拔走过。地上有一张掉落的工牌,名字那一栏被刮掉,隐约还能看出“S-U”的两个字母。他们知道那是谁。她把她的名字刮掉,留下了工位。
“拿走的是什么?”凌峰问。
“行为模板。”韩明远扫了一眼机架上的编号,“用来训练‘增强’的人在强光和风中保持你需要的微笑和节奏。”他的声音里终于有了一点怒,他把怒压回去,把怒变成手指动作的速度,“他们拿剩下的,把‘模板’的空页翻出来,给人看给人填。”
“外面。”沈青禾指着走廊,“他来了。”
他不说名,他们都知道他是谁。凯恩从远处走廊的另一头走过来,步子像计时器一样。左耳后的银光在蓝光里更冷。他手里还是那支短距终端。他不抬枪,他不需要。他站住,隔着一段冷到让人觉得不舒服的空气,对他们说了今晚的第一句话:“你们把风带进来了。”
他说得平静。像是在指出一个事实。他又说:“风也会把你们带出去。”他抬手,终端上某个点亮起。头顶的灯频微微变快,地面的冷风赌了他们脚下的步频。他们知道他的招。他们也把他们的招拿出来。他们把那条消防水带在灯上绕紧,把那块小镜片再黏上,把那张反光纸对准他那一侧,把那台小灭火器喷出来的白粉再喷一次。光再折一次,风再慢一次。他们在他的“风里”开了一道缝,然后把他们的“风”塞进去。
“发。”韩明远再一次按下这个别人已经听厌的字。他发的是‘模板’的空页,是那些一个个“该笑”“该点头”“该说感谢”的位置。这一次,他不求完。他只把空白展示出来。让人看见。被要求笑的那一页上有一行细小的手写:不笑,先问为什么。他把这行放在最前面。屏幕发出一声轻得几乎没有的“叮”。他们知道它出去了。出去之后,它会在某个角落长出一点点耳语。
凯恩没有再说话。他看他们一眼,像在把他们的脸从头记到脚。他侧身,让出一寸走廊——不是礼貌,是把他们从他安排好的“出口”赶出去。那是一条他已经布了捕网的窄道。他在赌他们急。他又会赢一次。他们不走那条。他等了两秒,他们也等。两秒后,他们回到第二间,打开窗,跳进旧的排风道。排风道里黑,窄,冷,铁皮上的灰像细沙,落在眼睫毛上。他们侧着身一寸寸挪,背上全是铁皮的凉。风把他们的呼吸吹乱,他们把呼吸再对齐一次。
出风道的时候,夜已深。城市的光不再硬,像有人把它从脖子上拽下来,放在桌上。他们落在一处老旧的天台,天台边有人堆了几盆烂掉的土。土里长着两棵野草,被风吹得东倒西歪。他们靠在风机后,整个人像被敲空。
“今晚够了。”凌峰最后说。他把背包扔在地上,又捡起来。他看一眼每一个人,目光在每个人脸上停半秒。他知道每个人哪儿疼。他不说。他只说:“他们挡了一夜的光。光在动。风在起。下一夜,你们要记住自己的这句。”
他看着他们。他们一个个把那句又说一遍:挡一下光。挡到看见。看见就拆。拆到他没地方挂灯。
天边起了一道白。风也起。城市并没有因此善良,它只是在风里露出了一点点骨头。骨头坚硬,风过时会响。那响像一种远处传来的鼓点。不是凯恩的,是他们的。
他们把装备收进口袋,把痛塞进骨缝,把那三串字符刻进脑子。出门的时候,墙上的传单又多了一张。字歪,墨新:不要带“增强”入职。后面用红笔写了四个字:他们都记得。
他们下楼,走进风里。风从楼与楼之间穿过,像一条从地底被迫出来的细蛇,绕过他们的脚背,往前。