// All material copyright ESRI, All Rights Reserved, unless otherwise specified.
// See http://@sbaseurl@/jsapi/jsapi/esri/copyright.txt and http://www.arcgis.com/apps/webappbuilder/copyright.txt for details.

//>>built
require({cache:{"widgets/ZoomSlider/Widget":function(){define("dojo/_base/declare dojo/_base/lang jimu/BaseWidget dojo/_base/html jimu/utils dijit/Tooltip dojo/keys dojo/on".split(" "),function(I,h,p,n,q,k,e,a){return I([p],{name:"ZoomSlider",baseClass:"jimu-widget-zoomslider",_disabledClass:"jimu-state-disabled",_verticalClass:"vertical",_horizontalClass:"horizontal",_floatClass:"jimu-float-leading",_cornerTop:"jimu-corner-top",_cornerBottom:"jimu-corner-bottom",_cornerLeading:"jimu-corner-leading",
_cornerTrailing:"jimu-corner-trailing",moveTopOnActive:!1,postMixInProperties:function(){this.jimuCommonNls=window.jimuNls.common},postCreate:function(){this.inherited(arguments);this.own(a(this.map,"zoom-end",h.hitch(this,this._zoomHandler)));this._zoomHandler()},setPosition:function(b){this.inherited(arguments);"number"===typeof b.height&&30>=b.height?this._setOrientation(!1):this._setOrientation(!0)},_zoomHandler:function(){n.removeClass(this.btnZoomIn,this._disabledClass);n.removeClass(this.btnZoomOut,
this._disabledClass);var b=this.map.getLevel(),m=null;-1<b&&(b===this.map.getMaxZoom()?m=this.btnZoomIn:b===this.map.getMinZoom()&&(m=this.btnZoomOut));m&&n.addClass(m,this._disabledClass);q.addTooltipByDomNode(k,this.btnZoomIn,this.jimuCommonNls.zoomIn);q.addTooltipByDomNode(k,this.btnZoomOut,this.jimuCommonNls.zoomOut)},_onBtnZoomInClicked:function(){this.map._extentUtil({numLevels:1})},_onBtnZoomOutClicked:function(){this.map._extentUtil({numLevels:-1})},_onBtnZoomInKeyDown:function(b){b.keyCode!==
e.ENTER&&b.keyCode!==e.SPACE||this._onBtnZoomInClicked()},_onBtnZoomOutKeyDown:function(b){b.keyCode!==e.ENTER&&b.keyCode!==e.SPACE||this._onBtnZoomOutClicked()},_setOrientation:function(b){n.removeClass(this.domNode,this._horizontalClass);n.removeClass(this.domNode,this._verticalClass);n.removeClass(this.btnZoomIn,this._floatClass);n.removeClass(this.btnZoomIn,this._cornerTop);n.removeClass(this.btnZoomIn,this._cornerLeading);n.removeClass(this.btnZoomOut,this._floatClass);n.removeClass(this.btnZoomOut,
this._cornerBottom);n.removeClass(this.btnZoomOut,this._cornerTrailing);b?(n.addClass(this.domNode,this._verticalClass),n.addClass(this.btnZoomIn,this._cornerTop),n.addClass(this.btnZoomOut,this._cornerBottom)):(n.addClass(this.domNode,this._horizontalClass),n.addClass(this.btnZoomIn,this._floatClass),n.addClass(this.btnZoomOut,this._floatClass),n.addClass(this.btnZoomIn,this._cornerLeading),n.addClass(this.btnZoomOut,this._cornerTrailing))}})})},"widgets/ZoomSlider/_build-generate_module":function(){define(["dojo/text!./Widget.html",
"dojo/text!./css/style.css","dojo/i18n!./nls/strings"],function(){})},"widgets/HomeButton/Widget":function(){define("dojo/_base/declare dojo/_base/lang jimu/BaseWidget esri/dijit/HomeButton esri/geometry/Extent esri/SpatialReference dojo/_base/html dojo/dom-construct dojo/topic dojo/keys dojo/on".split(" "),function(I,h,p,n,q,k,e,a,b,m,g){return I([p],{name:"HomeButton",baseClass:"jimu-widget-homebutton",moveTopOnActive:!1,postCreate:function(){e.setAttr(this.domNode,"aria-label",window.apiNls.widgets.homeButton.home.title);
this.own(b.subscribe("appConfigChanged",h.hitch(this,this.onAppConfigChanged)))},startup:function(){var c=null;this.inherited(arguments);this.own(g(this.map,"extent-change",h.hitch(this,"onExtentChange")));c=(c=this.appConfig&&this.appConfig.map&&this.appConfig.map.mapOptions&&this.appConfig.map.mapOptions.extent)?new q(c.xmin,c.ymin,c.xmax,c.ymax,new k(c.spatialReference)):this.map._initialExtent||this.map.extent;this.createHomeDijit({map:this.map,extent:c})},createHomeDijit:function(c){this.homeDijit=
new n(c,a.create("div"));this.own(g(this.homeDijit,"home",h.hitch(this,"onHome")));this.own(g(this.domNode,"keydown",h.hitch(this,this.onHomeKeyDown)));e.place(this.homeDijit.domNode,this.domNode);this.homeDijit.startup()},onAppConfigChanged:function(c,d,f){"mapOptionsChange"===d&&f&&c&&f.extent&&(c=new q(f.extent),this.homeDijit.set("extent",c))},onExtentChange:function(){e.removeClass(this.domNode,"inHome")},onHomeKeyDown:function(c){c.keyCode!==m.ENTER&&c.keyCode!==m.SPACE||this.homeDijit.home()},
onHome:function(c){c&&c.error||e.addClass(this.domNode,"inHome")}})})},"esri/dijit/HomeButton":function(){define("dojo/Evented dojo/_base/declare dojo/_base/lang dojo/has ../kernel dijit/_WidgetBase dijit/a11yclick dijit/_TemplatedMixin dojo/on dojo/Deferred dojo/text!./templates/HomeButton.html dojo/i18n!../nls/jsapi dojo/dom-class dojo/dom-style".split(" "),function(I,h,p,n,q,k,e,a,b,m,g,c,d,f){I=h("esri.dijit.HomeButton",[k,a,I],{templateString:g,options:{theme:"HomeButton",map:null,extent:null,
fit:!1,visible:!0},constructor:function(l,t){l=p.mixin({},this.options,l);this.domNode=t;this._i18n=c;this.set("map",l.map);this.set("theme",l.theme);this.set("visible",l.visible);this.set("extent",l.extent);this.set("fit",l.fit);this.watch("theme",this._updateThemeWatch);this.watch("visible",this._visible);this._css={container:"homeContainer",home:"home",loading:"loading"}},postCreate:function(){this.inherited(arguments);this.own(b(this._homeNode,e,p.hitch(this,this.home)))},startup:function(){this.inherited(arguments);
this.map||(this.destroy(),console.log("HomeButton::map required"));if(this.map.loaded)this._init();else b.once(this.map,"load",p.hitch(this,function(){this._init()}))},destroy:function(){this.inherited(arguments)},home:function(){var l=new m,t=this.get("extent");this._showLoading();var u={extent:t};t?this.map.extent!==t?this.map.setExtent(t,this.get("fit")).then(p.hitch(this,function(){this._hideLoading();this.emit("home",u);l.resolve(u)}),p.hitch(this,function(r){r||(r=Error("HomeButton::Error setting map extent"));
u.error=r;this.emit("home",u);l.reject(r)})):(this._hideLoading(),this.emit("home",u),l.resolve(u)):(this._hideLoading(),t=Error("HomeButton::home extent is undefined"),u.error=t,this.emit("home",u),l.reject(t));return l.promise},show:function(){this.set("visible",!0)},hide:function(){this.set("visible",!1)},_init:function(){this._visible();this.get("extent")||this.set("extent",this.map.extent);this.set("loaded",!0);this.emit("load",{})},_showLoading:function(){d.add(this._homeNode,this._css.loading)},
_hideLoading:function(){d.remove(this._homeNode,this._css.loading)},_updateThemeWatch:function(l,t,u){d.remove(this.domNode,t);d.add(this.domNode,u)},_visible:function(){this.get("visible")?f.set(this.domNode,"display","block"):f.set(this.domNode,"display","none")}});n("extend-esri")&&p.setObject("dijit.HomeButton",I,q);return I})},"widgets/HomeButton/_build-generate_module":function(){define(["dojo/text!./css/style.css","dojo/i18n!./nls/strings"],function(){})},"widgets/MyLocation/Widget":function(){define("dojo/_base/declare dojo/Deferred esri/layers/GraphicsLayer jimu/BaseWidget esri/dijit/LocateButton dojo/_base/html dojo/on dojo/_base/lang jimu/utils ./Compass ./a11y/Widget jimu/dijit/Message dojo/touch".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g){I=I([n],{name:"MyLocation",baseClass:"jimu-widget-mylocation",moveTopOnActive:!1,_DEBUG:!1,_graphicsLayer:null,_locateAction:{locator:null,cacheLatestTracking:null},startup:function(){this.inherited(arguments);this.placehoder=k.create("div",{"class":"place-holder",title:this.label},this.domNode);this.a11y_updateLabel(this.nls._widgetLabel);this.isNeedHttpsButNot=b.isNeedHttpsButNot();!0===this.isNeedHttpsButNot?(console.log("LocateButton::navigator.geolocation requires a secure origin."),
k.addClass(this.placehoder,"nohttps"),k.setAttr(this.placehoder,"title",this.nls.httpNotSupportError),this.a11y_updateLabel(this.nls.httpNotSupportError),this.a11y_disable()):window.navigator.geolocation?(this.own(e(this.placehoder,"click",a.hitch(this,this.onLocationClickWapper))),this.own(e(this.map,"zoom-end",a.hitch(this,this._scaleChangeHandler))),this.a11y_initEvents(),this.a11y_enable(),this._createHiddenLocator()):(k.setAttr(this.placehoder,"title",this.nls.browserError),this.a11y_updateLabel(this.nls.browserError),
this.a11y_disable())},onLocationClickWapper:function(c){c&&c.stopPropagation&&c.stopPropagation();if(!0===m.needCompass(this.config))m.checkPermission().then(a.hitch(this,function(){this.onLocationClick(c)}),a.hitch(this,function(){this.onLocationClick(c)}));else this.onLocationClick(c)},onLocationClick:function(c){k.hasClass(this.domNode,"onCenter")||k.hasClass(this.domNode,"locating")?this.geoLocate&&!0===this.geoLocate._canDestroy?(this._destroyGeoLocate(),this._tryToCleanCompass()):this._DEBUG&&
console.log("\x3d\x3d\x3eblock click1"):!this.geoLocate||this.geoLocate&&!0===this.geoLocate._canDestroy?(this._destroyGeoLocate(),this._createGeoLocateAndLocate()):this._DEBUG&&console.log("\x3d\x3d\x3eblock click2")},_createGeoLocateAndLocate:function(){this._DEBUG&&console.log("\x3d\x3d\x3e_createGeoLocateAndLocate");this.getGeoLocateInstance().then(a.hitch(this,function(){this.geoLocate.locate();k.addClass(this.placehoder,"locating")}))},getGeoLocateInstance:function(){var c=new h;this.geoLocate&&
c.resolve(this.geoLocate);var d=this.config.locateButton;d.map=this.map;"undefined"===typeof this.config.locateButton.useTracking&&(d.useTracking=!0);d.centerAt=!0;d.setScale=!0;var f={maximumAge:0,timeout:15E3,enableHighAccuracy:!0};d.geolocationOptions&&(d.geolocationOptions=a.mixin(f,d.geolocationOptions));11===b.has("ie")&&(d.geolocationOptions.maximumAge=300,d.geolocationOptions.enableHighAccuracy=!1);this._graphicsLayer||(this._graphicsLayer=new p,this.map.addLayer(this._graphicsLayer));d.graphicsLayer=
this._graphicsLayer;this.geoLocate=new q(d);this.geoLocate.own(e(this.geoLocate,"load",a.hitch(this,function(){c.resolve(this.geoLocate)})));this.geoLocate.own(e(this.geoLocate,"locate",a.hitch(this,this.onLocateOrError)));this.geoLocate.startup();return c},onLocateOrError:function(c){this._publishLocationAction(c);this.geoLocate&&setTimeout(a.hitch(this,function(){this.geoLocate._canDestroy=!0;if(c.error)this.onLocateError(c);else this.onLocate(c)}),300)},onLocate:function(c){k.removeClass(this.placehoder,
"locating");this.geoLocate.useTracking&&(k.addClass(this.placehoder,"tracking"),this._locateAction.cacheLatestTracking=c);k.addClass(this.domNode,"onCenter");this.neverLocate=!1;this._tryToShowCompass(c)},onLocateError:function(c){console.error(c.error);this._tryToCleanCompass();k.removeClass(this.placehoder,"locating");k.removeClass(this.domNode,"onCenter");k.removeClass(this.placehoder,"tracking")},_scaleChangeHandler:function(){var c=this.map.getScale();c&&this.geoLocate&&this.geoLocate.useTracking&&
(this.geoLocate.scale=c)},_tryToShowCompass:function(c){!1!==m.needCompass(this.config)&&(this.compass=m.getInstance({folderUrl:this.folderUrl,map:this.map,config:this.config}),this.compass.show(c,this.geoLocate))},_tryToCleanCompass:function(){this.compass&&this.compass.clean&&this.compass.clean()},_tryToDestroyCompass:function(){this.compass&&this.compass.destroy&&this.compass.destroy()},_destroyGeoLocate:function(){this._DEBUG&&console.log("\x3d\x3d\x3e_destroyGeoLocate");this._graphicsLayer&&
this._graphicsLayer.clear();this.geoLocate&&this.geoLocate._canDestroy&&(this.geoLocate&&(this.geoLocate.clear(),this.geoLocate.destroy(),this.geoLocate=null,this._locateAction.cacheLatestTracking=null),k.removeClass(this.domNode,"onCenter"),k.removeClass(this.placehoder,"tracking"))},destroy:function(){this._tryToCleanCompass();this._tryToDestroyCompass();this._destroyGeoLocate();this._graphicsLayer&&(this.map.removeLayer(this._graphicsLayer),this._graphicsLayer=null);this._destroyHiddenLocator();
this.inherited(arguments)},_isWidgetLocatorLoaded:function(){return!(!this.geoLocate||!this.geoLocate.loaded)},_isWidgetLocatorTracking:function(){return!(!this._isWidgetLocatorLoaded()||!this.geoLocate.tracking)},_isWidgetLocatorLocating:function(){return!(this._isWidgetLocatorTracking()||!k.hasClass(this.placehoder,"locating"))},onReceiveData:function(c,d,f,l){f&&"getCurrentLocation"===f.type&&(this._isWidgetLocatorLoaded()?this._isWidgetLocatorTracking()?this._locateAction.cacheLatestTracking&&
this._publishLocationAction(this._locateAction.cacheLatestTracking):this._isWidgetLocatorLocating()||this._triggerHiddenLocatorLocate():this._triggerHiddenLocatorLocate())},_publishLocationAction:function(c){this.publishData({type:"publishCurrentLocation",geoLocationResult:c})},_createHiddenLocator:function(){this._locateAction={locator:null,cacheLatestTracking:null};this._locateAction.locator=new q({map:this.map,highlightLocation:!1,setScale:!1,centerAt:!1,geolocationOptions:{enableHighAccuracy:!0}});
this._locateAction.locator.startup()},_destroyHiddenLocator:function(){this._locateAction.locator.clear();this._locateAction.locator.destroy();this._locateAction.locator=null;this._locateAction={locator:null,cacheLatestTracking:null}},_triggerHiddenLocatorLocate:function(){this.own(e.once(this._locateAction.locator,"locate",a.hitch(this,this._onHiddenLocatorLocate)));this._locateAction.locator.locate()},_onHiddenLocatorLocate:function(c){this._publishLocationAction(c)}});I.inPanel=!1;I.hasUIFile=
!1;I.extend(g);return I})},"esri/dijit/LocateButton":function(){define("require dojo/Evented dojo/_base/declare dojo/_base/lang dojo/has ../kernel ../config dijit/_WidgetBase dijit/a11yclick dijit/_TemplatedMixin dojo/on dojo/Deferred dojo/text!./templates/LocateButton.html dojo/i18n!../nls/jsapi dojo/dom-class dojo/dom-style dojo/dom-attr ../geometry/webMercatorUtils ../geometry/Point ../SpatialReference ../graphic ../symbols/PictureMarkerSymbol ../tasks/ProjectParameters".split(" "),function(I,
h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F){I=p("esri.dijit.LocateButton",[a,m,h],{templateString:d,options:{theme:"LocateButton",map:null,visible:!0,highlightLocation:!0,symbol:new B(I.toUrl("./images/sdk_gps_location.png"),28,28),infoTemplate:null,scale:null,useTracking:!1,clearOnTrackingStop:!1,setScale:!0,centerAt:!0,timeout:15E3,graphicsLayer:null,geolocationOptions:{maximumAge:0,timeout:15E3,enableHighAccuracy:!0}},constructor:function(y,D){y=n.mixin({},this.options,y);this.domNode=D;this._i18n=
f;D=navigator.geolocation;var L=window.hasOwnProperty("isSecureContext");L=L&&window.isSecureContext||!L&&"https:"===window.location.protocol;L&&D||(y.visible=!1);D||console.log("LocateButton::navigator.geolocation unsupported.");L||console.log("LocateButton::navigator.geolocation requires a secure origin.");this.set("map",y.map);this.set("theme",y.theme);this.set("visible",y.visible);this.set("scale",y.scale);this.set("highlightLocation",y.highlightLocation);this.set("symbol",y.symbol);this.set("infoTemplate",
y.infoTemplate);this.set("geolocationOptions",y.geolocationOptions);this.set("useTracking",y.useTracking);this.set("setScale",y.setScale);this.set("centerAt",y.centerAt);this.set("timeout",y.timeout);this.set("graphicsLayer",y.graphicsLayer);this.set("clearOnTrackingStop",y.clearOnTrackingStop);this.watch("theme",this._updateThemeWatch);this.watch("visible",this._visible);this.watch("tracking",this._locate);this.watch("useTracking",n.hitch(this,function(){this.get("tracking")&&!this.get("useTracking")&&
this._stopTracking();this._setTitle()}));this._css={container:"locateContainer",locate:"zoomLocateButton",loading:"loading",tracking:"tracking"}},postCreate:function(){this.inherited(arguments);this.own(g(this._locateNode,b,n.hitch(this,this.locate)))},startup:function(){this.inherited(arguments);this.get("map")||(this.set("visible",!1),console.log("LocateButton::map required"));if(this.get("map").loaded)this._init();else g.once(this.get("map"),"load",n.hitch(this,function(){this._init()}))},destroy:function(){this.clear();
this._graphicsEvent&&this._graphicsEvent.remove();this._removeWatchPosition();this.inherited(arguments)},clear:function(){var y=this.get("highlightGraphic"),D=this.get("graphicsLayer");y&&(D?D.remove(y):this.get("map").graphics.remove(y),this.set("highlightGraphic",null))},locate:function(){this.get("useTracking")&&this.set("tracking",!this.get("tracking"));return this._locate()},show:function(){this.set("visible",!0)},hide:function(){this.set("visible",!1)},_setTitle:function(){this.get("useTracking")?
this.get("tracking")?u.set(this._locateNode,"title",this._i18n.widgets.locateButton.locate.stopTracking):u.set(this._locateNode,"title",this._i18n.widgets.locateButton.locate.tracking):u.set(this._locateNode,"title",this._i18n.widgets.locateButton.locate.title)},_removeWatchPosition:function(){this.get("watchId")&&(navigator.geolocation.clearWatch(this.get("watchId")),this.set("watchId",null));this._removePrivateVars()},_stopTracking:function(){l.remove(this._locateNode,this._css.tracking);this._removeWatchPosition();
this.get("clearOnTrackingStop")&&this.clear();this._hideLoading()},_positionToObject:function(y){return y?{coords:n.mixin({},y.coords),timestamp:y.timestamp}:{}},_startTracking:function(){l.add(this._locateNode,this._css.tracking);this._removeWatchPosition();var y=navigator.geolocation.watchPosition(n.hitch(this,function(D){D=this._positionToObject(D);this._setPosition(D).then(n.hitch(this,function(L){this._locateEvent(L)}),n.hitch(this,function(L){L||(L=Error("LocateButton::Error setting the position."));
this._locateError(L)}))}),n.hitch(this,function(D){this.set("tracking",!1);D||(D=Error("LocateButton::Could not get tracking position."));this._locateError(D)}),this.get("geolocationOptions"));this.set("watchId",y)},_removePrivateVars:function(){this._scale=this._position=this._graphic=null},_getCurrentPosition:function(){var y=new c;this._removePrivateVars();var D=setTimeout(n.hitch(this,function(){clearTimeout(D);y.reject(Error("LocateButton::time expired for getting location."))}),this.get("timeout"));
navigator.geolocation.getCurrentPosition(n.hitch(this,function(L){L=this._positionToObject(L);clearTimeout(D);this._setPosition(L).then(n.hitch(this,function(E){y.resolve(E)}),n.hitch(this,function(E){E||(E=Error("LocateButton::Error setting map position."));y.reject(E)}))}),n.hitch(this,function(L){L||(L=Error("LocateButton::Could not get current position."));y.reject(L)}),this.get("geolocationOptions"));return y.promise},_locate:function(){var y=new c;this._showLoading();if(navigator.geolocation)this.get("useTracking")?
this.get("tracking")?(this._startTracking(),y.resolve({tracking:!0})):(this._stopTracking(),y.resolve({tracking:!1})):this._getCurrentPosition().then(n.hitch(this,function(L){this._locateEvent(L);y.resolve(L)}),n.hitch(this,function(L){L||(L=Error("LocateButton::Could not get current position."));this._locateError(L);y.reject(L)}));else{var D=Error("LocateButton::geolocation unsupported");this._locateError(D);y.reject(D)}this._setTitle();return y.promise},_projectPoint:function(y){var D=new c,L=this.get("map").spatialReference,
E=L.wkid;L.isWebMercator()?(y=r.geographicToWebMercator(y),D.resolve(y)):e.defaults.geometryService&&4326!==E?(E=new F,E.geometries=[y],E.outSR=L,e.defaults.geometryService.project(E).then(n.hitch(this,function(z){z&&z.length?D.resolve(z[0]):D.reject(Error("LocateButton::Point was not projected."))}),function(z){z||(z=Error("LocateButton::please specify a geometry service on esri/config to project."));D.reject(z)})):D.resolve(y);return D.promise},_getScale:function(y){var D=this.get("scale");return y&&
y.coords?D||y.coords.accuracy||5E4:D||5E4},_createPoint:function(y){var D;y&&y.coords&&(D=new x([y.coords.longitude,y.coords.latitude],new v({wkid:4326})));return D},_setPosition:function(y){var D=new c,L,E;this._removePrivateVars();if((this._position=y)&&y.coords){if(L=this._createPoint(y))this._graphic=E=this._createGraphic(L,y);var z=this._getScale(y);this._scale=z;L?this._projectPoint(L).then(n.hitch(this,function(A){this._graphic=E=this._createGraphic(A,y);var G={graphic:E,scale:z,position:y};
this.get("setScale")&&this.get("map").setScale(z);this.get("centerAt")?this.get("map").centerAt(A).then(n.hitch(this,function(){D.resolve(G)}),n.hitch(this,function(N){N||(N=Error("LocateButton::Could not center map."));D.reject(N)})):D.resolve(G)}),n.hitch(this,function(A){A||(A=Error("LocateButton::Error projecting point."));D.reject(A)})):(L=Error("LocateButton::Invalid point"),D.reject(L))}else L=Error("LocateButton::Invalid position"),D.reject(L);return D.promise},_createGraphic:function(y,D){if(y){D=
{position:D};var L=new C(y,this.get("symbol"),D,this.get("infoTemplate"))}return L},_locateEvent:function(y){if(y.graphic){var D=this.get("highlightGraphic"),L=this.get("graphicsLayer");D?(D.setGeometry(y.graphic.geometry),D.setAttributes(y.graphic.attributes),D.setInfoTemplate(y.graphic.infoTemplate),D.setSymbol(y.graphic.symbol)):(D=y.graphic,this.get("highlightLocation")&&(L?L.add(D):this.get("map").graphics.add(D)));this.set("highlightGraphic",D)}this._hideLoading();this.emit("locate",y)},_locateError:function(y){y=
{graphic:this._graphic,scale:this._scale,position:this._position,error:y};this._hideLoading();this.emit("locate",y)},_showLoading:function(){this.get("useTracking")||l.add(this._locateNode,this._css.loading)},_hideLoading:function(){this.get("useTracking")||l.remove(this._locateNode,this._css.loading)},_init:function(){this._visible();this._setTitle();this.get("tracking")&&this.get("useTracking")&&this._locate();this.set("loaded",!0);this.emit("load",{})},_updateThemeWatch:function(y,D,L){l.remove(this.domNode,
D);l.add(this.domNode,L)},_visible:function(){this.get("visible")?t.set(this.domNode,"display","block"):t.set(this.domNode,"display","none")}});q("extend-esri")&&n.setObject("dijit.LocateButton",I,k);return I})},"widgets/MyLocation/Compass":function(){define("dojo/_base/declare dojo/_base/lang dojo/Deferred jimu/BaseWidget dojo/on esri/symbols/PictureMarkerSymbol esri/symbols/SimpleFillSymbol esri/symbols/SimpleLineSymbol esri/graphic esri/Color esri/geometry/Circle".split(" "),function(I,h,p,n,q,
k,e,a,b,m,g){var c=null;var d=I([n],{constructor:function(f,l,t){this.id="widget-myLocation-compass-"+(new Date).getTime();this.map=l;this.folderUrl=f;this.config=t;this._debug=0;this.inherited(arguments)},show:function(f,l){if(this.map.spatialReference.isWebMercator()||4326===this.map.spatialReference)!0===this.config.useCompass&&this._showDirection(l),!0===this.config.useAccCircle&&this._showAccCircle(f,l)},_showDirection:function(f){if(f.useTracking){this._destroyDirectionHandler();var l;"ondeviceorientationabsolute"in
window?l="deviceorientationabsolute":"ondeviceorientation"in window?l="deviceorientation":DeviceOrientationEvent&&(l="deviceorientation");this._directionHandler=q(window,l,h.hitch(this,this._watchMobileLocation,f))}},_watchMobileLocation:function(f,l){if(l){if(l.webkitCompassHeading||l.alpha)var t=l.webkitCompassHeading||Math.abs(l.alpha-360);l=window.orientation||0;"undefined"!==typeof t&&f.highlightGraphic.setSymbol(new k({url:this.folderUrl+"/images/compass.png",width:36,height:36,angle:-t-l}))}},
_showAccCircle:function(f,l){this._destroyAccCircle();if((l=l.highlightGraphic)&&l._graphicsLayer){var t=l.geometry;f=f.position.coords.accuracy/this.map.getResolution();f=new g({center:t,radius:f});f=new b(f,new e(e.STYLE_SOLID,new a(a.STYLE_SOLID,new m([94,164,255,.2]),1),new m([16,119,255,.2])));l._graphicsLayer.add(f);this._accCircle=f;this._accCircleGraphicsLayer=l._graphicsLayer}},clean:function(){this._destroyDirectionHandler();this._destroyAccCircle()},destroy:function(){this.clean();this.inherited(arguments)},
_destroyDirectionHandler:function(){this._directionHandler&&(this._directionHandler.remove&&this._directionHandler.remove(),this._directionHandler=null)},_destroyAccCircle:function(){this._accCircleGraphicsLayer&&this._accCircleGraphicsLayer.remove&&this._accCircle&&(this._accCircleGraphicsLayer.remove(this._accCircle),this._accCircle=null)}});d.getInstance=function(f,l,t){null===c&&(c=new d(f,l,t));return c};d.needCompass=function(f){return!0!==f.locateButton.highlightLocation||!0!==f.locateButton.useTracking||
!0!==f.useCompass&&!0!==f.useAccCircle?!1:!0};d.checkPermission=function(){var f=new p;DeviceOrientationEvent&&DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then(h.hitch(this,function(l){"granted"==l?f.resolve(!0):f.resolve(!1)})).catch(function(l){f.resolve(!1)}):f.resolve(!1);return f};return d})},"esri/geometry/Circle":function(){define("dojo/_base/declare dojo/_base/lang dojo/has ../kernel ./Point ./Polygon ./geodesicUtils ./webMercatorUtils ../WKIDUnitConversion ../units".split(" "),
function(I,h,p,n,q,k,e,a,b,m){I=I(k,{declaredClass:"esri.geometry.Circle",_unitToMeters:{esriCentimeters:.01,esriDecimeters:.1,esriFeet:.3048,esriInches:.0254,esriKilometers:1E3,esriMeters:1,esriMiles:1609.344,esriMillimeters:.001,esriNauticalMiles:1852,esriYards:.9144,esriDecimalDegrees:111320},constructor:function(g,c){g.center?c=g:(c=c||{},c.center=g);this.center=h.isArray(c.center)?new q(c.center[0],c.center[1]):c.center;this.radius=c.radius||1E3;this.radiusUnit=c.radiusUnit||m.METERS;this.geodesic=
!0===c.geodesic?!0:!1;this.numberOfPoints=c.numberOfPoints||60;this._init()},toJson:function(){return this.inherited(arguments)},_init:function(){this.rings=[];this._ring=0;var g=this.radius*this._unitToMeters[this.radiusUnit],c=this._srType(this.center.spatialReference);if(this.geodesic){switch(c){case "webMercator":var d=a.webMercatorToGeographic(this.center);break;case "projected":console.error("Creating a geodesic circle requires the center to be specified in web mercator or geographic coordinate system");
break;case "geographic":d=this.center}g=this._createGeodesicCircle(d,g,this.numberOfPoints,d.spatialReference);"webMercator"===c&&(g=a.geographicToWebMercator(g))}else{var f;"webMercator"===c||"projected"===c?f=g/this._convert2Meters(1,this.center.spatialReference):"geographic"===c&&(f=g/this._unitToMeters.esriDecimalDegrees);g=this._createPlanarCircle(this.center,f,this.numberOfPoints)}this.spatialReference=g.spatialReference;this.addRing(g.rings[0]);this.verifySR()},_createGeodesicCircle:function(g,
c,d,f){for(var l=0,t=Math.PI/180,u=[],r;l<2*Math.PI;)r=e._directGeodeticSolver(g.y*t,g.x*t,l,c,f),u.push([r.x,r.y]),l+=Math.PI/(d/2);u.push(u[0]);return new k(u)},_createPlanarCircle:function(g,c,d){for(var f=0,l=[],t,u;f<2*Math.PI;)t=g.x+Math.cos(f)*c,u=g.y+Math.sin(f)*c,l.push([t,u]),f+=Math.PI/(d/2);l.push(l[0]);g=new k(g.spatialReference);g.addRing(l);return g},_srType:function(g){return g.isWebMercator()?"webMercator":null!=b[g.wkid]||g.wkt&&0===g.wkt.indexOf("PROJCS")?"projected":"geographic"},
_convert2Meters:function(g,c){if(null!=b[c.wkid])c=b.values[b[c.wkid]];else{c=c.wkt;var d=c.lastIndexOf(",")+1,f=c.lastIndexOf("]]");c=parseFloat(c.substring(d,f))}return g*c}});p("extend-esri")&&h.setObject("geometry.Circle",I,n);return I})},"widgets/MyLocation/a11y/Widget":function(){define(["dojo/_base/lang","dojo/on","dojo/_base/html","dijit/a11yclick"],function(I,h,p,n){return{a11y_updateLabel:function(q){q&&p.setAttr(this.domNode,"aria-label",q)},a11y_initEvents:function(){this.own(h(this.domNode,
n,I.hitch(this,this.onLocationClick)))},a11y_disable:function(){p.setAttr(this.domNode,"aria-disabled","true");p.setAttr(this.domNode,"disabled","disabled")},a11y_enable:function(){p.removeAttr(this.domNode,"aria-disabled");p.removeAttr(this.domNode,"disabled")}}})},"widgets/MyLocation/_build-generate_module":function(){define(["dojo/text!./css/style.css","dojo/i18n!./nls/strings"],function(){})},"widgets/Coordinate/Widget":function(){define("dojo/_base/declare dojo/_base/html dijit/_WidgetsInTemplateMixin esri/geometry/Point esri/SpatialReference jimu/BaseWidget jimu/utils jimu/dijit/Message dojo/_base/lang dojo/on dojo/dom-class dijit/DropDownMenu dijit/MenuItem dojo/aspect dojo/Deferred esri/request esri/graphic esri/layers/GraphicsLayer esri/tasks/ProjectParameters esri/geometry/webMercatorUtils esri/symbols/PictureMarkerSymbol jimu/portalUtils esri/config libs/usng/usng jimu/SpatialReference/unitUtils ./a11y/Widget".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F,y,D,L){var E={INCHES:"Inches",FOOT:"Foot",FEET:"Foot",FOOT_US:"Foot_US",YARDS:"Yards",MILES:"Miles",NAUTICAL_MILES:"Nautical_Miles",MILLIMETERS:"Millimeters",CENTIMETERS:"Centimeters",METER:"Meter",METERS:"Meter",KILOMETERS:"Kilometers",DECIMETERS:"Decimeters",DEGREE:"Decimal_Degrees",DECIMAL_DEGREES:"Decimal_Degrees",DEGREES_DECIMAL_MINUTES:"Degrees_Decimal_Minutes",DEGREE_MINUTE_SECONDS:"Degree_Minutes_Seconds",MGRS:"MGRS",USNG:"USNG"},z={esriCentimeters:"CENTIMETERS",
esriDecimalDegrees:"DECIMAL_DEGREES",esriDegreeMinuteSeconds:"DEGREE_MINUTE_SECONDS",esriDecimeters:"DECIMETERS",esriFeet:"FOOT",esriInches:"INCHES",esriKilometers:"KILOMETERS",esriMeters:"METER",esriMiles:"MILES",esriMillimeters:"MILLIMETERS",esriNauticalMiles:"NAUTICAL_MILES",esriPoints:"POINTS",esriUnknownUnits:"UNKNOWN",esriYards:"YARDS"};I=I([k,p],{baseClass:"jimu-widget-coordinate",name:"Coordinate",popMenu:null,selectedWkid:null,selectedItem:null,selectedTfWkid:null,_defaultItem:null,forward:!0,
enableRealtime:!1,geoServiceUrl:null,_mapWkid:null,_configured:!1,_markerGraphic:null,moveTopOnActive:!1,_ENABLE_MAP_POPUP:!1,postMixInProperties:function(){this.nls.enableClick=this.nls.enableClick||"Click to enable clicking map to get coordinates";this.nls.disableClick=this.nls.disableClick||"Click to disable clicking map to get coordinates"},postCreate:function(){this.inherited(arguments);g.add(this.coordinateBackground,"coordinate-background");this.own(m(this.map,"extent-change",b.hitch(this,
this.onExtentChange)));this.own(m(this.map,"mouse-move",b.hitch(this,this.onMouseMove)));this.own(m(this.map,"click",b.hitch(this,this.onMapClick)));this.a11y_initEvents();this.graphicsLayer=new r;this.map.addLayer(this.graphicsLayer)},startup:function(){this.inherited(arguments);this.selectedWkid=this._mapWkid=this.map.spatialReference.isWebMercator()?3857:this.map.spatialReference.wkid;this.config.spatialReferences&&1<this.config.spatialReferences.length?h.setStyle(this.foldableNode,"display","inline-block"):
h.setStyle(this.foldableNode,"display","none")},onOpen:function(){this._processData().then(b.hitch(this,function(A){this.domNode&&(this.initPopMenu(A),(A=1>=this.popMenu.getChildren().length)&&h.setStyle(this.foldContainer,"display","none"),this.a11y_init({isHidePopmenu:A}))}),b.hitch(this,function(A){console.error(A)}))},_processMapUnits:function(A){var G=new l;if(A.units)G.resolve(A);else{var N=A.spatialReference||b.exists("tileInfo.spatialReference",A)&&A.tileInfo.spatialReference,H=A.extent||
A.initialExtent||A.fullExtent,M=N&&(N.latestWkid||N.wkid)||H&&H.spatialReference&&H.spatialReference.wkid,T=this;require(["jimu/SpatialReference/srUtils"],function(U){U.loadResource().then(b.hitch(T,function(){var W=U.getCSUnit(M);A.units=W;G.resolve(A)}))})}return G},_processData:function(){var A=new l,G=this.map.itemInfo.itemData.baseMap.baseMapLayers[0];this.config.spatialReferences&&this.config.spatialReferences.length?(this._configured=!0,A.resolve(this.config.spatialReferences)):B.getUnits(this.appConfig.portalUrl).then(b.hitch(this,
function(N){var H=G&&("BingMapsRoad"===G.type||"BingMapsHybrid"===G.type||"BingMapsAerial"===G.type),M=G&&"WebTiledLayer"===G.type,T=G&&"VectorTileLayer"===G.type;"WMS"===G.type?this._getWMSBaseMapInfo().then(b.hitch(this,function(U){this._configured=!1;A.resolve(U)})):G&&G.url?t({url:G.url,handleAs:"json",callbackParamName:"callback",content:{f:"json"}}).then(b.hitch(this,function(U){this._processMapUnits(U).then(b.hitch(this,function(W){var Y=this._getUnconfiguredUnitOptions(W.units,N),aa=W.spatialReference,
ea=W.extent;aa={wkid:aa&&(aa.latestWkid||aa.wkid)||ea&&ea.spatialReference&&ea.spatialReference.wkid,label:"",outputUnit:Y.outputUnit};aa.options={sameSRWithMap:!0,defaultUnit:z[W.units]||W.units,isGeographicUnit:Y.isGeographicUnit,isGeographicCS:Y.isGeographicCS,isProjectUnit:Y.isProjectUnit,isProjectedCS:Y.isProjectedCS,unitRate:Y.unitRate};this._configured=!1;A.resolve(aa)}))}),b.hitch(this,function(U){console.error(U);A.reject(U)})):G&&("OpenStreetMap"===G.type||H||M||T)?(H=this._getUnconfiguredUnitOptions("esriMeters",
N),M={wkid:3857,label:"",outputUnit:H.outputUnit},M.options={sameSRWithMap:!0,defaultUnit:z.esriMeters,isGeographicUnit:H.isGeographicUnit,isGeographicCS:H.isGeographicCS,isProjectUnit:H.isProjectUnit,isProjectedCS:H.isProjectedCS,unitRate:H.unitRate},this._configured=!1,A.resolve(M)):A.reject(Error("no baseMap"))}));return A},_getUnconfiguredUnitOptions:function(A,G){A=z[A]||A;var N="",H=1,M="",T="",U="",W="";D.isProjectUnit(A)?(U=W=!0,M=T=!1,N="english"===G?z.esriFeet.toUpperCase():z.esriMeters.toUpperCase(),
H=D.getUnitRate(A.toUpperCase(),N)):D.isGeographicUnit(A)&&(U=W=!1,M=T=!0,N=A.toUpperCase());this.map.spatialReference.isWebMercator()&&(N=z.esriDecimalDegrees,T=!0,W=!1,H=1);return{outputUnit:N,unitRate:H,isGeographicUnit:T,isGeographicCS:M,isProjectUnit:W,isProjectedCS:U}},initPopMenu:function(A){this.popMenu=new c({},this.coordinateMenu);f.after(this.popMenu,"onItemClick",b.hitch(this,this.onClickMenu),!0);"[object Array]"!==Object.prototype.toString.call(A)?(this.selectedWkid=parseInt(A.wkid,
10),this.addMenuItem("",this.selectedWkid,A.outputUnit,null,null,A.options,A.isDefault,A.alias),this.selectedItem=this.popMenu.getChildren()[0]):(this._addAllMenuItems(),this._setDefaultItme(),null===this.selectedItem&&(this.selectedItem=this.popMenu.getChildren()[0]));this.selectedWkid=parseInt(this.selectedItem.params.wkid,10);this.selectedTfWkid=this.selectedItem.params.transformationWkid&&parseInt(this.selectedItem.params.transformationWkid,10);this.selectedItem.set({label:this.getStatusString(!0,
this.selectedItem.params.alias||this.selectedItem.params.name,this.selectedItem.params.wkid,this.selectedItem.params.isDefault)});h.addClass(this.selectedItem.domNode,"selected-item");this._adjustCoordinateInfoUI(this.selectedWkid);this.popMenu.startup();this.a11y_initPopMenuEvents()},_addAllMenuItems:function(){for(var A=this.config.spatialReferences.length,G=0;G<A;G++)this.addMenuItem(this.config.spatialReferences[G].label,this.config.spatialReferences[G].wkid,this.config.spatialReferences[G].outputUnit,
this.config.spatialReferences[G].transformationWkid,this.config.spatialReferences[G].transformForward,this.config.spatialReferences[G].options,this.config.spatialReferences[G].isDefault,this.config.spatialReferences[G].alias)},_isWebMercator:function(A){return q.prototype._isWebMercator?q.prototype._isWebMercator.apply({wkid:parseInt(A,10)},[]):(new q(parseInt(A,10))).isWebMercator()},canShowInClient:function(A){A=4326===this._mapWkid&&this._isWebMercator(A)||this._isWebMercator(this._mapWkid)&&4326===
parseInt(A,10);var G=this.selectedItem.get("options");return G&&G.sameSRWithMap||A?!0:!1},onClickMenu:function(A){h.removeClass(this.selectedItem.domNode,"selected-item");this.selectedItem.set({label:this.getStatusString(!1,this.selectedItem.params.alias||this.selectedItem.params.name,this.selectedItem.params.wkid,this.selectedItem.params.isDefault)});this.selectedWkid=parseInt(A.params.wkid,10);this.selectedTfWkid=A.params.tfWkid;this.forward=A.params.forward;A.set({label:this.getStatusString(!0,
A.params.alias||A.params.name,A.params.wkid,A.params.isDefault)});h.addClass(A.domNode,"selected-item");this.selectedItem=A;this._adjustCoordinateInfoUI(this.selectedWkid);this.toggleMenuContainer(!1)},_adjustCoordinateInfoUI:function(A){h.removeClass(this.coordinateInfoMenu,"coordinate-info-menu-empty");this.graphicsLayer.remove(this._markerGraphic);this._markerGraphic=null;this.canShowInClient(A)?(this.enableRealtime=!0,this._getDefaultPlaceHolder()):(this.enableRealtime=!1,this.a11y_setCoordinateInfo(""),
h.addClass(this.coordinateInfoMenu,"coordinate-info-menu-empty"));h.setAttr(this.locateButton,"title",this.nls.enableClick);h.removeClass(this.locateContainer,"coordinate-locate-container-active");this.enableWebMapPopup();this.onExtentChange({extent:this.map.extent})},disableWebMapPopup:function(){this._ENABLE_MAP_POPUP=!1;this.map.setInfoWindowOnClick(!1)},enableWebMapPopup:function(){this._ENABLE_MAP_POPUP=!0;this.map.setInfoWindowOnClick(!0)},onLocateButtonClick:function(){if(this.isMenuContainerOpen())this.onFoldContainerClick();
h.removeClass(this.coordinateInfoMenu,"coordinate-info-menu-empty");h.toggleClass(this.locateContainer,"coordinate-locate-container-active");this.graphicsLayer.remove(this._markerGraphic);this._markerGraphic=null;this.canShowInClient(this.selectedWkid)?this.enableRealtime?(this.enableRealtime=!1,this.a11y_setCoordinateInfo(this.nls.hintMessage),h.setAttr(this.locateButton,"title",this.nls.disableClick),this.disableWebMapPopup()):(this.enableRealtime=!0,this._getDefaultPlaceHolder(),h.setAttr(this.locateButton,
"title",this.nls.enableClick),this.enableWebMapPopup()):h.hasClass(this.locateContainer,"coordinate-locate-container-active")?(this.a11y_setCoordinateInfo(this.nls.hintMessage),this.disableWebMapPopup(),h.setAttr(this.locateButton,"title",this.nls.disableClick)):(this.a11y_setCoordinateInfo(""),h.addClass(this.coordinateInfoMenu,"coordinate-info-menu-empty"),this.enableWebMapPopup(),h.setAttr(this.locateButton,"title",this.nls.enableClick))},onActive:function(){this.locateContainer&&h.hasClass(this.locateContainer,
"coordinate-locate-container-active")&&(!0===this._ENABLE_MAP_POPUP?this.enableWebMapPopup():this.disableWebMapPopup())},onDeActive:function(){if(h.hasClass(this.locateContainer,"coordinate-locate-container-active"))this.onLocateButtonClick();if(this.isMenuContainerOpen())this.onFoldContainerClick()},getStatusString:function(A,G,N,H){var M="";N=parseInt(N,10);M=A?"\x3cb\x3e"+M+G+"\x3c/b\x3e\x26nbsp;"+this._rtlTheBrackets(N)+"\x26nbsp;":M+G+"\x26nbsp;\x26nbsp;"+this._rtlTheBrackets(N)+"\x26nbsp;";
H&&(M+=this.nls.defaultLabel);return M},_rtlTheBrackets:function(A){return window.isRTL?"\x26rlm;("+A+")":"("+A+")"},addMenuItem:function(A,G,N,H,M,T,U,W){A={label:this.getStatusString(!1,W||A,G,U)||"",name:A||"",wkid:G||"",outputUnit:N||"",tfWkid:H||"",options:T,isDefault:U,alias:W,ownerDocument:this.ownerDocument};A.tfWkid&&(A.forward=M);M=new d(A);this.a11y_bindMenuItemEvent(M);this.popMenu.addChild(M)},_toFormat:function(A){return isNaN(A)?"":e.localizeNumberByFieldInfo(A,{format:{places:this.config.decimalPlaces,
digitSeparator:this.config.addSeparator}})},onProjectComplete:function(A,G){if(this.selectedWkid&&A===this.selectedWkid&&this.domNode){G=G[0];A=G.x;G=G.y;var N=this.selectedItem.get("outputUnit"),H=this.selectedItem.get("options");"MGRS"===N||"USNG"===N?this._displayUsngOrMgrs(N,G,A):H.isGeographicUnit?this._displayDegOrDms(N,G,A):this._displayProject(N,G,A)}},_unitToNls:function(A){var G=E[A.toUpperCase()];return this.nls[G]||this.nls[A]||A},onProjectError:function(A){new a({message:A.message||A.toString()});
this.a11y_setCoordinateInfo(this.nls.hintMessage)},onExtentChange:function(A){if(this.selectedItem){var G=h.position(this.domNode),N=h.position(this.map.root);if(!window.isRTL)G.x-N.x+G.w+5>=N.w&&("left"in this.position?h.setStyle(this.domNode,"right","5px"):h.setStyle(this.domNode,"left","5px"));else if(0>=G.x-N.x||G.x-N.x+G.w+5>=N.w)"left"in this.position?h.setStyle(this.domNode,"left","5px"):h.setStyle(this.domNode,"right","5px");window.appInfo.isRunInMobile?(this.graphicsLayer.remove(this._markerGraphic),
this._markerGraphic=null,h.setStyle(this.locateContainer,"display","none"),h.removeClass(this.coordinateMenuContainer,"display-coordinate-menu"),h.setStyle(this.domNode,"zIndex","auto"),this.canShowInClient(this.selectedWkid)?this._displayOnClient(A.extent.getCenter()):this._projectMapPoint(A.extent.getCenter())):(h.setStyle(this.locateContainer,"display","block"),1<this.popMenu.getChildren().length?h.setStyle(this.foldContainer,"display","block"):h.setStyle(this.foldContainer,"display","none"))}},
_getMarkerGraphic:function(A){var G=new C(this.folderUrl+"css/images/esriGreenPin16x26.png",16,26);G.setOffset(0,12);return new u(A,G)},onMapClick:function(A){window.appInfo.isRunInMobile||this.enableRealtime||!this.selectedItem||(!this.canShowInClient(this.selectedWkid)&&!h.hasClass(this.locateContainer,"coordinate-locate-container-active")||this._markerGraphic||(this._markerGraphic=this._getMarkerGraphic(A.mapPoint),this.graphicsLayer.add(this._markerGraphic)),this.canShowInClient(this.selectedWkid)?
(this._markerGraphic.setGeometry(A.mapPoint),this._displayOnClient(A.mapPoint)):h.hasClass(this.locateContainer,"coordinate-locate-container-active")&&(this._markerGraphic.setGeometry(A.mapPoint),A=new n(A.mapPoint.x,A.mapPoint.y,this.map.spatialReference),this._projectMapPoint(A)))},_projectMapPoint:function(A){var G=new x,N=null,H=this.selectedItem.get("options");G.geometries=[A];H.isProjectedCS?N=H.isProjectUnit?this.selectedWkid:H.spheroidCS:H.isGeographicCS&&(N=this.selectedWkid);this.selectedTfWkid&&
(G.transformation=new q(parseInt(this.selectedTfWkid,10)),G.transformForward=JSON.parse(this.forward));G.outSR=new q(parseInt(N,10));this.a11y_setCoordinateInfo(this.nls.computing);F.defaults.geometryService.project(G,b.hitch(this,this.onProjectComplete,this.selectedWkid),b.hitch(this,this.onProjectError))},_displayOnClient:function(A){var G=this.selectedItem.get("outputUnit"),N=A.x,H=A.y,M=null,T=4326===this._mapWkid&&this._isWebMercator(this.selectedWkid)||this._isWebMercator(this._mapWkid)&&4326===
this.selectedWkid,U=this.selectedItem.get("options");M=A.normalize();U.isGeographicUnit&&(N=M.getLongitude()||N);U.isGeographicUnit&&(H=M.getLatitude()||H);T?4326===A.spatialReference.wkid&&this._isWebMercator(this.selectedWkid)?"MGRS"===G||"USNG"===G?this._displayUsngOrMgrs(G,M.getLatitude(),M.getLongitude()):U.isGeographicUnit?this._displayDegOrDms(G,H,N):U.isProjectUnit&&(A=v.lngLatToXY(N,H),this._displayProject(G,A[1],A[0])):A.spatialReference.isWebMercator()&&4326===this.selectedWkid&&("MGRS"===
G||"USNG"===G?this._displayUsngOrMgrs(G,M.getLatitude(),M.getLongitude()):U.isGeographicUnit&&this._displayDegOrDms(G,H,N)):U.defaultUnit===G?(this._displayCoordinatesByOrder(this._toFormat(N),this._toFormat(H)),this.a11y_setCoordinateInfo(this.coordinateInfo.innerHTML+=" "+this._unitToNls(G))):4326===A.spatialReference.wkid||A.spatialReference.isWebMercator()?"MGRS"===G||"USNG"===G?this._displayUsngOrMgrs(G,M.getLatitude(),M.getLongitude()):U.isGeographicUnit?this._displayDegOrDms(G,H,N):U.isProjectedCS&&
this._displayProject(G,H,N):U.isProjectedCS?this._displayProject(G,H,N):U.isGeographicCS&&("MGRS"===G||"USNG"===G?this._displayUsngOrMgrs(G,H,N):U.isGeographicUnit&&this._displayDegOrDms(G,H,N))},onMouseMove:function(A){window.appInfo.isRunInMobile||this.enableRealtime&&this.selectedItem&&this._displayOnClient(A.mapPoint)},destroy:function(){this._markerGraphic&&this.graphicsLayer.remove(this._markerGraphic);this.graphicsLayer&&this.map.removeLayer(this.graphicsLayer);this.inherited(arguments)},_displayUsngOrMgrs:function(A,
G,N){"MGRS"===A?this.a11y_setCoordinateInfo(y.LLtoMGRS(G,N,5)):"USNG"===A&&this.a11y_setCoordinateInfo(y.LLtoUSNG(G,N,5));isNaN(G)&&isNaN(N)?this.a11y_setCoordinateInfo(""):this.a11y_setCoordinateInfo(this.coordinateInfo.innerHTML+=" "+this._unitToNls(A))},_displayDegOrDms:function(A,G,N){var H="",M="";H=this.selectedItem.get("options");N*=H.unitRate;G*=H.unitRate;"DEGREE_MINUTE_SECONDS"===A?(M=this.degToDMS(N,"LON"),H=this.degToDMS(G,"LAT"),this._displayCoordinatesByOrder(M,H)):"DEGREES_DECIMAL_MINUTES"===
A?(M=this.degToDDM(N),H=this.degToDDM(G),this._displayCoordinatesByOrder(M,H)):(this._displayCoordinatesByOrder(this._toFormat(N),this._toFormat(G)),isNaN(G)&&isNaN(N)?this.a11y_setCoordinateInfo(""):this.a11y_setCoordinateInfo(this.coordinateInfo.innerHTML+=" "+this._unitToNls(A)))},_displayProject:function(A,G,N){var H=this.selectedItem.get("options");N*=H.unitRate;G*=H.unitRate;this._displayCoordinatesByOrder(this._toFormat(N),this._toFormat(G));isNaN(G)&&isNaN(N)?this.a11y_setCoordinateInfo(""):
this.a11y_setCoordinateInfo(this.coordinateInfo.innerHTML+=" "+this._unitToNls(A))},_displayCoordinatesByOrder:function(A,G){this.config.displayOrderLonLat?this.a11y_setCoordinateInfo(A+"  "+G):this.a11y_setCoordinateInfo(G+"  "+A)},onFoldContainerClick:function(){this._configured&&this.toggleMenuContainer();this.a11y_focusMenuItem()},isMenuContainerOpen:function(){return h.hasClass(this.coordinateMenuContainer,"display-coordinate-menu")},toggleMenuContainer:function(A){A||(A=this.isMenuContainerOpen(),
A=!A);!0===A?(h.addClass(this.coordinateMenuContainer,"display-coordinate-menu"),h.setStyle(this.domNode,"zIndex","1")):!1===A&&(h.removeClass(this.coordinateMenuContainer,"display-coordinate-menu"),h.setStyle(this.domNode,"zIndex","auto"))},degToDMS:function(A,G){var N=Math.abs(A),H=Math.floor(N);N-=H;var M=Math.floor(60*N);N=Math.floor(3600*(N-M/60));60===N&&(M++,N=0);60===M&&(H++,M=0);return H+"\x26deg;"+(10>M?"0"+M:M)+"\x26prime;"+(10>N?"0"+N:N)+"\x26Prime;"+("LAT"===G?0>A?"S":"N":0>A?"W":"E")},
degToDDM:function(A){var G=Math.abs(A);A=Math.floor(G);G-=A;var N=Math.floor(60*G);G=Math.floor(3600*(G-N/60));60===G&&(N++,G=0);60===N&&(A++,N=0);N=e.localizeNumberByFieldInfo(N+G/60,{format:{places:this.config.decimalPlaces,digitSeparator:this.config.addSeparator}});return A+"\x26deg;"+N+"\x26prime;"},_getWMSBaseMapInfo:function(){var A=new l;require(["jimu/SpatialReference/srUtils"],b.hitch(this,function(G){G.loadResource().then(b.hitch(this,function(){var N=this.map.spatialReference.wkid;B.getUnits(this.appConfig.portalUrl).then(b.hitch(this,
function(H){if(G.isValidWkid(N)){var M={wkid:G.standardizeWkid(N),label:G.getSRLabel(parseInt(N,10))};G.isProjectedCS(M.wkid)?M.outputUnit="english"===H?"FOOT":"METER":M.outputUnit=M.outputUnit||G.getCSUnit(M.wkid);H={sameSRWithMap:G.isSameSR(M.wkid,this.map.spatialReference.wkid),isGeographicCS:G.isGeographicCS(M.wkid),isGeographicUnit:G.isGeographicUnit(M.outputUnit),isProjectedCS:G.isProjectedCS(M.wkid),isProjectUnit:G.isProjectUnit(M.outputUnit),spheroidCS:G.isProjectedCS(M.wkid)?G.getGeoCSByProj(M.wkid):
M.wkid,defaultUnit:G.getCSUnit(M.wkid),unitRate:G.getUnitRate(G.getCSUnit(M.wkid),M.outputUnit)};this.map.spatialReference.isWebMercator()&&(H.isGeographicUnit=!0,H.isProjectUnit=!1,H.unitRate=1,M.outputUnit="DECIMAL_DEGREES");"DEGREES_DECIMAL_MINUTES"===M.outputUnit&&(H.isGeographicUnit=!0,H.unitRate=1);M.options=H;A.resolve(M)}}),b.hitch(this,function(H){console.error(H);A.reject(H)}))}))}));return A},_setDefaultItme:function(){var A;var G=0;for(A=this.popMenu.getChildren().length;G<A;G++){var N=
this.popMenu.getChildren()[G];if(!0===N.params.isDefault){this._defaultItem=this.selectedItem=N;break}}var H=this._mapWkid;if(!this._defaultItem)for(G=0,A=this.popMenu.getChildren().length;G<A;G++)if(N=this.popMenu.getChildren()[G],parseInt(N.params.wkid,10)===parseInt(H,10)){N.set({isDefault:!0});N.params.isDefault=!0;this._defaultItem=N;break}this._defaultItem&&this._setDefaultItemStyle(this._defaultItem)},_setDefaultItemStyle:function(A){A.set({label:this.getStatusString(!1,A.params.alias||A.params.name,
A.params.wkid,A.params.isDefault)})},_getDefaultPlaceHolder:function(){e.isMobileUa()?this.a11y_setCoordinateInfo(""):this.a11y_setCoordinateInfo(this.nls.realtimeLabel)}});I.extend(L);return I})},"libs/usng/usng":function(){define(["dojo/_base/declare","dojo/string"],function(I,h){var p,n,q,k=Math.PI/180,e=180/Math.PI;var a=6378137;var b=.006694380023;var m=b/(1-b),g=(1-Math.sqrt(1-b))/(1+Math.sqrt(1-b));return{getZoneNumber:function(c,d){c=parseFloat(c);d=parseFloat(d);(360<d||-180>d||90<c||-90>
c)&&console.warn("Bad input. lat: "+c+" lon: "+d);d=d+180-360*parseInt((d+180)/360)-180;var f=parseInt((d+180)/6)+1;56<=c&&64>c&&3<=d&&12>d&&(f=32);72<=c&&84>c&&(0<=d&&9>d?f=31:9<=d&&21>d?f=33:21<=d&&33>d?f=35:33<=d&&42>d&&(f=37));return f},LLtoUTM:function(c,d,f,l){c=parseFloat(c);d=parseFloat(d);if(84<c||-80>c)return"undefined";(360<d||-180>d||90<c||-90>c)&&console.warn("Bad input. lat: "+c+" lon: "+d);var t=d+180-360*parseInt((d+180)/360)-180,u=c*k;t*=k;q=l?l:this.getZoneNumber(c,d);var r=(6*(q-
1)-180+3)*k;this.UTMLetterDesignator(c);c=a/Math.sqrt(1-b*Math.sin(u)*Math.sin(u));d=Math.tan(u)*Math.tan(u);l=m*Math.cos(u)*Math.cos(u);t=Math.cos(u)*(t-r);r=a*((1-b/4-3*b*b/64-5*b*b*b/256)*u-(3*b/8+3*b*b/32+45*b*b*b/1024)*Math.sin(2*u)+(15*b*b/256+45*b*b*b/1024)*Math.sin(4*u)-35*b*b*b/3072*Math.sin(6*u));p=.9996*c*(t+(1-d+l)*t*t*t/6+(5-18*d+d*d+72*l-58*m)*t*t*t*t*t/120)+5E5;n=.9996*(r+c*Math.tan(u)*(t*t/2+(5-d+9*l+4*l*l)*t*t*t*t/24+(61-58*d+d*d+600*l-330*m)*t*t*t*t*t*t/720));f[0]=p;f[1]=n;f[2]=
q},LLtoUSNG:function(c,d,f){c=parseFloat(c);d=parseFloat(d);var l=[];this.LLtoUTM(c,d,l);var t=l[0];l=l[1];0>c&&(l+=1E7);var u=this.findGridLetters(q,l,t);l=Math.round(l)%1E5;t=Math.round(t)%1E5;l=Math.floor(l/Math.pow(10,5-f));t=Math.floor(t/Math.pow(10,5-f));c=this.getZoneNumber(c,d)+this.UTMLetterDesignator(c)+" "+u+" ";for(d=String(t).length;d<f;d++)c+="0";c+=t+" ";for(d=String(l).length;d<f;d++)c+="0";return c+l},UTMLetterDesignator:function(c){c=parseFloat(c);return 84>=c&&72<=c?"X":72>c&&64<=
c?"W":64>c&&56<=c?"V":56>c&&48<=c?"U":48>c&&40<=c?"T":40>c&&32<=c?"S":32>c&&24<=c?"R":24>c&&16<=c?"Q":16>c&&8<=c?"P":8>c&&0<=c?"N":0>c&&-8<=c?"M":-8>c&&-16<=c?"L":-16>c&&-24<=c?"K":-24>c&&-32<=c?"J":-32>c&&-40<=c?"H":-40>c&&-48<=c?"G":-48>c&&-56<=c?"F":-56>c&&-64<=c?"E":-64>c&&-72<=c?"D":-72>c&&-80<=c?"C":"Z"},findSet:function(c){c=parseInt(c);switch(c%6){case 0:return 6;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 5;default:return-1}},findGridLetters:function(c,d,
f){c=parseInt(c);d=parseFloat(d);f=parseFloat(f);var l=1;for(d=Math.round(d);1E5<=d;)d-=1E5,l++;l%=20;d=0;for(f=Math.round(f);1E5<=f;)f-=1E5,d++;d%=8;return this.lettersHelper(this.findSet(c),l,d)},lettersHelper:function(c,d,f){0===d?d=19:d--;0===f?f=7:f--;switch(c){case 1:return c="ABCDEFGHJKLMNPQRSTUV","ABCDEFGH".charAt(f)+c.charAt(d);case 2:return c="FGHJKLMNPQRSTUVABCDE","JKLMNPQR".charAt(f)+c.charAt(d);case 3:return c="ABCDEFGHJKLMNPQRSTUV","STUVWXYZ".charAt(f)+c.charAt(d);case 4:return c="FGHJKLMNPQRSTUVABCDE",
"ABCDEFGH".charAt(f)+c.charAt(d);case 5:return c="ABCDEFGHJKLMNPQRSTUV","JKLMNPQR".charAt(f)+c.charAt(d);case 6:return c="FGHJKLMNPQRSTUVABCDE","STUVWXYZ".charAt(f)+c.charAt(d)}},UTMtoLL:function(c,d,f,l){d=parseFloat(d)-5E5;c=parseFloat(c);f=parseInt(f);c=c/.9996/(a*(1-b/4-3*b*b/64-5*b*b*b/256));c=c+(3*g/2-27*g*g*g/32)*Math.sin(2*c)+(21*g*g/16-55*g*g*g*g/32)*Math.sin(4*c)+151*g*g*g/96*Math.sin(6*c);var t=a/Math.sqrt(1-b*Math.sin(c)*Math.sin(c)),u=Math.tan(c)*Math.tan(c),r=m*Math.cos(c)*Math.cos(c);
d/=.9996*t;t=c-t*Math.tan(c)/(a*(1-b)/Math.pow(1-b*Math.sin(c)*Math.sin(c),1.5))*(d*d/2-(5+3*u+10*r-4*r*r-9*m)*d*d*d*d/24+(61+90*u+298*r+45*u*u-252*m-3*r*r)*d*d*d*d*d*d/720);t*=e;d=(d-(1+2*u+r)*d*d*d/6+(5-2*r+28*u-3*r*r+8*m+24*u*u)*d*d*d*d*d/120)/Math.cos(c);d=6*(f-1)-180+3+d*e;l.lat=t;l.lon=d},USNGtoUTM:function(c,d,f,l,t,u,r){f=1+"ABCDEFGHJKLMNPQRSTUVWXYZ".indexOf(f)%8;var x="CDEFGHJKLMNPQRSTUVWX".indexOf(d);l=c%2?"ABCDEFGHJKLMNPQRSTUV".indexOf(l):"FGHJKLMNPQRSTUVABCDE".indexOf(l);l=Number([0,2,
2,2,4,4,6,6,8,8,0,0,0,2,2,4,4,6,6,6][x])+l/10;l<[1.1,2,2.9,3.8,4.7,5.6,6.5,7.3,8.2,9.1,0,.8,1.7,2.6,3.5,4.4,5.3,6.2,7,7.9][x]&&(l+=2);r.N=1E6*l+Number(u)*Math.pow(10,5-u.length);r.E=1E5*f+Number(t)*Math.pow(10,5-t.length);r.zone=c;r.letter=d},USNGtoLL:function(c,d){var f={};this.parseUSNG_str(c,f);c={};this.USNGtoUTM(f.zone,f.let,f.sq1,f.sq2,f.east,f.north,c);"N">f.let&&(c.N-=1E7);this.UTMtoLL(c.N,c.E,f.zone,c);d[0]=c.lat;d[1]=c.lon},parseUSNG_str:function(c,d){var f=0,l=[];var t=[];t=c.toUpperCase();
l=/%20/g;l=t.replace(l,"");l=/ /g;l=t.replace(l,"");if(7>l.length)return console.warn("This application requires minimum USNG precision of 10,000 meters"),0;d.zone=10*l.charAt(f++)+1*l.charAt(f++);d.let=l.charAt(f++);d.sq1=l.charAt(f++);d.sq2=l.charAt(f++);d.precision=(l.length-f)/2;d.east="";d.north="";for(t=0;t<d.precision;t++)d.east+=l.charAt(f++);" "==l[f]&&f++;for(t=0;t<d.precision;t++)d.north+=l.charAt(f++)},isUSNG:function(c){var d=[];d=c.toUpperCase();c=/%20/g;d=d.replace(c,"");c=/ /g;d=d.replace(c,
"");if(15<d.length)return 0;c=/^[0-9]{2}[CDEFGHJKLMNPQRSTUVWX]$/;if(d.match(c))return console.warn("Input appears to be a UTM zone...more precision is required to display a correct result."),0;c=/^[0-9]{2}[CDEFGHJKLMNPQRSTUVWX][ABCDEFGHJKLMNPQRSTUVWXYZ][ABCDEFGHJKLMNPQRSTUV]([0-9][0-9]){0,5}/;return d.match(c)?7>d.length?(alert(d+" Appears to be a USNG string, but this application requires precision of at least 10,000 meters"),0):d:0},LLtoMGRS:function(c,d,f){var l="";return l=this.LLtoUSNG(c,d,f).replace(/ /g,
"")},LLtoUSNG_nad27:function(c,d,f){a=6378206.4;b=.006768658;c=this.LLtoUSNG(c,d,f);a=6378137;b=.006694380023;return c+" (NAD27)"}}})},"widgets/Coordinate/a11y/Widget":function(){define("dojo/_base/lang dojo/on dojo/_base/html dojo/keys jimu/utils dijit/a11yclick".split(" "),function(I,h,p,n,q,k){var e={a11y_init:function(a){q.initFirstFocusNode(this.domNode,this.locateButton);a&&a.isHidePopmenu?q.initLastFocusNode(this.domNode,this.locateButton):q.initLastFocusNode(this.domNode,this.foldableNode)},
a11y_initEvents:function(){this.own(h(this.locateButton,k,I.hitch(this,this.onLocateButtonClick)));this.own(h(this.foldContainer,k,I.hitch(this,this.onFoldContainerClick)));this.own(h(this.foldContainer,"keydown",I.hitch(this,function(a){if(a.keyCode===n.UP_ARROW||a.keyCode===n.DOWN_ARROW)this.onFoldContainerClick()})))},a11y_setCoordinateInfo:function(a){var b=this.coordinateInfo,m=this.domNode;b&&(b.innerHTML=q.sanitizeHTML(a));m&&p.setAttr(m,"aria-label",a)},_isKeyEvent:function(a){return a&&a._origType?
!0:!1},a11y_initPopMenuEvents:function(){this.own(h(this.popMenu.domNode,"keydown",I.hitch(this,function(a){a.keyCode===n.ESCAPE&&(a.stopPropagation(),a.preventDefault(),this.onFoldContainerClick(),setTimeout(I.hitch(this,function(){this.foldableNode.focus()}),0))})))},a11y_bindMenuItemEvent:function(a){this.own(h(a,"click",I.hitch(this,function(b){e._isKeyEvent(b)&&setTimeout(I.hitch(this,function(){this.a11y_focusToPopMenuBtn()}),0)})))},a11y_focusMenuItem:function(){this.selectedItem.domNode.focus()},
a11y_focusToPopMenuBtn:function(){this.foldableNode.focus()}};return e})},"widgets/Coordinate/_build-generate_module":function(){define(["dojo/text!./Widget.html","dojo/text!./css/style.css","dojo/i18n!./nls/strings"],function(){})},"widgets/Scalebar/Widget":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/html dojo/Deferred jimu/BaseWidget jimu/utils jimu/portalUtils jimu/dijit/Message esri/dijit/Scalebar dojo/on esri/geometry/scaleUtils dojo/dom-style dojo/query dojo/NodeList-dom".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d){return I([q],{baseClass:"jimu-widget-scalebar",name:"Scalebar",scalebar:null,moveTopOnActive:!1,startup:function(){this.inherited(arguments);var f=h.clone(this.config.scalebar);f.map=this.map;this.position&&(void 0!==this.position.top&&void 0!==this.position.left?f.attachTo="top-left":void 0!==this.position.top&&void 0!==this.position.right?f.attachTo="top-right":void 0!==this.position.bottom&&void 0!==this.position.left?f.attachTo="bottom-left":void 0!==this.position.bottom&&
void 0!==this.position.right&&(f.attachTo="bottom-right"));this._processConfig(f).then(h.hitch(this,function(l){l.scalebarStyle||(l.scalebarStyle="line");this.scalebar=new b(l);this.scalebar.show();this.domNode.appendChild(this.scalebar.domNode);this._hackForhighlight();"ruler"===l.scalebarStyle?p.addClass(this.scalebar.domNode,"ruler-style"):p.removeClass(this.scalebar.domNode,"ruler-style");var t={left:"auto",right:"auto",top:"auto",bottom:"auto",width:"auto"};h.mixin(t,this.position);c.set(this.domNode,
k.getPositionStyle(t));this._isNumberStyle()&&(this._createNumberStyleContainer(),this._showNumberScale());this._set508Label();setTimeout(h.hitch(this,function(){this.domNode&&(c.set(this.domNode,k.getPositionStyle(t)),this.own(m(this.map,"extent-change",h.hitch(this,this.onExtentChange))))}),1E3)}),h.hitch(this,function(l){new a({message:l.message||l})}))},_processConfig:function(f){var l=new n;this._isNumberStyle()&&(f.scalebarStyle="line");f.scalebarUnit?l.resolve(f):e.getUnits(this.appConfig.portalUrl).then(h.hitch(this,
function(t){f.scalebarUnit="english"===t?"english":"metric";l.resolve(f)}));return l.promise},_hackForhighlight:function(){d(".esriScalebar",this.domNode).removeClass("esriScalebar")},onClose:function(){this.scalebar.destroy()},_createNumberStyleContainer:function(){for(var f="top-right bottom-right top-center bottom-center bottom-left top-left".split(" "),l=0,t=f.length;l<t;l++)d(".scalebar_"+f[l],this.domNode).addClass("hide");this.numberStyleContainer=p.create("div",{"class":"number-style"},this.domNode)},
_isNumberStyle:function(){return"number"===this.config.scalebar.scalebarStyle},onExtentChange:function(){this._set508Label();this._refreshTooltip();this._isNumberStyle()&&this._showNumberScale()},_getScaleString:function(){var f=g.getScale(this.map);isNaN(f)?f="":(f=k.localizeNumberByFieldInfo(f,{format:{places:this.config.scalebar.decimalPlaces,digitSeparator:this.config.scalebar.addSeparator}}),f=window.isRTL?f+":1":"1:"+f);return f},_showNumberScale:function(){this.numberStyleContainer.innerHTML=
k.sanitizeHTML("\x3cdiv class\x3d'scaleLabelDiv scalebar-line'\x3e"+this._getScaleString()+"\x3c/div\x3e")},_set508Label:function(f){var l,t=this._getScaleString();f?l=f:t&&(l=this.nls.scale+" "+t);p.setAttr(this.domNode,"aria-label",l)},_refreshTooltip:function(){k.isInNavMode()&&p.hasClass(document.activeElement,this.baseClass)&&(this.domNode.blur(),this.domNode.focus())}})})},"esri/dijit/Scalebar":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/array dojo/_base/connect dojo/dom-class dojo/dom-construct dojo/dom-geometry dojo/dom-style dojo/has dojo/query ../kernel ../lang ../domUtils ../units ../SpatialReference ../WKIDUnitConversion ../geometry/Point ../geometry/ScreenPoint ../geometry/Polyline ../geometry/geodesicUtils ../geometry/webMercatorUtils ../geometry/screenUtils ../geometry/normalizeUtils dojo/i18n!../nls/jsapi".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F,y){I=I(null,{declaredClass:"esri.dijit.Scalebar",map:null,mapUnit:null,scalebarUnit:null,unitsDictionary:[],domNode:null,screenPt1:null,screenPt2:null,localStrings:y.widgets.scalebar,constructor:function(D,L){this.metricScalebar=k.create("div",{innerHTML:"\x3cdiv class\x3d'esriScaleLabelDiv'\x3e\x3cdiv class\x3d'esriScalebarLabel esriScalebarLineLabel esriScalebarSecondNumber'\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarLine esriScalebarMetricLine'\x3e\x3c/div\x3e"});
this.englishScalebar=k.create("div",{innerHTML:"\x3cdiv class\x3d'esriScalebarLine esriScalebarEnglishLine'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScaleLabelDiv'\x3e\x3cdiv class\x3d'esriScalebarLabel esriScalebarLineLabel esriScalebarSecondNumber'\x3e\x3c/div\x3e\x3c/div\x3e"});this.domNode=k.create("div");D=D||{};if(D.map){if(D.scalebarUnit){if("english"!==D.scalebarUnit&&"metric"!==D.scalebarUnit&&"dual"!==D.scalebarUnit){console.error("scalebar unit only accepts english or metric or dual");return}this.scalebarUnit=
D.scalebarUnit}else this.scalebarUnit="english";if(D.scalebarStyle){if("ruler"!==D.scalebarStyle&&"line"!==D.scalebarStyle){console.error("scalebar style must be ruler or line");return}this.scalebarStyle=D.scalebarStyle}else this.scalebarStyle="ruler";this.background=D.background;switch(this.scalebarUnit){case "english":"ruler"===this.scalebarStyle&&(this.englishScalebar.innerHTML="\x3cdiv class\x3d'esriScalebarRuler'\x3e\x3cdiv class\x3d'esriScalebarRulerBlock upper_firstpiece'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarRulerBlock upper_secondpiece'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarRulerBlock lower_firstpiece'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarRulerBlock lower_secondpiece'\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d'scaleLabelDiv'\x3e\x3cdiv class\x3d'esriScalebarLabel' style\x3d'left: -3%'\x3e0\x3c/div\x3e\x3cdiv class\x3d'esriScalebarLabel esriScalebarFirstNumber'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarLabel esriScalebarSecondNumber'\x3e\x3c/div\x3e\x3c/div\x3e");
this.domNode.appendChild(this.englishScalebar);break;case "metric":"ruler"===this.scalebarStyle&&(this.metricScalebar.innerHTML="\x3cdiv class\x3d'esriScalebarRuler'\x3e\x3cdiv class\x3d'esriScalebarRulerBlock upper_firstpiece'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarRulerBlock upper_secondpiece'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarRulerBlock lower_firstpiece'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarRulerBlock lower_secondpiece'\x3e\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d'scaleLabelDiv'\x3e\x3cdiv class\x3d'esriScalebarLabel' style\x3d'left: -3%'\x3e0\x3c/div\x3e\x3cdiv class\x3d'esriScalebarLabel esriScalebarFirstNumber'\x3e\x3c/div\x3e\x3cdiv class\x3d'esriScalebarLabel esriScalebarSecondNumber'\x3e\x3c/div\x3e\x3c/div\x3e");
this.domNode.appendChild(this.metricScalebar);break;case "dual":this.domNode.appendChild(this.metricScalebar),this.domNode.appendChild(this.englishScalebar)}this.map=D.map;L?L.appendChild(this.domNode):(this.map.container.appendChild(this.domNode),D.attachTo?q.add(this.domNode,"scalebar_"+D.attachTo):q.add(this.domNode,"scalebar_bottom-left"));q.add(this.domNode,"esriScalebar");if(this.map.loaded)this._getDistance(),this._checkBingMaps();else var E=n.connect(this.map,"onLoad",this,function(){n.disconnect(E);
E=null;this._getDistance();this._checkBingMaps()});this._mapOnPan=n.connect(this.map,"onPan",this,this._getDistance);this._mapOnExtentChange=n.connect(this.map,"onExtentChange",this,this._getDistance);p.forEach(this.map.layerIds,function(z,A){"esri.virtualearth.VETiledLayer"===this.map.getLayer(z).declaredClass&&n.connect(this.map.getLayer(z),"onVisibilityChange",h.hitch(this,function(G){this._checkBingMaps()}))},this);this._mapOnLayerAdd=n.connect(this.map,"onLayerAdd",h.hitch(this,function(z){"esri.virtualearth.VETiledLayer"===
z.declaredClass&&n.connect(z,"onVisibilityChange",h.hitch(this,function(A){this._checkBingMaps()}));this._checkBingMaps()}));this._mapOnLayerRemove=n.connect(this.map,"onLayerRemove",h.hitch(this,this._checkBingMaps))}else console.error("scalebar: unable to find the 'map' property in parameters")},hide:function(){this._hidden=!0;d.hide(this.domNode)},show:function(){this._hidden=!1;d.show(this.domNode)},destroy:function(){n.disconnect(this._mapOnPan);n.disconnect(this._mapOnExtentChange);n.disconnect(this._mapOnLayerAdd);
n.disconnect(this._mapOnLayerRemove);this.hide();this.map=null;k.destroy(this.domNode)},_checkBingMaps:function(){q.contains(this.domNode,"scalebar_bottom-left")&&(a.set(this.domNode,"left","25px"),p.forEach(this.map.layerIds,function(D,L){"esri.virtualearth.VETiledLayer"===this.map.getLayer(D).declaredClass&&this.map.getLayer(D).visible&&(D="95px",this.map._mapParams.nav&&(D="115px"),a.set(this.domNode,"left",D))},this))},_getDistance:function(D){D=this.map._clip?this.map._getAvailExtent():D||this.map.extent;
var L=e.position(this.domNode,!0).y-this.map.position.y;L=L>this.map.height?this.map.height:L;L=0>L?0:L;var E=new r(0,L);L=new r(this.map.width,L);this.mapUnit="esriDecimalDegrees";var z=B.toMapPoint(D,this.map.width,this.map.height,E),A=B.toMapPoint(D,this.map.width,this.map.height,L);E=new u(D.xmin,(D.ymin+D.ymax)/2,this.map.spatialReference);L=new u(D.xmax,(D.ymin+D.ymax)/2,this.map.spatialReference);this.map._clip&&(A=this.map.spatialReference._getInfo(),z=new u(A.valid[0],0,this.map.spatialReference),
A=new u(A.valid[1],0,this.map.spatialReference));if(3857===this.map.spatialReference.wkid||102100===this.map.spatialReference.wkid||102113===this.map.spatialReference.wkid||this.map.spatialReference.wkt&&-1!=this.map.spatialReference.wkt.indexOf("WGS_1984_Web_Mercator"))z=C.webMercatorToGeographic(z,!0),A=C.webMercatorToGeographic(A,!0),E=C.webMercatorToGeographic(E,!0),L=C.webMercatorToGeographic(L,!0);else if(c.isDefined(t[this.map.spatialReference.wkid])||this.map.spatialReference.wkt&&0===this.map.spatialReference.wkt.indexOf("PROJCS")){this.mapUnit=
"linearUnit";D=Math.abs(D.xmax-D.xmin);if(c.isDefined(t[this.map.spatialReference.wkid]))var G=t.values[t[this.map.spatialReference.wkid]];else{G=this.map.spatialReference.wkt;var N=G.lastIndexOf(",")+1;var H=G.lastIndexOf("]]");G=parseFloat(G.substring(N,H))}D*=G;N=D/1609;G=D/1E3;D/=1E3}"esriDecimalDegrees"===this.mapUnit&&(G=v.isSupported(this.map.spatialReference)?this.map.spatialReference.wkid:4326,D=new x(new l({wkid:G})),D.addPath([z,A]),z=F._straightLineDensify(D,10),D=v.geodesicLengths([z],
f.KILOMETERS)[0],z=new x(new l({wkid:G})),z.addPath([E,L]),E=F._straightLineDensify(z,10),v.geodesicLengths([E],f.KILOMETERS),N=D/1.609,G=D);"english"===this.scalebarUnit?this._getScaleBarLength(N,"mi"):"metric"===this.scalebarUnit?this._getScaleBarLength(G,"km"):"dual"===this.scalebarUnit&&(this._getScaleBarLength(N,"mi"),this._getScaleBarLength(G,"km"))},_getScaleBarLength:function(D,L){var E=this.map._getFrameWidth();D=50*D/(this.map._clip&&0<E?E:this.map.width);E=0;var z=L;.1>D&&("mi"===L?(D*=
5280,z="ft"):"km"===L&&(D*=1E3,z="m"));for(;1<=D;)D/=10,E++;if(.5<D){var A=1;var G=.5}else.3<D?(A=.5,G=.3):.2<D?(A=.3,G=.2):.15<D?(A=.2,G=.15):.1<=D&&(A=.15,G=.1);L=A/D>=D/G?G:A;this._drawScaleBar(L/D*50,Math.pow(10,E)*L,z)},_drawScaleBar:function(D,L,E){var z=2*Math.round(D);if("mi"===E||"ft"===E){this.englishScalebar.style.width=z+"px";D=m(".esriScalebarFirstNumber",this.englishScalebar);var A=m(".esriScalebarSecondNumber",this.englishScalebar);var G=m(".esriScalebarMetricLineBackground",this.englishScalebar)}else this.metricScalebar.style.width=
z+"px",D=m(".esriScalebarFirstNumber",this.metricScalebar),A=m(".esriScalebarSecondNumber",this.metricScalebar),G=m(".esriScalebarMetricLineBackground",this.metricScalebar);p.forEach(G,function(N,H){N.style.width=z-2+"px"},this);p.forEach(D,function(N,H){N.innerHTML=L},this);p.forEach(A,function(N,H){N.innerHTML="esriUnknown"!==this.mapUnit?2*L+this.localStrings[E]:2*L+"Unknown Unit"},this)}});b("extend-esri")&&h.setObject("dijit.Scalebar",I,g);return I})},"widgets/Scalebar/_build-generate_module":function(){define(["dojo/text!./css/style.css",
"dojo/i18n!./nls/strings"],function(){})},"widgets/OverviewMap/Widget":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/html dojo/_base/array dojo/on dojo/Deferred dojo/aspect jimu/BaseWidget esri/dijit/OverviewMap jimu/utils ./utils dojo/dom-style ./a11y/Widget".split(" "),function(I,h,p,n,q,k,e,a,b,m,g,c,d){I=I([a],{baseClass:"jimu-widget-overview",overviewMapDijit:null,_showDijit:!1,_handles:null,startup:function(){this._handles=[];this.inherited(arguments);this.createOverviewMap();
this.map&&this.own(q(this.map,"layer-add",h.hitch(this,this._onMainMapBasemapChange)))},setPosition:function(f){this.position=f;p.place(this.domNode,this.map.id);this._processAttachTo(this.config,f);this.started&&this._updateDomPosition(this.config.overviewMap.attachTo)},_processAttachTo:function(f,l){"undefined"===typeof f.overviewMap&&(f.overviewMap={});"undefined"===typeof f.overviewMap.attachTo&&l&&(void 0!==l.top&&void 0!==l.left?f.overviewMap.attachTo=window.isRTL?"top-right":"top-left":void 0!==
l.top&&void 0!==l.right?f.overviewMap.attachTo=window.isRTL?"top-left":"top-right":void 0!==l.bottom&&void 0!==l.left?f.overviewMap.attachTo=window.isRTL?"bottom-right":"bottom-left":void 0!==l.bottom&&void 0!==l.right&&(f.overviewMap.attachTo=window.isRTL?"bottom-left":"bottom-right"))},_updateDomPosition:function(f){if(this.overviewMapDijit){var l={left:"auto",right:"auto",top:"auto",bottom:"auto",width:"auto",zIndex:this.position&&this.position.zIndex||0},t=this._getOverviewPositionByAttach(f);
h.mixin(l,t);l=m.getPositionStyle(l);l.position="absolute";c.set(this.domNode,l);c.set(this.overviewMapDijit.domNode,l);if(this.overviewMapDijit.domNode){p.removeClass(this.overviewMapDijit.domNode,["ovwTL","ovwTR","ovwBL","ovwBR"]);l="";switch(f){case "top-left":l="ovwTL";break;case "top-right":l="ovwTR";break;case "bottom-left":l="ovwBL";break;case "bottom-right":l="ovwBR";break;default:l="ovwTL"}p.addClass(this.overviewMapDijit.domNode,l);p.addClass(this.domNode,l)}}},createOverviewMap:function(f){var l=
h.clone(this.config.overviewMap);l.map=this.map;void 0!==f&&(l.visible=f);var t=l.visible;l.visible=!1;l.maximizeButton="maximizeButton"in l?l.maximizeButton:!0;l.width=200;l.height=200;l.expandFactor=2;l.attachTo=this.config.overviewMap.attachTo;this._getBaseLayerMap().then(h.hitch(this,function(u){u&&u.layer&&"string"!==typeof u.layer?l.baseLayer=u.layer:l.baseLayer&&delete l.baseLayer;this.overviewMapDijit=new b(l);this._handles.push(e.after(this.overviewMapDijit,"show",h.hitch(this,"_afterOverviewShow")));
this._handles.push(e.after(this.overviewMapDijit,"hide",h.hitch(this,"_afterOverviewHide")));this.overviewMapDijit.startup();this._updateDomPosition(l.attachTo);this.domNode.appendChild(this.overviewMapDijit.domNode);this.a11y_init();this.a11y_initEvents();this.a11y_forLaunchpadThemeStyle();t&&this.overviewMapDijit.show()}))},_getOverviewPositionByAttach:function(f){var l={};"top-left"===f?(l.left=0,l.top=0):"top-right"===f?(l.right=0,l.top=0):"bottom-left"===f?(l.bottom=0,l.left=0):"bottom-right"===
f&&(l.bottom=0,l.right=0);window.isRTL&&(isFinite(l.left)?(l.right=l.left,delete l.left):(l.left=l.right,delete l.right));return l},_onMainMapBasemapChange:function(f){f.layer&&f.layer._basemapGalleryLayerType&&(this._destroyOverviewMap(),this.createOverviewMap(this._showDijit))},onPositionChange:function(f){this.position=f;this.config.overviewMap.attachTo||(this._destroyOverviewMap(),this.createOverviewMap(this._showDijit))},_destroyOverviewMap:function(){n.forEach(this._handles,function(f){f&&"function"===
typeof f.remove&&f.remove()});this.overviewMapDijit&&this.overviewMapDijit.destroy&&(this.overviewMapDijit.destroy(),this.overviewMapDijit=null,p.empty(this.domNode))},onReceiveData:function(f){"BasemapGallery"===f&&(this._destroyOverviewMap(),this.createOverviewMap(this._showDijit))},onOpen:function(){this._destroyOverviewMap();this.createOverviewMap(this._showDijit)},onClose:function(){this._destroyOverviewMap()},_afterOverviewHide:function(){this._showDijit=!1;c.set(this.domNode,{width:"auto",
height:"auto"})},_afterOverviewShow:function(){this._showDijit=!0;c.set(this.domNode,{width:this.overviewMapDijit.width+"px",height:this.overviewMapDijit.height+"px"})},_getBaseLayerMap:function(){var f=new k;this.config.overviewMap&&this.config.overviewMap.baseLayer?g.createBaseLayer(this.config.overviewMap.baseLayer,this.map,this).then(function(l){f.resolve(l)}):f.resolve(null);return f}});I.extend(d);return I})},"esri/dijit/OverviewMap":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/connect dojo/_base/html dojo/has dojo/dom-class dojo/dom-style dojo/dnd/Moveable dijit/_Widget dijit/_Templated ../map ../geometry/Point ../geometry/ScreenPoint ../layers/TiledMapServiceLayer ../layers/DynamicMapServiceLayer ../layers/VectorTileLayer ../layers/ArcGISTiledMapServiceLayer ../layers/ArcGISDynamicMapServiceLayer ../layers/ArcGISImageServiceLayer ../layers/RasterXLayer ../layers/OpenStreetMapLayer ../virtualearth/VETiledLayer ../kernel ../config ../domUtils dojo/text!./templates/OverviewMap.html dojo/i18n!../nls/jsapi".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F,y,D,L,E){I=I([b,m],{declaredClass:"esri.dijit.OverviewMap",widgetsInTemplate:!0,templateString:L,constructor:function(z,A){h.mixin(this,E.widgets.overviewMap);z=z||{};if(z.map){var G={};A&&(this._detached=!0,G=n.coords(A,!0));this.map=z.map;this.baseLayer=z.baseLayer;this.width=z.width||G.w||this.map.width/4;this.height=z.height||G.h||this.map.height/4;this.attachTo=z.attachTo||"top-right";this.expandFactor=z.expandFactor||2;this.color=z.color||
"#000000";this.opacity=z.opacity||.5;this.maximizeButton=!!z.maximizeButton;this.visible=!!z.visible;if(this.map.loaded)this._initialSetup();else var N=p.connect(this.map,"onLoad",this,function(){p.disconnect(N);N=null;this._initialSetup()});this._detached&&(this.visible=!0);this._maximized=!1}else console.error("esri.dijit.OverviewMap: "+this.NLS_noMap)},startup:function(){this.inherited(arguments);(!this.domNode.parentNode||9>q("ie")&&"DIV"!==this.domNode.parentNode.nodeName)&&this.map.container.appendChild(this.domNode);
this._detached?(e.set(this._body,"display","block"),e.set(this._controllerDiv,"display","none"),e.set(this._maximizerDiv,"display","none"),this.map.loaded?this._initialize():p.connect(this.map,"onLoad",this,this._initialize)):("bottom"===this.attachTo.split("-")[0]&&this.domNode.insertBefore(this._maximizerDiv,this._controllerDiv),this.maximizeButton||k.add(this._maximizerDiv,"ovwDisabledButton"),k.add(this.domNode,{"top-left":"ovwTL","top-right":"ovwTR","bottom-left":"ovwBL","bottom-right":"ovwBR"}[this.attachTo]),
k.add(this._controllerDiv,"ovwShow"),k.add(this._maximizerDiv,"ovwMaximize"),this.visible&&this.map.loaded&&(this.visible=!1,this.show()));e.set(this._focusDiv,"opacity",this.opacity)},destroy:function(){this._deactivate();this.overviewMap&&this.overviewMap.destroy();this.overviewMap=this.baseLayer=null;this.inherited(arguments)},resize:function(z){!z||0>=z.w||0>=z.h||this._resize(z.w,z.h)},show:function(){if(!this.visible){var z=this._controllerDiv;z.title=this.NLS_hide;k.remove(z,"ovwShow");k.add(z,
"ovwHide");D.show(this._body);D.show(this._maximizerDiv);this._initialize();this.visible=!0}},hide:function(){if(this.visible){var z=this._controllerDiv;z.title=this.NLS_show;k.remove(z,"ovwHide");k.add(z,"ovwShow");this._maximized&&this._maximizeHandler();D.hide(this._body);D.hide(this._maximizerDiv);this._deactivate();this.visible=!1}},_initialSetup:function(){if(this._mainMapLayer=this.map.getLayer(this.map.layerIds[0])){var z=this.baseLayer||this._mainMapLayer,A=this.map.spatialReference,G=z.spatialReference;
if(G.wkid!==A.wkid&&G.wkt!==A.wkt)console.error("esri.dijit.OverviewMap: "+this.NLS_invalidSR);else{A=z.declaredClass;if(z instanceof f)if(-1!==A.indexOf("VETiledLayer"))this.baseLayer=new B({resourceInfo:z.getResourceInfo(),culture:z.culture,mapStyle:z.mapStyle,bingMapsKey:z.bingMapsKey});else if(-1!==A.indexOf("OpenStreetMapLayer"))this.baseLayer=new C({tileServers:z.tileServers});else if(-1!==A.indexOf("WebTiledLayer")){A=z.initialExtent;G=z.fullExtent;var N=z.tileInfo;this.baseLayer=new z.constructor(z.urlTemplate,
{initialExtent:A&&new A.constructor(A.toJson()),fullExtent:G&&new G.constructor(G.toJson()),tileInfo:N&&new N.constructor(N.toJson()),tileServers:z.tileServers&&z.tileServers.slice(0)})}else this.baseLayer=new u(z.url,{resourceInfo:z.getResourceInfo()});else if(z instanceof l)-1!==A.indexOf("ArcGISImageServiceLayer")?this.baseLayer=new x(z.url):(this.baseLayer=new r(z.url),this.baseLayer.setImageFormat("png24"));else if(z instanceof v)this.baseLayer=new v(z.url);else if(z instanceof t)this.baseLayer=
new u("https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer",{});else{console.error("esri.dijit.OverviewMap: "+this.NLS_invalidType);return}!this._detached&&this.visible&&this._controllerDiv&&(z=function(){this.visible=!1;this.show()},this.baseLayer.loaded?z.call(this):p.connect(this.baseLayer,"onLoad",this,z))}}else console.error("esri.dijit.OverviewMap: "+this.NLS_noLayer)},_visibilityHandler:function(){this.visible?this.hide():this.show()},_maximizeHandler:function(){var z=
this._maximizerDiv;this._maximized?(z.title=this.NLS_maximize,k.remove(z,"ovwRestore"),k.add(z,"ovwMaximize"),this._resize(this.width,this.height)):(z.title=this.NLS_restore,k.remove(z,"ovwMaximize"),k.add(z,"ovwRestore"),this._resize(this.map.width,this.map.height));this._maximized=!this._maximized},_resize:function(z,A){e.set(this._body,{width:z+"px",height:A+"px"});z=y.defaults.map.panDuration;A=this.overviewMap;y.defaults.map.panDuration=0;A&&(A.resize(!0),A.centerAt(this._focusExtent.getCenter()));
y.defaults.map.panDuration=z},_initialize:function(){if(this.overviewMap)this._activate();else{var z;var A=9>q("ie")?this._body.firstChild:this._body.firstElementChild;this.overviewMap=z=new g(A,{slider:!1,showAttribution:!1,logo:!1,lods:this._overviewLods,wrapAround180:this.map.wrapAround180});p.connect(z,"onLoad",this,function(){this._map_resize_override=h.hitch(z,this._map_resize_override);z.disableMapNavigation();this._activate()});z.addLayer(this.baseLayer)}},_activate:function(){var z=this.map,
A=this.overviewMap;this._moveableHandle=new a(this._focusDiv);this._soeConnect=p.connect(z,"onExtentChange",this,this._syncOverviewMap);this._ufoConnect=p.connect(z,"onPan",this,this._updateFocus);this._oecConnect=p.connect(A,"onExtentChange",this,this._ovwExtentChangeHandler);this._opaConnect=p.connect(A,"onPan",this,this._ovwPanHandler);this._ozsConnect=p.connect(A,"onZoomStart",this,function(){D.hide(this._focusDiv)});this._ozeConnect=p.connect(A,"onZoomEnd",this,function(){D.show(this._focusDiv)});
this._omsConnect=p.connect(this._moveableHandle,"onMoveStop",this,this._moveStopHandler);this._syncOverviewMap(z.extent,null,null,null)},_deactivate:function(){p.disconnect(this._soeConnect);p.disconnect(this._ufoConnect);p.disconnect(this._oecConnect);p.disconnect(this._opaConnect);p.disconnect(this._ozsConnect);p.disconnect(this._ozeConnect);p.disconnect(this._omsConnect);this._moveableHandle&&(this._moveableHandle.destroy(),this._moveableHandle=null)},_syncOverviewMap:function(z,A,G,N){this._suspendPanHandling?
this._suspendPanHandling=!1:(this._focusExtent=z,this.overviewMap.setExtent(z.expand(this.expandFactor),!0))},_updateFocus:function(z){this._suspendPanHandling||(this._focusExtent=z,this._drawFocusDiv(z))},_drawFocusDiv:function(z,A){var G=this.overviewMap,N=G.toScreen(new c(z.xmin,z.ymax,G.spatialReference));G=G.toScreen(new c(z.xmax,z.ymin,G.spatialReference));z=G.x-N.x;G=G.y-N.y;var H=!0;z>this.overviewMap.width&&G>this.overviewMap.height&&(H=!1);e.set(this._focusDiv,{left:N.x+(A?A.x:0)+"px",top:N.y+
(A?A.y:0)+"px",width:z+"px",height:G+"px",display:H?"block":"none"})},_moveStopHandler:function(z){var A=this._moveableHandle.node.style;z=this._focusExtent;var G=this.overviewMap;A=G.toMap(new d(parseInt(A.left,10),parseInt(A.top,10)));var N=new c(z.xmin,z.ymax,G.spatialReference);this._focusExtent=z.offset(A.x-N.x,A.y-N.y);this._maximized?this._maximizeHandler():G.centerAt(this._focusExtent.getCenter());this._suspendPanHandling=!0;this.map.setExtent(this._focusExtent)},_ovwExtentChangeHandler:function(){this._drawFocusDiv(this._focusExtent)},
_ovwPanHandler:function(z,A){this._drawFocusDiv(this._focusExtent,A)}});q("extend-esri")&&h.setObject("dijit.OverviewMap",I,F);return I})},"esri/layers/VectorTileLayer":function(){(function(){var I=function(){try{var p=window.WebGLRenderingContext}catch(b){p=!1}try{for(var n=document.createElement("canvas"),q=["webgl","experimental-webgl","webkit-3d","moz-webgl"],k=null,e=0;e<q.length;++e){try{k=n.getContext(q[e])}catch(b){}if(k)break}var a=k}catch(b){a=!1}return p&&a?!0:!1}(),h=["dojo/_base/lang",
"dojo/has","dojo/Deferred","../sniff","./layer"];I&&h.push("./VectorTileLayerImpl");define(h,function(p,n,q,k,e,a){e=a?a:e.createSubclass({declaredClass:"esri.layers.VectorTileLayer",constructor:function(){var b=new q;b.reject(Error("esri.layers.VectorTileLayer is not supported"));b.promise.otherwise(p.hitch(this,function(m){this._errorHandler(m)}))}});e.ACCESS_TOKEN=null;e.supported=function(){return I};n("extend-esri")&&p.setObject("layers.VectorTileLayer",e,k);return e})})()},"esri/layers/RasterXLayer":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/connect dojo/_base/array dojo/_base/Deferred dojo/sniff dojo/dom-construct dojo/dom-style dojo/on dojox/gfx/matrix dojo/when dojo/DeferredList ../kernel ../config ../lang ../domUtils ../urlUtils ../graphic ../request ../renderers/ClassBreaksRenderer ../renderers/StretchRenderer ../renderers/UniqueValueRenderer ../renderers/ColormapRenderer ../renderers/ShadedReliefRenderer ../geometry/Extent ../SpatialReference ../geometry/Point ./Field ./TimeInfo ./MosaicRule ./DimensionalDefinition ./PixelBlock ./ImageServiceLayerMixin ./rasterLib/raster/rasterFactory ./rasterLib/raster/rasterProjectionHelper ./rasterLib/renderer/rasterRendererHelper ./rasterLib/tile/RasterTileInfo ./rasterLib/tile/RasterTileManager ./rasterLib/tile/RasterHandler ./layer".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F,y,D,L,E,z,A,G,N,H,M,T,U,W,Y,aa,ea,ma){var la=f.defaults.map.zoomDuration;I=I([ma],{declaredClass:"esri.layers.RasterXLayer",managedSuspension:!0,opacity:1,tileMode:!0,useWebGL:!0,drawMode:!0,_eventMap:{"raster-change":!0,"renderer-change":!0},_lastPopup:[],_rasterFieldPrefix:"Raster.",_cachedVariableStats:{},_cachedVariableHistogram:{},constructor:function(J,Q){Q=Q||{};this.tileMode=null!=Q.tileMode?Q.tileMode:this.tileMode;this.useWebGL=null!=
Q.useWebGL?Q.useWebGL:this.useWebGL;this.roaming=null!=Q.roaming?Q.roaming:this.roaming;this.drawMode=null!=Q.drawMode?Q.drawMode:this.drawMode;this.bandIds=Q.bandIds&&0<Q.bandIds.length?Q.bandIds:null;this.renderer=Q.renderer;this._customModules=Q.customModules;this.useMapTime=Q.useMapTime;if(Q.multidimensionalDefinition&&0<Q.multidimensionalDefinition.length){var R=new G;R.multidimensionalDefinition=Q.multidimensionalDefinition.map(function(V){return V.toJson?V:new N(V)});R.method=G.METHOD_NONE;
this.mosaicRule=R}this.infoTemplate=Q.infoTemplate;this.drawMode||(this._contextType=Q._contextType||Q.drawType);this._supportLegacyPropMethods=!1!==Q.legacySupport;this._rasterHandler=new ea({customModules:this._customModules});this._workInitPromise=this._rasterHandler.start();this.pixelData=null;this._initialize(J,Q);b(this,"load",h.hitch(this,function(){g(this._rasterHandler._connected||this._rasterHandler._connectionPromise,h.hitch(this,function(){this._rasterHandler.setLayer({layerId:this.id,
raster:{rasterInfo:this.raster.rasterInfo,rasterFunction:this.raster.rasterFunction&&this.raster.rasterFunction.toJson()},bandCount:this.raster.rasterInfo.bandCount});this.raster.rasterFunction&&this._rasterHandler.setRasterFunction({layerId:this.id,data:this.raster.rasterFunction.toJson(!0)});this._rasterRenderer&&this._rasterHandler.setRasterRenderer({layerId:this.id,data:this._rasterRenderer.toJson(!0)})}))}));this._animatePan2d=h.hitch(this,this._animatePan2d)},setOpacity:function(J){this.opacity!==
J&&(this.opacity=J,this.onOpacityChange(J))},onOpacityChange:function(){},onRendererChange:function(){},refresh:function(){if(this.loaded&&this._map)if(!this._canDraw()||10>k("ie"))this.onError(Error("Unable to refresh. This layer is not supported in the current browser."));else this._map&&this._extentChangeHandler(this._map.extent)},clear:function(J,Q,R,V){this._canDraw()&&(this.useWebGL||(R?this._context.clearRect(J,Q,R,V):this._context.clearRect(0,0,this._map.width,this._map.height)))},getContext:function(){return this._context},
onResume:function(){this.inherited(arguments);this._toggleTime();t.show(this._div);if("css-transforms"===this._map.navigationMode){var J=this._map.__visibleDelta;this._left=this._tdx=J.x;this._top=this._tdy=J.y;a.set(this._div,d._css.names.transform,d._css.translate(this._left,this._top))}this._displayTimer=this._displayTimer||setTimeout(h.hitch(this,function(){this._extentChangeHandler(this._map.extent,null,!0)}),0)},onSuspend:function(){this.inherited(arguments);this._fireUpdateEnd();this._toggleTime();
t.hide(this._div);clearTimeout(this._displayTimer);this._displayTimer=null},redraw:function(){this.useWebGL&&this._glSetting&&(this._glSetting.hasNewTexture=!1);var J=this.tileMode?this.tileManager.originalPixelData:this.originalPixelData;if(this.tileMode?J&&(J.src||J.texture):J)if(this.tileMode)if(this.useWebGL)this._updateAllTilesOnce(J);else{this.tileManager.tiles.forEach(function(R){R&&(R.update=null,R.completed=!1,R.processedPixelBlock=null,R.renderedPixelBlock=null)});J.processedPixelBlock=
null;var Q=this.raster.rasterFunction?this.raster.rasterFunction.read(J):{extent:J.extent,pixelBlock:J.src[this.tileManager.identifiers[0]]&&J.src[this.tileManager.identifiers[0]].pixelBlock};J.renderedPixelBlock=null;J=this._rasterRenderer?this._rasterRenderer.draw(Q):Q;this._drawOneFrame(J)}else this._supportLegacyPropMethods&&this.pixelFilter?this._setPixelData(this.originalPixelData):(J.processedPixelBlock=null,Q=this.raster.rasterFunction?this.raster.rasterFunction.read(J):{extent:J.extent,pixelBlock:J.src?
J.src[this.tileManager.identifiers[0]]&&J.src[this.tileManager.identifiers[0]].pixelBlock:J.pixelBlock},J.renderedPixelBlock=null,J=this._rasterRenderer?this._rasterRenderer.draw(Q):Q,this._drawOneFrame(J))},getCurrentResolution:function(){var J=this._map.extent;return new E((J.xmax-J.xmin)/this._map.width,(J.ymax-J.ymin)/this._map.height,J.spatialReference)},getCustomRasterFields:function(J){var Q=J?J.rasterAttributeTableFieldPrefix:this._rasterFieldPrefix,R={name:this._rasterFieldPrefix+"ServicePixelValue",
alias:"Pixel Value",domain:null,editable:!1,length:50,type:10.3<=this.version?"esriFieldTypeDouble":"esriFieldTypeString"};J=this.fields?h.clone(this.fields):[];J.push(R);(R=this.rasterAttributeTable&&this.rasterAttributeTable.fields)&&0<R.length&&(R=n.filter(R,function(V){return"esriFieldTypeOID"!==V.type&&"value"!==V.name.toLowerCase()}),R=n.map(R,function(V){var w=h.clone(V);w.name=Q+V.name;return w}),J=J.concat(R));return J},setRenderer:function(J,Q){if(this.loaded&&J){if(J.declaredClass&&-1<
J.declaredClass.indexOf("esri.layers.rasterLib")){this._rasterRenderer=J;this._rasterRenderer.bind({layer:this});var R=this.bandIds=J.bandIndex;this.raster&&this.raster.setFetchParameters({bandIds:R});this._params&&(this._params.bandIds=R&&0<R.length?R.join(","):null);this.renderer=this._getCommonRenderer(J)}else R=h.clone(J.toJson?J.toJson():J),"rasterStretch"===R.type&&(R.bandIndex=this.bandIds,R.bandIndex&&1<R.bandIndex.length||!R.bandIndex&&this.raster&&1<this.raster.rasterInfo.bandCount)&&(R.type=
"rgb"),this._rasterRenderer=W.create(R),this.renderer=J.declaredClass?J:this._getCommonRenderer(this._rasterRenderer),this._rasterRenderer.bind({layer:this});if(this._map){if(this.loaded&&this._rasterHandler._connected){var V=this._rasterHandler.setRasterRenderer({layerId:this.id,data:this._rasterRenderer.toJson(!0)});this._updateTilingEffects()}Q||(V?V.then(h.hitch(this,function(){this.redraw()})):this.redraw());this.onRendererChange()}}},setBandIds:function(J,Q){this.bandIds=J;this.raster&&this.raster.setFetchParameters({bandIds:J});
this._params&&(this._params.bandIds=J&&0<J.length?J.join(","):null);this.setRenderer(this.renderer,Q)},_setTime:function(J){J=J?J.toJson():null;this._params&&(this._params.time=J);this.raster.setFetchParameters({time:J});this.tileManager&&this.tileManager.tiles&&this.tileManager.resetTiles()},setInfoTemplate:function(J){this.infoTemplate=J;this._updateInfoTemplateFields(this.fields)},setMultiDimensionalDefinition:function(J,Q){var R=J&&J.multidimensionalDefinition;if(R&&this.loaded){var V=R&&R[0].variableName;
""===V&&(V=this._multidimensionalInfo.variables[0].name,R.forEach(function(K){K.variableName=V}));if("ImageService"===this.raster.sourceType){var w=this.raster._getAllDimensionDefinition(R,V);w.defChanged&&(J.multidimensionalDefinition=w.definition,this.setMosaicRule(J,!0))}this.raster.setFetchParameters({multidimensionalDefinition:R});this.tileManager&&this.tileManager.tiles&&this.tileManager.resetTiles();V&&this._updateRasterInfo(V);Q||this.refresh()}},_updateRasterInfo:function(J){var Q=this.raster.rasterInfo,
R=this.getHistograms(J);J=this.getStatistics(J);(new c([R,J])).then(h.hitch(this,function(V){V[0][0]&&(Q.histograms=V[0][1].histograms);V[1][0]&&(Q.statistics=V[1][1]);this.refresh()}))},_updateInfoTemplateFields:function(J){if(J&&!(1>J.length)&&this.infoTemplate&&this.infoTemplate.info&&this.infoTemplate.info.fieldInfos&&!(1>this.infoTemplate.info.fieldInfos.length)){var Q,R;var V=this.infoTemplate.info.fieldInfos;for(Q=0;Q<J.length;Q++){var w=J[Q];for(R=0;R<V.length;R++)if(V[R].fieldName.toLowerCase()===
w.name.toLowerCase()&&V[R].fieldName!==w.name){V[R].fieldName=w.name;break}}}},getPixelData:function(J){return this.tileMode?J?this.tileManager.originalPixelData.src&&this.tileManager.originalPixelData.src[this.tileManager.identifiers[0]]:null:this.inherited(arguments)},fetchPopupFromTiles:function(J){var Q=new q;this.identify(J.geometry).then(function(R){var V=R.pixelValue;this.hasStdTime()&&V&&V.length&&null!=V[0]&&(V=V.map(function(O){return this.getStdTimeValue(O)}.bind(this)).join(", "));if(V){R=
{ObjectId:0,"Raster.ServicePixelValue":V};var w=this.rasterAttributeTable&&this.rasterAttributeTable.features;if(w&&0<w.length&&(w=n.filter(w,function(O){if(O&&O.attributes)return O.attributes.hasOwnProperty("Value")?O.attributes.Value==V:O.attributes.VALUE==V}),0<w.length&&(w=h.clone(w[0]))))for(var K in w.attributes)w.attributes.hasOwnProperty(K)&&(R[this._rasterFieldPrefix+K]=w.attributes[K]);K=new r(new D(this.projectedFullExtent||this.fullExtent),null,R);K.setInfoTemplate(this.infoTemplate);
K._layer=this;this._lastPopup=[K];Q.resolve([K])}else this._lastPopup=[],Q.resolve()}.bind(this),function(R){this._lastPopup=[];Q.resolve(R)});return Q},getPopupFromTiles:function(){return this._lastPopup},identify:function(J,Q){return this.raster?this.raster.identify(J):(J=new q,J.reject("layer must be initialized to identify"),J.promise)},_getCommonRenderer:function(J){switch(J.rendererName){case "RGB":case "Stretch":return new C(J.toCommonRendererJson());case "UniqueValue":return new B(J.toCommonRendererJson());
case "ClassBreaks":return new v(J.toCommonRendererJson());case "Colormap":return new F(J.toCommonRendererJson());case "ShadedRelief":return new y(J.toCommonRendererJson())}},_getProjectedFullExtent:function(J){return this.raster.getProjectedFullExtent(J).then(h.hitch(this,function(Q){this.projectedFullExtent=Q}))},_initialize:function(J,Q){Q=Q||{};this._supportLegacyPropMethods&&this.constructor._onMap&&(this.constructor._onMap["rendering-change"]={method:"onRenderingChange"},this.constructor._onMap["mosaic-rule-change"]=
{method:"onMosaicRuleChange"},this.constructor._onMap["spatial-reference-change"]={method:"onSpatialReferenceChange"});this.raster={};var R=Q.raster?Q.raster.url:J;R&&-1<R.toLowerCase().indexOf("/imageserver")&&this._supportLegacyPropMethods&&this._addLegacySupport(R,Q);var V=h.hitch(this,function(){this.loaded=!0;this.mosaicRule&&this.mosaicRule.multidimensionalDefinition&&0<this.mosaicRule.multidimensionalDefinition.length&&this.setMultiDimensionalDefinition(this.mosaicRule,!0);this.raster._setRasterHandler(this._rasterHandler);
this.onLoad(this);var w=this._loadCallback;w&&(delete this._loadCallback,w(this))});(J?T.create(h.mixin({url:J},Q)):Q.raster&&Q.raster.open()).then(h.hitch(this,function(w){if(w){this.raster=w;var K=this._getSourceImageServiceRaster();this.url||(this.url=K&&K.url);this.url&&(this._url=u.urlToObject(J));var O=Q.minScale,P=Q.maxScale,S=w.tileInfo&&"Raster"===w.tileInfo.tileType;null==P&&(P=S&&Q.zoomFactor?w.tileInfo.lods[w.tileInfo.lods.length-1].scale/Q.zoomFactor:this.maxScale);null==O&&(O=S&&Q.zoomFactor?
w.tileInfo.lods[0].scale*Q.zoomFactor:this.minScale);K&&"ImageService"===K.sourceType&&this._supportLegacyPropMethods&&this._addGeneralProperties(J,Q);this.initialExtent=this.fullExtent=this.extent=this.raster.rasterInfo.extent;this.spatialReference=this.extent.spatialReference;this.timeInfo=this.raster.rasterInfo.timeInfo?new A(this.raster.rasterInfo.timeInfo):null;this.rasterAttributeTable=this.raster.rasterInfo.vat;this._multidimensionalInfo=this.raster.rasterInfo.multidimensionalInfo;this.rasterAttributeTable&&
(this._rasterAttributeTableFields=this.rasterAttributeTable.fields);this.mosaicRule&&this.raster.setFetchParameters({multidimensionalDefinition:this.mosaicRule.multidimensionalDefinition});this._multidimensionalInfo&&(this._getDefaultMultidimensionalDefinition(this._multidimensionalInfo,!0,!0),this.mosaicRule||(this.mosaicRule=this.defaultMosaicRule,this.raster.setFetchParameters({multidimensionalDefinition:this._defaultMultidimensionalDefinition})),this.raster.defaultMultidimensionalDefinition=this._defaultMultidimensionalDefinition);
null==O||this._hasMin||this.setMinScale(O);null==P||this._hasMax||this.setMaxScale(P);this._workInitPromise?this._workInitPromise.then(V,V):V()}else console.error("cannot create rasterx layer as the raster data source cannot be opened")}),this._errorHandler)},_getSourceImageServiceRaster:function(){var J=this.raster&&"Function"===this.raster.sourceType?1===this.raster.getMemberRasters().length?this.raster.getMemberRasters()[0]:null:this.raster;if(J&&"ImageService"===J.sourceType)return J},_addLegacySupport:function(J,
Q){this._url=u.urlToObject(J);Q=Q||{};this.format=(J=Q.imageServiceParameters)&&J.format;this.compressionTolerance=J&&J.compressionTolerance?J.compressionTolerance:.01;this.interpolation=J?J.interpolation:null;this.compressionQuality=J?J.compressionQuality:null;this.bandIds=J&&J.bandIds||Q&&Q.bandIds||null;this.mosaicRule||(this.mosaicRule=J?J.mosaicRule:null);this.renderingRule||(this.renderingRule=J?J.renderingRule:null);this.useMapDimensionValue=Q.hasOwnProperty("useMapDimensionValue")?!!Q.useMapDimensionValue:
!0;this.hasImageFilter=Q.hasImageFilter;this.activeMapDimensions=Q.activeMapDimensions;this._params=h.mixin({},this._url.query,{f:"image",interpolation:this.interpolation,format:this.format,compressionQuality:this.compressionQuality,bandIds:this.bandIds?this.bandIds.join(","):null},J?J.toJson():{});this.pixelFilter=Q.pixelFilter;this.originalPixelData=this.pixelData=null;this._queryVisibleRastersHandler=h.hitch(this,this._queryVisibleRastersHandler);this._useRenderingRuleAttributeTable=!1;this._rasterFunctionTemplateInfos=
{};this._customRenderingRuleId={};this._setDefaultFilter=function(){};var R={setInterpolation:"interpolation",setCompressionQuality:"compressionQuality",setCompressionTolerance:"compressionTolerance",setBandIds:"bandIds",setDefaultBandIds:"bandIds",setMosaicRule:"mosaicRule",setRenderingRule:"renderingRule",setImageFormat:"format"},V,w=new M;Object.keys(R).forEach(h.hitch(this,function(K){this[K]=h.hitch(this,function(O,P){V={};V[R[K]]=O;this.raster&&(this.raster.setFetchParameters(V),w[K].bind(this)(O,
P))})}));this.setDisableClientCaching=function(K){w.setDisableClientCaching.bind(this)(K);var O=this._getSourceImageServiceRaster();O?O.disableClientCaching=K:null}.bind(this);this.setDefinitionExpression=w.setDefinitionExpression.bind(this);this.setUseMapTime=w.setUseMapTime.bind(this);this._toggleTime=w._toggleTime.bind(this);this._onTimeExtentChangeHandler=w._onTimeExtentChangeHandler.bind(this);this.setPixelFilter=w.setPixelFilter.bind(this);this.getHistograms=w.getHistograms.bind(this);this.getRasterFunctionInfos=
w.getRasterFunctionInfos.bind(this);this.getKeyProperties=w.getKeyProperties.bind(this);this.getRasterAttributeTable=w.getRasterAttributeTable.bind(this);this.getRenderingRuleServiceInfo=w.getRenderingRuleServiceInfo.bind(this);this._getRenderingRuleId=w._getRenderingRuleId.bind(this);this._isRenderingRuleAProcessingTemplate=w._isRenderingRuleAProcessingTemplate.bind(this);this.handleSpatialReferenceChange=w.handleSpatialReferenceChange.bind(this);this.onRenderingChange=this.onRenderingChange||function(){};
this.onSpatialReferenceChange=this.onSpatialReferenceChange||function(){};this.onMosaicRuleChange=this.onMosaicRuleChange||function(K){};this.setRasterRenderer=this.setRenderer;this.getMultidimensionalInfo=w.getMultidimensionalInfo.bind(this);this.getColormap=w.getColormap.bind(this);this.getRenderingRuleColormap=w.getRenderingRuleColormap.bind(this);this.getDefaultMultidimensionalDefinition=w.getDefaultMultidimensionalDefinition.bind(this);this._getDefaultMultidimensionalDefinition=w._getDefaultMultidimensionalDefinition.bind(this);
this._getDefaultDimensionValue=w._getDefaultDimensionValue.bind(this);this.getStatistics=w.getStatistics.bind(this)},_addGeneralProperties:function(){var J=this._getSourceImageServiceRaster();if(J){var Q=["minScale","maxScale","tileInfo"];Object.keys(J.serviceInfo).forEach(function(w){null==this[w]&&-1===Q.indexOf(w)&&(this[w]=J.serviceInfo[w])}.bind(this));this.pixelSizeX=parseFloat(this.pixelSizeX);this.pixelSizeY=parseFloat(this.pixelSizeY);this.bands=J.rasterInfo.statistics;var R,V=[];this.fields=
this.fields||[];for(R=0;R<this.fields.length;R++)V.push(new z(this.fields[R]));this.fields=V;this.version=this.currentVersion;this.defaultMosaicRule=J.serviceInfo.defaultMosaicRule}},setDefaultRenderer:function(){if(this.loaded&&this._canvas&&!this.pixelFilter){var J=W.createDefaultRenderer(this);if(null!=J){var Q=this.mosaicRule&&this.mosaicRule.multidimensionalDefinition&&0<this.mosaicRule.multidimensionalDefinition.length;if(this._multidimensionalInfo&&Q&&"Stretch"===J.rendererName){var R=this.mosaicRule.multidimensionalDefinition[0].variableName;
(Q=this._multidimensionalInfo.variables.filter(function(V){return V.name===R})[0])&&Q.histograms&&Q.histograms.length&&(J.histograms=Q.histograms,6===J.stretchType&&(J.dra=!1));Q&&Q.statistics&&Q.statistics.length&&(J.statistics=Q.statistics.map(function(V){return[V.min,V.max,V.mean,V.stddev||V.standardDeviation]}),6!==J.stretchType&&(J.dra=!1))}this.setRenderer(J,!0)}}},setDefaultInterpolation:function(){if(this.loaded&&this._canvas){var J=this.raster.serviceInfo&&this.raster.serviceInfo.defaultResamplingMethod;
if(J)switch(J.toLowerCase()){case "bilinear":this.interpolation="RSP_BilinearInterpolation";break;case "cubic":this.interpolation="RSP_CubicConvolution";break;case "majority":this.interpolation="RSP_Majority";break;case "nearest":this.interpolation="RSP_NearestNeighbor"}else{J=this.raster.dataType&&this.raster.dataType.toLowerCase();var Q=!!this.raster.rasterInfo.colormap;this.raster.rasterInfo.vat||Q||"thematic"===J||"StdTime"===J?"RSP_NearestNeighbor":"RSP_BilinearInterpolation"}}},_toggleTime:function(){},
_updateTilingEffects:function(){(this._hasTilingEffects=this._rasterRenderer&&this._rasterRenderer.hasTilingEffects()||this.raster&&this.raster.rasterFunction&&this.raster.rasterFunction.hasTilingEffects())&&this._map&&this.tileMode&&this.useWebGL&&this.tileManager&&(this._hasTilingEffects=!1)},_setMap:function(J,Q){this.inherited(arguments);J.spatialReference&&(J.spatialReference.ics||J.spatialReference.icsId)&&(this.roaming=this.useWebGL=this.tileMode=!1);if(this.tileMode){this.virtualTileInfo=
new Y(null,{refTileInfo:J.tileInfo,spatialReference:J.spatialReference,extent:this.raster.rasterInfo.extent});var R=this.raster.tileInfo&&(-1<["Elevation","Raster"].indexOf(this.raster.tileInfo.tileType)||3===this.raster.rasterInfo.bandCount&&"U8"===this.raster.rasterInfo.pixelType)?this.raster.tileInfo:this.virtualTileInfo;this._tileParams=this._tileParams||{};this._tileParams.size=R.cols+","+R.rows;this.tileManager=new aa({tileInfo:R,layer:this,mapSR:J.spatialReference})}this._dragOrigin={x:0,y:0};
R=this._div=e.create("div",null,Q);var V={width:J.width+"px",height:J.height+"px",position:"absolute"};"css-transforms"===J.navigationMode?this.roaming&&this.tileMode&&this.useWebGL||(V[d._css.names.transform]=d._css.translate(J.__visibleDelta.x,J.__visibleDelta.y),this._left=J.__visibleDelta.x,this._top=J.__visibleDelta.y):this._left=this._top=0;a.set(R,V);this._canvas=e.create("canvas",{width:J.width+"px",height:J.height+"px",style:"position: absolute;"},R);l.isDefined(this.opacity)&&a.set(R,"opacity",
this.opacity);this._contextType?(this._context=this._canvas.getContext(this._contextType,null),this.useWebGL=this._context instanceof WebGLRenderingContext):this.useWebGL?(this._context=this._canvas.getContext("webgl",null)||this._canvas.getContext("experimental-webgl",null),this.drawMode=!1):(this._context=this._canvas.getContext("2d"),this.drawMode=!0);this._context||console.error("Unable to create the context. This browser might not support \x3ccanvas\x3e elements.");this.useWebGL&&(J.acquireWebGLContext(this),
this._glSetting={gl:this._context,branchCount:this.raster.rasterFunction?this.raster.rasterFunction.branchCount:0,pingpong:null,branches:null,drawMesh:this._drawMesh,programUniforms:{}});this.raster.rasterFunction&&(this._updateTilingEffects(),this.raster.setProcessingContext({layer:this}));this.setRenderer(this.renderer,!0);this._rasterRenderer||this.setDefaultRenderer();this.interpolation||this.setDefaultInterpolation();this._mapWidth=J.width;this._mapHeight=J.height;this._connects=[];this._connects.push(p.connect(J,
"onPan",this,this._panHandler));this._connects.push(p.connect(J,"onPanEnd",this,this._panEndHandler));"css-transforms"===J.navigationMode?this._connects.push(p.connect(J,"onScale",this,this._onScaleHandler)):(this._connects.push(p.connect(J,"onZoom",this,this._onZoomHandler)),this._connects.push(p.connect(J,"onZoomEnd",this,this._onZoomEndHandler)));this._connects.push(p.connect(J,"onResize",this,this._onResizeHandler));this._connects.push(p.connect(J,"onExtentChange",this,this._extentChangeHandler));
this._connects.push(p.connect(this,"onVisibilityChange",this,this._visibilityChangeHandler));this._connects.push(p.connect(this,"onOpacityChange",this,this._opacityChangeHandler));this._startRect={left:0,top:0,width:J.width,height:J.height};this.evaluateSuspension();if(this.suspended&&!J.loaded)var w=p.connect(J,"onLoad",this,function(){p.disconnect(w);w=null;this.evaluateSuspension()});return R},_unsetMap:function(J,Q){this.useWebGL&&J.releaseWebGLContext(this);n.forEach(this._connects,p.disconnect,
this);var R=this._div;R&&(Q.removeChild(R),e.destroy(R));this._map=this._canvas=this._context=this.data=this._connects=null;clearTimeout(this._displayTimer);this._displayTimer=null;this.inherited(arguments)},_canDraw:function(){return!!(this._map&&this._canvas&&this._context)},_requestDataErrorHandler:function(J){"CancelError"!==J.name&&(this.clear(),this.onError(J))},_clonePixelData:function(J){if(null===J||J.texture)return J;var Q={};J.extent&&(Q.extent=h.clone(J.extent));var R=J.pixelBlock;null!=
R&&(Q.pixelBlock=R.clone());Q.texture=J.texture;return Q},_setPixelData:function(J){if(J){J=this._clonePixelData(J);this.pixelFilter&&(this.pixelFilter.filter?(this.pixelFilter.renderTexture=!0,this.pixelFilter.filter(J)):this.pixelFilter(J));this.pixelData=J;if(this._rasterReadPromise&&this._rasterReadPromise.isCanceled())return;this._drawPixelData()}this._rasterReadPromise=null},_requestData:function(J,Q,R){this._rasterReadPromise&&this._rasterReadPromise.cancel();J=h.clone(J)._normalize(!0);this._rasterReadPromise=
this.raster.read({extent:J,width:this._map.width,height:this._map.height});this._rasterReadPromise.then(h.hitch(this,function(V){this._rasterReadPromise&&this._rasterReadPromise.isCanceled()||(this.originalPixelData=V&&V.srcData?{extent:V.extent,src:V.srcData}:V,this.useWebGL&&this._glSetting&&(this._glSetting.hasNewTexture=!0),this._setPixelData(V))}),h.hitch(this,this._requestDataErrorHandler));return this._rasterReadPromise},_drawPixelData:function(J){a.set(this._canvas,{left:"0px",top:"0px",width:this._map.width+
"px",height:this._map.height+"px"});this._startRect={left:0,top:0,width:this._map.width,height:this._map.height};this.drawMode||"css-transforms"!==this._map.navigationMode||(this._tdx=this._left,this._tdy=this._top,this._multiply=null,a.set(this._div,d._css.names.transform,d._css.translate(this._left,this._top)),a.set(this._canvas,d._css.names.transform,d._css.translate(-this._left,-this._top)),this._dragOrigin={x:0,y:0});this.useWebGL&&this._rasterRenderer&&this._rasterRenderer.draw(this.pixelData);
if(this._canDraw()&&this.drawMode&&this.drawMode&&(J=J||this.pixelData)&&J.pixelBlock){var Q=this.pixelFilter?this.pixelData:this._rasterRenderer?this._rasterRenderer.draw(J):J;J=Q.pixelBlock;var R=this._context,V=R.createImageData(J.width,J.height);V.data.set(J.getAsRGBA());Q=Q.extent;var w=this._map.extent,K=this.getCurrentResolution(),O=0,P=0;Math.abs(Q.xmin-w.xmin)>K.x&&(O=Math.round((Q.xmin-w.xmin)/K.x));Math.abs(w.ymax-Q.ymax)>K.y&&(P=Math.round((w.ymax-Q.ymax)/K.y));"css-transforms"===this._map.navigationMode?
(this._tdx=this._left,this._tdy=this._top,this._multiply=null,a.set(this._div,d._css.names.transform,d._css.translate(this._left,this._top)),a.set(this._canvas,d._css.names.transform,d._css.translate(-this._left,-this._top))):(a.set(this._div,{left:"0px",top:"0px",width:this._map.width+"px",height:this._map.height+"px"}),a.set(this._canvas,{left:"0px",top:"0px",width:this._map.width+"px",height:this._map.height+"px"}));this._dragOrigin={x:0,y:0};this.tileMode?this.clear(O,P,J.width,J.height):this.clear();
R.putImageData(V,O,P,0,0,J.width,J.height);this._fireUpdateEnd()}},hasStdTime:function(){if(!this.hasMultidimensions||"StdTime"!==this.raster.dataType)return!1;var J=this.mosaicRule&&this.mosaicRule.multidimensionalDefinition,Q=J&&J.length?J[0].variableName:this._defaultMultidimensionalDefinition[0].variableName;return this.raster.rasterInfo.multidimensionalInfo.variables.some(function(R){if(R.name===Q)return R.dimensions.some(function(V){return"StdTime"===V.name})})},getStdTimeValue:function(J){return(new Date(864E5*
(J-25569))).toString()},_animatePan2d:function(){this._oldDelta&&this._delta.x===this._oldDelta.x&&this._delta.y===this._oldDelta.y||(this.tileManager.updateTile(this.tileManager.originalPixelData,!0),this._oldDelta={x:this._delta.x,y:this._delta.y});this._roamingAnimation&&this.tileMode&&this.useWebGL&&(this._roamingAnimation=requestAnimationFrame(this._animatePan2d))},_cancelAnimation:function(){this._animation&&(cancelAnimationFrame(this._animation),this._animation=null)},_updateAllTilesOnce:function(J,
Q){return this.tileManager.updateTile(J,!0).then(h.hitch(this,function(R){(this._hasTilingEffects||this.useWebGL||Q)&&this._drawOneFrame(R)}))},_drawOneFrame:function(J,Q){if(!(this.suspended||!this._map||this.tileMode&&!this._drawTile||(this.tileMode&&this.useWebGL&&this.tileManager.originalPixelData.isEmpty&&this._context.clear(this._context.COLOR_BUFFER_BIT),this.tileMode&&this.useWebGL&&this.tileManager.xformSetting&&this.tileManager.xformSetting.requireProjection&&!this.tileManager.xformSetting.gridConfig))){if(!this._resetCss||
this._levelChange)this._levelChange=!1,this._resetDrawing();if(J&&(J.renderedPixelBlock||J.pixelBlock)&&this._canDraw()&&this.drawMode){Q=J.extent;var R=this._map.extent;if(!this._isExtentOutSide(Q,R)){var V=J.pixelBlock||J.renderedPixelBlock,w=this._context,K=w.createImageData(V.width,V.height);K.data.set((J.renderedPixelBlock||J.pixelBlock).getAsRGBA());J=this.getCurrentResolution();var O=0,P=0;Math.abs(Q.xmin-R.xmin)>J.x&&(O=Math.round((Q.xmin-R.xmin)/J.x));Math.abs(R.ymax-Q.ymax)>J.y&&(P=Math.round((R.ymax-
Q.ymax)/J.y));w.putImageData(K,O,P,0,0,V.width,V.height)}}else this._fireUpdateEnd()}},_isExtentOutSide:function(J,Q){return J.xmax<=Q.xmin||J.xmin>=Q.xmax||J.ymax<=Q.ymin||J.ymin>=Q.ymax},_resetDrawing:function(){this._resetCss=!0;if(!this.useWebGL)if(this._multiply||this._startRect.width!==this._map.width||this._startRect.height!==this._map.height)this.clear();else{var J=this._context.getImageData(0,0,this._map.width,this._map.height);this.clear();this._context.putImageData(J,this._startRect.left,
this._startRect.top)}this._dragOrigin={x:0,y:0};this._startRect={left:0,top:0,width:this._map.width,height:this._map.height};a.set(this._canvas,{left:"0px",top:"0px",width:this._map.width+"px",height:this._map.height+"px"});"css-transforms"===this._map.navigationMode?(this.roaming&&this.tileMode&&this.useWebGL&&(this._delta=null),this._tdx=this._left,this._tdy=this._top,this._multiply=null,a.set(this._div,d._css.names.transform,d._css.translate(this._left,this._top)),a.set(this._canvas,d._css.names.transform,
d._css.translate(-this._left,-this._top))):(a.set(this._div,{left:"0px",top:"0px",width:this._map.width+"px",height:this._map.height+"px"}),a.set(this._canvas,{left:"0px",top:"0px",width:this._map.width+"px",height:this._map.height+"px"}))},_drawAllFrames:function(){if(!this.suspended&&this._map&&(!this.tileMode||this._drawTile))if(this._resetCss){var J=this._frames,Q=0,R;for(R=0;R<J.length;R++)if(J[R].completed)Q++;else if(J[R].tileData.renderedPixelBlock){J[R].completed=!0;var V=J[R].tileData;break}else if(J[R].tileData._fetched&&
!J[R].tileData.src){J[R].completed=!0;break}else if(J[R].tileData.update&&J[R].tileData.update.isFulfilled()&&!J[R].tileData.renderedPixelBlock){J[R].completed=!0;break}else J[R].tileData.fetch&&(!0===J[R].tileData.fetch||J[R].tileData.fetch.isCanceled()||J[R].tileData.fetch.isRejected())?(J[R].completed=!0,Q++):this._isExtentOutSide(J[R].tileData.extent,this._map.extent)&&(J[R].completed=!0,Q++);if(V){Q++;var w=V.extent,K=this._map.extent,O=this.getCurrentResolution(),P=R=0;Math.abs(w.xmin-K.xmin)>
O.x&&(R=Math.round((w.xmin-K.xmin)/O.x));Math.abs(K.ymax-w.ymax)>O.y&&(P=Math.round((K.ymax-w.ymax)/O.y));V.renderedPixelBlock?(w=V.renderedPixelBlock,K=this._context.createImageData(w.width,w.height),K.data.set(V.renderedPixelBlock.getAsRGBA()),this._context.putImageData(K,R,P,0,0,w.width,w.height)):this.clear(R,P,V.width,V.height)}Q===J.length?(this._animation=null,this._fireUpdateEnd()):this._animation=requestAnimationFrame(h.hitch(this,this._drawAllFrames))}else this._resetDrawing(),this._animation=
requestAnimationFrame(h.hitch(this,this._drawAllFrames))},_fetchTiles:function(J,Q){if(!this.suspended&&this.loaded){this._cancelAnimation();var R=this.tileManager,V=!(R.xformSetting.requireProjection&&R.xformSetting.requirePE)||U.load();g(V,h.hitch(this,function(){R.updateExtent(J,this.getCurrentResolution());this._resetCss=!1;R.fetchTiles(Q);Q&&(this._hasTilingEffects||this.useWebGL?this.useWebGL&&0<R.tiles.length?(R.fillupTiles(),R._validateRawPixelBlocks(R.originalPixelData)?this._updateAllTilesOnce(R.originalPixelData):
R.originalPixelData&&R.originalPixelData.src&&R.tiles.some(function(w){return w.updateCompleted})&&this._context.clear(this._context.COLOR_BUFFER_BIT),R.tiles.forEach(h.hitch(this,function(w){w.update&&!w.updateCompleted&&w.update.then(function(K){w.updateCompleted||(w.updateCompleted=!0);(this._hasTilingEffects||this.useWebGL)&&this._drawOneFrame(K)}.bind(this))}))):this._hasTilingEffects&&g(R.fetchAllCompleted.isResolved()||R.fetchAllCompleted,h.hitch(this,function(){this._updateAllTilesOnce(R.originalPixelData)})):
(this._frames=R.tiles.map(function(w){return{completed:!1,tileData:w}}),this._drawAllFrames()))}))}},_redrawTiles:function(){this._fetchTiles(this._map.extent,!0)},_panHandler:function(J,Q){this._drawTile=!1;"css-transforms"===this._map.navigationMode?this.roaming&&this.tileMode&&this.useWebGL?(this._delta=Q,!this._roamingAnimation&&this.tileMode&&(this._roamingAnimation=requestAnimationFrame(this._animatePan2d))):(this._left=this._map.__visibleDelta.x+Q.x,this._top=this._map.__visibleDelta.y+Q.y,
a.set(this._div,d._css.names.transform,d._css.translate(this._left,this._top))):a.set(this._div,{left:this._startRect.left+Q.x+"px",top:this._startRect.top+Q.y+"px"});this.tileMode&&this._fetchTiles(J)},_panEndHandler:function(J,Q){Q&&(this._startRect.left+=Q.x,this._startRect.top+=Q.y);this.oldData=null;this._roamingAnimation&&(cancelAnimationFrame(this._roamingAnimation),this._oldDelta=this._roamingAnimation=null)},_onScaleHandler:function(J,Q){var R={},V=d._css.names;a.set(this._canvas,V.transition,
Q?"none":V.transformName+" "+la+"ms ease");this._matrix=J;J=this._multiply?m.multiply(J,this._multiply):J;if(this._tdx||this._tdy)J=m.multiply(J,{xx:1,xy:0,yx:0,yy:1,dx:-this._tdx,dy:-this._tdy});R[V.transform]=d._css.matrix(J);a.set(this._canvas,R)},_onZoomHandler:function(J,Q,R){var V=this._startRect;J=V.width*Q;Q*=V.height;var w=V.left-(J-V.width)*(R.x-V.left)/V.width;R=V.top-(Q-V.height)*(R.y-V.top)/V.height;a.set(this._canvas,{left:w+"px",top:R+"px",width:J+"px",height:Q+"px"});this._endRect=
{left:w,top:R,width:J,height:Q}},_onZoomEndHandler:function(){this._endRect&&(this._startRect=this._endRect)},_onResizeHandler:function(J,Q,R){a.set(this._div,{width:Q+"px",height:R+"px"});a.set(this._canvas,{width:Q+"px",height:R+"px"});this._startRect.width=this._canvas.width=Q;this._startRect.height=this._canvas.height=R;this.useWebGL&&this._glSetting&&(this._glSetting.pingpong=null,this._glSetting.branches=null)},_extentChangeHandler:function(J,Q,R,V){if(this.loaded&&!this.suspended&&(!Q||0!==
Q.x||0!==Q.y||R)){this._drawTile=!0;"css-transforms"===this._map.navigationMode&&(Q&&(this._dragOrigin.x+=Q.x,this._dragOrigin.y+=Q.y),this._left=this._map.__visibleDelta.x,this._top=this._map.__visibleDelta.y,this.roaming&&this.tileMode&&this.useWebGL||R||a.set(this._div,d._css.names.transform,d._css.translate(this._left,this._top)),R&&(a.set(this._canvas,d._css.names.transition,"none"),this._multiply=this._multiply?m.multiply(this._matrix,this._multiply):this._matrix,this._levelChange=!0));this._fireUpdateStart();
var w=this._map;Q=this.raster.rasterFunction?this.raster.getMemberRasters().map(function(O){return O._rasterId}):[this.raster._rasterId];var K={};this.tileMode?((this.roaming||this.useWebGL)&&this.tileMode||(Q.forEach(function(O,P){K[O]={extent:w.extent,pixelBlock:new H({width:w.width,height:w.height,pixels:[],pixelType:"",mask:null,statistics:[]})}}),this.tileManager.originalPixelData={extent:w.extent,src:K}),this.projectedFullExtent?this._fetchTiles(J,!0):this._getProjectedFullExtent(w.spatialReference).then(h.hitch(this,
function(){this._fetchTiles(J,!0)}))):this._requestData(w.extent,w.width,w.height)}},_visibilityChangeHandler:function(J){J?t.show(this._div):t.hide(this._div)},_opacityChangeHandler:function(J){a.set(this._div,"opacity",J)}});k("extend-esri")&&h.setObject("layers.RasterXLayer",I,d);return I})},"esri/layers/rasterLib/raster/rasterFactory":function(){define("require dojo/_base/declare dojo/_base/lang dojo/_base/Deferred dojo/_base/array dojo/_base/config dojo/sniff dojo/when ../../../kernel ../../../Evented ../../../request ../../../deferredUtils ../../../urlUtils ./ImageServiceRaster ./TileServiceRaster ./TileRaster ./FunctionRaster".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u){I={customDrivers:[],create:function(r){if(r){if(r.url){var x=d.urlToObject(r.url);var v=x.path;var C=x.query}x=r.serviceInfo;var B=r.rasterFxArgs||{},F=new n,y=p.hitch(this,function(z){console.error(z);this._trycustomDrivers(p.mixin({url:v},r),0,F)});if(v)if(-1===v.toLowerCase().indexOf("imageserver")&&-1===v.toLowerCase().indexOf("mapserver")){var D=new t(p.mixin({},r,{url:v}));r.rasterFx&&(D=new u({rasterFx:r.rasterFx,rasterFxArgs:p.mixin({},B,{raster:D})}));
var L=D}else{L=new n;x=x||this._getServiceInfo(v,C);var E=p.hitch(this,function(z){z.bandCount?D=z.capabilities&&-1<z.capabilities.toLowerCase().indexOf("tileonly")?new l(p.mixin({},{serviceInfo:z},C,r,{url:v})):new f(p.mixin({},{serviceInfo:z},C,r,{url:v})):z.tileInfo&&(D=new l(p.mixin({},{serviceInfo:z},C,this._options,{url:v})));r.rasterFx&&(D=new u({rasterFx:r.rasterFx,rasterFxArgs:p.mixin({},B,{raster:D})}));L.resolve(D)});a(x,E,y)}else L=D=new u({rasterFx:r.rasterFx,rasterFxArgs:p.mixin({},
B,{raster:D})});a(L,p.hitch(this,function(z){z?z.open().then(p.hitch(this,function(A){F.resolve(z)}),y):y(Error("There is no raster to open"))}),y);return F.promise}},register:function(r){this.customDrivers=this.customDrivers||[];0<this.customDrivers.filter(function(x){return x.sourceType===r.prototype.sourceType}).length||this.customDrivers.push(r)},_trycustomDrivers:function(r,x,v){v=v||new n;var C=this.customDrivers[x];if(C){var B=new C(r);B.open().then(p.hitch(this,function(F){v.resolve(B)}),
p.hitch(this,function(F){this._trycustomDrivers(r,x+1,v)}))}else v.reject("cannot load layer "+(r&&r.url||""));return v.promise},_getServiceInfo:function(r,x){x=x||{};var v=x.bandIds;x=x.renderingRule;var C=new n(c._dfdCanceller),B={f:"json"};v&&(B.bandIds=v);x&&(B.renderingRule=x.toJson?JSON.stringify(x.toJson()):JSON.stringify(x));C._pendingDfd=g({url:r,content:B,handleAs:"json",callbackParamName:"callback"});C._pendingDfd.then(function(F){C.callback(F)},function(F){C.errback(F)});return C.promise}};
e("extend-esri")&&p.setObject("layers.rasterLib.raster.rasterFactory",I,b);return I})},"esri/layers/rasterLib/raster/ImageServiceRaster":function(){define("require dojo/_base/declare dojo/_base/lang dojo/_base/Deferred dojo/_base/array dojo/_base/config dojo/_base/json dojo/sniff dojo/DeferredList dojo/when ../../../kernel ../../../Evented ../../../request ../../../geometry/Extent ../../../geometry/Point ../../../SpatialReference ../../../WKIDUnitConversion ../../../deferredUtils ../../../urlUtils ../../MosaicRule ../../ImageServiceParameters ../../PixelBlock ./RasterInfo ./BasicRaster ../../rasterFormats/rasterCodec ../tile/RasterTileInfo".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F,y,D,L){I=h([y],{declaredClass:"esri.layers.rasterLib.raster.ImageServiceRaster",sourceType:"ImageService",constructor:function(E){E&&(this._imageServiceParams=E.imageServiceParameters,this._commonReqParams=E._commonReqParams,this._imageServiceParams||(this._imageServiceParams={interpolation:E.interpolation,pixelType:E.pixelType,format:E.format||"lerc",compressionQuality:E.compressionQuality,bandIds:E.bandIds,noDataInterpretation:E.noDataInterpretation,
adjustAspectRatio:E.adjustAspectRatio,mosaicRule:E.mosaicRule,renderingRule:E.interpolation}))},open:function(){var E=new n;if(this.serviceInfo&&this.rasterInfo)return this.loaded=!0,this._findCredential(),this.setFetchParameters(this._imageServiceParams),E.resolve(this),E.promise;var z=this.serviceInfo||this._generateServiceInfo(this._imageServiceParams&&this._imageServiceParams.renderingRule),A=p.hitch(this,function(N){this._fixServiceInfo(N);this.serviceInfo=N;this._findCredential();var H=this._parseRasterInfo(N),
M={};N.defaultMosaicMethod?(M.method=N.defaultMosaicMethod,M.operation=N.mosaicOperator,M.sortField=N.sortField,M.sortValue=N.sortValue):M.method=v.METHOD_NONE;this.serviceInfo.defaultMosaicRule=new v(M);this.serviceInfo.defaultMosaicRule.ascending=!0;N=this._getColormap(this);M=this._getHistograms(this);var T=this._getRasterAttributeTable(this),U=this._getKeyProperties(this),W=this._getMultidimensionalInfo(),Y=this._getSlices();(new b([N,M,T,U,W,Y])).then(p.hitch(this,function(aa){aa[0][0]&&(H.colormap=
aa[0][1]);aa[1][0]&&(H.histograms=aa[1][1]);aa[2][0]&&(H.vat=aa[2][1]);aa[3][0]&&(H.keyProperties=aa[3][1]);aa[4][0]&&(H.multidimensionalInfo=aa[4][1]);this._slices=aa[5][0]?aa[5][1]:null;H.keyProperties&&H.keyProperties.DataType&&(this.dataType=H.keyProperties.DataType);this.loaded=!0;this.rasterInfo=H;this.setFetchParameters(this._imageServiceParams);E.resolve(this)}))}),G=p.hitch(this,function(N){this.loaded=!0;E.reject(N)});m(z,A,G);return E.promise},setFetchParameters:function(E,z){if(z)this.imageServiceParams=
E;else{var A=this.imageServiceParams;A&&E?Object.keys(E).forEach(function(G){A[G]=E[G]}):this.imageServiceParams=E}this._constructGetImageParams();this._getRasterIdentifier(!0)},read:function(E){if(E.pixelBlock||E.texture){var z=new n;z.resolve(E);return z.promise}if(!1===E.virtual&&this.tileInfo&&!this.tileInfo.virtual)return this.readTile(E);if(this._slices){var A=this._getSliceId();if(null==A)return z=new n,z.resolve(E),z.promise}var G=E.extent,N=G.spatialReference.wkid||e.toJson(G.spatialReference.toJson(!1)),
H=E.timeExtent?E.timeExtent.toJson().join(","):null;z=this.url+"/exportImage";var M={};this._slices&&(M.sliceid=A);this.disableClientCaching&&(M._ts=(new Date).getTime());A=p.mixin({},this._commonReqParams,{bbox:G.xmin+","+G.ymin+","+G.xmax+","+G.ymax,imageSR:N,bboxSR:N,size:E.width+","+E.height,time:H},M);return this._requestPixels({url:z,payload:A,decodeParams:{width:E.width,height:E.height,planes:null,pixelType:null,format:null,decodeFunc:null,isPoint:!1},tileOptions:E})},readTile:function(E){var z=
this.tileBoundary&&this.tileBoundary[E.level];if(z&&(z.minRow>E.row||z.maxRow<E.row||z.minCol>E.col||z.maxCol<E.col)){var A=new n;A.resolve(E);return A.promise}if(this._slices&&(A=this._getSliceId(),null==A))return A=new n,A.resolve(E),A.promise;z=this.url+"/tile/"+E.level+"/"+E.row+"/"+E.col;var G={width:this.tileInfo.cols,height:this.tileInfo.rows,planes:null,pixelType:null,format:null,decodeFunc:null,isPoint:"elevation"===E.tileType.toLowerCase()?!0:!1};A=this._slices?"sliceid\x3d"+A+"\x26":"";
A=this.disableClientCaching?"_ts\x3d "+(new Date).getTime():A.replace(/&$/,"");return this._requestPixels({url:z+(0<A.length?"?"+A:""),payload:{},decodeParams:G,tileOptions:E})},toJson:function(){return{url:this.url,tileInfo:this.tileInfo,rasterInfo:this.rasterInfo,serviceInfo:this.serviceInfo,sourceType:this.sourceType,_commonReqParams:this._commonReqParams,_rasterId:this._rasterId}},_getSliceId:function(){var E=p.clone(this._imageServiceParams.multidimensionalDefinition),z=p.clone(this._imageServiceParams.time);
if(null==this._slices||null==z&&(null==E||0===E.length))return 0;var A=E||this.defaultMultidimensionalDefinition,G=A[0].variableName;A=this._getAllDimensionDefinition(A,G).definition;E=null;if(null==A||0===A.length)return null;if(z&&this.serviceInfo.timeInfo){if(null==z[1]||z[1]===z[0])var N=z[0];else{var H=this.serviceInfo.timeInfo.startTimeField;N=this.rasterInfo.multidimensionalInfo.variables.find(function(U){return U.name===G}).dimensions.find(function(U){return U.name===H}).values.filter(function(U){return Array.isArray(U)?
Math.max(U[0],z[0])<Math.min(U[1],z[1]):U>=z[0]&&U<=z[1]}).sort(function(U,W){U=Array.isArray(U)?U[1]:U;W=Array.isArray(W)?U[1]:W;return Math.abs(z[1]-U)-Math.abs(z[1]-W)})[0]||[z[1]]}A.some(function(U){if(U.dimensionName===H)return U.values[0]=N,!0;if(!U.dimensionName)return U.dimensionName=H,U.isSlice=!0,U.values=[N],!0})||A.push({variableName:G,dimensionName:H,isSlice:!0,values:[N]})}for(var M=0;M<this._slices.length;M++){var T=this._slices[M].multidimensionalDefinition;if(T.length===A.length&&
!T.some(function(U){var W=A.filter(function(aa){return U.variableName===aa.variableName&&aa.dimensionName===U.dimensionName})[0];if(!W)return!0;var Y=Array.isArray(U.values[0])?U.values[0][0]:U.values[0];W=Array.isArray(W.values[0])?W.values[0][0]:W.values[0];return Y!==W})){E=M;break}}return E},_getAllDimensionDefinition:function(E,z){var A=E.map(function(N){return N.dimensionName}),G=!1;this.rasterInfo.multidimensionalInfo.variables.forEach(function(N){N.name!==z||N.dimensions.length===E.length&&
A[0]||(N.dimensions.forEach(function(H){0>A.indexOf(H.name)&&(A[0]?E.push({variableName:z,dimensionName:H.name,values:[H.values[0]]}):(E[0].dimensionName=H.name,E[0].values=[H.values[0]],H[0]=H.name))}),G=!0)},this);return{defChanged:G,definition:E}},_generateServiceInfo:function(E){var z=this.url,A=new n(r._dfdCanceller);A._pendingDfd=d({url:z,content:{f:"json",renderingRule:E?e.toJson(E.toJson()):null},handleAs:"json",callbackParamName:"callback"});A._pendingDfd.then(function(G){A.callback(G)},
function(G){A.errback(G)});return A},_fixServiceInfo:function(E){var z=E.spatialReference.wkid;E.tileInfo&&0===E.extent.xmin&&360===E.extent.xmax&&z&&null==u[z]&&(E.tileInfo.applyGCS360Transform=!0)},_parseRasterInfo:function(E){var z=new F;z.bandCount=E.bandCount;z.extent=new f(E.fullExtent);z.spatialReference=E.spatialReference;z.pixelType=E.pixelType;z.width=Math.floor((E.fullExtent.xmax-E.fullExtent.xmin)/E.pixelSizeX+.5);z.height=Math.floor((E.fullExtent.ymax-E.fullExtent.ymin)/E.pixelSizeY+
.5);z.cellSize=new l({x:E.pixelSizeX,y:E.pixelSizeY,spatialReference:E.spatialReference});var A;if(E.minValues&&0<E.minValues.length&&E.maxValues&&E.stdvValues&&E.meanValues){var G=[];for(A=0;A<E.minValues.length;A++)G.push({min:E.minValues[A],max:E.maxValues[A],mean:E.meanValues[A],stddev:E.stdvValues[A]});E.bandCount!==G.length&&(G=null)}this.dataType=E.serviceDataType?E.serviceDataType.replace("esriImageServiceDataType",""):"Generic";z.statistics=G;E.objectIdField&&E.fields&&(z.catalogInfo={objectIdField:E.objectIdField,
fields:E.fields});z.timeInfo=E.timeInfo;if(E.tileInfo){this.tileInfo=new L(E.tileInfo);this.tileInfo.tileType=E.cacheType||"Map";z.tileInfo=this.tileInfo;var N=z.extent,H=this.tileInfo.origin,M=this.tileInfo.cols,T=this.tileInfo.rows;this.tileBoundary=this.tileInfo.lods.map(function(U){return{minCol:Math.floor((N.xmin-H.x+.1*U.resolution)/M/U.resolution),maxCol:Math.floor((N.xmax-H.x-.1*U.resolution)/M/U.resolution),minRow:Math.floor((H.y-N.ymax+.1*U.resolution)/T/U.resolution),maxRow:Math.floor((H.y-
N.ymin-.1*U.resolution)/T/U.resolution)}})}return z},_getColormap:function(E){E=this.url+"/colormap";var z=new n(r._dfdCanceller),A={f:"json"},G=this.serviceInfo.hasColormap||this.rasterInfo&&this.rasterInfo.hasColormap;10<this.serviceInfo.currentVersion&&G?(z._pendingDfd=d({url:E,content:A,handleAs:"json",callbackParamName:"callback"}),z._pendingDfd.then(function(N){z.callback(N.colormap)},function(N){z.errback(N)})):z.callback(null);return z},_getHistograms:function(E){var z=this.url+"/histograms",
A=new n(r._dfdCanceller),G={f:"json"},N=this.serviceInfo.hasHistograms||this.rasterInfo&&this.rasterInfo.hasHistograms;E&&E.renderingRule&&(G.renderingRule=e.toJson(E.renderingRule.toJson()),N=!0);10<this.serviceInfo.currentVersion&&N?(A._pendingDfd=d({url:z,content:G,handleAs:"json",callbackParamName:"callback"}),A._pendingDfd.then(function(H){A.callback(H.histograms)},function(H){A.errback(H)})):A.callback(null);return A},_getRasterAttributeTable:function(E){var z=this.url+"/rasterAttributeTable",
A=new n(r._dfdCanceller),G={f:"json"},N=this.serviceInfo.hasRasterAttributeTable;E&&E.renderingRule&&(G.renderingRule=e.toJson(E.renderingRule.toJson()),N=!0);10<this.serviceInfo.currentVersion&&N?(A._pendingDfd=d({url:z,content:G,handleAs:"json",callbackParamName:"callback"}),A._pendingDfd.then(function(H){A.callback(H)},function(H){A.errback(H)})):A.callback(null);return A},_getKeyProperties:function(E){var z=this.url+"/keyProperties",A=new n(r._dfdCanceller),G={f:"json"};E&&E.renderingRule&&(G.renderingRule=
e.toJson(E.renderingRule.toJson()));10<this.serviceInfo.currentVersion?(A._pendingDfd=d({url:z,content:G,handleAs:"json",callbackParamName:"callback"}),A._pendingDfd.then(function(N){A.callback(N)},function(N){A.errback(N)})):A.callback(null);return A},_getMultidimensionalInfo:function(){var E=this.url+"/multidimensionalInfo",z=new n(r._dfdCanceller);10.3<=this.serviceInfo.currentVersion&&this.serviceInfo.hasMultidimensions?(z._pendingDfd=d({url:E,content:{f:"json"},handleAs:"json",callbackParamName:"callback"}),
z._pendingDfd.then(p.hitch(this,function(A){z.callback(A.multidimensionalInfo)}),function(A){z.errback(A)})):z.callback(null);return z},_getSlices:function(){var E=this.url+"/slices",z=new n(r._dfdCanceller);this.serviceInfo.hasMultidimensions?(z._pendingDfd=d({url:E,content:{f:"json"},handleAs:"json",callbackParamName:"callback"}),z._pendingDfd.then(p.hitch(this,function(A){z.callback(A.slices)}),function(A){z.errback(A)})):z.callback(null);return z},_initializationFailed:function(){},_constructGetImageParams:function(){var E=
this.imageServiceParams||{},z=p.mixin({},this._query,{f:"image",interpolation:E.interpolation,pixelType:E.pixelType,format:E.format||"lerc",compressionQuality:E.compressionQuality,bandIds:E.bandIds?E.bandIds.join(","):null,noData:null!=E.noData?E.noData.join(","):null,noDataInterpretation:E.noDataInterpretation,adjustAspectRatio:null==E.adjustAspectRatio?null:E.adjustAspectRatio,mosaicRule:E.mosaicRule?e.toJson(E.mosaicRule.toJson()):null,renderingRule:E.renderingRule?e.toJson(E.renderingRule.toJson()):
null,token:this.credential&&this.credential.token||null});"lerc"===z.format.toLowerCase()?(z.compressionTolerance=E.compressionTolerance,10.5<=this.serviceInfo.currentVersion&&(z.lercVersion=E.lercVersion||2)):"tiff"===z.format.toLowerCase()?z.compression=E.compression:-1<["jpg","jpeg","jpg","jpgpng"].indexOf(z.format.toLowerCase())&&(z.compression=E.compression);this._commonReqParams=z},_getRasterIdentifier:function(E){if(this._rasterId)return this._rasterId;E=this.url.replace("http:","").replace("https:",
"");var z=[],A=this.imageServiceParams||{};z.push(E);z.push(A.interpolation);z.push(A.pixelType);z.push(A.compressionQuality);z.push(A.bandIds?A.bandIds.join(","):"");z.push(A.mosaicRule?e.toJson(A.mosaicRule.toJson()):"");z.push(A.renderingRule?e.toJson(A.renderingRule.toJson()):"");E=z.join("|");return this._rasterId=this._computeSignature(E)},_wrapExtent:function(E){var z=E.spatialReference._getInfo();if(z){var A=z.valid[0];z=z.valid[1];if(E.xmin<A-this.resolution.x||E.xmax>z+this.resolution.y){var G=
new f((E.xmin-A)%(z-A),E.ymin,(E.xmax-z)%(z-A),E.ymax,E.spatialReference);G.xmax<G.xmin&&(G=null)}}return G||E}});a("extend-esri")&&p.setObject("layers.rasterLib.raster.ImageServiceRaster",I,g);return I})},"esri/layers/ImageServiceParameters":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/json dojo/has ../kernel ../lang".split(" "),function(I,h,p,n,q,k){I=I(null,{declaredClass:"esri.layers.ImageServiceParameters",extent:null,width:null,height:null,imageSpatialReference:null,format:null,
interpolation:null,compressionQuality:null,bandIds:null,timeExtent:null,mosaicRule:null,renderingRule:null,renderer:null,noData:null,compressionTolerance:null,adjustAspectRatio:null,lercVersion:null,toJson:function(e){var a=this.bbox||this.extent;e=(a=a&&e&&a._normalize(!0))?a.spatialReference.wkid||p.toJson(a.spatialReference.toJson()):null;var b=this.imageSpatialReference;a={bbox:a?a.xmin+","+a.ymin+","+a.xmax+","+a.ymax:null,bboxSR:e,size:null!==this.width&&null!==this.height?this.width+","+this.height:
null,imageSR:b?b.wkid||p.toJson(b.toJson()):e,format:this.format,interpolation:this.interpolation,compressionQuality:this.compressionQuality,bandIds:this.bandIds?this.bandIds.join(","):null,mosaicRule:this.mosaicRule?p.toJson(this.mosaicRule.toJson()):null,renderingRule:this.renderingRule?p.toJson(this.renderingRule.toJson()):null,renderer:this.renderer?p.toJson(this.renderer.toJson()):null,noData:this.noData,noDataInterpretation:this.noDataInterpretation,compressionTolerance:this.compressionTolerance,
adjustAspectRatio:this.adjustAspectRatio,lercVersion:this.lercVersion};e=this.timeExtent;a.time=e?e.toJson().join(","):null;return k.filter(a,function(m){if(null!==m&&void 0!==m)return!0})}});h.mixin(I,{INTERPOLATION_BILINEAR:"RSP_BilinearInterpolation",INTERPOLATION_CUBICCONVOLUTION:"RSP_CubicConvolution",INTERPOLATION_MAJORITY:"RSP_Majority",INTERPOLATION_NEARESTNEIGHBOR:"RSP_NearestNeighbor",NODATA_MATCH_ALL:"esriNoDataMatchAll",NODATA_MATCH_ANY:"esriNoDataMatchAny"});n("extend-esri")&&h.setObject("layers.ImageServiceParameters",
I,q);return I})},"esri/layers/rasterLib/raster/RasterInfo":function(){define(["dojo/_base/declare","dojo/_base/lang","../../../geometry/Extent","../../../SpatialReference","../tile/RasterTileInfo"],function(I,h,p,n,q){return I(null,{declaredClass:"esri.layers.rasterLib.raster.RasterInfo",bandCount:null,pixelType:null,extent:null,spatialReference:null,width:null,height:null,colormap:null,attributeTable:null,multiDimensionalInfo:null,statistics:null,histograms:null,catalogInfo:null,keyProperties:null,
cellSize:null,format:null,compression:null,compressionQuality:null,packetSize:null,geodataXform:null,constructor:function(k){h.mixin(this,k);this.extent=this.extent?this.extent.toJson?this.extent:new p(this.extent):null;this.spatialReference=this.spatialReference?this.spatialReference.toJson?this.spatialReference:new n(this.spatialReference):null;this.tileInfo=this.tileInfo?this.tileInfo.toJson?this.tileInfo:new q(this.tileInfo):null},toJson:function(){return{bandCount:this.bandCount,pixelType:this.pixelType,
extent:this.extent&&this.extent.toJson?this.extent.toJson():this.extent,spatialReference:this.spatialReference&&this.spatialReference.toJson?this.spatialReference.toJson():this.spatialReference,width:this.width,height:this.height,colormap:this.colormap?h.clone(this.colormap):null,attributeTable:this.attributeTable?h.clone(this.attributeTable):null,multiDimensionalInfo:this.multiDimensionalInfo?h.clone(this.multiDimensionalInfo):null,statistics:this.statistics?h.clone(this.statistics):null,histograms:this.histograms?
h.clone(this.histograms):null,catalogInfo:this.catalogInfo?h.clone(this.catalogInfo):null,keyProperties:this.keyProperties?h.clone(this.keyProperties):null,cellSize:this.cellSize&&this.cellSize.toJson?this.cellSize.toJson():this.cellSize,tileInfo:this.tileInfo&&this.tileInfo.toJson?this.tileInfo.toJson():this.tileInfo,format:this.format,compression:this.compression,compressionQuality:this.compressionQuality,packetSize:this.packetSize,geodataXform:this.geodataXform?h.clone(this.geodataXform):null}},
clone:function(){return new this.constructor(this.toJson())}})})},"esri/layers/rasterLib/tile/RasterTileInfo":function(){define("dojo/_base/declare dojo/_base/lang ../../../geometry/Extent ../../../SpatialReference ../../../geometry/Point ../../../lang ../../TileInfo".split(" "),function(I,h,p,n,q,k,e){return I([e],{declaredClass:"esri.layers.rasterLib.tile.RasterTileInfo",rows:512,cols:512,compressionQuality:95,lercError:.01,spatialReference:null,origin:null,virtual:!0,tileType:"Raster",constructor:function(a,
b){if(a||b){var m=b&&b.refTileInfo;a?this.virtual=!1:(this.virtual=!0,h.mixin(this,{rows:b.rows||this.rows,cols:b.cols||this.cols,compressionQuality:b.compressionQuality||95,lercError:b.compressionTolerance||.01,spatialReference:b.spatialReference,origin:b.origin}),this.width=this.cols,this.height=this.rows,this.origin||(m?this.origin=m.origin:b.spatialReference.isWebMercator()||b.extent&&360<=Math.max(Math.abs(b.extent.xmin),Math.abs(b.extent.xmax))?this.origin={x:-2.0037508342787E7,y:2.0037508342787E7}:
-1<[4326,4269].indexOf(b.spatialReference.wkid)||360>Math.max(Math.abs(b.extent.xmin),Math.abs(b.extent.xmax))?this.origin={x:-180,y:90}:this.origin={x:b.extent.xmin,y:b.extent.ymax}))}},toJson:function(){var a=e.prototype.toJson.apply(this);a.tileType=this.tileType;a.virtual=this.virtual;a.lercError=this.lercError;return a},clone:function(){return new this.prototype(this.toJson())}})})},"esri/layers/rasterLib/raster/BasicRaster":function(){define("require dojo/_base/declare dojo/_base/lang dojo/_base/Deferred dojo/_base/array dojo/_base/config dojo/_base/json dojo/sniff dojo/DeferredList dojo/when ../../../kernel ../../../Evented ../../../request ../../../geometry/Extent ../../../geometry/Point ../../../SpatialReference ../../../deferredUtils ../../../urlUtils ../../MosaicRule ../../ImageServiceParameters ../../PixelBlock ../../rasterFormats/rasterCodec ../tile/RasterHandler ./rasterProjectionHelper ./RasterInfo".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F,y,D){return h([c],{url:null,dataType:null,rasterInfo:null,tileInfo:null,serviceInfo:null,loaded:null,constructor:function(L){if(L){var E=L.url;E&&(E=r.urlToObject(E),this.url=E.path,this._query=E.query);this.dataType=L.dataType;this.serviceInfo=L.serviceInfo;this.rasterInfo=L.rasterInfo;this.tileInfo=L.tileInfo;this.serviceInfo=L.serviceInfo}},open:function(){},read:function(L){},identify:function(L){var E=new n,z=this.rasterInfo.extent;if(y.requirePE(z.spatialReference,
L.spatialReference))y.load().then(p.hitch(this,function(){A=y.project(L,z.spatialReference);E.resolve(A)}),function(){E.reject(Error("cannot project into this spatial reference"))});else{var A=y.project(L,z.spatialReference);E.resolve(A)}return E.then(p.hitch(this,function(G){var N=this.tileInfo,H=N.origin,M=N.lods[N.lods.length-1],T=(G.x-H.x)/N.cols/M.resolution;G=(H.y-G.y)/N.rows/M.resolution;var U=Math.round((G-Math.floor(G))*N.rows)*N.cols+Math.round((T-Math.floor(T))*N.cols);H=new f(H.x+M.resolution*
N.cols*T,H.y-M.resolution*N.rows*(G+1),H.x+M.resolution*N.cols*(T+1),H.y-M.resolution*N.rows*G,z.spatialReference);var W=this.getMemberRasters?this.getMemberRasters()[0]:this;return W.read({level:M.level,row:Math.floor(G),col:Math.floor(T),extent:H,width:N.cols,height:N.rows,virtual:W.tileInfo.virtual,tileType:W.tileInfo.tileType}).then(function(Y){return(Y=Y&&Y.pixelBlock)&&Y.pixels&&0<Y.pixels.length&&(!Y.mask||Y.mask[U])?{pixelValue:Y.pixels.map(function(aa){return aa[U]})}:{pixelValue:null}})}))},
getProjectedFullExtent:function(L,E){var z=new n;if(this.projectedFullExtent&&!E)return z.resolve(this.projectedFullExtent),z.promise;var A=this.rasterInfo.extent;if(y.requirePE(this.rasterInfo.extent.spatialReference,L))y.load().then(p.hitch(this,function(){G=y.project(A,L);this.projectedFullExtent=G=new f(G.toJson());z.resolve(G)}),function(){z.reject(Error("cannot project into this spatial reference"))});else{var G=y.project(A,L);this.projectedFullExtent=G=new f(G.toJson());z.resolve(G)}return z.promise},
setFetchParameters:function(L,E){},_setRasterHandler:function(L){this._rasterHandler=L;this.getMemberRasters&&this.getMemberRasters().forEach(p.hitch(this,function(E){E._rasterHandler=L}))},_findCredential:function(){this.url&&((this._credential=g.id&&g.id.findCredential(this.url))&&this._credential.ssl||this.serviceInfo&&this.serviceInfo._ssl)&&(this.url=this.url.replace(/^http:/i,"https:"))},_initWorker:function(){this._rasterHandler=new F;this._rasterHandler.start().then(function(){this._rasterHandlerInitialized=
!0}.bind(this))},_requestPixels:function(L){var E=L.url,z=L.payload,A=L.decodeParams,G=L.tileOptions,N=new n(u._dfdCanceller);this._rasterHandler||this._initWorker();var H=this._rasterHandler,M={};E={url:E,handleAs:"arraybuffer",content:z};L.headers&&(E.headers=L.headers);N._pendingDfd=d(E).then(p.hitch(this,function(T){(H&&this._rasterHandlerInitialized?H.decode({encodedData:T,decodeParams:A}):B.decode(T,A)).then(function(U){M.pixelBlock=new C(U);M.extent=G.extent;M.level=G.level;M.row=G.row;M.col=
G.col;M.width=G.width;M.height=G.height;u._resDfd(N,[M])},function(U){u._resDfd(N,[U],!0)})}),function(T){u._resDfd(N,[T],!0)});return N},_computeSignature:function(L){if("string"===typeof L){for(var E=new Uint8Array(L.length),z=0;z<L.length;z++)E[z]=L.charCodeAt(z);L=E}z=E=65535;for(var A=L.length,G=Math.floor(A/2),N=0;G;){var H=359<=G?359:G;G-=H;do E+=L[N++]<<8,z+=E+=L[N++];while(--H);E=(E&65535)+(E>>>16);z=(z&65535)+(z>>>16)}A&1&&(z+=E+=L[N]<<8);return((z&65535)+(z>>>16)<<16|(E&65535)+(E>>>16))>>>
0}})})},"esri/layers/rasterFormats/rasterCodec":function(){define("require dojo/_base/declare dojo/_base/lang dojo/_base/Deferred ../PixelBlock ./LercCodec ./Lerc2Codec ./JpgPlus ./Png ./Raw ./TiffDecoder".split(" "),function(I,h,p,n,q,k,e,a,b,m,g){return{validPixelTypes:"U1 U2 U4 U8 U16 U32 S8 S16 S32 F32".split(" "),supportedFormats:"lerc jpeg jpg jpgpng png png8 png24 png32 bip bsq tiff".split(" "),_isPlatformLittleEndian:function(){var c=new ArrayBuffer(4),d=new Uint8Array(c);(new Uint32Array(c))[0]=
1;return 1===d[0]}(),decode:function(c,d){if(void 0===d||null===d)throw"missing decode options";var f;d.format&&(f=d.format.toUpperCase());"BSQ"!==f&&"BIP"!==f&&(f=this._getFormat(c));var l=d.decodeFunc;if(void 0===l||null===l)l=this._getFormatDecoderDfd(f);return l(c,d)},_getFormatDecoderDfd:function(c){var d=null;switch(c){case "LERC":d=this._decodeLerc;break;case "LERC2":d=this._decodeLerc2;break;case "JPEG":d=this._decodeJpeg;break;case "PNG":d=this._decodePng;break;case "BSQ":d=this._decodeBsq;
break;case "BIP":d=this._decodeBip;break;case "TIFF":d=this._decodeTiff;break;default:d=function(f,l){throw"The raster format is not supported";}}d=p.hitch(this,d);return function(f,l){var t=new n;l.isPoint&&l.width&&(l.width++,l.height++);f=d(f,l);l.isPoint&&l.width&&(this._interpolatePointGrid(f),l.width--,l.height--);t.resolve(f);return t}.bind(this)},_getFormat:function(c){c=new Uint8Array(c,0,10);var d="";if(255===c[0]&&216===c[1])d="JPEG";else if(137===c[0]&&80===c[1]&&78===c[2]&&71===c[3])d=
"PNG";else if(67===c[0]&&110===c[1]&&116===c[2]&&90===c[3]&&73===c[4]&&109===c[5]&&97===c[6]&&103===c[7]&&101===c[8]&&32===c[9])d="LERC";else if(76===c[0]&&101===c[1]&&114===c[2]&&99===c[3]&&50===c[4]&&32===c[5])d="LERC2";else if(-1<String.fromCharCode.apply(null,c).toLowerCase().indexOf("error"))d="ERROR";else if(73===c[0]&&73===c[1]&&42===c[2]&&0===c[3]||77===c[0]&&77===c[1]&&0===c[2]&&42===c[3])d="TIFF";return d},_validateDecodeParams:function(c){if(!c.height||Math.floor(c.height)!==c.height)throw"Height not provided.";
if(!c.width||Math.floor(c.width)!==c.width)throw"Width not provided.";},_decodeJpeg:function(c,d){if(!a)throw"The jpeg decoder module is not loaded.";this._validateDecodeParams(d);c=(new a).decode(c);if(!this._verifyResult(c,d))throw"The decoded image dimensions are incorrect.";d=new q({width:c.width,height:c.height,pixels:c.pixels,pixelType:"U8",mask:c.mask,statistics:null});d.calculateStatistics();return d},_decodePng:function(c,d){if(!b)throw"The png decoder module is not loaded.";this._validateDecodeParams(d);
c=new Uint8Array(c);var f=new b(c);c=new Uint8Array(d.width*d.height*4);f.copyToImageData(c,f.decodePixels());var l=f=0;l=new Uint8Array(d.width*d.height);for(f=0;f<d.width*d.height;f++)l[f]=c[4*f+3];var t=new q({width:d.width,height:d.height,pixels:[],pixelType:"U8",mask:l,statistics:[]});for(f=0;3>f;f++){var u=new Uint8Array(d.width*d.height);for(l=0;l<d.width*d.height;l++)u[l]=c[4*l+f];t.addData({pixels:u})}t.calculateStatistics();return t},_decodeBsq:function(c,d){if(!m)throw"The bsq decoder module is not loaded.";
this._validateDecodeParams(d);var f=d.noDataValue;d.pixelType=this._getpixelTypeAndNoData(d.pixelType);c=m.decodeBSQ(c,{bandCount:d.planes,width:d.width,height:d.height,pixelType:d.pixelType,noDataValue:f});d=new q({width:d.width,height:d.height,pixels:c.pixels,pixelType:d.pixelType,mask:c.maskData,statistics:null});d.calculateStatistics();return d},_decodeBip:function(c,d){this._validateDecodeParams(d);var f=d.noDataValue;d.pixelType=this._getpixelTypeAndNoData(d.pixelType);c=m.decodeBIP(c,{bandCount:d.planes,
width:d.width,height:d.height,pixelType:d.pixelType,noDataValue:f});d=new q({width:d.width,height:d.height,pixels:c.pixels,pixelType:d.pixelType,mask:c.maskData,statistics:null});d.calculateStatistics();return d},_decodeTiff:function(c,d){this._validateDecodeParams(d);d.pixelType=this._getpixelTypeAndNoData(d.pixelType);c=g.decode(c);c=new q({width:c.width,height:c.height,pixels:c.pixels,pixelType:c.pixelType,mask:c.maskData,statistics:null});c.calculateStatistics();return c},_decodeLerc:function(c,
d){if(!this._isPlatformLittleEndian)throw"lerc decoder is not supported on big endian platform";this._validateDecodeParams(d);var f=d.noDataValue;d.pixelType=this._getpixelTypeAndNoData(d.pixelType);for(var l=0,t,u=0,r,x=c.byteLength-10;u<x;){var v=k.decode(c,{inputOffset:u,encodedMaskData:t,returnMask:0===l?!0:!1,returnEncodedMask:0===l?!0:!1,returnFileInfo:!0,pixelType:d.pixelType,noDataValue:f});u=v.fileInfo.eofOffset;0===l&&(t=v.encodedMaskData,r=new q({width:d.width,height:d.height,pixels:[],
pixelType:d.pixelType,mask:v.maskData,statistics:[]}));l++;if(!this._verifyResult(v,d))throw"The decoded image dimensions are incorrect";r.addData({pixels:v.pixelData,statistics:{minValue:v.minValue,maxValue:v.maxValue,noDataValue:v.noDataValue}})}return r},_decodeLerc2:function(c,d){if(!this._isPlatformLittleEndian)throw"lerc2 decoder is not supported on big endian platform";this._validateDecodeParams(d);d.pixelType=this._getpixelTypeAndNoData(d.pixelType);for(var f=0,l,t,u,r=0,x,v=c.byteLength-
10,C=[],B,F=0;r<v;){t=e.decode(c,{inputOffset:r,maskData:l,returnFileInfo:!0});r=t.fileInfo.eofOffset;l=t.maskData;0===f&&(u=t.fileInfo.numValidPixel,x=new q({width:d.width,height:d.height,pixels:[],dimCount:t.dimCount||1,pixelType:t.fileInfo.pixelType,mask:l,statistics:[]}));t.fileInfo.mask&&0<t.fileInfo.mask.numBytes&&F++;l&&C.push(l);f++;if(!this._verifyResult(t,d))throw"The decoded image dimensions are incorrect";x.addData({pixels:t.pixelData,statistics:{minValue:t.minValue,maxValue:t.maxValue,
noDataValue:t.noDataValue,dimStats:t.dimStats}})}if(1<F){d=x.width*x.height;x.bandMasks=C;l=new Uint8Array(d);l.set(C[0]);for(u=1;u<C.length;u++)for(B=C[u],c=0;c<d;c++)l[c]&=B[c];for(c=u=0;c<d;c++)u+=B[c];x.mask=l}x.validPixelCount=u;return x},_interpolatePointGrid:function(c,d){var f=c.pixels;if(f&&0!==f.length){var l=f.length,t=c.width,u=c.mask,r=t-1,x=c.height-1,v=[],C,B;if(0===(null==d?1:d)){for(d=0;d<l;d++){var F=f[d];var y=new F.constructor(r*x);for(C=0;C<x;C++){var D=C*t;for(B=0;B<r;B++)y[C*
r+B]=F[D+B]}v.push(y)}if(u){var L=new Uint8Array(r*x);for(C=0;C<x;C++)for(D=C*t,B=0;B<r;B++)L[C*r+B]=u[D+B]}}else{for(d=0;d<l;d++){F=f[d];y=new F.constructor(r*x);for(C=0;C<x;C++)for(D=C*t,B=0;B<r;B++)y[C*r+B]=(F[D+B]+F[D+B+1]+F[D+t+B]+F[D+t+B+1])/4;v.push(y)}if(u)for(L=new Uint8Array(r*x),C=0;C<x;C++)for(D=C*t,B=0;B<r;B++)L[C*r+B]=Math.min.apply(null,[u[D+B],u[D+B+1],u[D+t+B],u[D+t+B+1]])}c.width=r;c.height=x;c.mask=L;c.pixels=v;return c}},_getpixelTypeAndNoData:function(c){return"U1"===c||"U2"===
c||"U4"===c||"U8"===c?"U8":c},_verifyResult:function(c,d){return c.height!==d.height||c.width!==d.width?!1:!0}}})},"esri/layers/rasterFormats/JpgPlus":function(){define(["dojo/_base/declare","./Zlib","./Jpg"],function(I,h,p){return I(null,{constructor:function(){},decode:function(n){var q=new Uint8Array(n);n=new p;n.parse(q);var k=n.numComponents,e=n.getData(n.width,n.height,!0),a=n.width*n.height,b=n.eof,m=0,g=0,c=0;if(b<q.length-1){g=(new h(q.subarray(b))).getBytes();var d=new Uint8Array(a);for(m=
q=0;m<g.length;m++)for(c=7;0<=c;c--)d[q++]=g[m]>>c&1}q=[];if(1===k)q=[e,e,e];else{for(m=0;3>m;m++)k=new Uint8Array(a),q.push(k);for(g=c=0;g<a;g++)for(m=0;3>m;m++)q[m][g]=e[c++]}return{width:n.width,height:n.height,pixels:q,mask:d}}})})},"esri/layers/rasterFormats/Zlib":function(){define([],function(){var I=function(){function h(){this.bufferLength=this.pos=0;this.eof=!1;this.buffer=null}h.prototype={ensureBuffer:function(p){var n=this.buffer,q=n?n.byteLength:0;if(p<q)return n;for(var k=512;k<p;)k<<=
1;p=new Uint8Array(k);for(k=0;k<q;++k)p[k]=n[k];return this.buffer=p},getByte:function(){for(var p=this.pos;this.bufferLength<=p;){if(this.eof)return null;this.readBlock()}return this.buffer[this.pos++]},getBytes:function(p){var n=this.pos;if(p){this.ensureBuffer(n+p);for(p=n+p;!this.eof&&this.bufferLength<p;)this.readBlock();var q=this.bufferLength;p>q&&(p=q)}else{for(;!this.eof;)this.readBlock();p=this.bufferLength}this.pos=p;return this.buffer.subarray(n,p)},lookChar:function(){for(var p=this.pos;this.bufferLength<=
p;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos])},getChar:function(){for(var p=this.pos;this.bufferLength<=p;){if(this.eof)return null;this.readBlock()}return String.fromCharCode(this.buffer[this.pos++])},makeSubStream:function(p,n,q){for(var k=p+n;this.bufferLength<=k&&!this.eof;)this.readBlock();return new Stream(this.buffer,p,n,q)},skip:function(p){p||(p=1);this.pos+=p},reset:function(){this.pos=0}};return h}();return function(){function h(b){throw Error(b);
}function p(b){var m=0,g=b[m++],c=b[m++];-1!=g&&-1!=c||h("Invalid header in flate stream");8!=(g&15)&&h("Unknown compression method in flate stream");0!=((g<<8)+c)%31&&h("Bad FCHECK in flate stream");c&32&&h("FDICT bit set in flate stream");this.bytes=b;this.bytesPos=m;this.codeBuf=this.codeSize=0;I.call(this)}if(!self||!self.Uint32Array)return null;var n=new Uint32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),q=new Uint32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,
131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),k=new Uint32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),e=[new Uint32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,
459020,524392,524328,59E4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,
459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,
459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,
459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,
459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,
459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,
459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],a=[new Uint32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,
327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];p.prototype=Object.create(I.prototype);p.prototype.getBits=function(b){for(var m=this.codeSize,g=this.codeBuf,c=this.bytes,d=this.bytesPos,f;m<b;)"undefined"==typeof(f=c[d++])&&h("Bad encoding in flate stream"),g|=f<<m,m+=8;this.codeBuf=g>>b;this.codeSize=m-=b;this.bytesPos=d;return g&(1<<b)-1};p.prototype.getCode=function(b){var m=b[0],g=b[1];b=this.codeSize;for(var c=
this.codeBuf,d=this.bytes,f=this.bytesPos;b<g;){var l;"undefined"==typeof(l=d[f++])&&h("Bad encoding in flate stream");c|=l<<b;b+=8}g=m[c&(1<<g)-1];m=g>>16;g&=65535;(0==b||b<m||0==m)&&h("Bad encoding in flate stream");this.codeBuf=c>>m;this.codeSize=b-m;this.bytesPos=f;return g};p.prototype.generateHuffmanTable=function(b){for(var m=b.length,g=0,c=0;c<m;++c)b[c]>g&&(g=b[c]);for(var d=1<<g,f=new Uint32Array(d),l=1,t=0,u=2;l<=g;++l,t<<=1,u<<=1)for(var r=0;r<m;++r)if(b[r]==l){var x=0,v=t;for(c=0;c<l;++c)x=
x<<1|v&1,v>>=1;for(c=x;c<d;c+=u)f[c]=l<<16|r;++t}return[f,g]};p.prototype.readBlock=function(){function b(x,v,C,B,F){for(x=x.getBits(C)+B;0<x--;)v[t++]=F}var m=this.getBits(3);m&1&&(this.eof=!0);m>>=1;if(0==m){var g=this.bytes,c=this.bytesPos,d;"undefined"==typeof(d=g[c++])&&h("Bad block header in flate stream");var f=d;"undefined"==typeof(d=g[c++])&&h("Bad block header in flate stream");f|=d<<8;"undefined"==typeof(d=g[c++])&&h("Bad block header in flate stream");m=d;"undefined"==typeof(d=g[c++])&&
h("Bad block header in flate stream");(m|d<<8)!=(~f&65535)&&h("Bad uncompressed block length in flate stream");this.codeSize=this.codeBuf=0;d=this.bufferLength;m=this.ensureBuffer(d+f);this.bufferLength=f=d+f;for(var l=d;l<f;++l){if("undefined"==typeof(d=g[c++])){this.eof=!0;break}m[l]=d}this.bytesPos=c}else{if(1==m)c=e,d=a;else if(2==m){m=this.getBits(5)+257;d=this.getBits(5)+1;g=this.getBits(4)+4;c=Array(n.length);for(var t=0;t<g;)c[n[t++]]=this.getBits(3);c=this.generateHuffmanTable(c);t=g=0;d=
m+d;for(f=Array(d);t<d;)l=this.getCode(c),16==l?b(this,f,2,3,g):17==l?b(this,f,3,3,g=0):18==l?b(this,f,7,11,g=0):f[t++]=g=l;c=this.generateHuffmanTable(f.slice(0,m));d=this.generateHuffmanTable(f.slice(m,d))}else h("Unknown block type in flate stream");f=(m=this.buffer)?m.length:0;for(l=this.bufferLength;;){var u=this.getCode(c);if(256>u)l+1>=f&&(m=this.ensureBuffer(l+1),f=m.length),m[l++]=u;else{if(256==u){this.bufferLength=l;break}u-=257;u=q[u];var r=u>>16;0<r&&(r=this.getBits(r));g=(u&65535)+r;
u=this.getCode(d);u=k[u];r=u>>16;0<r&&(r=this.getBits(r));u=(u&65535)+r;l+g>=f&&(m=this.ensureBuffer(l+g),f=m.length);for(r=0;r<g;++r,++l)m[l]=m[l-u]}}}};return p}()})},"esri/layers/rasterFormats/Jpg":function(){define([],function(){var I=function(){function h(p){this.message="JPEG error: "+p}h.prototype=Error();h.prototype.name="JpegError";return h.constructor=h}();return function(){function h(){this.decodeTransform=null;this.colorTransform=-1}function p(a,b){for(var m=0,g=[],c,d,f=16;0<f&&!a[f-
1];)f--;g.push({children:[],index:0});var l=g[0],t;for(c=0;c<f;c++){for(d=0;d<a[c];d++){l=g.pop();for(l.children[l.index]=b[m];0<l.index;)l=g.pop();l.index++;for(g.push(l);g.length<=c;)g.push(t={children:[],index:0}),l.children[l.index]=t.children,l=t;m++}c+1<f&&(g.push(t={children:[],index:0}),l.children[l.index]=t.children,l=t)}return g[0].children}function n(a,b,m,g,c,d,f,l,t){function u(){if(0<A)return A--,z>>A&1;z=a[b++];if(255===z){var Q=a[b++];if(Q)throw new I("unexpected marker "+(z<<8|Q).toString(16));
}A=7;return z>>>7}function r(Q){for(;;){Q=Q[u()];if("number"===typeof Q)return Q;if("object"!==typeof Q)throw new I("invalid huffman sequence");}}function x(Q){for(var R=0;0<Q;)R=R<<1|u(),Q--;return R}function v(Q){if(1===Q)return 1===u()?1:-1;var R=x(Q);return R>=1<<Q-1?R:R+(-1<<Q)+1}function C(Q,R){var V=r(Q.huffmanTableDC);V=0===V?0:v(V);Q.blockData[R]=Q.pred+=V;for(V=1;64>V;){var w=r(Q.huffmanTableAC),K=w&15;w>>=4;if(0===K){if(15>w)break;V+=16}else V+=w,Q.blockData[R+e[V]]=v(K),V++}}function B(Q,
R){var V=r(Q.huffmanTableDC);V=0===V?0:v(V)<<t;Q.blockData[R]=Q.pred+=V}function F(Q,R){Q.blockData[R]|=u()<<t}function y(Q,R){if(0<G)G--;else for(var V=d;V<=f;){var w=r(Q.huffmanTableAC),K=w&15;w>>=4;if(0===K){if(15>w){G=x(w)+(1<<w)-1;break}V+=16}else V+=w,Q.blockData[R+e[V]]=v(K)*(1<<t),V++}}function D(Q,R){for(var V=d,w=0,K;V<=f;){K=e[V];switch(N){case 0:w=r(Q.huffmanTableAC);K=w&15;w>>=4;if(0===K)15>w?(G=x(w)+(1<<w),N=4):(w=16,N=1);else{if(1!==K)throw new I("invalid ACn encoding");H=v(K);N=w?
2:3}continue;case 1:case 2:Q.blockData[R+K]?Q.blockData[R+K]+=u()<<t:(w--,0===w&&(N=2===N?3:0));break;case 3:Q.blockData[R+K]?Q.blockData[R+K]+=u()<<t:(Q.blockData[R+K]=H<<t,N=0);break;case 4:Q.blockData[R+K]&&(Q.blockData[R+K]+=u()<<t)}V++}4===N&&(G--,0===G&&(N=0))}var L=m.mcusPerLine,E=b,z=0,A=0,G=0,N=0,H,M=g.length,T,U,W,Y;l=m.progressive?0===d?0===l?B:F:0===l?y:D:C;var aa=0;m=1===M?g[0].blocksPerLine*g[0].blocksPerColumn:L*m.mcusPerColumn;for(var ea,ma;aa<m;){var la=c?Math.min(m-aa,c):m;for(T=
0;T<M;T++)g[T].pred=0;G=0;if(1===M){var J=g[0];for(Y=0;Y<la;Y++)l(J,64*((J.blocksPerLine+1)*(aa/J.blocksPerLine|0)+aa%J.blocksPerLine)),aa++}else for(Y=0;Y<la;Y++){for(T=0;T<M;T++)for(J=g[T],ea=J.h,ma=J.v,U=0;U<ma;U++)for(W=0;W<ea;W++)l(J,64*((J.blocksPerLine+1)*((aa/L|0)*J.v+U)+(aa%L*J.h+W)));aa++}A=0;(J=k(a,b))&&J.invalid&&(console.log("decodeScan - unexpected MCU data, next marker is: "+J.invalid),b=J.offset);J=J&&J.marker;if(!J||65280>=J)throw new I("marker was not found");if(65488<=J&&65495>=
J)b+=2;else break}(J=k(a,b))&&J.invalid&&(console.log("decodeScan - unexpected Scan data, next marker is: "+J.invalid),b=J.offset);return b-E}function q(a,b){a=b.blocksPerLine;for(var m=b.blocksPerColumn,g=new Int16Array(64),c=0;c<m;c++)for(var d=0;d<a;d++){var f=void 0,l=void 0,t=void 0,u=void 0,r=void 0,x=void 0,v=void 0,C=void 0,B=r=x=u=l=f=void 0,F=void 0,y=void 0,D=void 0,L=64*((b.blocksPerLine+1)*c+d),E=g,z=b.quantizationTable,A=b.blockData;if(!z)throw new I("missing required Quantization Table.");
for(var G=0;64>G;G+=8)f=A[L+G],C=A[L+G+1],v=A[L+G+2],x=A[L+G+3],r=A[L+G+4],u=A[L+G+5],t=A[L+G+6],l=A[L+G+7],f*=z[G],0===(C|v|x|r|u|t|l)?(f=5793*f+512>>10,E[G]=f,E[G+1]=f,E[G+2]=f,E[G+3]=f,E[G+4]=f,E[G+5]=f,E[G+6]=f,E[G+7]=f):(C*=z[G+1],v*=z[G+2],x*=z[G+3],r*=z[G+4],u*=z[G+5],t*=z[G+6],l*=z[G+7],D=5793*f+128>>8,y=5793*r+128>>8,F=v,B=t,r=2896*(C-l)+128>>8,l=2896*(C+l)+128>>8,x<<=4,u<<=4,D=D+y+1>>1,y=D-y,f=3784*F+1567*B+128>>8,F=1567*F-3784*B+128>>8,B=f,r=r+u+1>>1,u=r-u,l=l+x+1>>1,x=l-x,D=D+B+1>>1,B=
D-B,y=y+F+1>>1,F=y-F,f=2276*r+3406*l+2048>>12,r=3406*r-2276*l+2048>>12,l=f,f=799*x+4017*u+2048>>12,x=4017*x-799*u+2048>>12,u=f,E[G]=D+l,E[G+7]=D-l,E[G+1]=y+u,E[G+6]=y-u,E[G+2]=F+x,E[G+5]=F-x,E[G+3]=B+r,E[G+4]=B-r);for(z=0;8>z;++z)f=E[z],C=E[z+8],v=E[z+16],x=E[z+24],r=E[z+32],u=E[z+40],t=E[z+48],l=E[z+56],0===(C|v|x|r|u|t|l)?(f=5793*f+8192>>14,f=-2040>f?0:2024<=f?255:f+2056>>4,A[L+z]=f,A[L+z+8]=f,A[L+z+16]=f,A[L+z+24]=f,A[L+z+32]=f,A[L+z+40]=f,A[L+z+48]=f,A[L+z+56]=f):(D=5793*f+2048>>12,y=5793*r+2048>>
12,F=v,B=t,r=2896*(C-l)+2048>>12,l=2896*(C+l)+2048>>12,D=(D+y+1>>1)+4112,y=D-y,f=3784*F+1567*B+2048>>12,F=1567*F-3784*B+2048>>12,B=f,r=r+u+1>>1,u=r-u,l=l+x+1>>1,x=l-x,D=D+B+1>>1,B=D-B,y=y+F+1>>1,F=y-F,f=2276*r+3406*l+2048>>12,r=3406*r-2276*l+2048>>12,l=f,f=799*x+4017*u+2048>>12,x=4017*x-799*u+2048>>12,u=f,f=D+l,l=D-l,C=y+u,t=y-u,v=F+x,u=F-x,x=B+r,r=B-r,f=16>f?0:4080<=f?255:f>>4,C=16>C?0:4080<=C?255:C>>4,v=16>v?0:4080<=v?255:v>>4,x=16>x?0:4080<=x?255:x>>4,r=16>r?0:4080<=r?255:r>>4,u=16>u?0:4080<=u?
255:u>>4,t=16>t?0:4080<=t?255:t>>4,l=16>l?0:4080<=l?255:l>>4,A[L+z]=f,A[L+z+8]=C,A[L+z+16]=v,A[L+z+24]=x,A[L+z+32]=r,A[L+z+40]=u,A[L+z+48]=t,A[L+z+56]=l)}return b.blockData}function k(a,b,m){var g=a.length-1;m=m<b?m:b;if(b>=g)return null;var c=a[b]<<8|a[b+1];if(65472<=c&&65534>=c)return{invalid:null,marker:c,offset:b};for(b=a[m]<<8|a[m+1];!(65472<=b&&65534>=b);){if(++m>=g)return null;b=a[m]<<8|a[m+1]}return{invalid:c.toString(16),marker:b,offset:m}}if(!self||!self.Uint8ClampedArray)return null;var e=
new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]);h.prototype={parse:function(a){function b(){var z=a[c]<<8|a[c+1];c+=2;return z}function m(){var z=b();z=c+z-2;var A=k(a,z,c);A&&A.invalid&&(console.log("readDataBlock - incorrect length, next marker is: "+A.invalid),z=A.offset);z=a.subarray(c,z);c+=z.length;return z}function g(z){for(var A=Math.ceil(z.samplesPerLine/
8/z.maxH),G=Math.ceil(z.scanLines/8/z.maxV),N=0;N<z.components.length;N++){E=z.components[N];var H=Math.ceil(Math.ceil(z.samplesPerLine/8)*E.h/z.maxH),M=Math.ceil(Math.ceil(z.scanLines/8)*E.v/z.maxV);E.blockData=new Int16Array(64*G*E.v*(A*E.h+1));E.blocksPerLine=H;E.blocksPerColumn=M}z.mcusPerLine=A;z.mcusPerColumn=G}var c=0,d=null,f=null,l=[],t=[],u=[],r=b();if(65496!==r)throw new I("SOI not found");for(r=b();65497!==r;){switch(r){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var x=
m();65504===r&&74===x[0]&&70===x[1]&&73===x[2]&&70===x[3]&&0===x[4]&&(d={version:{major:x[5],minor:x[6]},densityUnits:x[7],xDensity:x[8]<<8|x[9],yDensity:x[10]<<8|x[11],thumbWidth:x[12],thumbHeight:x[13],thumbData:x.subarray(14,14+3*x[12]*x[13])});65518===r&&65===x[0]&&100===x[1]&&111===x[2]&&98===x[3]&&101===x[4]&&(f={version:x[5]<<8|x[6],flags0:x[7]<<8|x[8],flags1:x[9]<<8|x[10],transformCode:x[11]});break;case 65499:r=b()+c-2;for(var v;c<r;){var C=a[c++],B=new Uint16Array(64);if(0===C>>4)for(x=
0;64>x;x++)v=e[x],B[v]=a[c++];else if(1===C>>4)for(x=0;64>x;x++)v=e[x],B[v]=b();else throw new I("DQT - invalid table spec");l[C&15]=B}break;case 65472:case 65473:case 65474:if(F)throw new I("Only single frame JPEGs supported");b();var F={};F.extended=65473===r;F.progressive=65474===r;F.precision=a[c++];F.scanLines=b();F.samplesPerLine=b();F.components=[];F.componentIds={};x=a[c++];for(r=B=C=0;r<x;r++){v=a[c];var y=a[c+1]>>4;var D=a[c+1]&15;C<y&&(C=y);B<D&&(B=D);y=F.components.push({h:y,v:D,quantizationId:a[c+
2],quantizationTable:null});F.componentIds[v]=y-1;c+=3}F.maxH=C;F.maxV=B;g(F);break;case 65476:v=b();for(r=2;r<v;){C=a[c++];B=new Uint8Array(16);for(x=y=0;16>x;x++,c++)y+=B[x]=a[c];D=new Uint8Array(y);for(x=0;x<y;x++,c++)D[x]=a[c];r+=17+y;(0===C>>4?u:t)[C&15]=p(B,D)}break;case 65501:b();var L=b();break;case 65498:b();v=a[c++];x=[];for(r=0;r<v;r++){C=F.componentIds[a[c++]];var E=F.components[C];C=a[c++];E.huffmanTableDC=u[C>>4];E.huffmanTableAC=t[C&15];x.push(E)}r=a[c++];v=a[c++];C=a[c++];r=n(a,c,
F,x,L,r,v,C>>4,C&15);c+=r;break;case 65535:255!==a[c]&&c--;break;default:if(255===a[c-3]&&192<=a[c-2]&&254>=a[c-2])c-=3;else throw new I("unknown marker "+r.toString(16));}r=b()}this.width=F.samplesPerLine;this.height=F.scanLines;this.jfif=d;this.eof=c;this.adobe=f;this.components=[];for(r=0;r<F.components.length;r++){E=F.components[r];if(d=l[E.quantizationId])E.quantizationTable=d;this.components.push({output:q(F,E),scaleX:E.h/F.maxH,scaleY:E.v/F.maxV,blocksPerLine:E.blocksPerLine,blocksPerColumn:E.blocksPerColumn})}this.numComponents=
this.components.length},_getLinearizedBlockData:function(a,b){var m=this.width/a,g=this.height/b,c,d,f=0,l=this.components.length,t=a*b*l,u=new Uint8ClampedArray(t),r=new Uint32Array(a);for(d=0;d<l;d++){var x=this.components[d];var v=x.scaleX*m;var C=x.scaleY*g;f=d;var B=x.output;var F=x.blocksPerLine+1<<3;for(c=0;c<a;c++)x=0|c*v,r[c]=(x&4294967288)<<3|x&7;for(v=0;v<b;v++)for(x=0|v*C,x=F*(x&4294967288)|(x&7)<<3,c=0;c<a;c++)u[f]=B[x+r[c]],f+=l}if(b=this.decodeTransform)for(d=0;d<t;)for(a=x=0;x<l;x++,
d++,a+=2)u[d]=(u[d]*b[a]>>8)+b[a+1];return u},_isColorConversionNeeded:function(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0===this.colorTransform?!1:!0:1===this.colorTransform?!0:!1},_convertYccToRgb:function(a){for(var b,m,g,c=0,d=a.length;c<d;c+=3)b=a[c],m=a[c+1],g=a[c+2],a[c]=b-179.456+1.402*g,a[c+1]=b+135.459-.344*m-.714*g,a[c+2]=b-226.816+1.772*m;return a},_convertYcckToRgb:function(a){for(var b,m,g,c,d=0,f=0,l=a.length;f<l;f+=4)b=a[f],m=a[f+1],g=a[f+2],c=a[f+3],a[d++]=
-122.67195406894+m*(-6.60635669420364E-5*m+4.37130475926232E-4*g-5.4080610064599E-5*b+4.8449797120281E-4*c-.154362151871126)+g*(-9.57964378445773E-4*g+8.17076911346625E-4*b-.00477271405408747*c+1.53380253221734)+b*(9.61250184130688E-4*b-.00266257332283933*c+.48357088451265)+c*(-3.36197177618394E-4*c+.484791561490776),a[d++]=107.268039397724+m*(2.19927104525741E-5*m-6.40992018297945E-4*g+6.59397001245577E-4*b+4.26105652938837E-4*c-.176491792462875)+g*(-7.78269941513683E-4*g+.00130872261408275*b+7.70482631801132E-4*
c-.151051492775562)+b*(.00126935368114843*b-.00265090189010898*c+.25802910206845)+c*(-3.18913117588328E-4*c-.213742400323665),a[d++]=-20.810012546947+m*(-5.70115196973677E-4*m-2.63409051004589E-5*g+.0020741088115012*b-.00288260236853442*c+.814272968359295)+g*(-1.53496057440975E-5*g-1.32689043961446E-4*b+5.60833691242812E-4*c-.195152027534049)+b*(.00174418132927582*b-.00255243321439347*c+.116935020465145)+c*(-3.43531996510555E-4*c+.24165260232407);return a},_convertYcckToCmyk:function(a){for(var b,
m,g,c=0,d=a.length;c<d;c+=4)b=a[c],m=a[c+1],g=a[c+2],a[c]=434.456-b-1.402*g,a[c+1]=119.541-b+.344*m+.714*g,a[c+2]=481.816-b-1.772*m;return a},_convertCmykToRgb:function(a){for(var b,m,g,c,d=0,f=1/255,l=0,t=a.length;l<t;l+=4)b=a[l]*f,m=a[l+1]*f,g=a[l+2]*f,c=a[l+3]*f,a[d++]=255+b*(-4.387332384609988*b+54.48615194189176*m+18.82290502165302*g+212.25662451639585*c-285.2331026137004)+m*(1.7149763477362134*m-5.6096736904047315*g-17.873870861415444*c-5.497006427196366)+g*(-2.5217340131683033*g-21.248923337353073*
c+17.5119270841813)-c*(21.86122147463605*c+189.48180835922747),a[d++]=255+b*(8.841041422036149*b+60.118027045597366*m+6.871425592049007*g+31.159100130055922*c-79.2970844816548)+m*(-15.310361306967817*m+17.575251261109482*g+131.35250912493976*c-190.9453302588951)+g*(4.444339102852739*g+9.8632861493405*c-24.86741582555878)-c*(20.737325471181034*c+187.80453709719578),a[d++]=255+b*(.8842522430003296*b+8.078677503112928*m+30.89978309703729*g-.23883238689178934*c-14.183576799673286)+m*(10.49593273432072*
m+63.02378494754052*g+50.606957656360734*c-112.23884253719248)+g*(.03296041114873217*g+115.60384449646641*c-193.58209356861505)-c*(22.33816807309886*c+180.12613974708367);return a},getData:function(a,b,m){if(4<this.numComponents)throw new I("Unsupported color mode");a=this._getLinearizedBlockData(a,b);if(1===this.numComponents&&m){m=a.length;b=new Uint8ClampedArray(3*m);for(var g=0,c=0;c<m;c++){var d=a[c];b[g++]=d;b[g++]=d;b[g++]=d}return b}if(3===this.numComponents&&this._isColorConversionNeeded())return this._convertYccToRgb(a);
if(4===this.numComponents){if(this._isColorConversionNeeded())return m?this._convertYcckToRgb(a):this._convertYcckToCmyk(a);if(m)return this._convertCmykToRgb(a)}return a}};return h}()})},"esri/layers/rasterFormats/Png":function(){define(["./Zlib"],function(I){return function(){function h(n){var q,k;this.data=n;this.pos=8;this.palette=[];this.imgData=[];this.transparency={};this.animation=null;this.text={};for(k=null;;){var e=this.readUInt32();var a=n=void 0;n=[];for(a=0;4>a;++a)n.push(String.fromCharCode(this.data[this.pos++]));
n=n.join("");switch(n){case "IHDR":this.width=this.readUInt32();this.height=this.readUInt32();this.bits=this.data[this.pos++];this.colorType=this.data[this.pos++];this.compressionMethod=this.data[this.pos++];this.filterMethod=this.data[this.pos++];this.interlaceMethod=this.data[this.pos++];break;case "acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||Infinity,frames:[]};break;case "PLTE":this.palette=this.read(e);break;case "fcTL":k&&this.animation.frames.push(k);this.pos+=
4;k={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()};n=this.readUInt16();e=this.readUInt16()||100;k.delay=1E3*n/e;k.disposeOp=this.data[this.pos++];k.blendOp=this.data[this.pos++];k.data=[];break;case "IDAT":case "fdAT":"fdAT"===n&&(this.pos+=4,e-=4);n=(null!=k?k.data:void 0)||this.imgData;for(a=0;0<=e?a<e:a>e;0<=e?++a:--a)n.push(this.data[this.pos++]);break;case "tRNS":this.transparency={};switch(this.colorType){case 3:this.transparency.indexed=
this.read(e);e=255-this.transparency.indexed.length;if(0<e)for(n=0;0<=e?n<e:n>e;0<=e?++n:--n)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case "tEXt":a=this.read(e);e=a.indexOf(0);n=String.fromCharCode.apply(String,a.slice(0,e));this.text[n]=String.fromCharCode.apply(String,a.slice(e+1));break;case "IEND":k&&this.animation.frames.push(k);a:{switch(this.colorType){case 0:case 3:case 4:k=1;break a;
case 2:case 6:k=3;break a}k=void 0}this.colors=k;this.hasAlphaChannel=4===(q=this.colorType)||6===q;q=this.colors+(this.hasAlphaChannel?1:0);this.pixelBitlength=this.bits*q;a:{switch(this.colors){case 1:q="DeviceGray";break a;case 3:q="DeviceRGB";break a}q=void 0}this.colorSpace=q;this.imgData=new Uint8Array(this.imgData);return;default:this.pos+=e}this.pos+=4;if(this.pos>this.data.length)throw Error("Incomplete or corrupt PNG file");}}h.load=function(n,q,k){"function"===typeof q&&(k=q);var e=new XMLHttpRequest;
e.open("GET",n,!0);e.responseType="arraybuffer";e.onload=function(){var a=new Uint8Array(e.response||e.mozResponseArrayBuffer);a=new h(a);"function"===typeof(null!=q?q.getContext:void 0)&&a.render(q);return"function"===typeof k?k(a):void 0};return e.send(null)};h.prototype.read=function(n){var q;var k=[];for(q=0;0<=n?q<n:q>n;0<=n?++q:--q)k.push(this.data[this.pos++]);return k};h.prototype.readUInt32=function(){var n=this.data[this.pos++]<<24;var q=this.data[this.pos++]<<16;var k=this.data[this.pos++]<<
8;var e=this.data[this.pos++];return n|q|k|e};h.prototype.readUInt16=function(){var n=this.data[this.pos++]<<8;var q=this.data[this.pos++];return n|q};h.prototype.decodePixels=function(n){var q,k,e,a,b,m,g,c;null==n&&(n=this.imgData);if(0===n.length)return new Uint8Array(0);n=new I(n);n=n.getBytes();var d=this.pixelBitlength/8;var f=d*this.width;var l=new Uint8Array(f*this.height);var t=n.length;for(k=a=b=0;a<t;){switch(n[a++]){case 0:for(e=q=0;q<f;e=q+=1)l[k++]=n[a++];break;case 1:for(e=m=0;m<f;e=
m+=1){q=n[a++];var u=e<d?0:l[k-d];l[k++]=(q+u)%256}break;case 2:for(e=u=0;u<f;e=u+=1){q=n[a++];var r=(e-e%d)/d;m=b&&l[(b-1)*f+r*d+e%d];l[k++]=(m+q)%256}break;case 3:for(e=c=0;c<f;e=c+=1)q=n[a++],r=(e-e%d)/d,u=e<d?0:l[k-d],m=b&&l[(b-1)*f+r*d+e%d],l[k++]=(q+Math.floor((u+m)/2))%256;break;case 4:for(e=c=0;c<f;e=c+=1){q=n[a++];r=(e-e%d)/d;u=e<d?0:l[k-d];0===b?m=g=0:(m=l[(b-1)*f+r*d+e%d],g=r&&l[(b-1)*f+(r-1)*d+e%d]);var x=u+m-g;e=Math.abs(x-u);r=Math.abs(x-m);x=Math.abs(x-g);u=e<=r&&e<=x?u:r<=x?m:g;l[k++]=
(q+u)%256}break;default:throw Error("Invalid filter algorithm: "+n[a-1]);}b++}return l};h.prototype.decodePalette=function(){var n,q,k,e,a;var b=this.palette;var m=this.transparency.indexed||[];var g=new Uint8Array((m.length||0)+b.length);var c=k=n=q=0;for(e=b.length;k<e;c=k+=3)g[q++]=b[c],g[q++]=b[c+1],g[q++]=b[c+2],g[q++]=null!=(a=m[n++])?a:255;return g};h.prototype.copyToImageData=function(n,q){var k,e;var a=this.colors;var b=null;var m=this.hasAlphaChannel;this.palette.length&&(b=null!=(k=this._decodedPalette)?
k:this._decodedPalette=this.decodePalette(),a=4,m=!0);n=n.data||n;var g=n.length;var c=b||q;k=e=0;if(1===a)for(;k<g;)a=b?4*q[k/4]:e,e=c[a++],n[k++]=e,n[k++]=e,n[k++]=e,n[k++]=m?c[a++]:this.transparency.grayscale&&this.transparency.grayscale===e?0:255,e=a;else for(;k<g;)a=b?4*q[k/4]:e,n[k++]=c[a++],n[k++]=c[a++],n[k++]=c[a++],n[k++]=m?c[a++]:this.transparency.rgb&&this.transparency.rgb[1]===c[a-3]&&this.transparency.rgb[3]===c[a-2]&&this.transparency.rgb[5]===c[a-1]?0:255,e=a};h.prototype.decode=function(){var n=
new Uint8Array(this.width*this.height*4);this.copyToImageData(n,this.decodePixels());return n};var p=function(n){(void 0).clearRect(0,0,n.width,n.height);(void 0).putImageData(n,0,0);n=new Image;n.src=(void 0).toDataURL();return n};h.prototype.decodeFrames=function(n){var q,k;if(this.animation){var e=this.animation.frames;var a=[];var b=q=0;for(k=e.length;q<k;b=++q){b=e[b];var m=n.createImageData(b.width,b.height);var g=this.decodePixels(new Uint8Array(b.data));this.copyToImageData(m,g);b.imageData=
m;a.push(b.image=p(m))}return a}};h.prototype.renderFrame=function(n,q){var k=this.animation.frames;var e=k[q];k=k[q-1];0===q&&n.clearRect(0,0,this.width,this.height);1===(null!=k?k.disposeOp:void 0)?n.clearRect(k.xOffset,k.yOffset,k.width,k.height):2===(null!=k?k.disposeOp:void 0)&&n.putImageData(k.imageData,k.xOffset,k.yOffset);0===e.blendOp&&n.clearRect(e.xOffset,e.yOffset,e.width,e.height);return n.drawImage(e.image,e.xOffset,e.yOffset)};h.prototype.animate=function(n){var q,k=this;var e=0;var a=
this.animation;var b=a.numFrames;var m=a.frames;var g=a.numPlays;return(q=function(){var c=e++%b;var d=m[c];k.renderFrame(n,c);if(1<b&&e/b<g)return k.animation._timeout=setTimeout(q,d.delay)})()};h.prototype.stopAnimation=function(){var n;return clearTimeout(null!=(n=this.animation)?n._timeout:void 0)};h.prototype.render=function(n){n._png&&n._png.stopAnimation();n._png=this;n.width=this.width;n.height=this.height;n=n.getContext("2d");if(this.animation)return this.decodeFrames(n),this.animate(n);
var q=n.createImageData(this.width,this.height);this.copyToImageData(q,this.decodePixels());return n.putImageData(q,0,0)};return h}()})},"esri/layers/rasterFormats/Raw":function(){define([],function(){return{decodeBIP:function(I,h){var p=h.pixelType,n=h.bandCount,q=[],k=h.width*h.height,e=this.getBandCount(I,h);n=n||e;var a=I.byteLength-I.byteLength%(k*this._getPixelLength(p)),b=new p(I,0,k*e),m,g,c;for(m=0;m<n;m++){var d=new p(k);for(g=0;g<k;g++)d[g]=b[g*e+m];q.push(d)}a<I.byteLength-1&&(c=this._decodeMask(I.slice(a),
h));return{pixels:q,maskData:c}},decodeBSQ:function(I,h){var p=h.pixelType,n=h.bandCount;if(void 0===n||null===n)n=this.getBandCount(I,h);var q=[],k=h.width*h.height,e=k*n,a=I.byteLength-I.byteLength%(k*this._getPixelLength(p));p=new p(I,0,e);var b;for(e=0;e<n;e++)q.push(p.subarray(e*k,(e+1)*k));a<I.byteLength-1&&(b=this._decodeMask(I.slice(a),h));return{pixels:q,maskData:b}},getBandCount:function(I,h){return Math.floor(I.byteLength/(h.width*h.height*this._getPixelLength(h.pixelType)))},_getPixelLength:function(I){var h=
1;switch(I){case Uint8Array:case Int8Array:case Uint8ClampedArray:h=1;break;case Uint16Array:case Int16Array:h=2;break;case Uint32Array:case Int32Array:case Float32Array:h=4;break;case Float64Array:h=8}return h},_decodeMask:function(I,h){var p=h.width*h.height;if(8*I.byteLength<p)return null;I=new Uint8Array(I,0,Math.ceil(p/8));h=new Uint8Array(h.width*h.height);var n=0,q=0,k=0,e=0;for(k=0;k<I.length-1;k++)for(q=I[k],e=7;0<=e;e--)h[n++]=q>>e&1;for(e=7;n<p-1;)q=I[I.length-1],h[n++]=q>>e&1,e--;return h}}})},
"esri/layers/rasterFormats/TiffDecoder":function(){define(["./Jpg","./Zlib"],function(I,h){var p=function(){var e=new ArrayBuffer(4),a=new Uint8Array(e);e=new Uint32Array(e);a[0]=1;a[1]=2;a[2]=3;a[3]=4;return 67305985===e[0]},n=function(){var e=[];e[254]="NEWSUBFILETYPE";e[255]="SUBFILETYPE";e[256]="IMAGEWIDTH";e[257]="IMAGELENGTH";e[258]="BITSPERSAMPLE";e[259]="COMPRESSION";e[262]="PHOTOMETRICINTERPRETATION";e[263]="THRESHHOLDING";e[264]="CELLWIDTH";e[265]="CELLLENGTH";e[266]="FILLORDER";e[269]=
"DOCUMENTNAME";e[270]="IMAGEDESCRIPTION";e[271]="MAKE";e[272]="MODEL";e[273]="STRIPOFFSETS";e[274]="ORIENTATION";e[277]="SAMPLESPERPIXEL";e[278]="ROWSPERSTRIP";e[279]="STRIPBYTECOUNTS";e[280]="MINSAMPLEVALUE";e[281]="MAXSAMPLEVALUE";e[282]="XRESOLUTION";e[283]="YRESOLUTION";e[284]="PLANARCONFIGURATION";e[285]="PAGENAME";e[286]="XPOSITION";e[287]="YPOSITION";e[288]="FREEOFFSETS";e[289]="FREEBYTECOUNTS";e[290]="GRAYRESPONSEUNIT";e[291]="GRAYRESPONSECURVE";e[292]="T4OPTIONS";e[293]="T6OPTIONS";e[296]=
"RESOLUTIONUNIT";e[297]="PAGENUMBER";e[300]="COLORRESPONSEUNIT";e[301]="TRANSFERFUNCTION";e[305]="SOFTWARE";e[306]="DATETIME";e[315]="ARTIST";e[316]="HOSTCOMPUTER";e[317]="PREDICTOR";e[318]="WHITEPOINT";e[319]="PRIMARYCHROMATICITIES";e[320]="COLORMAP";e[321]="HALFTONEHINTS";e[322]="TILEWIDTH";e[323]="TILELENGTH";e[324]="TILEOFFSETS";e[325]="TILEBYTECOUNTS";e[326]="BADFAXLINES";e[327]="CLEANFAXDATA";e[328]="CONSECUTIVEBADFAXLINES";e[330]="SUBIFD";e[332]="INKSET";e[333]="INKNAMES";e[334]="NUMBEROFINKS";
e[336]="DOTRANGE";e[337]="TARGETPRINTER";e[338]="EXTRASAMPLES";e[339]="SAMPLEFORMAT";e[340]="SMINSAMPLEVALUE";e[341]="SMAXSAMPLEVALUE";e[342]="TRANSFERRANGE";e[347]="JPEGTABLES";e[512]="JPEGPROC";e[513]="JPEGIFOFFSET";e[514]="JPEGIFBYTECOUNT";e[515]="JPEGRESTARTINTERVAL";e[517]="JPEGLOSSLESSPREDICTORS";e[518]="JPEGPOINTTRANSFORM";e[519]="JPEGQTABLES";e[520]="JPEGDCTABLES";e[521]="JPEGACTABLES";e[529]="YCBCRCOEFFICIENTS";e[530]="YCBCRSUBSAMPLING";e[531]="YCBCRPOSITIONING";e[532]="REFERENCEBLACKWHITE";
e[33550]="GEOPIXELSCALE";e[33922]="GEOTIEPOINTS";e[33432]="COPYRIGHT";e[42112]="GDAL_METADATA";e[42113]="GDAL_NODATA";e[50844]="RPCCOEFFICIENT";e[34735]="GEOKEYDIRECTORY";e[34736]="GEODOUBLEPARAMS";e[34737]="GEOASCIIPARAMS";return e}(),q=[0,1,1,2,4,8,1,1,2,4,8,4,8],k=function(e,a){var b="UNKNOWN";3===e?b="F32":1===e?8>=a?b="U8":16>=a?b="U16":32>=a&&(b="U32"):2===e&&(8>=a?b="S8":16>=a?b="S16":32>=a&&(b="S32"));return b};return{decode:function(e){var a=new DataView(e,0,8),b=a.getUint16(0,!1);if(18761===
b)var m=!0;else if(19789===b)m=!1;else throw"unexpected endianess byte";if(42!==a.getUint16(2,m))throw"unexpected tiff identifier";var g=a.getUint32(4,m);var c=m;var d,f;var l=g;for(var t=[];l;){var u=(new DataView(e,l,2)).getUint16(0,c);var r=l+2;l=(new DataView(e,r+12*u,4)).getUint32(0,c);var x={};for(d=0;d<u;d++){var v=new DataView(e,r,12);var C=v.getUint16(0,c);var B=v.getUint16(2,c);var F=v.getUint32(4,c);var y=v.getUint32(8,c);r+=12;if(!(7===B||12<B)){var D=f={fieldTag:C,fieldType:B,fieldValueCount:F,
fieldValueOffset:y},L=void 0,E=void 0,z=e,A=c,G=[],N=f.fieldType,H=f.fieldValueCount,M=f.fieldValueOffset,T=M,U=q[N],W=8*U,Y=H*U,aa=H*q[N]*8;if(32>=aa)if(A||(M>>>=32-aa),1===H)G=[M];else for(L=0;L<H;L++)G.push(M<<W*L>>>32-W);else for(T=M;T<M+Y;T+=U){switch(N){case 1:E=(new DataView(z,T,1)).getUint8(0);break;case 2:E=(new DataView(z,T,1)).getUint8(0);break;case 3:E=(new DataView(z,T,2)).getUint16(0,A);break;case 4:E=(new DataView(z,T,4)).getUint32(0,A);break;case 5:E=(new DataView(z,T,4)).getUint32(0,
A)/(new DataView(z,T+4,4)).getUint32(0,A);break;case 6:E=(new DataView(z,T,1)).getInt8(0);break;case 8:E=(new DataView(z,T,2)).getInt16(0,A);break;case 9:E=(new DataView(z,T,4)).getInt32(0,A);break;case 10:E=(new DataView(z,T,4)).getInt32(0,A)/(new DataView(z,T+4,4)).getInt32(0,A);break;case 11:E=(new DataView(z,T,4)).getFloat32(0,A);break;case 12:E=(new DataView(z,T,8)).getFloat64(0,A);break;case 7:E=null;break;default:E=null}G.push(E)}if(2===N){var ea="",ma=G;G=[];for(L=0;L<ma.length;L++)0===ma[L]&&
""!==ea?(G.push(ea),ea=""):ea+=String.fromCharCode(ma[L]);""===ea&&0!==G.length||G.push(ea)}D.fieldValues=G;var la=x,J=n[C];void 0===J&&(J="unknown"+C);la[J]={type:B,values:f.fieldValues}}}t.push(x)}if(0===t.length)throw"no valid image file directory";var Q,R=t[0],V=void 0===R.GDAL_NODATA||null===R.GDAL_NODATA?null:parseFloat(R.GDAL_NODATA.values[0]);if(R.TILEOFFSETS){var w=p()===c,K=R.TILEOFFSETS?R.TILEOFFSETS.values:void 0;if(void 0===K)var O=void 0;else{var P=R.TILEBYTECOUNTS.values,S=R.TILEWIDTH.values[0],
X=R.TILELENGTH.values[0],ca=R.IMAGEWIDTH.values[0],ia=R.IMAGELENGTH.values[0],ba=ca*ia,da=R.BITSPERSAMPLE.values[0],Z=R.SAMPLESPERPIXEL.values[0],ha=R.SAMPLEFORMAT?R.SAMPLEFORMAT.values[0]:1,ra=k(ha,da);if(1!==(R.PLANARCONFIGURATION?R.PLANARCONFIGURATION.values[0]:1))throw console.log("can only handle PLANARCONFIGURATION\x3d1"),"can only handle PLANARCONFIGURATION\x3d1";var ka=R.COMPRESSION?R.COMPRESSION.values[0]:1;if(1!==ka&&6!==ka&&8!==ka&&32946!==ka)throw console.log("this compression is not supported at this moment"),
"this compression is not supported at this moment";if(3<ha)O=void 0;else{if(3===ha){var fa=new Float32Array(ba*Z);var na=Float32Array}else 1===ha?8>=da?(fa=new Uint8Array(ba*Z),na=Uint8Array):16>=da?(fa=new Uint16Array(ba*Z),na=Uint16Array):32>=da&&(fa=new Uint32Array(ba*Z),na=Uint32Array):2===ha&&(8>=da?(fa=new Int8Array(ba*Z),na=Int8Array):16>=da?(fa=new Int16Array(ba*Z),na=Int16Array):32>=da&&(fa=new Int32Array(ba*Z),na=Int32Array));var ja,xa,sa,Ia,Ta,Ya=Math.ceil(ca/S);if(0===da%8)for(ja=0;ja<
K.length;ja++){var Za=Math.floor(ja/Ya)*X;var $a=ja%Ya*S;var ab=(Za*ca+$a)*Z;if("U8"===ra||"S8"===ra||w)if(8===ka||32946===ka){var pa=new Uint8Array(e,K[ja],P[ja]);var Ua=new h(pa);var bb=Ua.getBytes();var ya=new ArrayBuffer(bb.length);pa=new Uint8Array(ya);pa.set(bb);pa.length!==S*X*Z*da/8&&console.log("tile byte counts is different than expected")}else if(6===ka){pa=new Uint8Array(e,K[ja],P[ja]);var Oa=new I;Oa.parse(pa);var cb=Oa.getData(Oa.width,Oa.height);ya=new ArrayBuffer(cb.length);pa=new Uint8Array(ya);
pa.set(cb)}else 1===ka&&(P[ja]!==S*X*Z*da/8&&console.log("tile byte counts is different than expected"),ya=e.slice(K[ja],K[ja]+P[ja]));else{if(8===ka||32946===ka){pa=new Uint8Array(e,K[ja],P[ja]);Ua=new h(pa);pa=Ua.getBytes();ya=new ArrayBuffer(pa.length);var Ga=new Uint8Array(ya);pa.length!==S*X*Z*da/8&&console.log("tile byte counts is different than expected")}else 1===ka&&(P[ja]!==S*X*Z*da/8&&console.log("tile byte counts is different than expected"),ya=new ArrayBuffer(P[ja]),pa=new Uint8Array(e,
K[ja],P[ja]),Ga=new Uint8Array(ya));switch(ra){case "U16":case "S16":for(sa=0;sa<pa.length;sa+=2)Ga[sa]=pa[sa+1],Ga[sa+1]=pa[sa];break;case "U32":case "S32":case "F32":for(sa=0;sa<pa.length;sa+=4)Ga[sa]=pa[sa+3],Ga[sa+1]=pa[sa+2],Ga[sa+2]=pa[sa+1],Ga[sa+3]=pa[sa]}}var hb=new na(ya);var Va=0;var Wa=ab;var ib=Math.min(S,ca-$a);var jb=Math.min(X,ia-Za);for(Ia=0;Ia<jb;Ia++)for(Wa=ab+Ia*ca*Z,Va=Ia*S*Z,Ta=0;Ta<ib*Z;Ta++,Wa++,Va++)fa[Wa]=hb[Va]}var Pa={width:ca,height:ia,pixelType:ra};if(1===Z)Pa.pixels=
[fa];else for(Pa.pixels=[],ja=0;ja<Z;ja++){var db=new na(ba);for(xa=0;xa<ba;xa++)db[xa]=fa[xa*Z+ja];Pa.pixels.push(db)}O=Pa}}}else if(R.STRIPOFFSETS){var kb=p()===c,Ba=R.STRIPOFFSETS?R.STRIPOFFSETS.values:void 0;if(void 0===Ba)O=void 0;else{var Ca=R.STRIPBYTECOUNTS.values,Ja=R.ROWSPERSTRIP.values,Da=R.IMAGEWIDTH.values[0],Ka=R.IMAGELENGTH.values[0],Ea=Da*Ka,va=R.BITSPERSAMPLE.values[0],ua=R.SAMPLESPERPIXEL.values[0],La=R.SAMPLEFORMAT?R.SAMPLEFORMAT.values[0]:1,Qa=k(La,va);if(1!==(R.PLANARCONFIGURATION?
R.PLANARCONFIGURATION.values[0]:1))throw console.log("can only handle PLANARCONFIGURATION\x3d1"),"can only handle PLANARCONFIGURATION\x3d1";var wa=R.COMPRESSION?R.COMPRESSION.values[0]:1;if(1!==wa&&6!==wa&&8!==wa&&32946!==wa)throw console.log("compressed tiff is not supported at this moment"),"compressed tiff is not supported at this moment";if(3<La)O=void 0;else{if(3===La){var za=new Float32Array(Ea*ua);var Fa=Float32Array}else 1===La?8>=va?(za=new Uint8Array(Ea*ua),Fa=Uint8Array):16>=va?(za=new Uint16Array(Ea*
ua),Fa=Uint16Array):32>=va&&(za=new Uint32Array(Ea*ua),Fa=Uint32Array):2===La&&(8>=va?(za=new Int8Array(Ea*ua),Fa=Int8Array):16>=va?(za=new Int16Array(Ea*ua),Fa=Int16Array):32>=va&&(za=new Int32Array(Da*Ka*ua),Fa=Int32Array));var oa,Ma,ta,Na=Ja;if(0===va%8)for(oa=0;oa<Ba.length;oa++){var lb=oa*Ja*Da*ua;Na=(oa+1)*Ja>Ka?Ka-oa*Ja:Ja;if("U8"===Qa||"S8"===Qa||kb)if(8===wa||32946===wa){var qa=new Uint8Array(e,Ba[oa],Ca[oa]);var Xa=new h(qa);var eb=Xa.getBytes();var Aa=new ArrayBuffer(eb.length);qa=new Uint8Array(Aa);
qa.set(eb);qa.length!==Na*Da*ua*va/8&&console.log("strip byte counts is different than expected")}else if(6===wa){qa=new Uint8Array(e,Ba[oa],Ca[oa]);var Ra=new I;Ra.parse(qa);var fb=Ra.getData(Ra.width,Ra.height);Aa=new ArrayBuffer(fb.length);qa=new Uint8Array(Aa);qa.set(fb)}else 1===wa&&(Ca[oa]!==Na*Da*ua*va/8&&console.log("strip byte counts is different than expected"),Aa=e.slice(Ba[oa],Ba[oa]+Ca[oa]));else{if(6===wa||8===wa||32946===wa){qa=new Uint8Array(e,Ba[oa],Ca[oa]);Xa=new h(qa);qa=Xa.getBytes();
Aa=new ArrayBuffer(qa.length);var Ha=new Uint8Array(Aa);qa.length!==Na*Da*ua*va/8&&console.log("strip byte counts is different than expected")}else 1===wa&&(Ca[oa]!==Na*Da*ua*va/8&&console.log("strip byte counts is different than expected"),Aa=new ArrayBuffer(Ca[oa]),qa=new Uint8Array(e,Ba[oa],Ca[oa]),Ha=new Uint8Array(Aa));switch(Qa){case "U16":case "S16":for(ta=0;ta<qa.length;ta+=2)Ha[ta]=qa[ta+1],Ha[ta+1]=qa[ta];break;case "U32":case "S32":case "F32":for(ta=0;ta<qa.length;ta+=4)Ha[ta]=qa[ta+3],
Ha[ta+1]=qa[ta+2],Ha[ta+2]=qa[ta+1],Ha[ta+3]=qa[ta]}}var mb=new Fa(Aa);za.set(mb,lb)}var Sa={width:Da,height:Ka,pixelType:Qa};if(1===ua)Sa.pixels=[za];else for(Sa.pixels=[],oa=0;oa<ua;oa++){var gb=new Fa(Ea);for(Ma=0;Ma<Ea;Ma++)gb[Ma]=za[Ma*ua+oa];Sa.pixels.push(gb)}O=Sa}}}if(null!==V){O.maskData=new Uint8Array(O.width*O.height);if(1E24<Math.abs(V))for(Q=0;Q<O.width*O.height;Q++)O.maskData[Q]=1E-6>Math.abs((O.pixels[0][Q]-V)/V)?0:1;else for(Q=0;Q<O.width*O.height;Q++)O.maskData[Q]=O.pixels[0][Q]===
V?0:1;O.noDataValue=V}return O}}})},"esri/layers/rasterLib/tile/RasterHandler":function(){define("require exports module dojo/Deferred dojo/promise/all ../../PixelBlock ../../vectorTiles/core/workers ../../vectorTiles/core/promiseUtils ../../vectorTiles/core/requireUtils ../../vectorTiles/request ../../rasterLib/function/rasterFunctionHelper ../../rasterLib/renderer/rasterRendererHelper".split(" "),function(I,h,p,n,q,k,e,a,b,m,g,c){function d(f){var l=new n;q(f).then(function(t){l.resolve()});return l.promise}
return function(){function f(l){this.customModules=l&&l.customModules}f.prototype.destroy=function(){this.stop();this.customModules=this.rasterLayer=null};f.prototype.start=function(){this.stop();var l=new n,t=0,u=this.customModules?this.customModules.length+1:1,r=b.getAbsMid("esri/layers/rasterLib/tile/RasterWorker",I,p),x=e.open(r,{client:this}).then(function(v){this._connection=v;t++;t===u&&(this._connected=!0,l.resolve())}.bind(this));this._openDL=[x];this.customModules&&this.customModules.forEach(function(v){x=
e.open(v,{client:this}).then(function(C){t++;t===u&&(this._connected=!0,l.resolve())});this._openDL.push(x);console.log(v)}.bind(this));return this._connectionPromise=l.promise};f.prototype.stop=function(){this._openDL?this._openDL.forEach(function(l){l.isFulfilled()||l.cancel()}.bind(this)):this._connectionPromise&&!this._connectionPromise.isFulfilled()&&this._connectionPromise.cancel();this._connection&&(this._connection.close(),this._connection=null)};f.prototype.decode=function(l){if(!this._connectionPromise.isFulfilled()||
!this._connection)return a.reject(Error("no connection"));var t={id:null};return this._connection.invoke("decode",l,[],t).then(function(u){u.targetWorker=t;return u})};f.prototype.process=function(l){if(!this._connectionPromise.isFulfilled()||!this._connection)return a.reject(Error("no connection"));var t={id:null};l.layerId=this.rasterLayer.layerId;var u=new n;this._connection.invoke("process",l,[],t).then(function(r){r.targetWorker=t;r.src?Object.keys(r.src).forEach(function(x){r.src[x].pixelBlock=
new k(r.src[x].pixelBlock)}):r.src=null;r.pixelBlock&&(r.pixelBlock=new k(r.pixelBlock));u.resolve(r)});return u.promise};f.prototype.render=function(l){if(!this._connectionPromise.isFulfilled()||!this._connection)return a.reject(Error("no connection"));var t={id:null};l.layerId=this.rasterLayer.layerId;return this._connection.invoke("render",l,[],t).then(function(u){u.targetWorker=t;u.pixelBlock=u.pixelBlock?new k(u.pixelBlock):null;return u})};f.prototype.setLayer=function(l){if(!this._connectionPromise.isFulfilled()||
!this._connection)return a.reject(Error("no connection"));this.rasterLayer=l;l=this._connection.broadcast("setLayer",l,[],{id:null});return d(l)};f.prototype.setRasterFunction=function(l){if(!this._connectionPromise.isFulfilled()||!this._connection)return a.reject(Error("no connection"));l=this._connection.broadcast("setRasterFunction",l,[],{id:null});return d(l)};f.prototype.setRasterRenderer=function(l){if(!this._connectionPromise.isFulfilled()||!this._connection)return a.reject(Error("no connection"));
l=this._connection.broadcast("setRasterRenderer",l,[],{id:null});return d(l)};return f}()})},"esri/layers/vectorTiles/core/workers":function(){define(["require","exports","./workers/workers"],function(I,h,p){Object.defineProperty(h,"__esModule",{value:!0});for(var n in p)h.hasOwnProperty(n)||(h[n]=p[n])})},"esri/layers/vectorTiles/core/workers/workers":function(){define("require exports dojo/sniff dojo/promise/all ../Logger ../promiseUtils ./Connection ./RemoteClient ./WorkerOwner".split(" "),function(I,
h,p,n,q,k,e,a,b){function m(){if(t)return t;for(var u=g+c,r=[],x=function(C){var B=b.create(C).then(function(F){return l[C]=F});r.push(B)},v=0;v<u;v++)x(v);return t=n(r).then(function(){})}Object.defineProperty(h,"__esModule",{value:!0});h.Connection=e;h.RemoteClient=a;(e=navigator.hardwareConcurrency)||(e=p("safari")&&p("mac")||p("trident")?8:2);var g=p("esri-workers-debug")?1:Math.max(1,Math.ceil(e/2)),c=p("esri-workers-debug")?1:Math.max(1,Math.floor(e/2)),d=q.getLogger("esri.core.workers"),f=
0,l=[];h.initialize=function(){m()};h.open=function(u,r,x){void 0===r&&(r={});if(Array.isArray(u))return new h.Connection(u.map(function(B){return new h.RemoteClient(B,r.client)}));if("string"!==typeof u){d.warn("workers-open:signature-deprecated","DEPRECATED: workers.open() changed signature.");var v=u;u=r;r={client:v,strategy:x?"dedicated":"distributed"}}var C=r.strategy||"distributed";return"local"===C?k.create(function(B){I([u],function(F){B(h.RemoteClient.connect(F))})}).then(function(B){return new h.Connection([new h.RemoteClient(B,
r.client)])}):m().then(function(){if("dedicated"===C){var B=g+f++;f%=c;return l[B].open(u).then(function(F){return new h.Connection([new h.RemoteClient(F,r.client)])})}return k.all(l.map(function(F){return F.open(u)})).then(function(F){return new h.Connection(F.map(function(y){return new h.RemoteClient(y,r.client)}))})})};h.terminate=function(){for(var u=0;u<l.length;u++)l[u]&&l[u].terminate();l.length=0};var t})},"esri/layers/vectorTiles/core/Logger":function(){define(["require","exports","dojo/has"],
function(I,h,p){var n={info:0,warn:1,error:2};I=function(){function q(k){void 0===k&&(k={});this.module=k.module||"";this.writer=k.writer||null;this.level=k.level||null;null!=k.enabled&&(this.enabled=!!k.enabled);q._loggers[this.module]=this;k=this.module.lastIndexOf(".");-1!==k&&(this.parent=q.getLogger(this.module.slice(0,k)))}q.prototype.log=function(k){for(var e=[],a=1;a<arguments.length;a++)e[a-1]=arguments[a];this._isEnabled()&&this._matchLevel(k)&&(a=this._inheritedWriter())&&a.apply(void 0,
[k,this.module].concat(e))};q.prototype.error=function(){for(var k=[],e=0;e<arguments.length;e++)k[e]=arguments[e];this.log.apply(this,["error"].concat(k))};q.prototype.warn=function(){for(var k=[],e=0;e<arguments.length;e++)k[e]=arguments[e];this.log.apply(this,["warn"].concat(k))};q.prototype.info=function(){for(var k=[],e=0;e<arguments.length;e++)k[e]=arguments[e];this.log.apply(this,["info"].concat(k))};q.prototype.getLogger=function(k){return q.getLogger(this.module+"."+k)};q.getLogger=function(k){var e=
q._loggers[k];e||(e=new q({module:k}));return e};q.prototype._parentWithMember=function(k,e){for(var a=this;a&&null==a[k];)a=a.parent;return a?a[k]:e};q.prototype._inheritedWriter=function(){return this._parentWithMember("writer",this._consoleWriter)};q.prototype._consoleWriter=function(k,e){for(var a=[],b=2;b<arguments.length;b++)a[b-2]=arguments[b];console[k].apply(console,["["+e+"]"].concat(a))};q.prototype._matchLevel=function(k){return n[this._parentWithMember("level","error")]<=n[k]};q.prototype._isEnabled=
function(){return this._parentWithMember("enabled",!0)};q._loggers={};return q}();h=I.getLogger("esri");p("dojo-debug-messages")?h.level="info":h.level="warn";return I})},"esri/layers/vectorTiles/core/promiseUtils":function(){define("require exports dojo/Deferred dojo/when dojo/promise/all ./Error".split(" "),function(I,h,p,n,q,k){function e(a){if(a){if("function"!==typeof a.forEach){var b=Object.keys(a),m=b.map(function(f){return a[f]});return e(m).then(function(f){var l={};b.forEach(function(t,
u){return l[t]=f[u]});return l})}var g=new p,c=[],d=a.length;0===d&&g.resolve(c);a.forEach(function(f){var l={promise:f};c.push(l);f.then(function(t){l.value=t}).catch(function(t){l.error=t}).then(function(){--d;0===d&&g.resolve(c)})});return g.promise}}Object.defineProperty(h,"__esModule",{value:!0});h.all=function(a){return q(a)};h.filter=function(a,b){var m=a.slice();return q(a.map(function(g,c){return b(g,c)})).then(function(g){return m.filter(function(c,d){return g[d]})})};h.eachAlways=e;h.create=
function(a,b){var m=new p(b);a(function(g){void 0===g&&(g=null);return n(g).then(m.resolve)},m.reject);return m.promise};h.reject=function(a){var b=new p;b.reject(a);return b.promise};h.resolve=function(a){void 0===a&&(a=null);var b=new p;b.resolve(a);return b.promise};h.after=function(a,b){void 0===b&&(b=null);var m=0,g=new p(function(){m&&(clearTimeout(m),m=0)});m=setTimeout(function(){g.resolve(b)},a);return g.promise};h.timeout=function(a,b,m){var g=0,c=new p(a.cancel);a.then(function(d){c.isFulfilled()||
(c.resolve(d),g&&(clearTimeout(g),g=0))});a.catch(function(d){c.isFulfilled()||(c.reject(d),g&&(clearTimeout(g),g=0))});g=setTimeout(function(){var d=m||new k("promiseUtils:timeout","The wrapped promise did not resolve within "+b+" ms");c.reject(d)},b);return c.promise};h.wrapCallback=function(a){var b=!1,m=new p(function(){return b=!0});a(function(g){b||m.resolve(g)});return m.promise};h.isThenable=function(a){return a&&"function"===typeof a.then};h.when=function(a){return n(a)}})},"esri/layers/vectorTiles/core/Error":function(){define(["require",
"exports","./tsSupport/extendsHelper","./lang","./Message"],function(I,h,p,n,q){I=function(k){function e(a,b,m){var g=k.call(this,a,b,m)||this;return g instanceof e?g:new e(a,b,m)}p(e,k);e.prototype.toJSON=function(){return{name:this.name,message:this.message,details:n.clone(this.details),dojoType:this.dojoType}};e.fromJSON=function(a){var b=new e(a.name,a.message,a.details);null!=a.dojoType&&(b.dojoType=a.dojoType);return b};return e}(q);I.prototype.type="error";return I})},"esri/layers/vectorTiles/core/tsSupport/extendsHelper":function(){define([],
function(){return function(){var I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,p){h.__proto__=p}||function(h,p){for(var n in p)p.hasOwnProperty(n)&&(h[n]=p[n])};return function(h,p){function n(){this.constructor=h}I(h,p);h.prototype=null===p?Object.create(p):(n.prototype=p.prototype,new n)}}()})},"esri/layers/vectorTiles/core/lang":function(){define("dojo/_base/kernel dojo/_base/lang dojo/date dojo/number dojo/date/locale dojo/i18n!../nls/common".split(" "),function(I,h,p,n,
q,k){function e(f){return void 0!==f&&null!==f}function a(f){return e(f)?f:""}function b(f,l,t){var u=t.match(/([^\(]+)(\([^\)]+\))?/i),r=h.trim(u[1]);t=l[f];u=JSON.parse((u[2]?h.trim(u[2]):"{}").replace(/^\(/,"{").replace(/\)$/,"}").replace(/([{,])\s*([0-9a-zA-Z_]+)\s*:/gi,'$1"$2":').replace(/"\s*:\s*'/gi,'":"').replace(/'\s*(,|\})/gi,'"$1'));var x=u.utcOffset;if(-1===c.indexOf(r))r=h.getObject(r),h.isFunction(r)&&(t=r(t,f,l,u));else if("number"===typeof t||"string"===typeof t&&t&&!isNaN(Number(t)))switch(t=
Number(t),r){case "NumberFormat":f=h.mixin({},u);l=parseFloat(f.places);if(isNaN(l)||0>l)f.places=Infinity;return n.format(t,f);case "DateString":t=new Date(t);if(u.local||u.systemLocale)return u.systemLocale?t.toLocaleDateString()+(u.hideTime?"":" "+t.toLocaleTimeString()):t.toDateString()+(u.hideTime?"":" "+t.toTimeString());t=t.toUTCString();u.hideTime&&(t=t.replace(/\s+\d\d:\d\d:\d\d\s+(utc|gmt)/i,""));return t;case "DateFormat":return t=new Date(t),e(x)&&(t=p.add(t,"minute",t.getTimezoneOffset()-
x)),q.format(t,u)}return a(t)}function m(f,l){var t;if(l)for(t in f)f.hasOwnProperty(t)&&(void 0===f[t]?delete f[t]:f[t]instanceof Object&&m(f[t],!0));else for(t in f)f.hasOwnProperty(t)&&void 0===f[t]&&delete f[t];return f}function g(f){if(!f||"object"!=typeof f||h.isFunction(f))return f;if(f instanceof Int8Array||f instanceof Uint8Array||f instanceof Uint8ClampedArray||f instanceof Int16Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Uint32Array||f instanceof Float32Array||
f instanceof Float64Array||f instanceof Date)return new f.constructor(f);if(f instanceof ArrayBuffer)return f.slice(0,f.byteLength);if("function"===typeof f.clone)f=f.clone();else if("function"===typeof f.map&&"function"===typeof f.forEach)f=f.map(g);else if("function"===typeof f.notifyChange&&"function"===typeof f.watch)f=f.clone();else{var l={},t,u={};for(t in f){var r=f[t];var x=!(t in u)||u[t]!==r;if(!(t in l)||l[t]!==r&&x)l[t]=g?g(r):r}f=l}return f}var c=["NumberFormat","DateString","DateFormat"],
d=/<\/?[^>]+>/g;return{equals:function(f,l){return f===l||"number"===typeof f&&isNaN(f)&&"number"===typeof l&&isNaN(l)||h.isFunction((f||{}).getTime)&&h.isFunction((l||{}).getTime)&&f.getTime()==l.getTime()||h.isFunction((f||{}).equals)&&f.equals(l)||h.isFunction((l||{}).equals)&&l.equals(f)||!1},mixin:h.mixin,valueOf:function(f,l){for(var t in f)if(f[t]==l)return t;return null},stripTags:function(f){if(f){var l=typeof f;if("string"===l)f=f.replace(d,"");else if("object"===l)for(var t in f)(l=f[t])&&
"string"===typeof l&&(l=l.replace(d,"")),f[t]=l}return f},substitute:function(f,l,t){if(e(t))if(h.isObject(t)){var u=t.first;var r=t.dateFormat;var x=t.numberFormat}else u=t;if(l&&"{*}"!==l)return h.replace(l,h.hitch({obj:f},function(C,B){C=B.split(":");return 1<C.length?(B=C[0],C.shift(),b(B,this.obj,C.join(":"))):r&&-1!==(r.properties||[]).indexOf(B)?b(B,this.obj,r.formatter||"DateString"):x&&-1!==(x.properties||[]).indexOf(B)?b(B,this.obj,x.formatter||"NumberFormat"):a(this.obj[B])}));l=[];var v;
l.push('\x3ctable class\x3d"esri-widget__table" summary\x3d"'+k.fieldsSummary+'"\x3e\x3ctbody\x3e');for(v in f)if(t=f[v],r&&-1!==(r.properties||[]).indexOf(v)?t=b(v,f,r.formatter||"DateString"):x&&-1!==(x.properties||[]).indexOf(v)&&(t=b(v,f,x.formatter||"NumberFormat")),l.push("\x3ctr\x3e\x3cth\x3e"+v+"\x3c/th\x3e\x3ctd\x3e"+a(t)+"\x3c/td\x3e\x3c/tr\x3e"),u)break;l.push("\x3c/tbody\x3e\x3c/table\x3e");return l.join("")},filter:function(f,l,t){l=[h.isString(f)?f.split(""):f,t||I.global,h.isString(l)?
new Function("item","index","array",l):l];t={};var u;f=l[0];for(u in f)l[2].call(l[u],f[u],u,f)&&(t[u]=f[u]);return t},startsWith:function(f,l,t){t=t||0;return f.indexOf(l,t)===t},endsWith:function(f,l,t){if("number"!==typeof t||!isFinite(t)||Math.floor(t)!==t||t>f.length)t=f.length;t-=l.length;f=f.indexOf(l,t);return-1!==f&&f===t},isDefined:e,fixJson:m,clone:g}})},"esri/layers/vectorTiles/core/Message":function(){define(["require","exports","dojo/string"],function(I,h,p){return function(){function n(q,
k,e){this instanceof n&&(this.name=q,this.message=k&&p.substitute(k,e,function(a){return null==a?"":a})||"",this.details=e)}n.prototype.toString=function(){return"["+this.name+"]: "+this.message};return n}()})},"esri/layers/vectorTiles/core/workers/Connection":function(){define(["require","exports","../promiseUtils"],function(I,h,p){return function(){function n(q){this._clientIdx=0;this._clients=q}n.prototype.broadcast=function(q,k,e){for(var a=[],b=0,m=this._clients;b<m.length;b++)a.push(m[b].invoke(q,
k,e));return a};n.prototype.close=function(){for(var q=0,k=this._clients;q<k.length;q++)k[q].close();this._clients=[]};n.prototype.invoke=function(q,k,e,a){var b=a&&a.client;if(!this._clients||!this._clients.length)return p.reject(Error("Connection closed"));null!=b&&-1!==this._clients.indexOf(b)||this._clients.some(function(m){return m.isBusy()?!1:(b=m,!0)})||(this._clientIdx=(this._clientIdx+1)%this._clients.length,b=this._clients[this._clientIdx]);q=b.invoke(q,k,e);a&&(a.client=b);return q};n.prototype.openPorts=
function(){return p.all(this._clients.map(function(q){return q.openPort()}))};return n}()})},"esri/layers/vectorTiles/core/workers/RemoteClient":function(){define("require exports dojo/Deferred ../Error ../promiseUtils ./utils".split(" "),function(I,h,p,n,q,k){function e(f,l){f["delete"](l)}var a=k.MessageType.CLOSE,b=k.MessageType.CANCEL,m=k.MessageType.INVOKE,g=k.MessageType.RESPONSE,c=k.MessageType.OPEN_PORT,d=function(){function f(l){this._timer=null;this._cancelledJobIds=new Set;this._invokeMessages=
[];this._invoke=l;this._timer=null;this._process=this._process.bind(this)}f.prototype.push=function(l){l.type===k.MessageType.CANCEL?this._cancelledJobIds.add(l.jobId):(this._invokeMessages.push(l),null===this._timer&&(this._timer=setTimeout(this._process,0)))};f.prototype.clear=function(){this._invokeMessages.length=0;this._cancelledJobIds.clear();this._timer=null};f.prototype._process=function(){this._timer=null;for(var l=0,t=this._invokeMessages;l<t.length;l++){var u=t[l];this._cancelledJobIds.has(u.jobId)||
this._invoke(u)}this._cancelledJobIds.clear();this._invokeMessages.length=0};return f}();return function(){function f(l,t,u){this._outJobs=new Map;this._inJobs=new Map;this._queue=new d(this._onInvoke.bind(this));this._onMessage=this._onMessage.bind(this);this._client=t;this._port=l;this._port.addEventListener("message",this._onMessage);this._port.start();this._channel=u}f.connect=function(l){var t=new MessageChannel;l="function"===typeof l?new l:"default"in l&&"function"===typeof l.default?new l.default:
l;l.remoteClient=new f(t.port1,l,t);return t.port2};f.prototype.close=function(){this._post({type:a});this._close()};f.prototype.isBusy=function(){return 0<this._outJobs.size};f.prototype.invoke=function(l,t,u){var r=this;if(!this._port)return q.reject(new n("remote-client:port-closed","Can't invoke(), port is closed"));var x=k.newJobId(),v=new p(function(){e(r._outJobs,x);r._post({type:b,jobId:x})});this._outJobs.set(x,v);this._post({type:m,jobId:x,methodName:l},t,u);return v.promise};f.prototype.openPort=
function(){var l=this,t=k.newJobId(),u=new p(function(){e(l._outJobs,t);l._post({type:b,jobId:t})});this._outJobs.set(t,u);this._post({type:c,jobId:t});return u.promise};f.prototype._close=function(){this._channel&&(this._channel=null);this._port.removeEventListener("message",this._onMessage);this._port.close();this._outJobs.forEach(function(l){l.cancel()});this._inJobs.clear();this._outJobs.clear();this._queue.clear();this._port=this._client=null};f.prototype._onMessage=function(l){if(l=k.receiveMessage(l))switch(l.type){case g:this._onResponse(l);
break;case m:this._queue.push(l);break;case b:this._onCancel(l);break;case a:this._close();break;case c:this._onOpenPort(l)}};f.prototype._onCancel=function(l){var t=this._inJobs,u=l.jobId,r=t.get(u);this._queue.push(l);r&&(e(t,u),r.cancel())};f.prototype._onInvoke=function(l){var t=this,u=l.methodName,r=l.jobId;l=l.data;var x=this._inJobs,v=this._client,C=v[u];try{if(!C&&u&&-1!==u.indexOf("."))for(var B=u.split("."),F=0;F<B.length-1;F++)v=v[B[F]],C=v[B[F+1]];if("function"!==typeof C)throw new TypeError(u+
" is not a function");var y=C.call(v,l,this)}catch(D){this._post({type:g,jobId:r,error:k.toInvokeError(D)});return}q.isThenable(y)?(x.set(r,y),y.then(function(D){x.has(r)&&(e(x,r),t._post({type:g,jobId:r},D))}).catch(function(D){x.has(r)&&(e(x,r),D&&"cancel"===D.dojoType||t._post({type:g,jobId:r,error:k.toInvokeError(D||{message:"Error encountered at method "+u})}))})):this._post({type:g,jobId:r},y)};f.prototype._onOpenPort=function(l){var t=new MessageChannel;new f(t.port1,this._client);this._post({type:g,
jobId:l.jobId},t.port2,[t.port2])};f.prototype._onResponse=function(l){var t=l.jobId,u=l.error;l=l.data;var r=this._outJobs;if(r.has(t)){var x=r.get(t);e(r,t);u?x.reject(n.fromJSON(JSON.parse(u))):x.resolve(l)}};f.prototype._post=function(l,t,u){return k.postMessage(this._port,l,t,u)};return f}()})},"esri/layers/vectorTiles/core/workers/utils":function(){define(["require","exports","dojo/has"],function(I,h,p){function n(k){return k&&"object"===typeof k&&("result"in k||"transferList"in k)}Object.defineProperty(h,
"__esModule",{value:!0});(function(k){k[k.HANDSHAKE=0]="HANDSHAKE";k[k.CONFIGURE=1]="CONFIGURE";k[k.CONFIGURED=2]="CONFIGURED";k[k.OPEN=3]="OPEN";k[k.OPENED=4]="OPENED";k[k.RESPONSE=5]="RESPONSE";k[k.INVOKE=6]="INVOKE";k[k.CANCEL=7]="CANCEL";k[k.CLOSE=8]="CLOSE";k[k.OPEN_PORT=9]="OPEN_PORT"})(h.MessageType||(h.MessageType={}));var q=0;h.newJobId=function(){return q++};h.isTranferableResult=n;h.toInvokeError=function(k){return k?k.toJSON?JSON.stringify(k):JSON.stringify({name:k.name,message:k.message,
details:k.details,stack:k.stack}):null};h.postMessage=function(k,e,a,b){2===arguments.length||void 0===a&&void 0===b?k.postMessage(e):(p("esri-workers-supports-transfer-arraybuffer")||(b?(b=b.filter(function(m){return!(m instanceof ArrayBuffer)}),b.length||(b=null)):n(a)&&a.transferList&&(a.transferList=a.transferList.filter(function(m){return!(m instanceof ArrayBuffer)}),a.transferList.length||(a.transferList=null))),b?(e.data=a,k.postMessage(e,b)):n(a)?(e.data=a.result,a.transferList?k.postMessage(e,
a.transferList):k.postMessage(e)):(e.data=a,k.postMessage(e)))};h.receiveMessage=function(k){return k?(k=k.data)?"string"===typeof k?JSON.parse(k):k:null:null}})},"esri/layers/vectorTiles/core/workers/WorkerOwner":function(){define("require exports dojo/Deferred ../../kernel ../Error ../Logger ../promiseUtils ./utils ./workerFactory".split(" "),function(I,h,p,n,q,k,e,a,b){var m=k.getLogger("esri.core.workers"),g=a.MessageType.CANCEL,c=a.MessageType.INVOKE,d=a.MessageType.OPEN,f=a.MessageType.OPENED,
l=a.MessageType.RESPONSE;return function(){function t(u,r){this._outJobs=new Map;this._inJobs=new Map;this.worker=u;this.id=r;u.addEventListener("message",this._onMessage.bind(this));u.addEventListener("error",function(x){x.preventDefault();m.error(x)})}t.create=function(u){return b.createWorker().then(function(r){return new t(r,u)})};t.prototype.terminate=function(){this.worker.terminate()};t.prototype.open=function(u){var r=this,x=a.newJobId(),v=new p(function(C){r._outJobs["delete"](x);r._post({type:g,
jobId:x})});this._outJobs.set(x,v);this._post({type:d,jobId:x,modulePath:u});return v.promise};t.prototype._onMessage=function(u){if(u=a.receiveMessage(u))switch(u.type){case f:case l:this._onResponse(u);break;case g:this._onCancel(u);break;case c:this._onInvoke(u)}};t.prototype._onCancel=function(u){(u=this._inJobs.get(u.jobId))&&u.cancel()};t.prototype._onInvoke=function(u){var r=this,x=u.methodName,v=u.jobId;u=u.data;var C=this._inJobs,B=n.workerMessages[x];try{if("function"!==typeof B)throw new TypeError(x+
" is not a function");var F=B.call(null,u)}catch(y){this._post({type:l,jobId:v,error:a.toInvokeError(y)});return}e.isThenable(F)?(C.set(v,F),F.then(function(y){C["delete"](v);r._post({type:l,jobId:v},y)}).catch(function(y){C["delete"](v);y||(y={message:"Error encountered at method"+x});y.dojoType&&"cancel"===y.dojoType||r._post({type:l,jobId:v,error:a.toInvokeError(y)})})):this._post({type:l,jobId:v},F)};t.prototype._onResponse=function(u){var r=u.jobId,x=u.error;u=u.data;var v=this._outJobs.get(r);
v&&(this._outJobs["delete"](r),x?v.reject(q.fromJSON(JSON.parse(x))):v.resolve(u))};t.prototype._post=function(u,r,x){return a.postMessage(this.worker,u,r,x)};return t}()})},"esri/layers/vectorTiles/core/workers/workerFactory":function(){define("require exports ../tsSupport/assignHelper dojo/_base/kernel ../../config ../../request ../Logger ../promiseUtils ../sniff ../urlUtils ./loaderConfig ./utils ./WorkerFallback".split(" "),function(I,h,p,n,q,k,e,a,b,m,g,c,d){function f(B){return a.create(function(F){function y(L){if(L=
c.receiveMessage(L))switch(L.type){case C:L=B;var E=q.workers.loaderUrl||g.DEFAULT_LOADER_URL;if(null!=q["default"]){var z=p({},q);delete z["default"];z=JSON.parse(JSON.stringify(z))}else z=JSON.parse(JSON.stringify(q));var A=q.workers.loaderConfig;A=g.default({baseUrl:A.baseUrl,locale:n.locale,has:p({"config-deferredInstrumentation":0,"dojo-test-sniff":0,"esri-cors":1,"esri-secure-context":b("esri-secure-context"),"esri-workers-supports-transfer-arraybuffer":b("esri-workers-supports-transfer-arraybuffer"),
"events-keypress-typed":0,"host-webworker":1},A.has),map:p({},A.map),paths:p({},A.paths),packages:A.packages||[]});L.postMessage({type:v,configure:{esriConfig:z,loaderUrl:E,loaderConfig:A}});break;case x:B.removeEventListener("message",y),B.removeEventListener("error",D),F(B)}}function D(L){L.preventDefault();B.removeEventListener("message",y);B.removeEventListener("error",D);u.warn("Failed to create Worker. Fallback to execute module in main thread",L);B=new d;B.addEventListener("message",y);B.addEventListener("error",
D)}B.addEventListener("message",y);B.addEventListener("error",D)})}Object.defineProperty(h,"__esModule",{value:!0});var l=m.normalize(I.toUrl("./worker.js")),t=!m.hasSameOrigin(l,location.href),u=e.getLogger("esri.core.workers"),r=null,x=c.MessageType.CONFIGURED,v=c.MessageType.CONFIGURE,C=c.MessageType.HANDSHAKE;h.createWorker=function(){if(!b("esri-workers"))return f(new d);if(!t){var B=void 0;try{B=new Worker(l)}catch(F){u.warn("Failed to create Worker. Fallback to execute module in main thread",
event),B=new d}return f(B)}r||(r=k(l,{responseType:"text"}));return r.then(function(F){return new Worker(URL.createObjectURL(new Blob([F.data],{type:"text/javascript"})))}).catch(function(F){u.warn("Failed to create Worker. Fallback to execute module in main thread",F);return new d}).then(function(F){return f(F)})}})},"esri/layers/vectorTiles/core/tsSupport/assignHelper":function(){define([],function(){return Object.assign||function(I){for(var h,p=1,n=arguments.length;p<n;p++){h=arguments[p];for(var q in h)Object.prototype.hasOwnProperty.call(h,
q)&&(I[q]=h[q])}return I}})},"esri/layers/vectorTiles/config":function(){define(["require","exports","esri/config"],function(I,h,p){Object.defineProperty(p,"workers",{get:function(){return p.defaults.workers},set:function(n){return p.defaults.workers=n}});return p})},"esri/layers/vectorTiles/request":function(){define(["require","exports","esri/request","dojo/_base/lang","dojo/Deferred"],function(I,h,p,n,q){return function(k,e){k=n.mixin({},{url:k,failOk:!0},e);"array-buffer"===e.responseType?(k.handleAs=
"arraybuffer",delete k.responseType):e.responseType&&(k.handleAs=e.responseType,delete k.responseType);null!==e.query&&(k.content=k.query,delete k.query);if(e.hasOwnProperty("allowImageDataAccess")){var a={allowImageDataAccess:e.allowImageDataAccess};delete k.allowImageDataAccess}var b=new q(function(){m.isFulfilled()||m.cancel()});var m=p(k,a).then(function(g){b.resolve({data:g})}).catch(function(g){g&&null!=g.httpCode&&(g.details=g.details||{},g.details.httpStatus=g.httpCode);b.reject(g)});return b.promise}})},
"esri/layers/vectorTiles/core/sniff":function(){define(["require","exports","dojo/sniff","./global","../views/webgl/context-util"],function(I,h,p,n,q){function k(){var m={available:!1,version:0,majorPerformanceCaveat:!1,supportsHighPrecisionFragment:!1,supportsVertexShaderSamplers:!1,supportsElementIndexUint:!1,supportsStandardDerivatives:!1},g=document.createElement("canvas");if(!g)return m;var c=q.createContext(g,{failIfMajorPerformanceCaveat:!0},"webgl");!c&&(c=q.createContext(g,{},"webgl"))&&
(m.majorPerformanceCaveat=!0);if(!c)return m;g=c.getParameter(c.VERSION);if(!g)return m;if(g=g.match(/^WebGL\s+([\d.]*)/))m.version=parseFloat(g[1]),m.available=.94<=m.version,g=c.getShaderPrecisionFormat(c.FRAGMENT_SHADER,c.HIGH_FLOAT),m.supportsHighPrecisionFragment=g&&0<g.precision,m.supportsVertexShaderSamplers=0<c.getParameter(c.MAX_VERTEX_TEXTURE_IMAGE_UNITS),m.supportsElementIndexUint=null!==c.getExtension("OES_element_index_uint"),m.supportsStandardDerivatives=null!==c.getExtension("OES_standard_derivatives");
return m}function e(){var m={available:!1,version:0},g=document.createElement("canvas");if(!g)return m;g=q.createContext(g,{},"webgl2");if(!g)return m;m.available=!0;g=g.getParameter(g.VERSION);if(!g)return m;if(g=g.match(/^WebGL\s+([\d.]*)/))m.version=parseFloat(g[1]);return m}(function(){var m=navigator.userAgent,g=m.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i);m=m.match(/iPhone/i);g&&p.add("esri-mobile",g);m&&p.add("esri-iPhone",m);p.add("esri-phonegap",!!n.cordova);
p.add("esri-cors",p("esri-phonegap")||"XMLHttpRequest"in n&&"withCredentials"in new XMLHttpRequest);p.add("esri-geolocation",function(){return!!navigator.geolocation});p.add("esri-canvas-svg-support",function(){return!(p("trident")||p("ie"))});p.add("esri-secure-context",function(){if("isSecureContext"in n)return n.isSecureContext;if(n.location&&n.location.origin)return 0===n.location.origin.indexOf("https:")});p.add("esri-wasm","WebAssembly"in n);p("host-webworker")||(p.add("esri-workers","Worker"in
n),p.add("esri-script-sandbox",function(){return"MessageChannel"in n&&"HTMLIFrameElement"in n&&"sandbox"in HTMLIFrameElement.prototype}),p.add("esri-url-encodes-apostrophe",function(){var c=n.document.createElement("a");c.href="?'";return-1<c.href.indexOf("?%27")}),a||(a=k()),p.add("esri-webgl",a.available),p.add("esri-webgl-high-precision-fragment",a.supportsHighPrecisionFragment),p.add("esri-webgl-vertex-shader-samplers",a.supportsVertexShaderSamplers),p.add("esri-webgl-element-index-uint",a.supportsElementIndexUint),
p.add("esri-webgl-standard-derivatives",a.supportsStandardDerivatives),p.add("esri-webgl-major-performance-caveat",a.majorPerformanceCaveat),p.add("esri-featurelayer-webgl-labeling",!0),b||(b=e()),p.add("esri-webgl2",b.available))})();var a=null,b=null;return p})},"esri/layers/vectorTiles/core/global":function(){define(["require","exports"],function(I,h){return function(){if("undefined"!==typeof global)return global;if("undefined"!==typeof window)return window;if("undefined"!==typeof self)return self}()})},
"esri/layers/vectorTiles/views/webgl/context-util":function(){define(["require","exports"],function(I,h){function p(e,a,b){void 0===a&&(a={});switch(b){case "webgl":var m=["webgl","experimental-webgl","webkit-3d","moz-webgl"];break;case "webgl2":m=["webgl2"];break;default:m=["webgl","experimental-webgl","webkit-3d","moz-webgl"]}b=null;for(var g=0;g<m.length;g++){var c=m[g];try{b=e.getContext(c,a)}catch(d){}if(b)break}return b}function n(e,a){(e=e.parentNode)&&(e.innerHTML='\x3ctable style\x3d"background-color: #8CE; width: 100%; height: 100%;"\x3e\x3ctr\x3e\x3ctd align\x3d"center"\x3e\x3cdiv style\x3d"display: table-cell; vertical-align: middle;"\x3e\x3cdiv style\x3d""\x3e'+
a+"\x3c/div\x3e\x3c/div\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e")}Object.defineProperty(h,"__esModule",{value:!0});h.createContextOrErrorHTML=function(e,a,b){void 0===a&&(a={});if(!window.WebGLRenderingContext)return n(e,q),null;a=p(e,a,b);return a?a:(n(e,k),null)};h.createContext=p;var q='This page requires a browser that supports WebGL.\x3cbr/\x3e\x3ca href\x3d"http://get.webgl.org"\x3eClick here to upgrade your browser.\x3c/a\x3e',k='It doesn\'t appear your computer can support WebGL.\x3cbr/\x3e\x3ca href\x3d"http://get.webgl.org/troubleshooting/"\x3eClick here for more information.\x3c/a\x3e'})},
"esri/layers/vectorTiles/core/urlUtils":function(){define(["require","exports","esri/urlUtils","dojo/_base/url"],function(I,h,p,n){function q(v){return p.normalize(v)}function k(v){return"data:"===v.slice(0,5)}function e(v){return a(v)||r.test(v)}function a(v){return v&&"/"===v[0]&&"/"===v[1]}function b(v){return p.urlToObject(v)}function m(v){if("string"===typeof v)return new n(c(v));v.scheme||(v.scheme=h.appUrl.scheme);return v}function g(v){if(k(v))return null;var C=v.indexOf("://");if(-1===C&&
a(v))C=2;else if(-1!==C)C+=3;else return null;C=v.indexOf("/",C);return-1===C?v:v.slice(0,C)}function c(v,C,B){void 0===C&&(C=h.appBaseUrl);if(a(v))return B&&B.preserveProtocolRelative?v:"http"===h.appUrl.scheme&&h.appUrl.authority===g(v).slice(2)?"http:"+v:"https:"+v;if(r.test(v))return v;"/"===v[0]&&(B=C.indexOf("//"),B=C.indexOf("/",B+2),C=-1===B?C:C.slice(0,B));return f(C,v)}function d(v,C,B){void 0===B&&(B=!1);v=m(v);C=m(C);return B||v.scheme===C.scheme?v.host.toLowerCase()===C.host.toLowerCase()&&
v.port===C.port:!1}function f(){for(var v=[],C=0;C<arguments.length;C++)v[C]=arguments[C];if(v&&v.length){C=[];if(e(v[0])){var B=v[0],F=B.indexOf("//");C.push(B.slice(0,F+1));u.test(v[0])&&(C[0]+="/");v[0]=B.slice(F+2)}else"/"===v[0][0]&&C.push("");v=v.reduce(function(y,D){return D?y.concat(D.split("/")):y},[]);for(B=0;B<v.length;B++)F=v[B],".."===F&&0<C.length?C.pop():!F||"."===F&&0!==C.length||C.push(F);return C.join("/")}}function l(v,C,B){if(!(C&&B&&v&&e(v)))return v;var F=v.indexOf("//"),y=v.indexOf("/",
F+2),D=v.indexOf(":",F+2);y=Math.min(0>y?v.length:y,0>D?v.length:D);if(v.slice(F+2,y).toLowerCase()!==C.toLowerCase())return v;C=v.slice(0,F+2);v=v.slice(y);return""+C+B+v}function t(v,C,B){void 0===C&&(C=h.appBaseUrl);if(!e(v))return v;var F=q(v),y=F.toLowerCase();C=q(C).toLowerCase().replace(/\/+$/,"");if((B=B?q(B).toLowerCase().replace(/\/+$/,""):null)&&0!==C.indexOf(B))return v;for(var D=function(z,A,G){G=z.indexOf(A,G);return-1===G?z.length:G},L=D(y,"/",y.indexOf("//")+2),E=-1;y.slice(0,L+1)===
C.slice(0,L)+"/";){E=L+1;if(L===y.length)break;L=D(y,"/",L+1)}if(-1===E||B&&E<B.length)return v;v=F.slice(E);F=C.slice(E-1).replace(/[^/]+/g,"").length;if(0<F)for(y=0;y<F;y++)v="../"+v;else v="./"+v;return v}Object.defineProperty(h,"__esModule",{value:!0});h.normalize=q;h.canUseXhr=function(v){return p.canUseXhr(v)};h.removeTrailingSlash=function(v){return v.replace(/\/+$/,"")};I=Function("return this")();h.appUrl=new n(I.location);h.appBaseUrl=function(){var v=h.appUrl.path;v=v.substring(0,v.lastIndexOf(v.split("/")[v.split("/").length-
1]));return h.appUrl.scheme+"://"+h.appUrl.host+(null!=h.appUrl.port?":"+h.appUrl.port:"")+v}();var u=/^\s*file:/i,r=/^\s*[a-z][a-z0-9-+.]*:[^0-9]/i;h.isDataProtocol=k;h.isAbsolute=e;h.isProtocolRelative=a;h.urlToObject=b;h.getOrigin=g;h.makeAbsolute=c;h.hasSameOrigin=d;h.join=f;h.removeFile=function(v){var C=0;if(e(v)){var B=v.indexOf("//");-1!==B&&(C=B+2)}B=v.lastIndexOf("/");return B<C?v:v.slice(0,B+1)};h.addProxy=function(v){return p.addProxy(v)};h.makeData=function(v){return v.isBase64?"data:"+
v.mediaType+";base64,"+v.data:"data:"+v.mediaType+","+v.data};var x=/^data:(.*?)(;base64)?,(.*)$/;h.dataComponents=function(v){return(v=v.match(x))?{mediaType:v[1],isBase64:!!v[2],data:v[3]}:null};h.changeDomain=l;h.read=function(v,C){var B=C&&C.url&&C.url.path;v&&B&&(v=c(v,B,{preserveProtocolRelative:!0}));(C=C&&C.portal)&&!C.isPortal&&C.urlKey&&C.customBaseUrl?(B=C.urlKey+"."+C.customBaseUrl,C=d(h.appUrl,h.appUrl.scheme+"://"+B)?l(v,C.portalHostname,B):l(v,B,C.portalHostname)):C=v;return C};h.write=
function(v,C){if(!v)return v;!e(v)&&C&&C.blockedRelativeUrls&&C.blockedRelativeUrls.push(v);var B=c(v);if(C){var F=C.verifyItemRelativeUrls&&C.verifyItemRelativeUrls.rootPath||C.url&&C.url.path;F&&(B=t(B,F,F),B!==v&&C.verifyItemRelativeUrls&&C.verifyItemRelativeUrls.writtenUrls.push(B))}v=B;B=(C=C&&C.portal)&&!C.isPortal&&C.urlKey&&C.customBaseUrl?l(v,C.urlKey+"."+C.customBaseUrl,C.portalHostname):v;return B};h.makeRelative=t;h.removeQueryParameters=function(v){v=b(v);Object.keys(v.query||{});return v.path}})},
"esri/layers/vectorTiles/core/workers/loaderConfig":function(){define(["require","exports","../tsSupport/assignHelper","dojo/has","../urlUtils"],function(I,h,p,n,q){Object.defineProperty(h,"__esModule",{value:!0});h.DEFAULT_LOADER_URL=q.makeAbsolute(q.removeQueryParameters(I.toUrl("./worker-init.js")));h.DEFAULT_CONFIG={baseUrl:function(){var k=q.removeQueryParameters(I.toUrl("dojo/x.js"));return q.makeAbsolute(k.slice(0,k.length-5))}(),packages:[{name:"esri"},{name:"dojo"},{name:"dojox"},{name:"dstore"},
{name:"moment",main:"moment"},{name:"@dojo"},{name:"cldrjs",main:"dist/cldr"},{name:"globalize",main:"dist/globalize"},{name:"maquette",main:"dist/maquette.umd"},{name:"maquette-css-transitions",main:"dist/maquette-css-transitions.umd"},{name:"maquette-jsx",main:"dist/maquette-jsx.umd"},{name:"tslib",main:"tslib"}],map:{globalize:{cldr:"cldrjs/dist/cldr","cldr/event":"cldrjs/dist/cldr/event","cldr/supplemental":"cldrjs/dist/cldr/supplemental","cldr/unresolved":"cldrjs/dist/cldr/unresolved"}}};h.default=
function(k){var e={async:k.async,isDebug:k.isDebug,locale:k.locale,baseUrl:k.baseUrl,has:p({},k.has),map:p({},k.map),packages:k.packages&&k.packages.concat()||[],paths:p({},k.paths)};k.hasOwnProperty("async")||(e.async=!0);k.hasOwnProperty("isDebug")||(e.isDebug=!1);k.baseUrl||(e.baseUrl=h.DEFAULT_CONFIG.baseUrl);h.DEFAULT_CONFIG.packages.forEach(function(g){a:{for(var c=e.packages,d=0;d<c.length;d++)if(c[d].name===g.name)break a;g=p({},g);d=q.removeQueryParameters(I.toUrl(g.name+"/x.js"));d=d.slice(0,
d.length-5);g.location=q.makeAbsolute(d);c.push(g)}});k=e.map=e.map||{};for(var a=0,b=Object.keys(h.DEFAULT_CONFIG.map);a<b.length;a++){var m=b[a];k[m]||(k[m]=h.DEFAULT_CONFIG.map[m])}return e}})},"esri/layers/vectorTiles/core/workers/WorkerFallback":function(){define(["require","exports","dojo/has","../global","./utils"],function(I,h,p,n,q){var k=function(){return function(){var b=this,m=document.createDocumentFragment();["addEventListener","dispatchEvent","removeEventListener"].forEach(function(g){b[g]=
function(){for(var c=[],d=0;d<arguments.length;d++)c[d]=arguments[d];return m[g].apply(m,c)}})}}(),e=n.MutationObserver||n.WebKitMutationObserver,a=function(){if(n.process&&n.process.nextTick)var b=function(c){n.process.nextTick(c)};else if(n.Promise)b=function(c){n.Promise.resolve().then(c)};else if(e){var m=[],g=document.createElement("div");(new e(function(){for(;0<m.length;)m.shift()()})).observe(g,{attributes:!0});b=function(c){m.push(c);g.setAttribute("queueStatus","1")}}return b}();return function(){function b(){this._dispatcher=
new k;this._isInitialized=!1;this._workerPostMessage({type:q.MessageType.HANDSHAKE})}b.prototype.terminate=function(){};Object.defineProperty(b.prototype,"onmessage",{get:function(){return this._onmessageHandler},set:function(m){this._onmessageHandler&&this.removeEventListener("message",this._onmessageHandler);(this._onmessageHandler=m)&&this.addEventListener("message",m)},enumerable:!0,configurable:!0});Object.defineProperty(b.prototype,"onerror",{get:function(){return this._onerrorHandler},set:function(m){this._onerrorHandler&&
this.removeEventListener("error",this._onerrorHandler);(this._onerrorHandler=m)&&this.addEventListener("error",m)},enumerable:!0,configurable:!0});b.prototype.postMessage=function(m,g){var c=this;a(function(){c._workerMessageHandler(new MessageEvent("message",{data:m}))})};b.prototype.dispatchEvent=function(m){return this._dispatcher.dispatchEvent(m)};b.prototype.addEventListener=function(m,g,c){this._dispatcher.addEventListener(m,g,c)};b.prototype.removeEventListener=function(m,g,c){this._dispatcher.removeEventListener(m,
g,c)};b.prototype._workerPostMessage=function(m,g){var c=this;a(function(){c.dispatchEvent(new MessageEvent("message",{data:m}))})};b.prototype._workerMessageHandler=function(m){var g=this;if(m=q.receiveMessage(m)){var c=m.jobId;switch(m.type){case q.MessageType.CONFIGURE:this._isInitialized||this._workerPostMessage({type:q.MessageType.CONFIGURED});break;case q.MessageType.OPEN:m=m.modulePath,p("esri-webpack")?I(["esri/core/workers/RemoteClient","esri/views/vectorTiles/WorkerTileHandler","esri/views/2d/layers/features/Pipeline",
"esri/views/3d/layers/PointCloudWorker","esri/views/3d/layers/SceneLayerWorker","esri/layers/graphics/sources/support/CSVSourceWorker","esri/views/3d/webgl-engine/lib/edgeRendering/EdgeProcessingWorker",m],function(d,f,l,t,u,r,x,v){switch(v){case "esri/views/vectorTiles/WorkerTileHandler":break;case "esri/views/2d/layers/features/Pipeline":f=l;break;case "esri/views/3d/layers/PointCloudWorker":f=t;break;case "esri/views/3d/layers/SceneLayerWorker":f=u;break;case "esri/layers/graphics/sources/support/CSVSourceWorker":f=
r;break;case "esri/views/3d/webgl-engine/lib/edgeRendering/EdgeProcessingWorker":f=x;break;default:f=v}d=d.connect(f);g._workerPostMessage({type:q.MessageType.OPENED,jobId:c,data:d})}):I(["./RemoteClient",m],function(d,f){d=d.connect(f);g._workerPostMessage({type:q.MessageType.OPENED,jobId:c,data:d})})}}};return b}()})},"esri/layers/vectorTiles/core/requireUtils":function(){define(["require","exports","dojo/Deferred"],function(I,h,p){function n(q,k){if(Array.isArray(k)){var e=new p;q(k,function(){for(var a=
[],b=0;b<arguments.length;b++)a[b]=arguments[b];e.resolve(a)});return e.promise}return n(q,[k]).then(function(a){return a[0]})}Object.defineProperty(h,"__esModule",{value:!0});h.when=n;h.getAbsMid=function(q,k,e){return k.toAbsMid?k.toAbsMid(q):e.id.replace(/\/[^\/]*$/gi,"/")+q}})},"esri/layers/rasterLib/function/rasterFunctionHelper":function(){define(["dojo/_base/declare","dojo/_base/lang","./rasterFunctionRegistry"],function(I,h,p){return{create:function(n,q){if(n){var k=n.renderTexture,e=Object.keys(n);
if(n.read&&!q)return n;n.read&&q&&(n=n.toJson());-1<e.indexOf("name")&&e.indexOf(!1)?(n=h.mixin({},n),q=this._parseV2(n,q)):(n="esri.layers.RasterFunction"===n.declaredClass?n.toJson():h.mixin({},n),q=this._parseV1(n,q));q.branchCount=q.updateBranchStructure();q.renderTexture||(q.renderTexture=!!k);return q}},_parseV1:function(n,q){var k=n.rasterFunction,e=n.rasterFunctionArguments,a=n.renderTexture||n.rasterFunctionArguments.renderTexture||!1,b,m,g,c,d,f,l;(c=e.raster||e.Raster)&&c.rasterFunction&&
(b=this._parseV1(c,q));(c=e.raster2||e.Raster2)&&c.rasterFunction&&(m=this._parseV1(c,q));(c=e.rasters||e.Rasters)&&0<c.length&&(g=c.map(h.hitch(this,function(t){return t&&t.rasterFunction?this._parseV1(t,q):t})));(c=e.dem||e.DEM)&&(c.functionName||c.rasterFunction)&&(d=this._parseV1(c,q));(c=e.fillRaster||e.FillRaster)&&(c.functionName||c.rasterFunction)&&(f=this._parseV1(c,q));c=p.functions[k];if(!c)return console.error("Function is not currently supported: "+k),null;k=new c(e);k.variableName&&
(c=e[k.variableName])&&(c.functionName||c.rasterFunction)&&(l=this._parseV1(c,q));n.outputPixelType&&(k.pixelType=n.outputPixelType);"$$"===b?k.functionArguments.raster=q&&q.raster:null!=b?k.functionArguments.raster=b:k.functionArguments.raster||(k.functionArguments.raster=q&&q.raster);null!=m&&(k.functionArguments.raster2=m);null!=g&&(k.functionArguments.rasters=g.map(function(t){"$$"===t&&(t=q&&q.raster);return t}));null!=d&&(k.functionArguments.dem=d);null!=f&&(k.functionArguments.fillRaster=f);
null!=l&&(k.functionArguments[k.variableName]=l);k.renderTexture=a;return k},_parseV2:function(n,q){if(!n)return null;n=h.clone(n);this._bindV2Args(n,q);var k={};this._convertTov1(n,k);return this._parseV1(k,q)},_bindV2Args:function(n,q){(n||q)&&Object.keys(n).forEach(function(k){n[k]["function"]&&n[k].arguments?this._bindV2Args(n[k].arguments,q):null!=q[n[k].name]&&(n[k].value=q[n[k].name])}.bind(this))},_convertV2Types:function(n){if(!n)return null;"ArgumentArray"===n.type?n.elements&&"RasterStatistics"===
n.elements[0].type&&(n=n.elements):n instanceof Array&&0===n.length&&(n=null);return n},_convertTov1:function(n,q){if((n||q)&&n["function"]){var k=n["function"],e=n.arguments;q.rasterFunction=k.type.replace("Function","");q.outputPixelType="UNKNOWN"===k.pixelType?"Unknown":k.pixelType;q.rasterFunctionArguments={};var a;Object.keys(e).forEach(function(b){e[b]["function"]&&e[b].arguments?(q.rasterFunctionArguments[b]={},this._convertTov1(e[b],q.rasterFunctionArguments[b])):(a=e[b].value,q.rasterFunctionArguments[b]=
"object"!==typeof a||a.functionArguments?a:this._convertV2Types(a))}.bind(this))}}}})},"esri/layers/rasterLib/function/rasterFunctionRegistry":function(){define("dojo/_base/declare dojo/_base/lang ../../rasterLib/function/AspectFunction ../../rasterLib/function/BandArithmeticFunction ../../rasterLib/function/ColormapFunction ../../rasterLib/function/CompositeBandFunction ../../rasterLib/function/ContrastBrightnessFunction ../../rasterLib/function/ConvolutionFunction ../../rasterLib/function/ExtractBandFunction ../../rasterLib/function/HillshadeFunction ../../rasterLib/function/LocalFunction ../../rasterLib/function/MaskFunction ../../rasterLib/function/NDVIFunction ../../rasterLib/function/SlopeFunction ../../rasterLib/function/StretchFunction ../../rasterLib/function/RemapFunction ../../rasterLib/function/IdentityFunction ../../rasterLib/function/ResampleFunction".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r){return function(){function x(F){F.prototype.supportWebGL&&(C[F.prototype.functionName]=F);F.prototype.support2D&&(v[F.prototype.functionName]=F);B[F.prototype.functionName]=F}var v={},C={},B={};x(p);x(n);x(q);x(k);x(e);x(a);x(b);x(m);x(g);x(c);x(d);x(f);x(l);x(t);x(u);x(r);return{cpu:v,gpu:C,functions:B,register:x,getFunction:function(F){return B[F]},support:function(F,y){return!!("gpu"===y?C:"cpu"===y?v:B)[F]}}}()})},"esri/layers/rasterLib/function/AspectFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../../WKIDUnitConversion ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin ./surfaceUtils".split(" "),
function(I,h,p,n,q,k,e,a){return I([p,e],{declaredClass:"esri.layers.rasterLib.function.AspectFunction",functionName:"Aspect",supportWebGL:!0,support2D:!0,constructor:function(b){this.functionArguments=this.mixinIgnoreCase({raster:null},b)},bind:function(){var b=this.getSourceRasterInfo();if(!b.raster)return Error("The raster input to aspect function is invalid.");this.rasterInfo=h.mixin(b.raster,{bandCount:1,pixelType:this._calculatePixelType(this.pixelType,"F32"),statistics:[{min:0,max:360}],histograms:null});
this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType="Generic";return!0},read2D:function(b){this._performance.start();b=a.aspect(b.raster);this._addPerformanceMetric(this._performance.elapsed());return b},readGL:function(b){this._performance.start();this._initializeProgram({fragment:k.aspect,fragmentName:"Aspect"});var m=this._setupTextureData(b.raster),g=this.bindFrameBuffer(),c=this.gl,d=c.drawingBufferWidth;c=c.drawingBufferHeight;var f=m.extent;
this._setUniforms({u_resolution:b&&b.raster&&b.raster.pixelBlock?[1/b.raster.pixelBlock.width,1/b.raster.pixelBlock.height]:[1/d,1/c],u_cellSize:[(f.xmax-f.xmin)/d,(f.ymax-f.ymin)/c]});this._bindTexture(m.texture,"u_image");this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:m.extent,texture:g.texture}}})})},"esri/layers/rasterLib/function/RasterFunctionX":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/config ../raster/RasterInfo ../../../geometry/Extent ../../PixelBlock".split(" "),
function(I,h,p,n,q,k){return I(null,{functionName:null,functionArguments:null,pixelType:"Unknown",rasterInfo:null,constructor:function(e){e&&(this.pixelType=e.outputPixelType||e.OutputPixelType||this.pixelType,this.renderTexture=e.renderTexture,this._initFunction())},mixinIgnoreCase:function(e,a){var b=Object.keys(e),m=Object.keys(a),g,c,d=b.length;for(g=0;g<m.length;g++){var f=a[m[g]];if(null!=f)for(c=0;c<d;c++)if(b[c].toLowerCase()===m[g].toLowerCase()){e[b[c]]=f;break}}return e},bind:function(e){},
setProcessingContext:function(e){if(!e)throw"cannot bind to layer without options";this.useWebGL=!!e.useWebGL;this._tileMode=!!e.tileMode;this._glSetting=e.glSetting;this._rawRasterInfo=e.rawRasterInfo;this._xformSetting=e.xformSetting||this._xformSetting;if(!this.useWebGL||this._glSetting&&this._glSetting.gl){this.gl=this.useWebGL?this._glSetting.gl:null;this._glSetting&&(this._glSetting.pingpong=null,this._glSetting.branches=null);var a=this.functionArguments.raster,b=this.functionArguments.raster2,
m=this.functionArguments.dem,g=this.functionArguments.fillRaster,c=this.functionArguments.rasters;a&&a.functionArguments&&a.setProcessingContext(e);b&&b.functionArguments&&b.setProcessingContext(e);m&&m.functionArguments&&m.setProcessingContext(e);g&&g.functionArguments&&g.setProcessingContext(e);if(c)for(a=0;a<c.length;a++)c[a]&&c[a].functionArguments&&c[a].setProcessingContext(e);this.bind()}},updateBranchStructure:function(){var e=0,a=this.functionArguments;a.raster&&a.raster.read&&a.raster.functionArguments&&
(e+=a.raster.updateBranchStructure());a.raster2&&a.raster2.read&&a.raster2.functionArguments&&(e+=a.raster2.updateBranchStructure(),a.raster2.isBranch=!0,a.raster&&a.raster.read&&(a.raster.isBranch=!0));a.rasters&&(e=a.rasters.length,a.rasters.forEach(function(b){b.read&&b.functionArguments&&(b.isBranch=!0)}));a.dem&&a.dem.read&&a.dem.functionArguments&&(e+=a.dem.updateBranchStructure());return 1===e?0:e},read:function(e){e=this.processRasterArgument(e);return this.useWebGL?this.readGL(e):this.read2D(e)},
hasTilingEffects:function(){return!1},read2D:function(){},readGL:function(){},getSourceRasterInfo:function(){var e,a={};if(this.functionArguments.raster2)a.functionArguments.raster=this._bindRaster(this.functionArguments.raster),a.functionArguments.raster2=this._bindRaster(this.functionArguments.raster2);else if(this.functionArguments.rasters)for(a.rasters=[],e=0;e<this.functionArguments.rasters.length;e++)a.rasters[e]=this._bindRaster(this.functionArguments.rasters[e]);else a.raster=this._bindRaster(this.functionArguments.raster);
return this.sourceRasterInfo=a},processRasterArgument:function(e){var a=this.bind();if(!0!==a)throw a;var b={};if(this.functionArguments.raster2)b.raster=this._readRaster(this.functionArguments.raster,e),b.raster2=this._readRaster(this.functionArguments.raster2,e);else if(this.functionArguments.rasters)for(b.rasters=[],a=0;a<this.functionArguments.rasters.length;a++)b.rasters[a]=this._readRaster(this.functionArguments.rasters[a],e);else b.raster=this._readRaster(this.functionArguments.raster,e);return b},
toJson:function(){var e=this.functionArguments,a=e.raster,b=e.raster2;e=e.rasters;a=a?a.toJson?a.toJson():a:null;b=b?b.toJson?b.toJson():b:null;var m;e&&0<e.length&&(m=e.map(function(g){return g.toJson?g.toJson():g}));e=h.mixin({},this.functionArguments);e.raster=a;e.raster2=b;e.rasters=m;e=this._fixRasterFunctionJson(e);return{rasterFunction:this.functionName,rasterFunctionArguments:e,outputPixelType:this.pixelType}},_initFunction:function(e){},_getIntegerRange:function(e){switch(e){case "U8":var a=
[0,255];break;case "U16":a=[0,65535];break;case "U32":a=[0,4294967295];break;case "S8":a=[-128,127];break;case "S16":a=[-32768,32767];break;case "S32":a=[-2147483648,2147483647]}return a},_calculatePixelType:function(e,a){return e&&"unknown"!==e.toLowerCase()?e:a},_clonePixelData:function(e){if(null==e)return e;var a={};e.extent&&(a.extent=new q(e.extent.xmin,e.extent.ymin,e.extent.xmax,e.extent.ymax,e.extent.spatialReference));e=e.pixelBlock;if(null==e)return a;a.pixelBlock=e.clone?e.clone():k.prototype.clone(e);
return a},_readRaster:function(e,a){if(null==e||"$$"===e)var b=this._clonePixelData(a.src[Object.keys(a.src)[0]]);else e&&e.rasterInfo&&!e.functionArguments?b=this._clonePixelData(a.src[e._rasterId]):isNaN(e)?e.read&&(b=e.functionArguments?e.read(a):this._clonePixelData(a)):(b=a.src?a.src[Object.keys(a.src)[0]]:a,a=b.pixelBlock,a=new Float32Array(a.width*a.height),a.fill(parseFloat(e)),b=this._clonePixelData(b),b.pixelBlock.pixels=[a],b.isConstant=!0);return b},_bindRaster:function(e){if(e&&"$$"!==
e)isNaN(e)?e.rasterInfo?a=e.rasterInfo:e.bind&&e.bind()&&(a=e.rasterInfo):a={};else var a=this._rawRasterInfo;a&&(a=a.clone?a.clone():new n(a),a.bandCount=a.bandCount||3);return a},_getOutputBand:function(e,a){switch(e){case "U8":e=new Uint8Array(a);break;case "U16":e=new Uint16Array(a);break;case "U32":e=new Uint32Array(a);break;case "S8":e=new Int8Array(a);break;case "S16":e=new Int16Array(a);break;case "S32":e=new Int32Array(a);break;case "U32":e=new Uint32Array(a);break;case "F32":e=new Float32Array(a);
break;case "F64":e=new Float64Array(a);break;default:e=new Float32Array(a)}return e},_clampBand:function(e,a,b){if(("F64"===a||"F32"===a)&&!b)return e;var m,g=this._getIntegerRange(a),c=e.length;if(g)for(b=g[1],g=g[0],a=this._getOutputBand(a,c),m=0;m<c;m++){var d=e[m];a[m]=d>b?b:d<g?g:d}else a=e;return a},_performance:{start:function(){return this._start=self.performance&&self.performance.now()||new Date}.bind(this),elapsed:function(){return(self.performance&&self.performance.now()||new Date)-this._start}.bind(this)},
_addPerformanceMetric:function(e){p.isDebug&&(self.rasterFunctionPerformance||(self.rasterFunctionPerformance=[]),self.rasterFunctionPerformance.push(e),50<self.rasterFunctionPerformance.length&&self.rasterFunctionPerformance.shift())},_fixRasterFunctionJson:function(e){for(var a in e)e.hasOwnProperty(a)&&(null==e[a]?delete e[a]:e[a]instanceof Object&&!e[a].sourceType&&this._fixRasterFunctionJson(e[a],!0));return e}})})},"esri/layers/rasterLib/function/pixelShaders":function(){define(["dojo/_base/declare",
"dojo/_base/lang","./pixelShaderScripts"],function(I,h,p){I={shaderType:"fragment",getShader:function(n,q){var k=n.createShader(n.FRAGMENT_SHADER);n.shaderSource(k,q);n.compileShader(k);n.getShaderParameter(k,n.COMPILE_STATUS)||(k=null);return k}};h.mixin(I,p);return I})},"esri/layers/rasterLib/function/pixelShaderScripts":function(){define([],function(){return{aspect:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform vec2 u_resolution;\nuniform vec2 u_cellSize;\nfloat getNeighborHoodAlpha(float a, float b, float c, float d, float e, float f, float g, float h, float i){\nif (a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0 || a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0 || a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0) {\nreturn 0.0;\n}\nelse {\nreturn e;\n}\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\nfloat pi \x3d 3.141592653589793238;\nfloat dz_dx \x3d 0.0;\nfloat dz_dy \x3d 0.0;\nvec4 va, vb, vc,vd,ve,vf,vg,vh,vi;\nvec2 axy \x3d vec2(-1.0,-1.0);\nvec2 bxy \x3d vec2(0.0, -1.0);\nvec2 cxy \x3d vec2(1.0, -1.0);\nvec2 dxy \x3d vec2(-1.0, 0.0);\nvec2 fxy \x3d vec2(1.0, 0.0);\nvec2 gxy \x3d vec2(-1.0, 1.0);\nvec2 hxy \x3d vec2(0.0, 1.0);\nvec2 ixy \x3d vec2(1.0, 1.0);\nif (v_texCoord.s \x3c u_resolution.s)\n{\naxy[0] \x3d 1.0;\ndxy[0] \x3d 1.0;\ngxy[0] \x3d 1.0;\n}\nif (v_texCoord.t \x3c u_resolution.t)\n{\naxy[1] \x3d 1.0;\nbxy[1] \x3d 1.0;\ncxy[1] \x3d 1.0;\n}\nif (v_texCoord.s \x3e1.0-u_resolution.s)\n{\ncxy[0] \x3d -1.0;\nfxy[0] \x3d -1.0;\nixy[0] \x3d -1.0;\n}\nif (v_texCoord.t \x3e 1.0- u_resolution.t)\n{\ngxy[1] \x3d -1.0;\nhxy[1] \x3d -1.0;\nixy[1] \x3d -1.0;\n}\nif (v_texCoord.s \x3e\x3d u_resolution.s \x26\x26 (1.0-u_resolution.s)\x3e\x3dv_texCoord.s \x26\x26 v_texCoord.t \x3e\x3d u_resolution.t \x26\x26 (1.0-u_resolution.t)\x3e\x3dv_texCoord.t)\n{\nva \x3d texture2D(u_image, v_texCoord + u_resolution* axy);\nvb \x3d texture2D(u_image, v_texCoord + u_resolution* bxy);\nvc \x3d texture2D(u_image, v_texCoord + u_resolution* cxy);\nvd \x3d texture2D(u_image, v_texCoord + u_resolution* dxy);\nve \x3d texture2D(u_image, v_texCoord + u_resolution* vec2(0, 0));\nvf \x3d texture2D(u_image, v_texCoord + u_resolution* fxy);\nvg \x3d texture2D(u_image, v_texCoord + u_resolution* gxy);\nvh \x3d texture2D(u_image, v_texCoord + u_resolution* hxy);\nvi \x3d texture2D(u_image, v_texCoord + u_resolution* ixy);\n}\ndz_dx \x3d (vc+2.0*vf+vi - va - 2.0*vd - vg).r/(8.0*u_cellSize[0]);\ndz_dy \x3d -(vg+2.0*vh+vi - va - 2.0*vb - vc).r/(8.0*u_cellSize[1]);\nfloat alpha \x3d getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\nfloat aspect_rad \x3d 0.0;\nif (dz_dx \x3d\x3d 0.0)\n{\nif (dz_dy \x3e 0.0)\naspect_rad \x3d 0.5 * pi;\nelse if (dz_dy \x3c 0.0)\naspect_rad \x3d 1.5 * pi;\nelse\nalpha \x3d 0.0;//undefined make it nodata\n}\nelse\n{\naspect_rad \x3d 0.5*pi + atan(dz_dy, -dz_dx);\nif (aspect_rad \x3c 0.0)\naspect_rad \x3d 2.0*pi + aspect_rad;\n}\nfloat aspect \x3d aspect_rad * 180.0 / pi;\ngl_FragColor \x3d vec4(aspect, aspect, aspect, alpha);\n}",
bandArithmetic:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform int u_bandId_nir;\nuniform int u_bandId_red;\nuniform bool u_scaled;\nuniform int u_bandCount;\nuniform int u_method;\nuniform float u_constants[6];\nvec4 calculateNDVI() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat red \x3d float(u_bandId_red \x3d\x3d 0 ? currentPixel.r : (u_bandId_red \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat nir \x3d float(u_bandId_nir \x3d\x3d 0 ? currentPixel.r : (u_bandId_nir \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat ndvi_denom \x3d nir + red;\nfloat ndvi;\nif (ndvi_denom \x3d\x3d 0.0) {\nndvi \x3d 0.0;\n} else {\nndvi \x3d (nir - red) / ndvi_denom;\nif (u_scaled) {\nndvi \x3d float(floor(ndvi * 100.0 + 100.5));\n}\n}\nreturn vec4(ndvi, ndvi, ndvi, currentPixel.a);\n}\nvec4 calculateSAVI() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat red \x3d float(u_bandId_red \x3d\x3d 0 ? currentPixel.r : (u_bandId_red \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat nir \x3d float(u_bandId_nir \x3d\x3d 0 ? currentPixel.r : (u_bandId_nir \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat savi_denom \x3d nir + red + u_constants[0];\nfloat savi;\nif (savi_denom \x3d\x3d 0.0) {\nsavi \x3d 0.0;\n} else {\nsavi \x3d (nir - red) / savi_denom * (1.0 + u_constants[0]);\n}\nreturn vec4(savi, savi, savi, currentPixel.a);\n}\nvec4 calculateMSAVI() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat red \x3d float(u_bandId_red \x3d\x3d 0 ? currentPixel.r : (u_bandId_red \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat nir \x3d float(u_bandId_nir \x3d\x3d 0 ? currentPixel.r : (u_bandId_nir \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat msavi \x3d 0.5 * (2.0 * (nir + 1.0) - sqrt(pow((2.0 * nir + 1.0), 2.0) - 8.0 * (nir - red)));\nreturn vec4(msavi, msavi, msavi, currentPixel.a);\n}\nvec4 calculateTSAVI() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat red \x3d float(u_bandId_red \x3d\x3d 0 ? currentPixel.r : (u_bandId_red \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat nir \x3d float(u_bandId_nir \x3d\x3d 0 ? currentPixel.r : (u_bandId_nir \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat s \x3d u_constants[0];\nfloat a \x3d u_constants[1];\nfloat x \x3d u_constants[2];\nfloat tsavi_denom \x3d a * nir + red - a * s + x * (1.0 + s * s);\nfloat tsavi;\nif (tsavi_denom \x3d\x3d 0.0) {\ntsavi \x3d 0.0;\n} else {\ntsavi \x3d s * (nir - s * red - a) / tsavi_denom;\n}\nreturn vec4(tsavi, tsavi, tsavi, currentPixel.a);\n}\nvec4 calculatePVI() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat red \x3d float(u_bandId_red \x3d\x3d 0 ? currentPixel.r : (u_bandId_red \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat nir \x3d float(u_bandId_nir \x3d\x3d 0 ? currentPixel.r : (u_bandId_nir \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat a \x3d u_constants[0];\nfloat b \x3d u_constants[1];\nfloat pvi \x3d (nir - a * red - b) / sqrt(1.0 + a * 2.0);\nreturn vec4(pvi, pvi, pvi, currentPixel.a);\n}\nvec4 calculateGEMI() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat red \x3d float(u_bandId_red \x3d\x3d 0 ? currentPixel.r : (u_bandId_red \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat nir \x3d float(u_bandId_nir \x3d\x3d 0 ? currentPixel.r : (u_bandId_nir \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat gemi;\nif (red \x3d\x3d 1.0) {\ngemi \x3d 0.0;\n} else {\nfloat eta \x3d (2.0 * (nir * nir - red * red) + 1.5 * nir + 0.5 * red) / (nir + red + 0.5);\nfloat gemi \x3d eta * (1.0 - 0.25*eta) - (red - 0.125) / (1.0 - red);\n}\nreturn vec4(gemi, gemi, gemi, currentPixel.a);\n}\nvec4 calculateVARI() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat red \x3d float(currentPixel.r);\nfloat green \x3d float(currentPixel.g);\nfloat blue \x3d float(currentPixel.b);\nfloat vari \x3d (green - red) /(green + red - blue);\nreturn vec4(vari, vari, vari, currentPixel.a);\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\nvec4 pv;\nif (u_method \x3c 4) {\nif (u_method \x3d\x3d 1) {\npv \x3d calculateNDVI();\n} else if (u_method \x3d\x3d 2) {\npv \x3d calculateSAVI();\n} else if (u_method \x3d\x3d 3) {\npv \x3d calculateTSAVI();\n} else if (u_method \x3d\x3d 4) {\npv \x3d calculateMSAVI();\n}\n} else {\nif (u_method \x3d\x3d 5) {\npv \x3d calculateGEMI();\n} else if (u_method \x3d\x3d 6) {\npv \x3d calculatePVI();\n} else if (u_method \x3d\x3d 7) {\npv \x3d calculateGEMI();\n} else if (u_method \x3d\x3d 9) {\npv \x3d calculateVARI();\n}\n}\ngl_FragColor \x3d pv;\n}",
colormap:"precision mediump float;\nuniform sampler2D u_image;\nuniform sampler2D u_image1;\nvarying vec2 v_texCoord;\nuniform float u_indexedColormapOffset;\nuniform float u_indexedColormapMaxIndex;\nvec4 colorize() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat clrIndex \x3d currentPixel.r - u_indexedColormapOffset;\nvec4 result;\nif (currentPixel.a \x3d\x3d 0.0 || clrIndex \x3e u_indexedColormapMaxIndex) {\nresult \x3d vec4(0.0, 0.0, 0.0, 0.0);\n}\nelse {\nvec2 clrPosition \x3d vec2(clrIndex / u_indexedColormapMaxIndex, 0.0);\nvec4 color \x3d texture2D(u_image1, clrPosition);\nresult \x3d vec4(color.r, color.g, color.b, color.a);\n}\nreturn result;\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d colorize();\n}",
compositeBand:"precision mediump float;\nuniform sampler2D u_image;\nuniform sampler2D u_image1;\nuniform sampler2D u_image2;\nvarying vec2 v_texCoord;\nuniform int u_rasterCount;\nvec4 composite() {\nvec4 p0, p1, p2;\np0 \x3d texture2D(u_image, v_texCoord);\nvec4 result;\nif (u_rasterCount \x3d\x3d 1){\nresult \x3d p0;\n}\nelse if (u_rasterCount \x3d\x3d 2){\np1 \x3d texture2D(u_image1, v_texCoord);\nresult \x3d vec4(p0.r,p1.r,0.0,min(p0.a,p1.a));\n}\nelse if (u_rasterCount \x3d\x3d 3){\np1 \x3d texture2D(u_image1, v_texCoord);\np2 \x3d texture2D(u_image2, v_texCoord);\nresult \x3d vec4(p0.r,p1.r,p2.r,min(min(p0.a,p1.a),p2.a));\n}\nreturn result;\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d composite();\n}",
constant:"precision mediump float;\nuniform vec4 u_color;\nvoid main() {\ngl_FragColor \x3d u_color;\n}",contrastBrightness:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform float u_contrastOffset;\nuniform float u_brightnessOffset;\nuniform float u_scaleFactor;\nvec4 adjustContrastBrightness() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat c \x3d u_contrastOffset;\nfloat b \x3d u_brightnessOffset;\nfloat maxI \x3d 255.0;\nfloat mid \x3d 128.0;\nvec4 v;\nif (c \x3e 0.0 \x26\x26 c \x3c 100.0) {\nv \x3d (200.0 * currentPixel - 100.0 * maxI + 2.0 * maxI * b) / (2.0 * (100.0 - c)) + mid;\n} else if (c \x3c\x3d 0.0 \x26\x26 c \x3e -100.0) {\nv \x3d (200.0 * currentPixel - 100.0 * maxI + 2.0 * maxI * b) * (100.0 + c) / 20000.0 + mid;\n} else if (c \x3d\x3d 100.0) {\nv \x3d (200.0 * currentPixel - 100.0 * maxI + (maxI + 1.0) * (100.0 - c) + 2.0 * maxI * b);\nv \x3d (sign(v) + 1.0) / 2.0; //binary contrast with extra mid tone at 0.5\n} else if (c \x3d\x3d -100.0) {\nv \x3d vec4(mid, mid, mid, currentPixel.a); //no contrast\n}\nreturn vec4(v.r / u_scaleFactor, v.g / u_scaleFactor, v.b / u_scaleFactor, currentPixel.a);\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d adjustContrastBrightness();\n}",
convolution:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform vec2 u_resolution;\nuniform float u_kernel[25];\nuniform int u_kernelSize;\nvec4 convolve33(){\nvec4 vp11, vp12, vp13, vp21, vp22, vp23, vp31, vp32, vp33;\nvec2 xy11 \x3d vec2(-1.0, -1.0);\nvec2 xy12 \x3d vec2(0.0, -1.0);\nvec2 xy13 \x3d vec2(1.0, -1.0);\nvec2 xy21 \x3d vec2(-1.0, 0.0);\nvec2 xy23 \x3d vec2(1.0, 0.0);\nvec2 xy31 \x3d vec2(-1.0, 1.0);\nvec2 xy32 \x3d vec2(0.0, 1.0);\nvec2 xy33 \x3d vec2(1.0, 1.0);\nif (v_texCoord.s \x3c u_resolution.s) {\nxy11[0] \x3d 1.0;\nxy21[0] \x3d 1.0;\nxy31[0] \x3d 1.0;\n}\nif (v_texCoord.t \x3c u_resolution.t) {\nxy11[1] \x3d 1.0;\nxy12[1] \x3d 1.0;\nxy13[1] \x3d 1.0;\n}\nif (v_texCoord.s \x3e 1.0 - u_resolution.s) {\nxy13[0] \x3d -1.0;\nxy23[0] \x3d -1.0;\nxy33[0] \x3d -1.0;\n}\nif (v_texCoord.t \x3e 1.0 - u_resolution.t) {\nxy31[1] \x3d -1.0;\nxy32[1] \x3d -1.0;\nxy33[1] \x3d -1.0;\n}\nvec4 convolResult \x3d\ntexture2D(u_image, v_texCoord + u_resolution * xy11) * u_kernel[0] +\ntexture2D(u_image, v_texCoord + u_resolution * xy12) * u_kernel[1] +\ntexture2D(u_image, v_texCoord + u_resolution * xy13) * u_kernel[2] +\ntexture2D(u_image, v_texCoord + u_resolution * xy21) * u_kernel[3] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(0, 0)) * u_kernel[4] +\ntexture2D(u_image, v_texCoord + u_resolution * xy23) * u_kernel[5] +\ntexture2D(u_image, v_texCoord + u_resolution * xy31) * u_kernel[6] +\ntexture2D(u_image, v_texCoord + u_resolution * xy32) * u_kernel[7] +\ntexture2D(u_image, v_texCoord + u_resolution * xy33) * u_kernel[8];\nreturn vec4(convolResult.rgb, texture2D(u_image, v_texCoord).a);\n}\nvec4 convolve55(){\nvec4 vp11, vp12, vp13, vp21, vp22, vp23, vp31, vp32, vp33;\nfloat xdif[5];//https://www.opengl.org/wiki/Data_Type_(GLSL) array constructor ES3.0\nfloat ydif[5];\nfloat a \x3d -2.0;\nfor (int i\x3d0; i\x3c5; i++){\nxdif[i] \x3d a;\nydif[i] \x3d a;\na++;\n}\nif (v_texCoord.s \x3c u_resolution.s *2.0) { //2 pixel\nxdif[0] \x3d 2.0;\nif (v_texCoord.s \x3c u_resolution.s) { //1 pixel\nxdif[1] \x3d 1.0;\n}\n}\nelse if (v_texCoord.s \x3e 1.0 - u_resolution.s *2.0) {\nxdif[0] \x3d -2.0;\nif (v_texCoord.s \x3e 1.0 - u_resolution.s) {\nxdif[1] \x3d -1.0;\n}\n}\nif (v_texCoord.t \x3c u_resolution.t *2.0) {\nydif[0] \x3d 2.0;\nif (v_texCoord.t \x3c u_resolution.t) {\nydif[1] \x3d 1.0;\n}\n}\nelse if (v_texCoord.t \x3e 1.0 - u_resolution.t*2.0) {\nydif[0] \x3d -2.0;\nif (v_texCoord.t \x3e 1.0 - u_resolution.t) {\nydif[1] \x3d -1.0;\n}\n}\nvec4 convolResult \x3d\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[0], ydif[0])) * u_kernel[0] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[1], ydif[0])) * u_kernel[1] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[2], ydif[0])) * u_kernel[2] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[3], ydif[0])) * u_kernel[3] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[4], ydif[0])) * u_kernel[4] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[0], ydif[1])) * u_kernel[5] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[1], ydif[1])) * u_kernel[6] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[2], ydif[1])) * u_kernel[7] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[3], ydif[1])) * u_kernel[8] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[4], ydif[1])) * u_kernel[9] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[0], ydif[2])) * u_kernel[10] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[1], ydif[2])) * u_kernel[11] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[2], ydif[2])) * u_kernel[12] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[3], ydif[2])) * u_kernel[13] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[4], ydif[2])) * u_kernel[14] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[0], ydif[3])) * u_kernel[15] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[1], ydif[3])) * u_kernel[16] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[2], ydif[3])) * u_kernel[17] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[3], ydif[3])) * u_kernel[18] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[4], ydif[3])) * u_kernel[19] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[0], ydif[4])) * u_kernel[20] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[1], ydif[4])) * u_kernel[21] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[2], ydif[4])) * u_kernel[22] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[3], ydif[4])) * u_kernel[23] +\ntexture2D(u_image, v_texCoord + u_resolution * vec2(xdif[4], ydif[4])) * u_kernel[24];\nreturn vec4(convolResult.rgb, texture2D(u_image, v_texCoord).a);\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\nif (u_kernelSize \x3d\x3d 9){\ngl_FragColor \x3d convolve33();\n}\nelse {\ngl_FragColor \x3d convolve55();\n}\n}",
extractBand:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform int u_bandIDs[3];\nuniform bool u_alterBand;\nvec4 extractBand() {\nvec4 p \x3d texture2D(u_image, v_texCoord);\nif (!u_alterBand){\nreturn p;\n}\nfloat r, g, b;\nif (u_bandIDs[0] \x3d\x3d0){\nr \x3d p.r;\n}\nelse if (u_bandIDs[0] \x3d\x3d1){\nr \x3d p.g;\n}\nelse if (u_bandIDs[0] \x3d\x3d2){\nr \x3d p.b;\n}\nif (u_bandIDs[1] \x3d\x3d0){\ng \x3d p.r;\n}\nelse if (u_bandIDs[1] \x3d\x3d1){\ng \x3d p.g;\n}\nelse if (u_bandIDs[1] \x3d\x3d2){\ng \x3d p.b;\n}\nif (u_bandIDs[2] \x3d\x3d0){\nb \x3d p.r;\n}\nelse if (u_bandIDs[2] \x3d\x3d1){\nb \x3d p.g;\n}\nelse if (u_bandIDs[2] \x3d\x3d2){\nb \x3d p.b;\n}\nreturn vec4(r, g, b, p.a);\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d extractBand();\n}",
hillshade:"precision mediump float;\nuniform sampler2D u_image;\nuniform sampler2D u_image1;\nvarying vec2 v_texCoord;\nuniform vec2 u_resolution;\nuniform int u_slopeType;\nuniform int u_hillshadeType;\nuniform int u_lightSourceCount;\nuniform float u_sinZcosA;\nuniform float u_sinZsinA;\nuniform float u_cosZ;\nuniform float u_sinZcosAs[6];\nuniform float u_sinZsinAs[6];\nuniform float u_cosZs[6];\nuniform float u_weights[6];\nuniform float u_xFactor;\nuniform float u_yFactor;\nuniform bool u_scaled;\nuniform float u_minValue;\nuniform float u_maxValue;\nuniform bool u_applyColorramp;\nuniform float u_indexedColormapOffset;\nuniform float u_indexedColormapMaxIndex;\nuniform vec2 u_rawResolution;\nuniform int u_resampling;\nvec4 getPixelValue(vec2 coords) {\nif (u_resampling \x3d\x3d 0) {\nreturn texture2D(u_image, coords);\n}\nvec2 pos_ul \x3d floor(coords / u_rawResolution) * u_rawResolution;\nvec2 pos_ur \x3d pos_ul + vec2(1.0, 0.0) * u_rawResolution;\nvec2 pos_ll \x3d pos_ul + vec2(0.0, 1.0) * u_rawResolution;\nvec2 pos_lr \x3d pos_ul + vec2(1.0, 1.0) * u_rawResolution;\nvec2 weight \x3d fract(coords / u_rawResolution);\nvec4 vp_ul \x3d texture2D(u_image, pos_ul);\nvec4 vp_ur \x3d texture2D(u_image, pos_ur);\nvec4 vp_ll \x3d texture2D(u_image, pos_ll);\nvec4 vp_lr \x3d texture2D(u_image, pos_lr);\nvec4 vp \x3d mix(mix(vp_ul, vp_ur, weight.x), mix(vp_ll, vp_lr, weight.x), weight.y);\nreturn vp;\n}\nfloat getNeighborHoodAlpha(float a, float b, float c, float d, float e, float f, float g, float h, float i){\nif (a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0 || a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0 || a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0) {\nreturn 0.0;\n}\nelse {\nreturn e;\n}\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvec3 rgb2hsv(vec3 c) {\nvec4 K \x3d vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\nvec4 p \x3d c.g \x3c c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\nvec4 q \x3d c.r \x3c p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\nfloat d \x3d q.x - min(q.w, q.y);\nfloat e \x3d 1.0e-10;\nreturn vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\n}\nvec3 hsv2rgb(vec3 c) {\nvec4 K \x3d vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\nvec3 p \x3d abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\n}\nvec4 overlay(float val, float minValue, float maxValue, float hillshade, float alpha) {\nfloat clrIndex \x3d clamp((val - minValue) / (maxValue - minValue), 0.0, 1.0);\nvec4 rgb \x3d texture2D(u_image1, vec2(clrIndex, 0.0));\nvec3 hsv \x3d rgb2hsv(rgb.xyz);\nhsv.z \x3d hillshade;\nreturn vec4(hsv2rgb(hsv) * alpha, alpha);\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\nvec4 va, vb, vc, vd, ve, vf, vg, vh, vi;\nvec2 axy \x3d vec2(-1.0, -1.0);\nvec2 bxy \x3d vec2(0.0, -1.0);\nvec2 cxy \x3d vec2(1.0, -1.0);\nvec2 dxy \x3d vec2(-1.0, 0.0);\nvec2 fxy \x3d vec2(1.0, 0.0);\nvec2 gxy \x3d vec2(-1.0, 1.0);\nvec2 hxy \x3d vec2(0.0, 1.0);\nvec2 ixy \x3d vec2(1.0, 1.0);\nif (v_texCoord.s \x3c u_resolution.s) {\naxy[0] \x3d 1.0;\ndxy[0] \x3d 1.0;\ngxy[0] \x3d 1.0;\n}\nif (v_texCoord.t \x3c u_resolution.t) {\naxy[1] \x3d 1.0;\nbxy[1] \x3d 1.0;\ncxy[1] \x3d 1.0;\n}\nif (v_texCoord.s \x3e 1.0 - u_resolution.s) {\ncxy[0] \x3d -1.0;\nfxy[0] \x3d -1.0;\nixy[0] \x3d -1.0;\n}\nif (v_texCoord.t \x3e 1.0 - u_resolution.t) {\ngxy[1] \x3d -1.0;\nhxy[1] \x3d -1.0;\nixy[1] \x3d -1.0;\n}\nva \x3d texture2D(u_image, v_texCoord + u_resolution * axy);\nvb \x3d texture2D(u_image, v_texCoord + u_resolution * bxy);\nvc \x3d texture2D(u_image, v_texCoord + u_resolution * cxy);\nvd \x3d texture2D(u_image, v_texCoord + u_resolution * dxy);\nve \x3d texture2D(u_image, v_texCoord + u_resolution * vec2(0, 0));\nvf \x3d texture2D(u_image, v_texCoord + u_resolution * fxy);\nvg \x3d texture2D(u_image, v_texCoord + u_resolution * gxy);\nvh \x3d texture2D(u_image, v_texCoord + u_resolution * hxy);\nvi \x3d texture2D(u_image, v_texCoord + u_resolution * ixy);\nfloat alpha \x3d getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\nfloat dzx \x3d (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r * u_xFactor;\nfloat dzy \x3d (vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r * u_yFactor; //flip\nfloat s2 \x3d sqrt(1.0 + dzx * dzx + dzy * dzy);\nfloat hillshade \x3d 0.0;\nif (u_hillshadeType \x3d\x3d 0){\nfloat cosDelta \x3d u_sinZsinA * dzy - u_sinZcosA * dzx;\nfloat z \x3d (u_cosZ + cosDelta) / s2;\nif (z \x3c 0.0)  z \x3d 0.0;\nhillshade \x3d z;\n}\nelse if (u_hillshadeType \x3d\x3d 1){\nfor (int k \x3d 0; k \x3c 6; k++) {\nfloat cosDelta \x3d u_sinZsinAs[k] * dzy - u_sinZcosAs[k] * dzx;\nfloat z \x3d (u_cosZs[k] + cosDelta) / s2;\nif (z \x3c 0.0) z \x3d 0.0;\nhillshade \x3d hillshade + z * u_weights[k];\nif (k \x3d\x3d u_lightSourceCount-1) break;\n}\n}\nif (u_applyColorramp) {\nvec4 result \x3d overlay(ve.r, u_minValue, u_maxValue, hillshade, alpha);\nif (u_scaled) {\nresult \x3d vec4(result.rgb * 255.0, result.a);\n}\ngl_FragColor \x3d result;\n} else {\nif (u_scaled) {\nhillshade \x3d hillshade * 255.0;\nif (hillshade\x3e 255.0) {\nhillshade \x3d 255.0;\n}\n}\ngl_FragColor \x3d vec4(hillshade, hillshade, hillshade, alpha);\n}\n}",
identity:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform int u_bandCount;\nfloat shift_right(float v, float amt) {\nv \x3d floor(v) + 0.5;\nreturn floor(v / exp2(amt));\n}\nfloat shift_left(float v, float amt) {\nreturn floor(v * exp2(amt) + 0.5);\n}\nfloat mask_last(float v, float bits) {\nreturn mod(v, shift_left(1.0, bits));\n}\nfloat extract_bits(float num, float from, float to) {\nfrom \x3d floor(from + 0.5);\nto \x3d floor(to + 0.5);\nreturn mask_last(shift_right(num, from), to - from);\n}\nvec4 encode_float(float val) {\nif (val \x3d\x3d 0.0)\nreturn vec4(0, 0, 0, 0);\nfloat sign \x3d val \x3e 0.0 ? 0.0 : 1.0;\nval \x3d abs(val);\nfloat exponent \x3d floor(log2(val));\nfloat biased_exponent \x3d exponent + 127.0;\nfloat fraction \x3d ((val / exp2(exponent)) - 1.0) * 8388608.0;\nfloat t \x3d biased_exponent / 2.0;\nfloat last_bit_of_biased_exponent \x3d fract(t) * 2.0;\nfloat remaining_bits_of_biased_exponent \x3d floor(t);\nfloat byte4 \x3d extract_bits(fraction, 0.0, 8.0) / 255.0;\nfloat byte3 \x3d extract_bits(fraction, 8.0, 16.0) / 255.0;\nfloat byte2 \x3d (last_bit_of_biased_exponent * 128.0 + extract_bits(fraction, 16.0, 23.0)) / 255.0;\nfloat byte1 \x3d (sign * 128.0 + remaining_bits_of_biased_exponent) / 255.0;\nreturn vec4(byte4, byte3, byte2, byte1);\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\nvec4 currentPixel \x3d  texture2D(u_image, v_texCoord);\ngl_FragColor \x3d vec4( currentPixel.rgb, currentPixel.a); //encode_float(currentPixel.r);\n}",
local:"precision mediump float;\nuniform sampler2D u_image;\nuniform sampler2D u_image1;\nuniform sampler2D u_image2;\nvarying vec2 v_texCoord;\nuniform int u_rasterCount;\nvec4 polyfill;\nvec4 localOp1() {\nvec4 a \x3d texture2D(u_image, v_texCoord);\nvec4 result;\nvec4 replaceme1;\nreturn result;\n}\nvec4 localOp2() {\nvec4 a \x3d texture2D(u_image, v_texCoord);\nvec4 b \x3d texture2D(u_image1, v_texCoord);\nvec4 result;\nvec4 replaceme2;\nreturn result;\n}\nvec4 localOp3() {\nvec4 a \x3d texture2D(u_image, v_texCoord);\nvec4 b \x3d texture2D(u_image1, v_texCoord);\nvec4 c \x3d texture2D(u_image2, v_texCoord);\nvec4 result;\nvec4 replaceme3;\nreturn result;\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d localOp1();\n}",
local0:"precision mediump float;\nuniform sampler2D u_image0;\nuniform sampler2D u_image1;\nvarying vec2 v_texCoord;\nuniform float u_minCutOff[3];\nuniform float u_maxCutOff[3];\nuniform float u_minOutput[3];\nuniform float u_maxOutput[3];\nuniform float u_factor[3];\nuniform int u_operation;\nuniform int u_constant[3];\nuniform vec4 gamma;\nfloat localOperate1(float a, float b, float c){\nfloat result;\nif (u_operation \x3d\x3d 1){\nresult \x3d a + b;\n}\nelse if (u_operation \x3d\x3d 2){\nresult \x3d a - b;\n}\nelse if (u_operation \x3d\x3d3){\nresult \x3d a * b;\n}\nelse if (u_operation \x3d\x3d4){\nresult \x3d sqrt(a);\n}\nelse if (u_operation \x3d\x3d5){\nresult \x3d pow(a, b);\n}\nelse if (u_operation \x3d\x3d6){\nresult \x3d acos(a);\n}\nelse if (u_operation \x3d\x3d7){\nresult \x3d asin(a);\n}\nelse if (u_operation \x3d\x3d8){\nresult \x3d atan(a);\n}\nelse if (u_operation \x3d\x3d9){\nresult \x3d 999.0; //atanh not available\n}\nelse if (u_operation \x3d\x3d10){\nresult \x3d abs(a);\n}\nelse if (u_operation \x3d\x3d13){\nresult \x3d 999.0; //bitwise not available\n}\nelse if (u_operation \x3d\x3d17){\nresult \x3d a !\x3d 0.0 \x26\x26 b !\x3d0.0;\n}\nelse if (u_operation \x3d\x3d18){\nresult \x3d a \x3d\x3d0.0? 1.0:0.0;\n}\nelse if (u_operation \x3d\x3d19){\nresult \x3d a !\x3d 0.0 || b !\x3d0.0;\n}\nelse if (u_operation \x3d\x3d20){\nresult \x3d a !\x3d 0.0 ^^ b !\x3d0.0; //exclusive or\n}\nelse if (u_operation \x3d\x3d21){\nresult \x3d cos(a);\n}\nelse if (u_operation \x3d\x3d23){\nresult \x3d a / b;\n}\nelse if (u_operation \x3d\x3d24){\nresult \x3d a \x3d\x3d b ? 1.0:0.0;\n}\nelse if (u_operation \x3d\x3d25){\nresult \x3d exp(a);\n}\nelse if (u_operation \x3d\x3d26){\nresult \x3d pow(10.0, a);\n}\nelse if (u_operation \x3d\x3d27){\nresult \x3d exp2(a);\n}\nelse if (u_operation \x3d\x3d28){\nresult \x3d a \x3e b? 1.0 : 0.0;\n}\nelse if (u_operation \x3d\x3d29){\nresult \x3d  a \x3e\x3d b? 1.0 : 0.0;\n}\nelse if (u_operation \x3d\x3d30){\nresult \x3d floor(a); //int\n}\nelse if (u_operation \x3d\x3d31){\nresult \x3d a \x3d\x3d0? 1.0:0.0; //null pass mask\n}\nelse if (u_operation \x3d\x3d32){\nresult \x3d a; //float\n}\nelse if (u_operation \x3d\x3d33){\nresult \x3d a \x3c b? 1.0 : 0.0;\n}\nelse if (u_operation \x3d\x3d34){\nresult \x3d a \x3c\x3d b? 1.0 : 0.0;\n}\nelse if (u_operation \x3d\x3d35){\nresult \x3d log(a);\n}\nelse if (u_operation \x3d\x3d36){\nresult \x3d log2(a) / log2(10.0);\n}\nelse if (u_operation \x3d\x3d37){\nresult \x3d log2(a);\n}\nelse if (u_operation \x3d\x3d44){\nresult \x3d mod(a, b);\n}\nelse if (u_operation \x3d\x3d45){\nresult \x3d -a;\n}\nelse if (u_operation \x3d\x3d46){\nresult \x3d a !\x3d b? 1.0 : 0.0;\n}\nelse if (u_operation \x3d\x3d48){\nresult \x3d ceil(a);\n}\nelse if (u_operation \x3d\x3d49){\nresult \x3d floor(a);\n}\nelse if (u_operation \x3d\x3d51){\nresult \x3d sin(a);\n}\nelse if (u_operation \x3d\x3d53){\nresult \x3d a * a;\n}\nelse if (u_operation \x3d\x3d56){\nresult \x3d tan(a);\n}\nelse if (u_operation \x3d\x3d57){\nresult \x3d 999.0; //tanh not available\n}\nelse if (u_operation \x3d\x3d59){\nresult \x3d 999.0; //acosh not available\n}\nelse if (u_operation \x3d\x3d60){\nresult \x3d 999.0; //asinh not available\n}\nelse if (u_operation \x3d\x3d61){\nresult \x3d atan(a, b);\n}\nelse if (u_operation \x3d\x3d64){\nresult \x3d a / b;\n}\nelse if (u_operation \x3d\x3d65){\nresult \x3d floor(a/b);\n}\nelse if (u_operation \x3d\x3d76){\nresult \x3d a !\x3d0? b:c;\n}\n}\nvoid main() {\nvec4 currentPixel0 \x3d  texture2D(u_image0, v_texCoord);\nfloat graya, reda, greena, bluea;\nif (u_bandCount \x3d\x3d 1) {\ngraya \x3d stretchOneaue(float(currentPixel.r), u_minCutOff[0], u_maxCutOff[0], u_minOutput[0], u_maxOutput[0], u_factor[0]);\ngl_FragColor \x3d vec4(graya, graya, graya, currentPixel.a);\n}\nelse if (u_bandCount \x3d\x3d 3) {\nreda \x3d stretchOneaue(float(currentPixel.r), u_minCutOff[0], u_maxCutOff[0], u_minOutput[0], u_maxOutput[0], u_factor[0]);\ngreena \x3d stretchOneaue(float(currentPixel.g), u_minCutOff[1], u_maxCutOff[1], u_minOutput[1], u_maxOutput[1], u_factor[1]);\nbluea \x3d stretchOneaue(float(currentPixel.b), u_minCutOff[2], u_maxCutOff[2], u_minOutput[2], u_maxOutput[2], u_factor[2]);\ngl_FragColor \x3d vec4(reda, greena, bluea, currentPixel.a);\n}\n}",
mask:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform float u_includedRanges[6];\nuniform bool u_includedRanges_specified;\nuniform float u_noDataValues[6];\nuniform bool u_noDataValues_specified;\nuniform int u_noDataInterpretation;\nuniform int u_bandCount;\nvec4 mask() {\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nvec4 processedPixel \x3d currentPixel;\nif (u_includedRanges_specified) {\nif (u_bandCount \x3d\x3d 1) {\nif (currentPixel.r \x3e u_includedRanges[0] \x26\x26 currentPixel.r \x3c u_includedRanges[1])\nprocessedPixel \x3d vec4(currentPixel.rgb, currentPixel.a);\nelse\nprocessedPixel \x3d vec4(currentPixel.rgb, 0);\n} else if (u_bandCount \x3d\x3d 3) {\nif (currentPixel.r \x3e u_includedRanges[0] \x26\x26 currentPixel.r \x3c u_includedRanges[1] \x26\x26 currentPixel.g \x3e u_includedRanges[2] \x26\x26 currentPixel.g \x3c u_includedRanges[3] \x26\x26 currentPixel.b \x3e u_includedRanges[4] \x26\x26 currentPixel.b \x3c u_includedRanges[5])\nprocessedPixel \x3d vec4(currentPixel.rgb, currentPixel.a);\nelse\nprocessedPixel \x3d vec4(currentPixel.rgb, 0);\n}\n}\nif (u_noDataValues_specified) {\nif (u_bandCount \x3d\x3d 1) {\nif (processedPixel.r \x3d\x3d u_noDataValues[0])\nprocessedPixel \x3d vec4(processedPixel.rgb, 0);\nelse\nprocessedPixel \x3d vec4(processedPixel.rgb, processedPixel.a);\n} else if (u_bandCount \x3d\x3d 3) {\nif (u_noDataInterpretation \x3d\x3d1 \x26\x26 processedPixel.r \x3d\x3d u_noDataValues[0] \x26\x26 processedPixel.g \x3d\x3d u_noDataValues[1] \x26\x26 processedPixel.b \x3d\x3d u_noDataValues[2])\nprocessedPixel \x3d vec4(processedPixel.rgb, 0);\nelse if (processedPixel.r \x3d\x3d u_noDataValues[0] || processedPixel.g \x3d\x3d u_noDataValues[1] || processedPixel.b \x3d\x3d u_noDataValues[2])\nprocessedPixel \x3d vec4(processedPixel.rgb, 0);\nelse\nprocessedPixel \x3d vec4(processedPixel.rgb, processedPixel.a);\n}\n}\nreturn processedPixel;\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d mask();\n}",
ndvi:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform int u_bandId_red;\nuniform int u_bandId_nir;\nuniform bool u_scaled;\nuniform int u_bandCount;\nvec4 calculateNDVI(){\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nfloat red \x3d float(u_bandId_red \x3d\x3d 0 ? currentPixel.r : (u_bandId_red \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat nir \x3d float(u_bandId_nir \x3d\x3d 0 ? currentPixel.r : (u_bandId_nir \x3d\x3d 1 ? currentPixel.g : currentPixel.b));\nfloat ndvi_denom \x3d nir + red;\nfloat ndvi;\nif (ndvi_denom \x3d\x3d 0.0) {\nndvi \x3d 0.0;\n}\nelse {\nndvi \x3d (nir - red) / ndvi_denom;\nif (u_scaled) {\nndvi \x3d float(floor(ndvi * 100.0 + 100.5));\n}\n}\nreturn vec4(ndvi, ndvi, ndvi, currentPixel.a);\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d calculateNDVI();\n}",
remap:"precision mediump float;\nuniform sampler2D u_image;\nuniform sampler2D u_image1;\nvarying vec2 v_texCoord;\nuniform float u_indexedColormapOffset;\nuniform float u_indexedColormapMaxIndex;\nuniform float u_breaks[16];\nuniform vec2 u_rawResolution;\nuniform int u_resampling;\nvec4 getPixelValue(vec2 coords) {\nif (u_resampling \x3d\x3d 0) {\nreturn texture2D(u_image, coords);\n}\nvec2 pos_ul \x3d floor(coords / u_rawResolution) * u_rawResolution;\nvec2 pos_ur \x3d pos_ul + vec2(1.0, 0.0) * u_rawResolution;\nvec2 pos_ll \x3d pos_ul + vec2(0.0, 1.0) * u_rawResolution;\nvec2 pos_lr \x3d pos_ul + vec2(1.0, 1.0) * u_rawResolution;\nvec2 weight \x3d fract(coords / u_rawResolution);\nvec4 vp_ul \x3d texture2D(u_image, pos_ul);\nvec4 vp_ur \x3d texture2D(u_image, pos_ur);\nvec4 vp_ll \x3d texture2D(u_image, pos_ll);\nvec4 vp_lr \x3d texture2D(u_image, pos_lr);\nvec4 vp \x3d mix(mix(vp_ul, vp_ur, weight.x), mix(vp_ll, vp_lr, weight.x), weight.y);\nreturn vp;\n}\nfloat getRemapIndex(float pixelValue) {\nif (pixelValue \x3c u_breaks[0] || pixelValue \x3e u_breaks[15]) {\nreturn -1.0;\n}\nfor (int i \x3d 0; i \x3c 16; i++) {\nif (pixelValue \x3c u_breaks[i]) {\nreturn float(i - 1);\n}\n}\nif (pixelValue \x3d\x3d u_breaks[15]) {\nreturn 15.0;\n}\nreturn 0.0;\n}\nvec4 colorize(float pv) {\nfloat clrIndex \x3d pv - u_indexedColormapOffset;\nvec4 result;\nif (clrIndex \x3e u_indexedColormapMaxIndex) {\nresult \x3d vec4(0.0, 0.0, 0.0, 0.0);\n}\nelse {\nvec2 clrPosition \x3d vec2(clrIndex / u_indexedColormapMaxIndex, 0.0);\nvec4 color \x3d texture2D(u_image1, clrPosition);\nresult \x3d vec4(color.r, color.g, color.b, color.a);\n}\nreturn result;\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\nvec4 currentPixel \x3d texture2D(u_image, v_texCoord);\nif (currentPixel.a \x3d\x3d 0.0) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn;\n}\nfloat remappedIndex \x3d getRemapIndex(currentPixel.r);\nif (remappedIndex \x3c 0.0) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn;\n}\ngl_FragColor \x3d colorize(remappedIndex);\n}",
resample:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform vec2 u_resamplingRatio;\nuniform int u_resamplingType;\nuniform vec2 u_anchor;\nuniform vec2 u_resolution;\nvec4 resample(){\nvec2 pos_nn, pos_ul, pos_ur, pos_ll, pos_lr, pos_offset;\nfloat weight,weight_total, weight_ul, weight_ur, weight_ll, weight_lr;\nvec4 vp;  //v_texCoord is canvas space 0-1\nvec2 originalResolution \x3d vec2(u_resolution.s*u_resamplingRatio.s, u_resolution.t*u_resamplingRatio.t);\nvec2 pos \x3d vec2(u_anchor.s+(v_texCoord.s-u_anchor.s),(u_anchor.t+(v_texCoord.t-u_anchor.t)));\nif (u_resamplingType \x3d\x3d 0)\n{//shift and scaling, y \x3d ax+b so x \x3d (y-b)/a\npos_nn \x3d vec2(floor(pos.s/originalResolution.s+0.5)*originalResolution.s,floor(pos.t/originalResolution.t+0.5)*originalResolution.t);\nif (pos_nn.s \x3c0.0 || pos_nn.s \x3e 1.0 || pos_nn.t \x3c0.0 || pos_nn.t \x3e 1.0){\nvp \x3d vec4(1.0, 0.0, 0.0, 1.0);//vec4(0.0, 1.0, 0.0, vp.a);\n}\nelse {\nvp \x3d texture2D(u_image, vec2(pos_nn.s, pos_nn.t));\n}\n}\nelse if (u_resamplingType \x3d\x3d 1)\n{//shift and scaling, 4 neighbors y \x3d ax+b so x \x3d (y-b)/a\npos_ul \x3d vec2(floor(pos.s/originalResolution.s)*originalResolution.s,floor(pos.t/originalResolution.t)*originalResolution.t);\npos_ur \x3d vec2(pos_ul.s+originalResolution.s, pos_ul.t);\npos_ll \x3d vec2(pos_ul.s, pos_ul.t+originalResolution.t);\npos_lr \x3d vec2(pos_ul.s+originalResolution.s, pos_ul.t+originalResolution.t);\npos_offset \x3d vec2(pos.s - floor(pos_ul.s),pos.t - floor(pos_ul.t));\nweight_lr \x3d sqrt(pow(pos_offset.s,2.0) + pow(pos_offset.t,2.0));\nweight_ul \x3d sqrt(pow( originalResolution.s- pos_offset.s,2.0)+ pow(originalResolution.t- pos_offset.t,2.0));\nweight_ur \x3d sqrt(pow( pos_offset.s,2.0)+ 1.0- pow(originalResolution.t - pos_offset.t,2.0));\nweight_ll \x3d sqrt(pow( originalResolution.s- pos_offset.s,2.0)+ pow(pos_offset.t,2.0));\nvp \x3d (texture2D(u_image, pos_ul) * weight_ul + texture2D(u_image, pos_ur) * weight_ur + texture2D(u_image, pos_ll) * weight_ll + texture2D(u_image, pos_lr) * weight_lr)/(weight_ul+weight_ur+weight_ll+weight_lr);\n}\nelse if (u_resamplingType \x3d\x3d 2)\n{//shift and scaling, 16 neighbors\nweight_total \x3d 0.0;\nvp \x3d vec4(0.0,0.0,0.0,0.0);\npos_ul \x3d vec2(floor(pos.s/originalResolution.s)*originalResolution.s-originalResolution.s,floor(pos.t/originalResolution.t)*originalResolution.t-originalResolution.t);\npos_offset \x3d vec2(pos.s - floor(pos_ul.s),pos.t - floor(pos_ul.t));\nfor (int i\x3d0; i\x3c4; i++){//row\nfor (int j\x3d0; j\x3c4; j++){//col\nweight \x3d sqrt(pow(pos_offset.s-float(j),2.0)+ pow(pos_offset.t-float(i),2.0));\nvp +\x3dtexture2D(u_image, vec2(pos_ul.s+float(i)*originalResolution.s,pos_ul.t+float(j)*originalResolution.t)) * weight;\nweight_total +\x3d weight;\n}\n}\nvp \x3d vp/weight_total;\n}\nreturn vp;\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d resample();\n}",
slope:"precision mediump float;\nuniform sampler2D u_image;\nvarying vec2 v_texCoord;\nuniform vec2 u_resolution;\nuniform vec2 u_cellSize;\nuniform float u_zfactor;\nuniform float u_altitude;\nuniform float u_azimuth;\nfloat shift_right(float v, float amt) {\nv \x3d floor(v) + 0.5;\nreturn floor(v / exp2(amt));\n}\nfloat shift_left(float v, float amt) {\nreturn floor(v * exp2(amt) + 0.5);\n}\nfloat mask_last(float v, float bits) {\nreturn mod(v, shift_left(1.0, bits));\n}\nfloat extract_bits(float num, float from, float to) {\nfrom \x3d floor(from + 0.5);\nto \x3d floor(to + 0.5);\nreturn mask_last(shift_right(num, from), to - from);\n}\nvec4 encode_float(float val) {\nif (val \x3d\x3d 0.0)\nreturn vec4(0, 0, 0, 0);\nfloat sign \x3d val \x3e 0.0 ? 0.0 : 1.0;\nval \x3d abs(val);\nfloat exponent \x3d floor(log2(val));\nfloat biased_exponent \x3d exponent + 127.0;\nfloat fraction \x3d ((val / exp2(exponent)) - 1.0) * 8388608.0;\nfloat t \x3d biased_exponent / 2.0;\nfloat last_bit_of_biased_exponent \x3d fract(t) * 2.0;\nfloat remaining_bits_of_biased_exponent \x3d floor(t);\nfloat byte4 \x3d extract_bits(fraction, 0.0, 8.0) / 255.0;\nfloat byte3 \x3d extract_bits(fraction, 8.0, 16.0) / 255.0;\nfloat byte2 \x3d (last_bit_of_biased_exponent * 128.0 + extract_bits(fraction, 16.0, 23.0)) / 255.0;\nfloat byte1 \x3d (sign * 128.0 + remaining_bits_of_biased_exponent) / 255.0;\nreturn vec4(byte4, byte3, byte2, byte1);\n}\nfloat getNeighborHoodAlpha(float a, float b, float c, float d, float e, float f, float g, float h, float i){\nif (a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0 || a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0 || a \x3d\x3d 0.0 || a \x3d\x3d 0.0 || a\x3d\x3d0.0) {\nreturn 0.0;\n}\nelse {\nreturn e;\n}\n}\nvec4 calculateSlope() {\nfloat pi \x3d 3.141592653589793238;\nfloat dzx \x3d 0.0;\nfloat dzy \x3d 0.0;\nvec4 va,  vb,  vc,  vd,  ve,  vf,  vg,  vh,  vi;\nvec2 axy \x3d vec2(-1.0, -1.0);\nvec2 bxy \x3d vec2(0.0, -1.0);\nvec2 cxy \x3d vec2(1.0, -1.0);\nvec2 dxy \x3d vec2(-1.0, 0.0);\nvec2 fxy \x3d vec2(1.0, 0.0);\nvec2 gxy \x3d vec2(-1.0, 1.0);\nvec2 hxy \x3d vec2(0.0, 1.0);\nvec2 ixy \x3d vec2(1.0, 1.0);\nif (v_texCoord.s \x3c u_resolution.s) {\naxy[0] \x3d 1.0;\ndxy[0] \x3d 1.0;\ngxy[0] \x3d 1.0;\n}\nif (v_texCoord.t \x3c u_resolution.t) {\naxy[1] \x3d 1.0;\nbxy[1] \x3d 1.0;\ncxy[1] \x3d 1.0;\n}\nif (v_texCoord.s \x3e 1.0 - u_resolution.s) {\ncxy[0] \x3d -1.0;\nfxy[0] \x3d -1.0;\nixy[0] \x3d -1.0;\n}\nif (v_texCoord.t \x3e 1.0 - u_resolution.t) {\ngxy[1] \x3d -1.0;\nhxy[1] \x3d -1.0;\nixy[1] \x3d -1.0;\n}\nif (v_texCoord.s \x3e\x3d u_resolution.s \x26\x26 (1.0 - u_resolution.s) \x3e\x3d v_texCoord.s \x26\x26 v_texCoord.t \x3e\x3d u_resolution.t \x26\x26 (1.0 - u_resolution.t) \x3e\x3d v_texCoord.t) {\nva \x3d texture2D(u_image, v_texCoord + u_resolution * axy);\nvb \x3d texture2D(u_image, v_texCoord + u_resolution * bxy);\nvc \x3d texture2D(u_image, v_texCoord + u_resolution * cxy);\nvd \x3d texture2D(u_image, v_texCoord + u_resolution * dxy);\nve \x3d texture2D(u_image, v_texCoord + u_resolution * vec2(0, 0));\nvf \x3d texture2D(u_image, v_texCoord + u_resolution * fxy);\nvg \x3d texture2D(u_image, v_texCoord + u_resolution * gxy);\nvh \x3d texture2D(u_image, v_texCoord + u_resolution * hxy);\nvi \x3d texture2D(u_image, v_texCoord + u_resolution * ixy);\n}\ndzx \x3d (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r / (8.0 * u_cellSize[0]);\ndzy \x3d -(vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r / (8.0 * u_cellSize[1]);\nfloat alpha \x3d getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\nfloat slope \x3d atan(u_zfactor * sqrt(dzx * dzx + dzy * dzy)) * 57.2957795;\nreturn vec4(slope, slope, slope, alpha);\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\ngl_FragColor \x3d calculateSlope();\n}",
stretch:"precision mediump float;\nuniform sampler2D u_image;\nuniform sampler2D u_image1;\nuniform sampler2D u_image2;\nvarying vec2 v_texCoord;\nuniform float u_minCutOff[3];\nuniform float u_maxCutOff[3];\nuniform float u_minOutput[3];\nuniform float u_maxOutput[3];\nuniform float u_factor[3];\nuniform int u_bandCount;\nuniform vec2 u_sourceDim;\nuniform vec2 u_targetDim;\nuniform int u_state;\nuniform bool u_minMaxTexture;\nuniform bool u_useGamma;\nuniform float u_gamma[4];\nuniform float u_gammaCorrection[4];\nuniform bool u_scaled;\nuniform vec2 u_rawResolution;\nuniform int u_resampling;\nvec4 getPixelValue(vec2 coords) {\nif (u_resampling \x3d\x3d 0) {\nreturn texture2D(u_image, coords);\n}\nvec2 pos_ul \x3d floor(coords / u_rawResolution) * u_rawResolution;\nvec2 pos_ur \x3d pos_ul + vec2(1.0, 0.0) * u_rawResolution;\nvec2 pos_ll \x3d pos_ul + vec2(0.0, 1.0) * u_rawResolution;\nvec2 pos_lr \x3d pos_ul + vec2(1.0, 1.0) * u_rawResolution;\nvec2 weight \x3d fract(coords / u_rawResolution);\nvec4 vp_ul \x3d texture2D(u_image, pos_ul);\nvec4 vp_ur \x3d texture2D(u_image, pos_ur);\nvec4 vp_ll \x3d texture2D(u_image, pos_ll);\nvec4 vp_lr \x3d texture2D(u_image, pos_lr);\nvec4 vp \x3d mix(mix(vp_ul, vp_ur, weight.x), mix(vp_ll, vp_lr, weight.x), weight.y);\nif (u_bandCount \x3d\x3d 1) {\nfloat alpha \x3d vp_ul.a * vp_ur.a * vp_ll.a * vp_lr.a;\nvec4 vp_nn \x3d texture2D(u_image, coords);\nreturn alpha \x3d\x3d 0.0 ? vp_nn : vec4(vp.rgb, alpha);\n}\nreturn vp;\n}\nvec4 findMin(vec4 p1, vec4 p2) {\nif (p1.a \x3d\x3d 0.0) {\nreturn p2;\n} else if (p2.a \x3d\x3d 0.0) {\nreturn p1;\n} else {\nreturn vec4(min(p1.r, p2.r),min(p1.g, p2.g),min(p1.b, p2.b),p1.a);\n}\n}\nvec4 findMax(vec4 p1, vec4 p2) {\nif (p1.a \x3d\x3d 0.0) {\nreturn p2;\n} else if (p2.a \x3d\x3d 0.0) {\nreturn p1;\n} else {\nreturn vec4(max(p1.r, p2.r),max(p1.g, p2.g),max(p1.b, p2.b),p1.a);\n}\n}\nvec4 findMinMax(vec4 p1, vec4 p2) {\nif (p1.a \x3d\x3d 0.0) {\nreturn p2;\n} else if (p2.a \x3d\x3d 0.0) {\nreturn p1;\n} else {\nreturn vec4(min(p1.r, p2.r), max(p1.g, p2.g), 0.0, p1.a);\n}\n}\nvec4 minMax(int state) {\nvec2 pixelFract \x3d fract(v_texCoord * u_sourceDim);\nfloat xshift \x3d ((pixelFract.s \x3e\x3d 0.5 || pixelFract.s \x3d\x3d 0.0) ? -1.0 : 1.0) / u_sourceDim.s; //take left pixel if \x3e 0.5\nfloat yshift \x3d ((pixelFract.s \x3e\x3d 0.5 || pixelFract.s \x3d\x3d 0.0) ? -1.0 : 1.0) / u_sourceDim.t; //take bottom pixel if \x3e 0.5\nif (u_sourceDim.s \x3d\x3d 1.0) {\nxshift \x3d 0.0;\n}\nif (u_sourceDim.t \x3d\x3d 1.0) {\nyshift \x3d 0.0;\n}\nvec4 p1 \x3d texture2D(u_image, v_texCoord);\nvec4 p2 \x3d texture2D(u_image, v_texCoord + vec2(xshift, 0.0));\nvec4 p3 \x3d texture2D(u_image, v_texCoord + vec2(0.0, yshift));\nvec4 p4 \x3d texture2D(u_image, v_texCoord + vec2(xshift, yshift));\nvec4 pval;\nif (state \x3d\x3d 2) {\npval \x3d findMinMax(findMinMax(p1, p2), findMinMax(p3, p4));\n} else if (state \x3d\x3d 1) {\npval \x3d findMax(findMax(p1, p2), findMax(p3, p4));\n} else if (state \x3d\x3d 0) {\npval \x3d findMin(findMin(p1, p2), findMin(p3, p4));\n}\nreturn pval;\n}\nfloat stretchOneValue(float val, float minCutOff, float maxCutOff, float minOutput, float maxOutput, float factor, bool scaled) {\nfloat stretchedVal;\nif (val \x3e minCutOff \x26\x26 val \x3c maxCutOff) {\nstretchedVal \x3d minOutput + (val - minCutOff) * factor;\n} else if (val \x3e\x3d maxCutOff) {\nstretchedVal \x3d maxOutput;\n} else {\nstretchedVal \x3d minOutput;\n}\nif (scaled) {\nreturn stretchedVal;\n}\nelse {\nreturn stretchedVal / maxOutput; //0-1\n}\n}\nfloat stretchOneValueGamma(float val, float minCutOff, float maxCutOff, float minOutput, float maxOutput, float factor, float gamma, float gammaCorrection, bool scaled) {\nfloat stretchedVal;\nfloat tempf \x3d 1.0;\nfloat outRange \x3d maxOutput - minOutput;\nfloat relativeVal \x3d (val - minCutOff) / (maxCutOff - minCutOff);\nif (val \x3e minCutOff \x26\x26 val \x3c maxCutOff) {\nif (gamma \x3e 1.0) {\ntempf -\x3d pow(1.0 / outRange, relativeVal * gammaCorrection);\n}\nstretchedVal \x3d floor(tempf * outRange * pow(relativeVal, 1.0 / gamma)) + minOutput;\n}\nelse if (val \x3e\x3d maxCutOff) {\nstretchedVal \x3d maxOutput;\n} else {\nstretchedVal \x3d minOutput;\n}\nif (scaled) {\nreturn stretchedVal;\n}\nelse {\nreturn stretchedVal / maxOutput; //0-1\n}\n}\nbool isOutside(){\nif (v_texCoord.t\x3e1.00001 ||v_texCoord.t\x3c-0.00001 || v_texCoord.s\x3e1.00001 ||v_texCoord.s\x3c-0.00001) {\ngl_FragColor \x3d vec4(0.0, 0.0, 0.0, 0.0);\nreturn true;\n}\nelse {\nreturn false;\n}\n}\nvoid main() {\nif (isOutside()) {\nreturn;\n}\nif (u_state \x3d\x3d 100) {\nvec4 currentPixel \x3d getPixelValue(v_texCoord);\nfloat grayVal,\nredVal,\ngreenVal,\nblueVal;\nfloat min0,\nmax0,\nmin1,\nmax1,\nmin2,\nmax2,\nfactor0,\nfactor1,\nfactor2;\nvec4 minV, maxV;\nif (u_minMaxTexture) {\nif (u_bandCount \x3d\x3d 1) {\nminV \x3d texture2D(u_image1, v_texCoord);\nmin0 \x3d minV.r;\nmax0 \x3d minV.g;\nfactor0 \x3d (u_maxOutput[0] - u_minOutput[0]) / (max0 - min0);\n} else {\nminV \x3d texture2D(u_image1, v_texCoord);\nmaxV \x3d texture2D(u_image2, v_texCoord);\nmin0 \x3d minV.r;\nmax0 \x3d maxV.r;\nmin1 \x3d minV.g;\nmax1 \x3d maxV.g;\nmin2 \x3d minV.b;\nmax2 \x3d maxV.b;\nfactor0 \x3d (u_maxOutput[0] - u_minOutput[0]) / (max0 - min0);\nfactor1 \x3d (u_maxOutput[1] - u_minOutput[1]) / (max1 - min1);\nfactor2 \x3d (u_maxOutput[2] - u_minOutput[2]) / (max2 - min2);\n}\n} else {\nmin0 \x3d u_minCutOff[0];\nmax0 \x3d u_maxCutOff[0];\nmin1 \x3d u_minCutOff[1];\nmax1 \x3d u_maxCutOff[1];\nmin2 \x3d u_minCutOff[2];\nmax2 \x3d u_maxCutOff[2];\nfactor0 \x3d u_factor[0];\nfactor1 \x3d u_factor[1];\nfactor2 \x3d u_factor[2];\n}\nif (u_useGamma){\nif (u_bandCount \x3d\x3d 1) {\ngrayVal \x3d stretchOneValueGamma(float(currentPixel.r), min0, max0, u_minOutput[0], u_maxOutput[0], factor0, u_gamma[0], u_gammaCorrection[0], u_scaled);\ngl_FragColor \x3d vec4(grayVal, grayVal, grayVal, currentPixel.a);\n} else {\nredVal \x3d stretchOneValueGamma(float(currentPixel.r), min0, max0, u_minOutput[0], u_maxOutput[0], factor0, u_gamma[0], u_gammaCorrection[0], u_scaled);\ngreenVal \x3d stretchOneValueGamma(float(currentPixel.g), min1, max1, u_minOutput[1], u_maxOutput[1], factor1, u_gamma[1], u_gammaCorrection[1], u_scaled);\nblueVal \x3d stretchOneValueGamma(float(currentPixel.b), min2, max2, u_minOutput[2], u_maxOutput[2], factor2, u_gamma[1], u_gammaCorrection[2], u_scaled);\ngl_FragColor \x3d vec4(redVal, greenVal, blueVal, currentPixel.a);\n}\n}\nelse {\nif (u_bandCount \x3d\x3d 1) {\ngrayVal \x3d stretchOneValue(float(currentPixel.r), min0, max0, u_minOutput[0], u_maxOutput[0], factor0, u_scaled);\ngl_FragColor \x3d vec4(grayVal, grayVal, grayVal, currentPixel.a);\n} else {\nredVal \x3d stretchOneValue(float(currentPixel.r), min0, max0, u_minOutput[0], u_maxOutput[0], factor0, u_scaled);\ngreenVal \x3d stretchOneValue(float(currentPixel.g), min1, max1, u_minOutput[1], u_maxOutput[1], factor1, u_scaled);\nblueVal \x3d stretchOneValue(float(currentPixel.b), min2, max2, u_minOutput[2], u_maxOutput[2], factor2, u_scaled);\ngl_FragColor \x3d vec4(redVal, greenVal, blueVal, currentPixel.a);\n}\n}\n} else {\nvec4 currentPixel \x3d minMax(u_state);\ngl_FragColor \x3d currentPixel;\n}\n}"}})},
"esri/layers/rasterLib/function/RasterFunctionWebGLMixin":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ./pixelShaders ./vertexShaders ./webglHelper ./convolutionKernel".split(" "),function(I,h,p,n,q,k,e){return I(null,{gl:null,rgbaFloatData:null,originalTexture:null,lastTexture:null,renderTexture:!1,constructor:function(a){this._isProgramInitialized=!1;this.gl=a&&a.gl;a&&a.renderTexture&&(this.renderTexture=a.renderTexture);this._xformSetting=a&&a._xformSetting||{requireProjection:!1,
meshSize:[20,20]}},bindFrameBuffer:function(){var a=this.gl;this._setupPingPongTextures();this._setupBranchingTextures();var b=this._glSetting;this.isBranch?(b.branchIndex=(b.branchIndex+1)%b.branchCount,b=b.branches[b.branchIndex]):(b.pingpongIndex=(b.pingpongIndex+1)%b.pingpong.length,b=b.pingpong[b.pingpongIndex]);a.bindFramebuffer(a.FRAMEBUFFER,b.frameBuffer);a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight);return b},_initializeProgram:function(a){if(this.gl)try{var b=this.gl;b.viewport(0,
0,b.drawingBufferWidth,b.drawingBufferHeight);var m=this._glSetting.programUniforms,g="local"===this.functionName?"local"+this.functionArguments.operation:this.functionName,c=m[g];if(c)this._uniforms=c.uniforms,this.rasterProgram=c.program;else{var d=(this._useMesh=this._tileMode&&this._xformSetting.requireProjection)?q.mesh:q.basic,f=q.getShader(b,a.vertex||d),l=n.getShader(b,a.fragment),t=this._loadProgram(f,l),u={rasterProgram:k.getUniforms(b,t)};m[g]={uniforms:u,program:t};this.rasterProgram=
t;this._uniforms=u}b.useProgram(this.rasterProgram);var r=b.getAttribLocation(this.rasterProgram,"a_texCoord"),x=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,x);var v=k.createMesh(this._xformSetting.meshSize);b.bufferData(b.ARRAY_BUFFER,v,b.STATIC_DRAW);b.enableVertexAttribArray(r);b.vertexAttribPointer(r,2,b.FLOAT,!1,0,0);b.disable(b.DEPTH_TEST);b.blendFunc(b.SRC_ALPHA,b.ZERO);b.disable(b.BLEND);b.pixelStorei(b.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);b.pixelStorei(b.UNPACK_FLIP_Y_WEBGL,!1);this._shaderInfo=
{fragment:a.fragmentName}}catch(C){console.error("webgl exception: "+C.message)}else console.error("WebGL is required.")},_setUniform:function(a,b,m){null!=b&&(m&&!this._uniforms[m]&&(this._uniforms[m]=k.getUniforms(this.gl,this[m])),m=m?this._uniforms[m]:this._uniforms.rasterProgram,(a=m[a]||m[a+"[0]"])&&k.setUniform(this.gl,a,b))},_setUniforms:function(a,b){var m=Object.keys(a),g,c=m.length;for(g=0;g<c;g++)this._setUniform(m[g],a[m[g]],b);this.rawInput?this._setUniform("u_flipY",!0,b):this._setUniform("u_flipY",
!1,b);this._tileMode?(this.rawInput?(a=this._xformSetting.offset,m=this._xformSetting.scale):(a=[0,0],m=[1,1]),this._setUniform("u_xformOffset",a,b),this._setUniform("u_xformScale",m,b),this._xformSetting.requireProjection&&(this.rawInput?(this._setupXformTexture(),this._setUniform("u_projection",!0,b),this._setUniform("u_transformGridSize",this._xformSetting.gridConfig.size,b),this._setUniform("u_transformSpacing",this._xformSetting.gridConfig.spacing,b),this._setUniform("u_targetImageSize",new Float32Array([this.gl.drawingBufferWidth,
this.gl.drawingBufferHeight]),b)):this._setUniform("u_projection",!1,b))):(a=[0,0],m=[1,1],this._setUniform("u_xformOffset",a,b),this._setUniform("u_xformScale",m,b));this.rawInput&&this._rawResolution&&("RSP_BilinearInterpolation"===this.interpolation||"RSP_CubicConvolution"===this.interpolation)?(this._setUniform("u_resampling",1),this._setUniform("u_rawResolution",this._rawResolution)):this._setUniform("u_resampling",0)},_setupTextureData:function(a,b){if(a.texture)return a;a.raster&&a.raster.pixelBlock&&
(a=a.raster);this.rawInput=!0;var m=b&&b.notOriginal,g=b&&b.bandIDs;b&&b.reCreate?b=!1:(b=this._tileMode?!this._xformSetting.hasNewTexture:!this._glSetting.hasNewTexture)&&this._originalBandIDs&&(b=g?this._originalBandIDs.join("")===g.join(""):!1);0<this._glSetting.branchCount&&(b=!1);if(b&&this.originalTexture)return{extent:a.extent,texture:this.originalTexture};b=this._createTexture();m||(this.originalTexture=b,this._originalBandIDs=g);m=this.gl;var c=a.pixelBlock;this._rawResolution=c?[1/a.pixelBlock.width,
1/a.pixelBlock.height]:[1/this.gl.drawingBufferWidth,1/this.gl.drawingBufferHeight];var d=0;g&&0<g.length&&c&&(d=Math.max.apply(null,g),c.pixels.length>d&&g&&(c.pixels=g.map(function(l){return c.pixels[l]}),c.statistics&&(c.statistics=g.map(function(l){return c.statistics[l]}))));g=c.width;d=c.height;m.getExtension("OES_texture_float");var f=c.getAsRGBAFloat();m.texImage2D(m.TEXTURE_2D,0,m.RGBA,g,d,0,m.RGBA,m.FLOAT,f);return{extent:a.extent,texture:b}},_setupPingPongTextures:function(){var a=this._glSetting;
if(!a||!a.pingpong){a.pingpong=[];var b=k.createBufferTexture(this.gl,!1);a.pingpong.push(b);b=k.createBufferTexture(this.gl,!1);a.pingpong.push(b);a.pingpongIndex=1}},_setupBranchingTextures:function(){var a=this._glSetting;if(!a||!a.branches){a.branches=[];var b=0,m=a.branchCount;if(0<m){for(b=0;b<m;b++){var g=k.createBufferTexture(this.gl,!1);a.branches.push(g)}a.branchIndex=m-1}}},_setupXformTexture:function(a){for(var b=this._createTexture(),m=this.gl,g=4*this._xformSetting.gridConfig.size[0],
c=this._xformSetting.gridConfig.size[1],d=new Float32Array(g*c*4),f=0,l=0;l<this._xformSetting.gridConfig.coefficients.length;l++)d[f++]=this._xformSetting.gridConfig.coefficients[l],2===l%3&&(d[f++]=1);m.getExtension("OES_texture_float");m.texImage2D(m.TEXTURE_2D,0,m.RGBA,g,c,0,m.RGBA,m.FLOAT,d);this._bindTexture(b,"u_transformGrid",a)},_createTexture:function(a){return k.createTexture(this.gl,a)},_bindTexture:function(a,b,m){b=b||"u_image";m=this._uniforms[m||"rasterProgram"];var g=this._getTextureIndex(b);
if(-1!==g){var c=this.gl;c.uniform1i(m[b].location,g);c.activeTexture(c.TEXTURE0+g);c.bindTexture(c.TEXTURE_2D,a)}},_getTextureIndex:function(a,b){b=this._uniforms[b||"rasterProgram"];if(!b||!b[a]||b[a].info.type!==this.gl.SAMPLER_2D)return-1;if("u_transformGrid"===a)return 0;a="u_image"===a?0:parseInt(a.replace("u_image",""));return this._xformSetting.requireProjection?a+1:a},_drawGL:function(a){var b=this.gl;this.renderTexture?(b.enable(b.BLEND),b.bindFramebuffer(b.FRAMEBUFFER,null)):b.disable(b.BLEND);
a||b.viewport(0,0,b.drawingBufferWidth,b.drawingBufferHeight);a=this._xformSetting.meshSize||[1,1];b.drawArrays(b.TRIANGLES,0,a[0]*a[1]*6);this._drawMesh()},_drawMesh:function(){if(this.renderTexture&&this._glSetting.drawMesh){this.meshProgram=this.meshProgram||this._setupMeshProgram();var a=this.gl;a.useProgram(this.meshProgram);a.bindFramebuffer(a.FRAMEBUFFER,null);var b=a.getAttribLocation(this.meshProgram,"a_texCoord"),m=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,m);m=this._xformSetting.meshSize||
[1,1];var g=k.createMesh(m,!0);a.bufferData(a.ARRAY_BUFFER,g,a.STATIC_DRAW);a.enableVertexAttribArray(b);a.vertexAttribPointer(b,2,a.FLOAT,!1,0,0);a.disable(a.DEPTH_TEST);a.blendFunc(a.ONE,a.ZERO);this._setUniforms({u_color:[0,0,1,1],u_drawMeshLines:!0},"meshProgram");a.drawArrays(a.LINES,0,m[0]*m[1]*10)}},_setupMeshProgram:function(){var a=q.getShader(this.gl,q.mesh),b=n.getShader(this.gl,n.constant);return this._loadProgram(a,b)},_loadProgram:function(a,b){return k.loadProgram(this.gl,a,b)},_getShaderScript:function(a,
b){b=document.getElementById(b);if(!b)return null;a="";for(b=b.firstChild;b;)3==b.nodeType&&(a+=b.textContent),b=b.nextSibling;return a}})})},"esri/layers/rasterLib/function/vertexShaders":function(){define(["dojo/_base/declare","dojo/_base/lang","./vertexShaderScripts"],function(I,h,p){I={shaderType:"vertex",getShader:function(n,q){var k=n.createShader(n.VERTEX_SHADER);n.shaderSource(k,q);n.compileShader(k);n.getShaderParameter(k,n.COMPILE_STATUS)||(k=null);return k}};h.mixin(I,p);return I})},"esri/layers/rasterLib/function/vertexShaderScripts":function(){define([],
function(){return{basic:"varying vec2 v_texCoord;\nattribute vec2 a_texCoord;\nuniform vec2 u_xformOffset;\nuniform vec2 u_xformScale;\nuniform bool u_flipY;\nvoid main() {\nv_texCoord \x3d u_xformOffset + a_texCoord * u_xformScale;\nif (u_flipY) {\nv_texCoord.t \x3d 1.0 - v_texCoord.t;\n}\nvec2 position \x3d a_texCoord * 2.0 - 1.0;\ngl_Position \x3d vec4(position, 0.0, 1.0);\n}",histogram:"attribute float a_pixelIndex;\nuniform sampler2D u_image;\nuniform sampler2D u_image1;\nuniform sampler2D u_image2;\nuniform vec2 u_sourceDim;\nuniform vec2 u_halfPixel;\nuniform vec4 u_bandSelection;\nuniform vec4 u_mins;\nuniform vec4 u_factors;\nuniform float u_size;\nuniform int u_bandCount;\nuniform bool u_minMaxTexture;\nvoid main() {\nfloat row \x3d a_pixelIndex/u_sourceDim.s;\nvec2 coord \x3d vec2(fract(row), floor(row)/u_sourceDim.t);\nvec4 pv \x3d texture2D(u_image, coord + u_halfPixel);\nvec4 minVal, maxVal, pvm;\nif (u_minMaxTexture){\nif (u_bandCount \x3d\x3d1){ //min \x3d red, max \x3d green\nvec4 minmax \x3d texture2D(u_image1, vec2(0.5,0.5));\nminVal \x3d vec4(minmax.r, minmax.r, minmax.r, 0.0);\nmaxVal \x3d vec4(minmax.g, minmax.g, minmax.g, 0.0);\n}\nelse if (u_bandCount \x3d\x3d3){ //min \x3d red, max \x3d green\nminVal \x3d texture2D(u_image1, vec2(0.5,0.5));\nmaxVal \x3d texture2D(u_image2, vec2(0.5,0.5));\n}\nvec4 factors \x3d u_size/(maxVal-minVal+vec4(0.0,0.0,0.0,1.0)) * u_factors;\npvm \x3d (pv - minVal) * factors;\n}\nelse {\npvm \x3d (pv - u_mins) * u_factors;\n}\nfloat histVal \x3d min(floor(pvm.r+pvm.g+pvm.b), u_size-1.0);\nhistVal \x3d pv.a \x3d\x3d 1.0? histVal: u_size;\ngl_Position \x3d vec4((histVal+0.1) / (u_size+1.0) * 2.0 - 1.0, 0.5, 0, 1);\ngl_PointSize \x3d 1.0;\n}",
mesh:"varying vec2 v_texCoord;\nattribute vec2 a_texCoord;\nuniform bool u_drawMeshLines;\nuniform bool u_flipY;\nuniform vec2 u_xformOffset;\nuniform vec2 u_xformScale;\nuniform sampler2D u_transformGrid;\nuniform vec2 u_transformSpacing;\nuniform vec2 u_transformGridSize;\nuniform vec2 u_targetImageSize;\nuniform vec2 u_srcImageSize;\nuniform bool u_projection;\nvec2 projectPixelLocation(vec2 coords) {\nvec2 index_image \x3d floor(coords * u_targetImageSize);\nvec2 oneTransformPixel \x3d vec2(0.25 / u_transformGridSize.s, 1.0 / u_transformGridSize.t);\nvec2 index_transform \x3d floor(index_image / u_transformSpacing) / u_transformGridSize;\nvec2 pos \x3d fract((index_image + vec2(0.5, 0.5)) / u_transformSpacing);\nvec2 srcLocation;\nvec2 transform_location \x3d index_transform + oneTransformPixel * 0.5;\nif (pos.s \x3c\x3d pos.t) {\nvec4 ll_abc \x3d texture2D(u_transformGrid, vec2(transform_location.s, transform_location.t));\nvec4 ll_def \x3d texture2D(u_transformGrid, vec2(transform_location.s + oneTransformPixel.s, transform_location.t));\nsrcLocation.s \x3d dot(ll_abc.rgb, vec3(pos, 1.0));\nsrcLocation.t \x3d dot(ll_def.rgb, vec3(pos, 1.0));\n} else {\nvec4 ur_abc \x3d texture2D(u_transformGrid, vec2(transform_location.s + 2.0 * oneTransformPixel.s, transform_location.t));\nvec4 ur_def \x3d texture2D(u_transformGrid, vec2(transform_location.s + 3.0 * oneTransformPixel.s, transform_location.t));\nsrcLocation.s \x3d dot(ur_abc.rgb, vec3(pos, 1.0));\nsrcLocation.t \x3d dot(ur_def.rgb, vec3(pos, 1.0));\n}\nreturn srcLocation;// + halfPixel;\n}\nvoid main() {\nif (u_projection) {\nv_texCoord \x3d projectPixelLocation(a_texCoord);\n} else {\nv_texCoord \x3d u_xformOffset + a_texCoord * u_xformScale;\n}\nif (u_flipY) {\nv_texCoord.t \x3d 1.0 - v_texCoord.t;\n}\nvec2 position \x3d a_texCoord * 2.0 - 1.0;\nif (u_drawMeshLines){\nvec2 adjustedPos \x3d (v_texCoord - u_xformOffset) / u_xformScale;\ngl_Position \x3d vec4( adjustedPos * 2.0 - 1.0, 0.0, 1.0);\n}\nelse {\ngl_Position \x3d vec4(position, 0.0, 1.0);\n}\n}"}})},
"esri/layers/rasterLib/function/webglHelper":function(){define([],function(){var I={getUniforms:function(h,p){var n=h.getProgramParameter(p,h.ACTIVE_UNIFORMS),q,k,e={};for(q=0;q<n;q++)(k=h.getActiveUniform(p,q))&&(e[k.name]={location:h.getUniformLocation(p,k.name),info:k});return e},setUniform:function(h,p,n){var q=p.info,k=p.location,e=q.type;if(null==n)console.log("uniform "+p.info.name+" has null or undefined value");else switch(e){case h.FLOAT:1<q.size?0===n.length?console.log("uniform "+p.info.name+
" has length 0"):h.uniform1fv(k,n):h.uniform1f(k,n);break;case h.FLOAT_VEC2:if(0===n.length){console.log("uniform "+p.info.name+" has length 0");break}h.uniform2fv(k,n);break;case h.FLOAT_VEC3:if(0===n.length){console.log("uniform "+p.info.name+" has length 0");break}h.uniform3fv(k,n);break;case h.FLOAT_VEC4:if(0===n.length){console.log("uniform "+p.info.name+" has length 0");break}h.uniform4fv(k,n);break;case h.INT:case h.BOOL:1<q.size?0===n.length?console.log("uniform "+p.info.name+" has length 0"):
h.uniform1iv(k,n):h.uniform1i(k,n);break;case h.INT_VEC2:case h.BOOL_VEC2:if(0===n.length){console.log("uniform "+p.info.name+" has length 0");break}h.uniform2iv(k,n);break;case h.INT_VEC3:case h.BOOL_VEC3:if(0===n.length){console.log("uniform "+p.info.name+" has length 0");break}h.uniform3iv(k,n);break;case h.INT_VEC4:case h.BOOL_VEC4:0===n.length?console.log("uniform "+p.info.name+" has length 0"):h.uniform4iv(k,n)}},createTexture:function(h,p){var n=h.createTexture();h.bindTexture(h.TEXTURE_2D,
n);h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_S,h.CLAMP_TO_EDGE);h.texParameteri(h.TEXTURE_2D,h.TEXTURE_WRAP_T,h.CLAMP_TO_EDGE);h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MIN_FILTER,p?h.LINEAR:h.NEAREST);h.texParameteri(h.TEXTURE_2D,h.TEXTURE_MAG_FILTER,p?h.LINEAR:h.NEAREST);return n},createBufferTexture:function(h,p,n){p=I.createTexture(h,p);h.getExtension("OES_texture_float");n=n||[h.drawingBufferWidth,h.drawingBufferHeight];h.texImage2D(h.TEXTURE_2D,0,h.RGBA,n[0],n[1],0,h.RGBA,h.FLOAT,null);n=h.createFramebuffer();
h.bindFramebuffer(h.FRAMEBUFFER,n);h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,h.TEXTURE_2D,p,0);return{texture:p,frameBuffer:n}},getShader:function(h,p,n){n=n?h.createShader(h.VERTEX_SHADER):h.createShader(h.FRAGMENT_SHADER);h.shaderSource(n,p);h.compileShader(n);h.getShaderParameter(n,h.COMPILE_STATUS)||(console.log(h.getShaderInfoLog(n)),n=null);return n},loadProgram:function(h,p,n){var q=h.createProgram();h.attachShader(q,p);h.attachShader(q,n);h.linkProgram(q);h.getProgramParameter(q,
h.LINK_STATUS)||(console.warn("failed to load webgl program: "+h.getProgramInfoLog(q)),h.deleteProgram(q),q=null);return q},createMesh:function(h,p){if(!h||1===h[0]&&1===h[1])return new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]);var n=h&&p?new Float32Array(h[0]*h[1]*20):new Float32Array(h[0]*h[1]*12);var q=.9998/h[1],k=.9998/h[0],e,a,b=0;for(e=0;e<h[1];e++)for(a=0;a<h[0];a++){var m=1E-4+q*e;var g=1E-4+k*a;h&&!p?(n[b++]=m,n[b++]=g,n[b++]=m+q,n[b++]=g,n[b++]=m,n[b++]=g+k,n[b++]=m,n[b++]=g+k,n[b++]=m+q,
n[b++]=g,n[b++]=m+q,n[b++]=g+k):(n[b++]=m,n[b++]=g,n[b++]=m,n[b++]=g+k,n[b++]=m,n[b++]=g+k,n[b++]=m+q,n[b++]=g+k,n[b++]=m+q,n[b++]=g+k,n[b++]=m+q,n[b++]=g,n[b++]=m,n[b++]=g,n[b++]=m+q,n[b++]=g,n[b++]=m,n[b++]=g+k,n[b++]=m+q,n[b++]=g)}return n}};return I})},"esri/layers/rasterLib/function/convolutionKernel":function(){define([],function(){var I={Default:[0,0,0,0,1,0,0,0,0],LineDetectionHorizontal:[-1,-1,-1,2,2,2,-1,-1,-1],LineDetectionVertical:[-1,2,-1,-1,2,-1,-1,2,-1],LineDetectionLeftDiagonal:[2,
-1,-1,-1,2,-1,-1,-1,2],LineDetectionRightDiagonal:[-1,-1,2,-1,2,-1,2,-1,-1],GradientNorth:[-1,-2,-1,0,0,0,1,2,1],GradientWest:[-1,0,1,-2,0,2,-1,0,1],GradientEast:[1,0,-1,2,0,-2,1,0,-1],GradientSouth:[1,2,1,0,0,0,-1,-2,-1],GradientNorthEast:[0,-1,-2,1,0,-1,2,1,0],GradientNorthWest:[-2,-1,0,-1,0,1,0,1,2],SmoothArithmeticMean:[.111111111111,.111111111111,.111111111111,.111111111111,.111111111111,.111111111111,.111111111111,.111111111111,.111111111111],Smoothing3x3:[.0625,.125,.0625,.125,.25,.125,.0625,
.125,.0625],Smoothing5x5:[1,1,1,1,1,1,4,4,4,1,1,4,12,4,1,1,4,4,4,1,1,1,1,1,1],Sharpening3x3:[-1,-1,-1,-1,9,-1,-1,-1,-1],Sharpening5x5:[-1,-3,-4,-3,-1,-3,0,6,0,-3,-4,6,21,6,-4,-3,0,6,0,-3,-1,-3,-4,-3,-1],Laplacian3x3:[0,-1,0,-1,4,-1,0,-1,0],Laplacian5x5:[0,0,-1,0,0,0,-1,-2,-1,0,-1,-2,17,-2,-1,0,-1,-2,-1,0,0,0,-1,0,0],SobelHorizontal:[-1,-2,-1,0,0,0,1,2,1],SobelVertical:[-1,0,1,-2,0,2,-1,0,1],Sharpen:[0,-.25,0,-.25,2,-.25,0,-.25,0],Sharpen2:[-.25,-.25,-.25,-.25,3,-.25,-.25,-.25,-.25],PointSpread:[-.627,
.352,-.627,.352,2.923,.352,-.627,.352,-.627],getKernel:function(h){switch(h){case 0:return I.LineDetectionHorizontal;case 1:return I.LineDetectionVertical;case 2:return I.LineDetectionLeftDiagonal;case 3:return I.LineDetectionRightDiagonal;case 4:return I.GradientNorth;case 5:return I.GradientWest;case 6:return I.GradientEast;case 7:return I.GradientSouth;case 8:return I.GradientNorthEast;case 9:return I.GradientNorthWest;case 10:return I.SmoothArithmeticMean;case 11:return I.Smoothing3x3;case 12:return I.Smoothing5x5;
case 13:return I.Sharpening3x3;case 14:return I.Sharpening5x5;case 15:return I.Laplacian3x3;case 16:return I.Laplacian5x5;case 17:return I.SobelHorizontal;case 18:return I.SobelVertical;case 19:return I.Sharpen;case 20:return I.Sharpen2;case 21:return I.PointSpread;default:return I.Default}}};return I})},"esri/layers/rasterLib/function/surfaceUtils":function(){define(["dojo/_base/lang"],function(I){return{hillshade:function(h,p){if(null!==h&&null!==h.pixelBlock&&null!==h.pixelBlock.pixels){var n=
this._clonePixelBlock(h.pixelBlock),q=p.altitude,k=p.azimuth,e=p.zFactor,a=p.psPower,b=p.psFactor,m=p.hillshadeType,g=p.slopeType,c=p.isGCS;1===m&&(e*=2);p=n.width;var d=n.height,f=n.pixels[0],l=n.mask,t=new Uint8Array(p*d);l&&t.set(l);var u=new Uint8Array(p*d),r=(h.extent.xmax-h.extent.xmin)/p,x=(h.extent.ymax-h.extent.ymin)/d,v=e/(8*r),C=e/(8*x);.001<e&&c&&(v/=111E3,C/=111E3);3===g&&(c?(v=111E3*r,C=111E3*x,v=(e+Math.pow(v,a)*b)/(8*v),C=(e+Math.pow(C,a)*b)/(8*C)):(v=(e+Math.pow(r,a)*b)/(8*r),C=(e+
Math.pow(x,a)*b)/(8*x)));c=(90-q)*Math.PI/180;q=Math.cos(c);var B=(360-k+90)*Math.PI/180;k=Math.sin(c)*Math.cos(B);c=Math.sin(c)*Math.sin(B);e=[];a=[];b=[];r=[315,270,225,360,180,0];var F=[60,60,60,60,60,90];g=[3,5,3,2,1,4];var y=g.reduce(function(M,T){return M+T});x=g.map(function(M){return M/y});if(1===m){var D=r.length;for(g=0;g<D;g++)q=F[g],k=r[g],c=(90-q)*Math.PI/180,q=Math.cos(c),B=(360-k+90)*Math.PI/180,k=Math.sin(c)*Math.cos(B),c=Math.sin(c)*Math.sin(B),e.push(q),a.push(k),b.push(c)}var L=
0;for(g=1;g<d-1;g++)for(F=g*p,r=1;r<p-1;r++)if(l&&!l[F+r])u[F+r]=0;else{B=0;if(l&&(B=l[F-p+r-1]+l[F-p+r]+l[F-p+r+1]+l[F+r-1]+l[F+r+1]+l[F+p+r-1]+l[F+p+r]+l[F+p+r+1],7>B)){u[F+r]=0;t[F+r]=0;continue}if(7===B){var E=l[F-p+r-1]?f[F-p+r-1]:f[F+r];var z=l[F-p+r]?f[F-p+r]:f[F+r];var A=l[F-p+r+1]?f[F-p+r+1]:f[F+r];B=l[F+r-1]?f[F+r-1]:f[F+r];var G=l[F+r+1]?f[F+r+1]:f[F+r];L=l[F+p+r-1]?f[F+p+r-1]:f[F+r];var N=l[F+p+r]?f[F+p+r]:f[F+r];var H=l[F+p+r+1]?f[F+p+r+1]:f[F+r]}else E=f[F-p+r-1],z=f[F-p+r],A=f[F-p+
r+1],B=f[F+r-1],G=f[F+r+1],L=f[F+p+r-1],N=f[F+p+r],H=f[F+p+r+1];B=(A+G+G+H-(E+B+B+L))*v;z=(L+N+N+H-(E+z+z+A))*C;A=Math.sqrt(1+B*B+z*z);L=0;if(0===m)N=c*z-k*B,N=255*(q+N)/A,0>N&&(N=0),L=N;else if(1===m)for(E=0;E<D;E++)N=b[E]*z-a[E]*B,N=255*(e[E]+N)/A,0>N&&(N=0),L+=N*x[E];u[F+r]=L}for(g=0;g<d;g++)u[g*p]=u[g*p+1],u[(g+1)*p-1]=u[(g+1)*p-2];for(g=1;g<p-1;g++)u[g]=u[g+p],u[g+(d-1)*p]=u[g+(d-2)*p];n.pixelType="U8";n.pixels=[u];n.statistics=[{minValue:0,maxValue:255}];l&&(n.mask=t);return{extent:h.extent,
pixelBlock:n}}},slope:function(h,p){if(null!==h&&null!==h.pixelBlock&&null!==h.pixelBlock.pixels){var n=this._clonePixelBlock(h.pixelBlock),q=p.zFactor,k=p.psPower,e=p.psFactor,a=p.slopeType,b=p.isGCS;p=n.width;var m=n.height,g=n.pixels[0],c=n.mask,d=new Uint8Array(p*m);c&&d.set(c);var f=new Float32Array(p*m),l=(h.extent.xmax-h.extent.xmin)/p,t=(h.extent.ymax-h.extent.ymin)/m,u=q/(8*l),r=q/(8*t);1E-4>Math.abs(q-1)&&b&&(u/=111E3,r/=111E3);3===a&&(b?(u=111E3*l,r=111E3*t,u=(q+Math.pow(u,k)*e)/(8*u),
r=(q+Math.pow(r,k)*e)/(8*r)):(u=(q+Math.pow(l,k)*e)/(8*l),r=(q+Math.pow(t,k)*e)/(8*t)));for(q=1;q<m-1;q++)for(e=q*p,k=1;k<p-1;k++)if(c&&!c[e+k])f[e+k]=0;else{t=0;if(c&&(t=c[e-p+k-1]+c[e-p+k]+c[e-p+k+1]+c[e+k-1]+c[e+k+1]+c[e+p+k-1]+c[e+p+k]+c[e+p+k+1],7>t)){f[e+k]=0;d[e+k]=0;continue}if(7===t){t=c[e-p+k-1]?g[e-p+k-1]:g[e+k];b=c[e-p+k]?g[e-p+k]:g[e+k];l=c[e-p+k+1]?g[e-p+k+1]:g[e+k];var x=c[e+k-1]?g[e+k-1]:g[e+k];var v=c[e+k+1]?g[e+k+1]:g[e+k];var C=c[e+p+k-1]?g[e+p+k-1]:g[e+k];var B=c[e+p+k]?g[e+p+
k]:g[e+k];var F=c[e+p+k+1]?g[e+p+k+1]:g[e+k]}else t=g[e-p+k-1],b=g[e-p+k],l=g[e-p+k+1],x=g[e+k-1],v=g[e+k+1],C=g[e+p+k-1],B=g[e+p+k],F=g[e+p+k+1];x=(l+v+v+F-(t+x+x+C))*u;t=(C+B+B+F-(t+b+b+l))*r;t=Math.sqrt(x*x+t*t);f[e+k]=1===a||3===a?57.2957795*Math.atan(t):100*t}for(q=0;q<m;q++)f[q*p]=f[q*p+1],f[(q+1)*p-1]=f[(q+1)*p-2];for(q=1;q<p-1;q++)f[q]=f[q+p],f[q+(m-1)*p]=f[q+(m-2)*p];n.pixelType="F32";n.pixels=[f];n.statistics=[{minValue:0,maxValue:255}];c&&(n.mask=d);return{extent:h.extent,pixelBlock:n}}},
aspect:function(h){if(null!==h&&null!==h.pixelBlock&&null!==h.pixelBlock.pixels){var p=this._clonePixelBlock(h.pixelBlock),n=p.width,q=p.height,k=p.pixels[0],e=p.mask,a=new Uint8Array(n*q);e&&a.set(e);var b=new Float32Array(n*q),m=1/((h.extent.xmax-h.extent.xmin)/n),g=1/((h.extent.ymax-h.extent.ymin)/q),c,d;for(c=1;c<q-1;c++){var f=c*n;for(d=1;d<n-1;d++)if(e&&!e[f+d])b[f+d]=0;else{var l=0;if(e&&(l=e[f-n+d-1]+e[f-n+d]+e[f-n+d+1]+e[f+d-1]+e[f+d+1]+e[f+n+d-1]+e[f+n+d]+e[f+n+d+1],7>l)){b[f+d]=0;a[f+d]=
0;continue}if(7===l){l=e[f-n+d-1]?k[f-n+d-1]:k[f+d];var t=e[f-n+d]?k[f-n+d]:k[f+d];var u=e[f-n+d+1]?k[f-n+d+1]:k[f+d];var r=e[f+d-1]?k[f+d-1]:k[f+d];var x=e[f+d+1]?k[f+d+1]:k[f+d];var v=e[f+n+d-1]?k[f+n+d-1]:k[f+d];var C=e[f+n+d]?k[f+n+d]:k[f+d];var B=e[f+n+d+1]?k[f+n+d+1]:k[f+d]}else l=k[f-n+d-1],t=k[f-n+d],u=k[f-n+d+1],r=k[f+d-1],x=k[f+d+1],v=k[f+n+d-1],C=k[f+n+d],B=k[f+n+d+1];r=(u+x+x+B-(l+r+r+v))*m;l=(v+C+C+B-(l+t+t+u))*g;0===r&&0===l?l=-1:(l=90-57.29578*Math.atan2(l,-r),0>l&&(l+=360),360===l?
l=0:360<l&&(l%=360));b[f+d]=l}}for(c=0;c<q;c++)b[c*n]=b[c*n+1],b[(c+1)*n-1]=b[(c+1)*n-2];for(c=1;c<n-1;c++)b[c]=b[c+n],b[c+(q-1)*n]=b[c+(q-2)*n];p.pixelType="F32";p.pixels=[b];p.statistics={minValue:0,maxValue:360};e&&(p.mask=a);return{extent:h.extent,pixelBlock:p}}},_clonePixelBlock:function(h){return h.clone?h.clone():I.clone(h)}}})},"esri/layers/rasterLib/function/BandArithmeticFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin ./rasterIndex".split(" "),
function(I,h,p,n,q,k,e){return I([p,k],{declaredClass:"esri.layers.rasterLib.function.BandArithmeticFunction",functionName:"BandArithmetic",supportWebGL:!0,support2D:!0,constructor:function(a){this.functionArguments=this.mixinIgnoreCase({method:1,bandIndexes:"",raster:null},a)},bind:function(a){a=this.getSourceRasterInfo(a);if(!a.raster)return Error("The raster input to band arithmetic function is invalid.");this.rasterInfo=h.mixin(a.raster,{bandCount:8===this.functionArguments.method?a.raster.bandCount:
1,pixelType:this._calculatePixelType(this.pixelType,"F32"),statistics:null,histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType="Generic";return!0},read2D:function(a){this._performance.start();a=a.raster;var b=e.calculate(a.pixelBlock,{bandIndexes:this.functionArguments.bandIndexes,method:this.functionArguments.method});this._addPerformanceMetric(this._performance.elapsed());"Unknown"!==this.pixelType&&(b.pixelType=this.pixelType);
return{extent:a.extent,pixelBlock:b}},readGL:function(a){this._performance.start();this._initializeProgram({fragment:q.bandArithmetic,fragmentName:"bandArithmetic"});var b=this.functionArguments.bandIndexes.trim().split(" ").map(function(d){return parseInt(d,10)});this._infraredBandID=b[0]-1;this._visibleBandID=b[1]-1;this._alterBand=2<Math.max(this._infraredBandID,this._visibleBandID)?!0:!1;a=this._setupTextureData(a.raster,this._alterBand&&2==b.length?{bandIDs:[this._infraredBandID,this._visibleBandID,
this._infraredBandID]}:{bandIDs:[b[0]-1,b[1]-1,b[2]-1]});var m=this.bindFrameBuffer(),g=this.functionArguments.method,c=2<b.length?b.slice(2):null;this._alterBand?this._setUniforms({u_method:g,u_bandId_nir:0,u_bandId_red:1,u_constants:c}):this._setUniforms({u_method:g,u_bandId_nir:b[0]-1,u_bandId_red:b[1]-1,u_constants:c});this._bindTexture(a.texture,"u_image");this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:a.extent,texture:m.texture}}})})},"esri/layers/rasterLib/function/rasterIndex":function(){define(["dojo/_base/lang"],
function(I){return{calculate:function(h,p){if(h&&h.pixels&&h.pixels.length){var n=p&&p.bandIndexes;p=p&&p.method;var q=n.trim().split(" ").map(function(a){return parseInt(a,10)}).filter(function(a){return null!=a});h=this._clonePixelBlock(h);var k=h.pixels,e=h.mask;switch(p){case 1:k=this._calculateNDVI(e,k[q[0]-1],k[q[1]-1]);break;case 2:k=this._calculateSAVI(e,k[q[0]-1],k[q[1]-1],q[2]);break;case 3:k=this._calculateTSAVI(e,k[q[0]-1],k[q[1]-1],q[2],q[3],q[4]);break;case 4:k=this._calculateMSAVI(e,
k[q[0]-1],k[q[1]-1]);break;case 5:k=this._calculateGEMI(e,k[q[0]-1],k[q[1]-1]);break;case 6:k=this._calculatePVI(e,k[q[0]-1],k[q[1]-1],q[2],q[3]);break;case 7:k=this._calculateGVITM(e,k[q[0]-1],k[q[1]-1],k[q[2]-1],k[q[3]-1],k[q[4]-1],k[q[5]-1]);break;case 8:k=this._calculateSultan(e,k[q[0]-1],k[q[1]-1],k[q[2]-1],k[q[3]-1],k[q[4]-1],k[q[5]-1]);break;case 9:k=this._calculateVARI(e,k[q[0]-1],k[q[1]-1],k[q[2]-1]);break;case 0:k=this._calculateUserDefined(e,k,n)}h.pixels=k;h.pixelType="F32";h.calculateStatistics();
return h}},_clonePixelBlock:function(h){return h.clone?h.clone():I.clone(h)},_parseUserDefined:function(h,p){h=h.replace(" ","");0===h.indexOf("-")&&(h="0"+h);0===h.indexOf("+")&&(h=h.slice(1,h.length));h=h.split("");var n=[],q=[],k="+-*/()".split(""),e,a="";for(e=0;e<h.length;e++){var b=h[e];k.some(function(m){return m===b})?(""!==a&&q.push(parseFloat(a)),n.push(b),a=""):"b"===b.toLowerCase()?(e++,a=b.concat(h[e]),q.push(p[parseInt(a[1],10)-1]),a=""):(a=a.concat(b),e===h.length-1&&q.push(parseFloat(a)))}return{ops:n,
nums:q}},_op:function(h,p,n,q){if(n.constructor===Number&&q.constructor===Number)return n+q;var k;if(n.constructor===Number){var e=q.length;var a=n;n=new Float32Array(e);for(k=0;k<e;k++)n[k]=a}else if(e=n.length,q.constructor===Number)for(a=q,q=new Float32Array(e),k=0;k<e;k++)q[k]=a;a=new Float32Array(e);if(null==h)if("+"===p)for(k=0;k<e;k++)a[k]=n[k]+q[k];else if("-"===p)for(k=0;k<e;k++)a[k]=n[k]-q[k];else if("*"===p)for(k=0;k<e;k++)a[k]=n[k]*q[k];else{if("/"===p)for(k=0;k<e;k++)a[k]=n[k]/q[k]}else if("+"===
p)for(k=0;k<e;k++)h[k]&&(a[k]=n[k]+q[k]);else if("-"===p)for(k=0;k<e;k++)h[k]&&(a[k]=n[k]-q[k]);else if("*"===p)for(k=0;k<e;k++)h[k]&&(a[k]=n[k]*q[k]);else if("/"===p)for(k=0;k<e;k++)h[k]&&(a[k]=n[k]/q[k]);return a},_shrinkOp:function(h,p){h.splice(p,1);var n=p=0,q=0;do{for(p=q=n=0;p<h.length;p++)if("("===h[p])n=p;else if(")"===h[p]){q=p;break}q===n+1&&h.splice(n,2)}while(q===n+1);return h},_getPriorityOpIndex:function(h,p){if(1===h.length)return{opIndex:0,numIndex:0};var n=p=0,q=0,k=-1,e=0;for(p=
0;p<h.length;p++)if("("===h[p])n=p;else if(")"===h[p]){q=p;break}var a=0===q?h:h.slice(n+1,q);for(p=0;p<a.length;p++)if("*"===a[p]||"/"===a[p]){k=p;break}if(!(-1<k))for(p=0;p<a.length;p++)if("+"===a[p]||"-"===a[p]){k=p;break}0<q&&(k+=n+1);for(p=0;p<k;p++)"("===h[p]&&e++;return{opIndex:k,numIndex:k-e}},_calculateUserDefined:function(h,p,n){p=this._parseUserDefined(n,p);n=p.ops;for(var q=p.nums,k,e,a;0<n.length&&(p=this._getPriorityOpIndex(n,q),k=n[p.opIndex],e=q[p.numIndex],a=q[p.numIndex+1],k=this._op(h,
k,e,a),1!==n.length);)n=this._shrinkOp(n,p.opIndex),q.splice(p.numIndex,2,k);return[k]},_calculateNDVI:function(h,p,n){var q=n.length,k=new Float32Array(q),e;if(null==h)for(e=0;e<q;e++){var a=n[e];var b=p[e];k[e]=(b-a)/(b+a)}else for(e=0;e<q;e++)h[e]&&(a=n[e],b=p[e],k[e]=(b-a)/(b+a));return[k]},_calculateSAVI:function(h,p,n,q){var k=n.length,e=new Float32Array(k),a;if(null==h)for(a=0;a<k;a++){var b=n[a];var m=p[a];e[a]=(m-b)/(m+b+q)*(1+q)}else for(a=0;a<k;a++)h[a]&&(b=n[a],m=p[a],e[a]=(m-b)/(m+b+
q)*(1+q));return[e]},_calculateTSAVI:function(h,p,n,q,k,e){var a=n.length,b=new Float32Array(a),m=-k*q+e*(1+q*q);if(null==h)for(e=0;e<a;e++){var g=n[e];var c=p[e];b[e]=q*(c-q*g-k)/(k*c+g+m)}else for(e=0;e<a;e++)h[e]&&(g=n[e],c=p[e],b[e]=q*(c-q*g-k)/(k*c+g+m));return[b]},_calculateMSAVI:function(h,p,n){var q=n.length,k=new Float32Array(q),e;if(null==h)for(e=0;e<q;e++){var a=n[e];var b=p[e];k[e]=.5*(2*(b+1)-Math.sqrt(Math.pow(2*b+1,2)-8*(b-a)))}else for(e=0;e<q;e++)h[e]&&(k[e]=.5*(2*(b+1)-Math.sqrt(Math.pow(2*
b+1,2)-8*(b-a))));return[k]},_calculateGEMI:function(h,p,n){var q=n.length,k=new Float32Array(q),e;if(null==h)for(e=0;e<q;e++){var a=n[e];var b=p[e];b=(2*(b*b-a*a)+1.5*b+.5*a)/(b+a+.5);k[e]=b*(1-.25*b)-(a-.125)/(1-a)}else for(e=0;e<q;e++)h[e]&&(a=n[e],b=p[e],b=(2*(b*b-a*a)+1.5*b+.5*a)/(b+a+.5),k[e]=b*(1-.25*b)-(a-.125)/(1-a));return[k]},_calculatePVI:function(h,p,n,q,k){var e=n.length,a=new Float32Array(e),b,m=Math.sqrt(1+q*q);if(null==h)for(b=0;b<e;b++){var g=n[b];var c=p[b];a[b]=(c-q*g-k)/m}else for(b=
0;b<e;b++)h[b]&&(g=n[b],c=p[b],a[b]=(c-q*g-k)/m);return[a]},_calculateGVITM:function(h,p,n,q,k,e,a){var b=p.length,m=new Float32Array(b),g;if(null==h)for(g=0;g<b;g++)m[g]=-.2848*p[g]-.2435*n[g]-.5436*q[g]+.7243*k[g]+.084*e[g]-1.18*a[g];else for(g=0;g<b;g++)h[g]&&(m[g]=-.2848*p[g]-.2435*n[g]-.5436*q[g]+.7243*k[g]+.084*e[g]-1.18*a[g]);return[m]},_calculateSultan:function(h,p,n,q,k,e,a){n=p.length;var b=new Float32Array(n),m=new Float32Array(n),g=new Float32Array(n),c;if(null==h)for(c=0;c<n;c++)b[c]=
e[c]/a[c]*100,m[c]=e[c]/p[c]*100,g[c]=q[c]/k[c]*(e[c]/k[c])*100;else for(c=0;c<n;c++)h[c]&&(b[c]=e[c]/a[c]*100,m[c]=e[c]/p[c]*100,g[c]=q[c]/k[c]*(e[c]/k[c])*100);return[b,m,g]},_calculateVARI:function(h,p,n,q){var k=p.length,e=new Float32Array(k),a;if(null==h)for(a=0;a<k;a++){var b=p[a];var m=n[a];var g=q[a];e[a]=(m-b)/(m+b-g)}else for(a=0;a<k;a++)if(h[a])for(a=0;a<k;a++)b=p[a],m=n[a],g=q[a],e[a]=(m-b)/(m+b-g);return[e]}}})},"esri/layers/rasterLib/function/ColormapFunction":function(){define("dojo/_base/declare dojo/_base/lang ../../../renderers/colorRampGenerator ./RasterFunctionX ./pixelShaders ./RasterFunctionWebGLMixin ./rasterUtils".split(" "),
function(I,h,p,n,q,k,e){return I([n,k],{declaredClass:"esri.layers.rasterLib.function.ColormapFunction",functionName:"Colormap",pixelType:"U8",renderTexture:!1,supportWebGL:!0,support2D:!0,constructor:function(a){this.functionArguments=this.mixinIgnoreCase({colormap:null,colorRampName:null,colorRamp:null,colorMapName:null,raster:null},a);this.invert=a&&a.invert;a=a.colormap||a.Colormap;if(a){if(a.features||a[0].attributes){a=a.features||a;var b=Object.keys(a[0].attributes);var m=b.filter(function(t){return"alpha"===
t.toLowerCase()})[0];var g=b.filter(function(t){return"value"===t.toLowerCase()})[0];var c=b.filter(function(t){return"red"===t.toLowerCase()})[0];var d=b.filter(function(t){return"green"===t.toLowerCase()})[0];var f=b.filter(function(t){return"blue"===t.toLowerCase()})[0];if(!(g&&c&&d&&f))throw"invalid colormap";a=a.map(function(t){return m?[t.attributes[g],t.attributes[c],t.attributes[d],t.attributes[f],t.attributes[m]]:[t.attributes[g],t.attributes[c],t.attributes[d],t.attributes[f]]});var l=1.1>
Math.max.apply(null,a.map(function(t){return t[1]}));b=m&&1.1>Math.max.apply(null,a.map(function(t){return t[4]}));if(l)for(l=0;l<a.length;l++)a[l][1]=Math.round(255*a[l][1]),a[l][2]=Math.round(255*a[l][2]),a[l][3]=Math.round(255*a[l][3]),b&&(a[l][4]=Math.round(255*a[l][4]))}this.functionArguments.colormap=this._sortClr(a)}this._initialize()},bind:function(a){this._initialize();a=this.getSourceRasterInfo(a);if(!a.raster||"F32"===a.raster.pixelType)return Error("The raster input to colormap function is invalid. It must be integer type.");
this.rasterInfo=h.mixin(a.raster,{bandCount:3,pixelType:this._calculatePixelType(this.pixelType,"U8"),statistics:null,histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType="Processed";return!0},read2D:function(a){return this._colorize(a.raster)},readGL:function(a){return this._colorizeGL(a.raster)},_colorize:function(a){this._performance.start();var b=e.colorize(a.pixelBlock,{indexedColormap:this._indexedColormap,indexedColormapOffset:this._indexedColormapOffset,
indexed2DColormap:this._indexed2DColormap,alphaSpecified:this._alphaSpecified});this._addPerformanceMetric(this._performance.elapsed());return{extent:a.extent,pixelBlock:b}},_binarySearchClr:function(a,b){for(var m=0,g=a.length-1,c=0,d=0;m<g;)if(c=Math.floor((m+g)/2),d=a[c],d[0]<b)m=c;else if(d[0]>b)g=c;else return d.slice(1);return null},_sortClr:function(a,b){var m,g=[];for(m=0;m<a.length;m++)g.push(a[m]);for(m=0;m<g.length-1;m++){var c=g[m];for(a=m+1;a<g.length;a++)c[0]>g[a][0]&&(c=g[a],g[a]=g[m],
g[m]=c)}if(b)for(m=0;m<g.length/2;m++)c=g[m],g[g.length-1-m]=g[m],g[m]=c;return g},_invertColorRamp:function(a){if(!a)return a;var b={type:a.type};"random"===a.type?b=a:"multipart"===a.type?b.colorRamps=a.colorRamps.map(function(m){return{fromColor:m.toColor,toColor:m.fromColor}}).reverse():(b.fromColor=a.toColor,b.toColor=a.fromColor);return b},_initialize:function(){this._indexedColormapOffset=0;if(this.functionArguments.colormap){var a=e.buildIndexedColormap(this.functionArguments.colormap);this._alphaSpecified=
a&&a.alphaSpecified;this._indexedColormap=a&&a.indexedColormap;this._indexedColormapOffset=a&&a.offset;this._indexedColormap||(this._indexed2DColormap=this._getIndexed2DColormap())}else this.functionArguments.colorRamp?this._indexedColormap="multipart"===this.functionArguments.colorRamp.type?this.invert?p.createMultiPartColorRamp(this._invertColorRamp(this.functionArguments.colorRamp)):p.createMultiPartColorRamp(this.functionArguments.colorRamp):this.invert?p.createAlgorithmicColorRamp(this._invertColorRamp(this.functionArguments.colorRamp)):
p.createAlgorithmicColorRamp(this.functionArguments.colorRamp):this.functionArguments.colormapName&&"random"===this.functionArguments.colormapName.toLowerCase()&&(this._indexedColormap=p.createRandomColorRamp())},_getIndexed2DColormap:function(){var a=this.functionArguments.colormap;if(!a)return null;var b=0;0>a[0][0]&&(b=a[0][0]);var m=[],g=5===a[0].length,c;for(c=0;c<a.length;c++)m[a[c][0]-b]=g?a[c].slice(1):a[c].slice(1).concat([255]);return m},_colorizeGL:function(a){this._performance.start();
this._initializeProgram({fragment:q.colormap,fragmentName:"Colormap"});var b=this._indexedColormap,m=this._indexedColormapOffset;this._clrTexture||(this._clrTexture=this._setupColormapTexture(b));var g=this._clrTexture,c=this.bindFrameBuffer();a=this._setupTextureData(a);this._setUniforms({u_indexedColormapOffset:m,u_indexedColormapMaxIndex:b.length/4-1});this._bindTexture(g,"u_image1");this._bindTexture(a.texture,"u_image");this._drawGL();return{extent:a.extent,texture:c.texture}},_setupColormapTexture:function(a){var b=
this._createTexture(),m=this.gl,g=a.length/4,c=new Float32Array(a.length),d,f=this.renderTexture?255:1;for(d=0;d<a.length;d++)c[d]=a[d]/f;m.getExtension("OES_texture_float");m.texImage2D(m.TEXTURE_2D,0,m.RGBA,g,1,0,m.RGBA,m.FLOAT,c);return b}})})},"esri/renderers/colorRampGenerator":function(){define(["dojo/_base/declare","dojo/_base/lang","../renderers/colorUtils"],function(I,h,p){return{createAlgorithmicColorRamp:function(n,q){if(!n)return null;var k=n.fromColor,e=n.toColor;if(!k||!e)return null;
void 0===k.r&&3<=k.length&&(k={r:k[0],g:k[1],b:k[2]});void 0===e.r&&3<=e.length&&(e={r:e[0],g:e[1],b:e[2]});var a=n.size||256;n=n.algorithm||"cie-lab";if(1===a)var b=[k.r,k.g,k.b,255];else if(2===a)b=[k.r,k.g,k.b,255,e.r,e.g,k.b,255];else if(-1<n.toLowerCase().indexOf("hsv")){b=p.toHSV(k);e=p.toHSV(e);a=a||256;var m=0===b.s,g=0===e.s;k=b.h;n=e.h;m&&!g?k=b.h=n:g&&!m&&(n=e.h=k);m=Math.abs(n-k);180>m?n=(n-k)/(a-1):(m=360-m,n=k>n?m/(a-1):-m/(a-1));m=(e.s-b.s)/(a-1);g=(e.v-b.v)/(a-1);var c=b.s;b=b.v;var d,
f=new Uint8Array(4*a);for(d=0;d<a-1;d++){var l=p.toRGB({h:k,s:c,v:b});f[4*d]=l.r;f[4*d+1]=l.g;f[4*d+2]=l.b;f[4*d+3]=255;k+=n;c+=m;b+=g;360<k?k-=360:0>k&&(k+=360)}l=p.toRGB(e);f[4*(a-1)]=l.r;f[4*(a-1)+1]=l.g;f[4*(a-1)+2]=l.b;f[4*(a-1)+3]=255;b=f}else if(-1<n.toLowerCase().indexOf("lch")){c=p.toLCH(k);e=p.toLCH(e);a=a||256;b=(e.l-c.l)/(a-1);k=(e.c-c.c)/(a-1);n=(e.h-c.h)/(a-1);m=c.l;g=c.c;c=c.h;f=new Uint8Array(4*a);for(d=0;d<a-1;d++)l=p.toRGB({l:m,c:g,h:c}),f[4*d]=l.r,f[4*d+1]=l.g,f[4*d+2]=l.b,f[4*
d+3]=255,m+=b,g+=k,c+=n;l=p.toRGB(e);f[4*(a-1)]=l.r;f[4*(a-1)+1]=l.g;f[4*(a-1)+2]=l.b;f[4*(a-1)+3]=255;b=f}else if(-1<n.toLowerCase().indexOf("lab")){c=p.toLAB(k);e=p.toLAB(e);a=a||256;b=(e.l-c.l)/(a-1);k=(e.a-c.a)/(a-1);n=(e.b-c.b)/(a-1);m=c.l;g=c.a;c=c.b;f=new Uint8Array(4*a);for(d=0;d<a-1;d++)l=p.toRGB({l:m,a:g,b:c}),f[4*d]=l.r,f[4*d+1]=l.g,f[4*d+2]=l.b,f[4*d+3]=255,m+=b,g+=k,c+=n;l=p.toRGB(e);f[4*(a-1)]=l.r;f[4*(a-1)+1]=l.g;f[4*(a-1)+2]=l.b;f[4*(a-1)+3]=255;b=f}if(q&&!1===q.flattened)for(q=b,
b=[],e=0;e<b/4;e++)b[e]=q.slice(4*e,4*e+4);return b},createMultiPartColorRamp:function(n,q){if(!n)return null;q=q&&h.clone(q)||{flattened:!0};var k=n.colorRamps;if(!k||0===k.length)return null;var e=n.size||256;n=Math.max(Math.floor(e/k.length),1);var a=Math.max(n,e-(k.length-1)*n),b=!1!==q.flattened;q.flattened=!0;e=(k.length-1)*n+a;var m=new Uint8Array(4*e);for(e=0;e<k.length;e++){var g={fromColor:k[e].fromColor,toColor:k[e].toColor,size:e===k.length-1?a:n};m instanceof Array?m.concat(this.createAlgorithmicColorRamp(g,
q)):m.set(this.createAlgorithmicColorRamp(g,q),n*e*4)}if(!b)for(q=m,m=[],e=0;e<m/4;e++)m[e]=q.slice(4*e,4*e+4);return m},createRandomColorRamp:function(n){n=n||{};var q=n.size||256,k=!1===n.flattened;var e=k?new Uint8Array(4*q):[];for(n=0;n<q;n++)k?(e[4*n]=Math.round(255*Math.random()),e[4*n+1]=Math.round(255*Math.random()),e[4*n+2]=Math.round(255*Math.random()),e[4*n+3]=255):e[n]=[Math.round(255*Math.random()),Math.round(255*Math.random()),Math.round(255*Math.random()),255];return e}}})},"esri/layers/rasterLib/function/rasterUtils":function(){define(["dojo/_base/lang"],
function(I){return{mask:function(h,p){if(h&&h.pixels&&h.pixels.length){h=this._clonePixelBlock(h);var n=p.includedRanges,q=p.noDataInterpretation;p=p.noDataValues;if(null===n&&null===p)return h;var k=h.pixels,e=h.mask,a=h.width*h.height,b=k.length,m;if(null!==p&&p.length!==b)throw"expect "+b+" elements in noDataValues";if(null!==n&&n.length!==2*b)throw"expect "+2*b+" elements in IncludeRanges";if(null==e){e=new Uint8Array(a);for(m=0;m<a;m++)e[m]=1;h.mask=e}if(0===q)for(q=0;q<b;q++){var g=k[q];var c=
null===n?null:n[2*q];var d=null===n?null:n[2*q+1];var f=null===p?null:parseFloat(p[q]);if(null===c||null===d)for(m=0;m<a;m++){if(e[m]){var l=g[m];l===f&&(e[m]=0)}}else if(null===f)for(m=0;m<a;m++)e[m]&&(l=g[m],l<c||l>d)&&(e[m]=0);else for(m=0;m<a;m++)e[m]&&(l=g[m],l<c||l>d||l===f)&&(e[m]=0)}else{var t=new Uint8Array(a);for(m=0;m<a;m++)t[m]=e[m];for(q=0;q<b;q++)if(g=k[q],c=null===n?null:n[2*q],d=null===n?null:n[2*q+1],f=null===p?null:parseFloat(p[q]),null===c||null===d)for(m=0;m<a;m++)t[m]&&(l=g[m],
l!==f&&(t=0));else if(null===f)for(m=0;m<a;m++)t[m]&&(l=g[m],l<=c&&l<=d&&(t=0));else for(m=0;m<a;m++)t[m]&&(l=g[m],l<=c&&l<=d&&l!==f&&(t=0));for(m=0;m<a;m++)e[m]&&t[m]&&(e[m]=0)}return h}},calculateStatisticsHistograms:function(h,p){h=this._clonePixelBlock(h);p=h.pixelType;var n=h.pixels,q=h.mask,k=n.length,e,a,b=[],m;for(e=0;e<k;e++){var g={min:-.5,max:255.5,size:256,counts:new Uint32Array(256)};var c=g.counts;var d=n[e];if("U8"===p)if(q)for(a=0;a<h.width*h.height;a++)q[a]&&c[d[a]]++;else for(a=
0;a<h.width*h.height;a++)c[d[a]]++;else{var f=h.statistics[e].minValue;var l=h.statistics[e].maxValue;g.min=f;g.max=l;l=(l-f)/256;var t=new Uint32Array(257);if(q)for(a=0;a<h.width*h.height;a++)q[a]&&t[Math.floor((d[a]-f)/l)]++;else for(a=0;a<h.width*h.height;a++)t[Math.floor((d[a]-f)/l)]++;for(a=0;255>a;a++)c[a]=t[a];c[255]=t[255]+t[256]}b.push(g);f=h.statistics[e].minValue;l=h.statistics[e].maxValue;for(a=t=m=d=0;a<g.size;a++)d+=c[a],m+=a*c[a];m/=d;for(a=0;a<g.size;a++)t+=c[a]*Math.pow(a-m,2);c=
Math.sqrt(t/(d-1));a=(m+.5)*(g.max-g.min)/g.size+g.min;g=c*(g.max-g.min)/g.size;h.statistics[e]={min:f,minValue:f,max:l,maxValue:l,mean:a,stddev:g}}h.histograms=b;return h},buildIndexedColormap:function(h,p){if(!h)return null;var n=0;0>h[0][0]&&(n=h[0][0]);var q=Math.max(256,h[h.length-1][0]-n);if(65536<q)return null;var k=new Uint8Array(4*q),e=[],a=0,b=5===h[0].length;if(p)for(e=h[a],p=e[0]-n;p<q;p++)k[4*p]=e[1],k[4*p+1]=e[2],k[4*p+2]=e[3],k[4*p+3]=b?e[4]:255,p===e[0]-n&&(e=a===h.length-1?e:h[++a]);
else for(p=0;p<h.length;p++)e=h[p],a=4*(e[0]-n),k[a]=e[1],k[a+1]=e[2],k[a+2]=e[3],k[a+3]=b?e[4]:255;return{indexedColormap:k,offset:n,alphaSpecified:b}},colorize:function(h,p){if(null!==h&&null!==h.pixels){h=this._clonePixelBlock(h);var n=h.pixels,q=h.width*h.height,k=h.mask,e=p.indexedColormap,a=p.indexedColormapOffset,b=e&&e.length-1,m=p.indexed2DColormap;p=p.alphaSpecified;if(3<=n.length)throw"colormap only works on single band image";var g=n[0],c=new Uint8Array(g.length),d=new Uint8Array(g.length),
f=new Uint8Array(g.length),l=0;if(e)if(k)for(n=0;n<q;n++)k[n]&&(l=4*(g[n]-a),l<a||l>b?k[n]=0:(c[n]=e[l],d[n]=e[l+1],f[n]=e[l+2],k[n]=e[l+3]));else{k=new Uint8Array(q);for(n=0;n<q;n++)l=4*(g[n]-a),l<a||l>b?k[n]=0:(c[n]=e[l],d[n]=e[l+1],f[n]=e[l+2],k[n]=e[l+3]);h.mask=k}else if(k)for(n=0;n<q;n++)k[n]&&(e=m[g[n]],c[n]=e[0],d[n]=e[1],f[n]=e[2],k[n]=e[3]);else{k=new Uint8Array(q);for(n=0;n<q;n++)e=m[g[n]],c[n]=e[0],d[n]=e[1],f[n]=e[2],k[n]=e[3];h.mask=k}h.pixels=[c,d,f];h.statistics=null;h.pixelType="U8";
h.maskIsAlpha=p;return h}},convolute:function(h,p){h=this._clonePixelBlock(h);var n=h.pixels,q=h.width,k=h.height,e=q*k,a=n.length,b,m,g,c,d=[],f=[],l=p.normalizedKernel,t=p.kernelRows,u=p.kernelCols;for(p=0;p<a;p++){var r=n[p];var x=new Float32Array(e);x.set(r);for(g=1;g<k-1;g++){var v=g*q;for(c=1;c<q-1;c++){for(b=f=0;b<t;b++)for(m=0;m<u;m++)f+=r[v+c+(b-1)*q+m-1]*l[b*u+m];x[v+c]=f}}d.push(x)}h.pixels=d;return h},contrastBrightnessStretch:function(h,p){if(null!==h&&null!==h.pixels){h=this._clonePixelBlock(h);
var n=h.pixels,q=h.mask,k=h.width*h.height,e=n.length;var a=p&&p.contrastOffset;p=p&&p.brightnessOffset;if("U8"!==h.pixelType)throw"the contrast and brightness function only supports 8 bit unsigned integer data";var b=this._createContrastBrightnessLUT(a,p);if(null==q)for(a=0;a<k;a++)for(p=0;p<e;p++)n[p][a]=b[n[p][a]];else for(a=0;a<k;a++)if(q[a])for(p=0;p<e;p++)n[p][a]=b[n[p][a]];h.pixelType="U8";return h}},isNull:function(h,p){if(null!==h&&null!==h.pixels){h=this._clonePixelBlock(h);p=h.mask;var n=
h.pixels[0],q=n.length,k;if(p){for(k=0;k<q;k++)n[k]=p[k]?0:1;h.mask=null}else if(n.fill)n.fill(0);else for(k=0;k<q;k++)n[k]=0;return h}},setNull:function(h){if(null!==p&&null!==p.pixels){var p=this._clonePixelBlock(h);h=p.mask;var n=p.pixels[0],q=n.length,k;h=h||new Uint8Array(q);for(k=0;k<q;k++)h[k]=n[k]?0:1;p.mask=h;return p}},local:function(h,p){if(!p)return h[0];var n=p.rasterCountNeeded;p=p.functor;var q=this._clonePixelBlock(h[0]);if(null!==q&&null!==q.pixels){var k=q.width*q.height,e;h=(e=
h[1])&&e.pixels[0];var a=e&&e.mask,b=q.mask,m=q.pixels[0];if(2===n)if(!b&&a)b=a;else if(b&&a)for(e=0;e<k;e++)b[e]=b[e]&&a[e]?1:0;q.mask=b;if(1===n)if(null==b)for(e=0;e<k;e++)m[e]=p(m[e]);else for(e=0;e<k;e++)b[e]&&(m[e]=p(m[e]));else if(2===n)if(null==b)for(e=0;e<k;e++)m[e]=p(m[e],h[e]);else for(e=0;e<k;e++)b[e]&&(m[e]=p(m[e],h[e]));q.mask=b;q.calculateStatistics();return q}},remapColor:function(h,p){h=this._clonePixelBlock(h);var n=h.width*h.height,q=p.length,k=Math.floor(q/2),e=p[Math.floor(k)],
a=p[0].value,b=p[p.length-1].value,m=h.pixels[0],g,c,d=!1,f=new Uint8Array(n),l=new Uint8Array(n),t=new Uint8Array(n),u=h.mask,r=4===p[0].mappedColor.length;u&&0!==u.length||(u=new Uint8Array(n),u.fill(r?255:1),h.mask=u);for(c=0;c<n;c++)if(u[c]){var x=m[c];if(x<a||x>b)f[c]=l[c]=t[c]=u[c]=0;else{d=!1;var v=k;var C=e;var B=0;for(g=q-1;1<g-B;){if(x===C.value){d=!0;break}x>C.value?B=v:g=v;v=Math.floor((B+g)/2);C=p[Math.floor(v)]}d||(C=x===p[g].value?p[g]:p[B]);f[c]=C.mappedColor[0];l[c]=C.mappedColor[1];
t[c]=C.mappedColor[2];u[c]=C.mappedColor[3]}}h.pixels=[f,l,t];h.mask=u;h.pixelType="u8";h.maskIsAlpha=r;return h},_clonePixelBlock:function(h){if(h.clone)return h.clone();var p=I.clone(h),n;if(h.pixels&&h.pixels[0]&&0<h.pixels[0].length&&!(p.pixels&&p.pixels[0]&&0<p.pixels[0].length)){p.pixels=[];var q=h.pixels.length;for(n=0;n<q;n++)p.pixels[n]=new h.pixels[n].constructor(h.pixels[n])}if(h.statistics)for(p.statistics=[],q=h.statistics.length,n=0;n<q;n++)p.statistics[n]=I.clone(h.statistics[n]);h.mask&&
(p.mask=new Uint8Array(h.mask));return p},_createContrastBrightnessLUT:function(h,p){if(this._contrastCache&&this._contrastCache.contrastOffset===h&&this._contrastCache.brightnessOffset===p)return this._contrastCache.lut;var n=Math.min(Math.max(h,-100),100),q=Math.min(Math.max(p,-100),100),k,e=new Uint8Array(256);for(k=0;256>k;k++){if(0<n&&100>n)var a=(200*k-25500+510*q)/(2*(100-n))+128;else 0>=n&&-100<n?a=(200*k-25500+510*q)*(100+n)/2E4+128:100===n?(a=200*k-25500+256*(100-n)+510*q,a=0<a?255:0):-100===
n&&(a=128);e[k]=255<a?255:0>a?0:a}this._contrastCache={contrastOffset:h,brightnessOffset:p,lut:e};return e}}})},"esri/layers/rasterLib/function/CompositeBandFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin".split(" "),function(I,h,p,n,q,k){return I([p,k],{declaredClass:"esri.layers.rasterLib.function.CompositeBandFunction",functionName:"CompositeBand",supportWebGL:!0,support2D:!0,constructor:function(e){this.functionArguments=
this.mixinIgnoreCase({rasters:null},e)},bind:function(e){e=this.getSourceRasterInfo(e);if(!e.rasters)return Error("The rasters input to composite band function is invalid.");var a=[],b=[],m=e.rasters.length,g;if(e.rasters[0].statistics)for(g=0;g<m;g++)a.push(e.rasters[g].statistics[0]);if(e.rasters[0].histograms)for(g=0;g<m;g++)b.push(e.rasters[g].histograms[0]);this.rasterInfo=h.mixin(e.rasters[0],{bandCount:m,pixelType:this._calculatePixelType(this.pixelType,e.rasters[0].pixelType),statistics:a,
histograms:b});return!0},read2D:function(e){e=e.rasters;if(null!=e&&0!==e.length){var a=this._clonePixelData(e[0]),b=a.pixelBlock,m=[],g=[];for(c=0;c<e.length;c++)m.push(e[c].pixelBlock.pixels[0]),g.push(e[c].pixelBlock.statistics[0]);b.pixels=m;b.stackedStatistics=g;b.planes=e.length;var c;g=b.width*b.height;for(c=0;c<e.length;c++)if(b=e[c].pixelBlock.mask,d&&b)for(m=0;m<g;m++)d[m]&=b[m];else var d=d||b;a.maks=d;return a}},readGL:function(e){this._performance.start();this._initializeProgram({fragment:q.compositeBand,
fragmentName:"CompositeBand"});var a=e.rasters;if(null!=a&&0!==a.length){a=a.length;var b,m=this.bindFrameBuffer();for(b=0;b<a;b++){var g=this._setupTextureData(e.rasters[b],{notOriginal:0<b});var c=0<b?b.toString():"";this._bindTexture(g.texture,"u_image"+c)}this._setUniforms({u_rasterCount:a});this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:g.extent,texture:m.texture}}}})})},"esri/layers/rasterLib/function/ContrastBrightnessFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin ./rasterUtils".split(" "),
function(I,h,p,n,q,k,e){return I([p,k],{declaredClass:"esri.layers.rasterLib.function.ContrastBrightnessFunction",renderTexture:!0,functionName:"ContrastBrightness",supportWebGL:!0,support2D:!0,pixelType:"U8",constructor:function(a){this.functionArguments=this.mixinIgnoreCase({contrastOffset:0,brightnessOffset:0,raster:null},a)},bind:function(a){a=this.getSourceRasterInfo(a);if(!a.raster)return Error("The raster input to contrast and brightness function is invalid.");this.rasterInfo=h.mixin(a.raster,
{bandCount:a.raster.bandCount,pixelType:this._calculatePixelType(this.pixelType,"U8"),statistics:null,histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType="Processed";return!0},read2D:function(a){a=a.raster;if(null!==a&&null!==a.pixelBlock&&null!==a.pixelBlock.pixels){var b=e.contrastBrightnessStretch(a.pixelBlock,{contrastOffset:this.functionArguments.contrastOffset,brightnessOffset:this.functionArguments.brightnessOffset});"Unknown"!==
this.pixelType&&(b.pixelType=this.pixelType,b.pixels=b.pixels.map(h.hitch(this,function(m){return this._clampBand(m,b.pixelType)})));return{extent:a.extent,pixelBlock:b}}},readGL:function(a){return this._cbGL(a.raster)},_cbGL:function(a){this._performance.start();this._initializeProgram({fragment:q.contrastBrightness,fragmentName:"ContrastBrightness"});a=this._setupTextureData(a);this._setUniforms({u_contrastOffset:Math.min(Math.max(this.functionArguments.contrastOffset,-100),100),u_brightnessOffset:Math.min(Math.max(this.functionArguments.brightnessOffset,
-100),100),u_scaleFactor:this.renderTexture?255:1});this._bindTexture(a.texture,"u_image");var b=this.bindFrameBuffer();this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:a.extent,texture:b.texture}}})})},"esri/layers/rasterLib/function/ConvolutionFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./convolutionKernel ./pixelShaders ./RasterFunctionWebGLMixin ./rasterUtils".split(" "),function(I,h,p,n,q,k,e,a){return I([p,
e],{declaredClass:"esri.layers.rasterLib.function.ConvolutionFunction",functionName:"Convolution",supportWebGL:!0,support2D:!0,constructor:function(b){this.functionArguments=this.mixinIgnoreCase({columns:3,rows:3,type:0,kernel:null,raster:null},b)},bind:function(b){b=this.getSourceRasterInfo(b);if(!b.raster)return Error("The raster input to convolution function is invalid.");this.rasterInfo=h.mixin(b.raster,{bandCount:b.raster.bandCount,pixelType:this._calculatePixelType(this.pixelType,b.raster.pixelType),
statistics:b.raster.statistics,histograms:b.raster.histograms});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType="Generic";return!0},read2D:function(b){this._performance.start();b=b.raster;var m=this._analyzeKernel(),g=a.convolute(b.pixelBlock,{normalizedKernel:m.normalizedKernel,kernelCols:this.functionArguments.columns,kernelRows:this.functionArguments.rows});this._addPerformanceMetric(this._performance.elapsed());"Unknown"!==this.pixelType&&
(g.pixelType=this.pixelType);g.pixels=g.pixels.map(h.hitch(this,function(c){return this._clampBand(c,g.pixelType)}));return{extent:b.extent,pixelBlock:g}},readGL:function(b){this._performance.start();this._initializeProgram({fragment:k.convolution,fragmentName:"Convolution"});var m=this._setupTextureData(b.raster),g=this.bindFrameBuffer(),c=this.gl,d=c.drawingBufferWidth;c=c.drawingBufferHeight;var f=this.functionArguments.kernel;this._setUniforms({u_resolution:b&&b.raster&&b.raster.pixelBlock?[1/
b.raster.pixelBlock.width,1/b.raster.pixelBlock.height]:[1/d,1/c],u_kernel:f,u_kernelSize:f.length});this._bindTexture(m.texture,"u_image");this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:m.extent,texture:g.texture}},_analyzeKernel:function(){var b=this.functionArguments.kernel,m=b.reduce(function(d,f){return d+f});0!==m&&1!==m&&(b=b.map(function(d){return d/m}));var g,c=[];for(g=0;g<b.length;g++)c.some(function(d){return d===b[g]})||c.push(b[g]);return{normalizedKernel:b,
distinctValues:c}},_analyzeKernelPattern:function(){var b=this.functionArguments.rows,m=this.functionArguments.columns,g=this.functionArguments.kernel,c=[],d,f;for(d=0;d<b;d++)c.push({weights:g.slice(d*m,(d+1)*m)});var l;for(d=1;d<b;d++){var t=c[d].weights;for(g=0;g<d;g++)if(l=c[g].weights){var u=t[0]/l[0];for(f=1;f<m;f++)t[f]/l[f]!==u&&(u=null);null!==u&&(c[d]={row:g,factor:u})}}return c}})})},"esri/layers/rasterLib/function/ExtractBandFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin".split(" "),
function(I,h,p,n,q,k){return I([p,k],{declaredClass:"esri.layers.rasterLib.function.ExtractBandFunction",functionName:"ExtractBand",supportWebGL:!0,support2D:!0,constructor:function(e){this.functionArguments=this.mixinIgnoreCase({bandIDs:[],missingBandAction:0,raster:null},e)},bind:function(e){e=this.getSourceRasterInfo(e);if(!e.raster)return Error("The raster input to extract band function is invalid.");var a=[],b=e.raster.statistics,m=[],g=e.raster.histograms,c=this.functionArguments.bandIDs.length||
e.raster.bandCount;this.functionArguments.bandIDs.forEach(h.hitch(this,function(d){if(d>=c-1){if(1===this.functionArguments.missingBandAction)return Error("missing band "+d);d=c-1}if(0>d)return Error("missing band "+d);void 0!==b&&null!==b&&0<b.length&&a.push(b[d]);void 0!==g&&null!==g&&0<g.length&&m.push(g[d])}));this.rasterInfo=h.mixin(e.raster,{bandCount:c,pixelType:this._calculatePixelType(this.pixelType,e.raster.pixelType),statistics:a,histograms:m});return!0},read2D:function(e){e=this._clonePixelData(e.raster);
if(null!==e&&null!==e.pixelBlock&&null!==e.pixelBlock.pixels){this._performance.start();var a=e.pixelBlock,b=a.statistics,m=a.pixels,g=m.length;if(null==this.functionArguments.bandIDs)throw"missing bandIDs parameter";if(0===this.functionArguments.bandIDs.length)return e;var c=[],d=[];this.functionArguments.bandIDs.forEach(function(f){if(f>=g-1){if(1===this.functionArguments.missingBandAction)throw"missing band "+f;f=g-1}if(0>f)throw"missing band "+f;c.push(m[f]);void 0!==b&&null!==b&&0<b.length&&
d.push(b[f])});a.pixels=c;a.statistics=d;a.planes=this.functionArguments.bandIDs.length;return e}},readGL:function(e){this._performance.start();if(null==this.functionArguments.bandIDs)throw"missing bandIDs parameter";if(3<this.functionArguments.bandIDs.length)throw"this version does not support more than 3 bands yet";this._initializeProgram({fragment:q.extractBand,fragmentName:"ExtractBand"});var a=this.functionArguments.bandIDs;1===a.length&&(a=[a[0],a[0],a[0]]);this._bandIDs=a;this._alterBand=!(0===
this.functionArguments.bandIDs.length||0===a[0]&&1===a[1]&&2===a[2]);var b=!!(this._alterBand&&e.raster&&e.raster.texture);e=this._setupTextureData(e.raster,{bandIDs:a});var m=this.bindFrameBuffer();b?this._setUniforms({u_bandIDs:a,u_alterBand:this._alterBand}):this._setUniforms({u_bandIDs:a,u_alterBand:!1});this._bindTexture(e.texture,"u_image");this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:e.extent,texture:m.texture}}})})},"esri/layers/rasterLib/function/HillshadeFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../../renderers/colorRampGenerator ../../../WKIDUnitConversion ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin ./surfaceUtils ./rasterUtils".split(" "),
function(I,h,p,n,q,k,e,a,b,m){return I([p,a],{declaredClass:"esri.layers.rasterLib.function.HillshadeFunction",functionName:"Hillshade",supportWebGL:!0,support2D:!0,renderTexture:!0,constructor:function(g){this.functionArguments=this.mixinIgnoreCase({hillshadeType:0,altitude:45,azimuth:315,zFactor:1,slopeType:1,psPower:.664,psFactor:.024,colorRamp:null,raster:null},g);this._azimuths=[315,270,225,360,180,0];this._altitudes=[60,60,60,60,60,90];this._weights=[3,5,3,2,1,4];var c=this._weights.reduce(function(d,
f){return d+f});this._weights=this._weights.map(function(d){return d/c})},bind:function(g){g=this.getSourceRasterInfo(g);if(!g.raster)return Error("The raster input to hillshade function is invalid.");g.raster.statistics&&(this.srcStatistics=g.raster.statistics);this.rasterInfo=h.mixin(g.raster,{bandCount:1,pixelType:this._calculatePixelType(this.pixelType,"U8"),statistics:[{min:0,max:255}],histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType=
"Generic";this._initializeColormap();return!0},read2D:function(g){this._performance.start();g=g.raster;g=b.hillshade(g,{altitude:this.functionArguments.altitude,azimuth:this.functionArguments.azimuth,zFactor:this.functionArguments.zFactor,psPower:this.functionArguments.psPower,psFactor:this.functionArguments.psFactor,hillshadeType:this.functionArguments.hillshadeType,slopeType:this.functionArguments.slopeType,isGCS:g.extent.spatialReference.wkid&&null==q[g.extent.spatialReference.wkid]});this._addPerformanceMetric(this._performance.elapsed());
return g},readGL:function(g){this._performance.start();this._initializeProgram({fragment:e.hillshade,fragmentName:"Hillshade"});this.functionArguments.colorRamp&&this._indexedColormap&&!this._clrTexture&&(this._clrTexture=this._setupColormapTexture(this._indexedColormap));var c=this._setupTextureData(g.raster),d=this.bindFrameBuffer(),f=this.gl,l=f.drawingBufferWidth;f=f.drawingBufferHeight;var t=c.extent,u=(t.xmax-t.xmin)/l,r=(t.ymax-t.ymin)/f,x=this.functionArguments.altitude,v=this.functionArguments.azimuth,
C=this.functionArguments.zFactor;1===this.functionArguments.hillshadeType&&(C*=2);var B=C/(8*u),F=C/(8*r);.001<C&&t.spatialReference.wkid&&null==q[t.spatialReference.wkid]&&(B/=111E3,F/=111E3);var y=this.functionArguments.psPower,D=this.functionArguments.psFactor;3===this.functionArguments.slopeType&&((B=t.spatialReference.wkid&&null==q[t.spatialReference.wkid])?(B=111E3*u,F=111E3*r,B=(C+Math.pow(B,y)*D)/(8*B),F=(C+Math.pow(F,y)*D)/(8*F)):(B=(C+Math.pow(u,y)*D)/(8*u),F=(C+Math.pow(r,y)*D)/(8*r)));
var L=(90-x)*Math.PI/180;x=Math.cos(L);var E=(360-v+90)*Math.PI/180;v=Math.sin(L)*Math.cos(E);L=Math.sin(L)*Math.sin(E);y=Array(6);D=Array(6);t=Array(6);var z=this._weights,A;if(1===this.functionArguments.hillshadeType){var G=this._azimuths.length;for(A=0;A<G;A++)x=this._altitudes[A],v=this._azimuths[A],L=(90-x)*Math.PI/180,x=Math.cos(L),E=(360-v+90)*Math.PI/180,v=Math.sin(L)*Math.cos(E),L=Math.sin(L)*Math.sin(E),y[A]=x,D[A]=v,t[A]=L}else y[0]=x,D[0]=v,t[0]=L;y=y.map(function(N){return parseFloat(N)});
D=D.map(function(N){return parseFloat(N)});t=t.map(function(N){return parseFloat(N)});this._setUniforms({u_cellSize:[u,r],u_zfactor:C,u_xFactor:B,u_yFactor:F,u_sinZcosA:v,u_sinZsinA:L,u_cosZ:x,u_sinZcosAs:D,u_sinZsinAs:t,u_cosZs:y,u_weights:z,u_hillshadeType:this.functionArguments.hillshadeType,u_resolution:g&&g.raster&&g.raster.pixelBlock?[1/g.raster.pixelBlock.width,1/g.raster.pixelBlock.height]:[1/l,1/f],u_scaled:!this.renderTexture,u_applyColorramp:this._clrTexture?!0:!1,u_minValue:this.srcStatistics[0].min,
u_maxValue:this.srcStatistics[0].max,u_indexedColormapOffset:this._indexedColormapOffset||0,u_indexedColormapMaxIndex:this._indexedColormap?this._indexedColormap.length/4-1:0});this._clrTexture&&this._bindTexture(this._clrTexture,"u_image1");this._bindTexture(c.texture,"u_image");this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:c.extent,texture:d.texture}},_initializeColormap:function(){this._indexedColormapOffset=0;var g=this._indexedColormap,c=this.functionArguments.colorRamp;
this.functionArguments.colormap?(this._alphaSpecified=(c=m.buildIndexedColormap(this.functionArguments.colormap))&&c.alphaSpecified,this._indexedColormap=c&&c.indexedColormap,this._indexedColormapOffset=c&&c.offset):c?(this._indexedColormap="multipart"===c.type?this.invert?n.createMultiPartColorRamp(this._invertColorRamp(c)):n.createMultiPartColorRamp(c):this.invert?n.createAlgorithmicColorRamp(this._invertColorRamp(c)):n.createAlgorithmicColorRamp(c),c.fromColor&&c.toColor&&"000"===c.fromColor.slice(0,
3).join("")&&"255255255"===c.toColor.slice(0,3).join("")&&(this._clrTexture=this._indexedColormap=null)):this.functionArguments.colormapName?"random"===this.functionArguments.colormapName.toLowerCase()&&(this._indexedColormap=n.createRandomColorRamp()):this._clrTexture=this._indexedColormap=null;if(g&&this._indexedColormap){c=!0;for(var d=0;d<g.length;d++)if(g[d]!==this._indexedColormap[d]){c=!1;break}c||(this._clrTexture=null)}},_setupColormapTexture:function(g){var c=this._createTexture(),d=this.gl,
f=g.length/4,l=new Float32Array(g.length),t;for(t=0;t<g.length;t++)l[t]=g[t]/255;d.getExtension("OES_texture_float");d.texImage2D(d.TEXTURE_2D,0,d.RGBA,f,1,0,d.RGBA,d.FLOAT,l);return c}})})},"esri/layers/rasterLib/function/LocalFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin ./rasterUtils".split(" "),function(I,h,p,n,q,k,e){return I([p,k],{declaredClass:"esri.layers.rasterLib.function.LocalFunction",functionName:"Local",
supportWebGL:!0,support2D:!0,constructor:function(a){this.functionArguments=this.mixinIgnoreCase({operation:null,rasters:null},a)},bind:function(a){a=this.getSourceRasterInfo(a);var b=0;a.raster?b=a.raster.bandCount:a.rasters&&(b=Math.max.apply(null,a.rasters.map(function(m){return m.bandCount})));if(0===b)return Error("The raster input to local function is invalid. It only takes single band input.");a=a.raster||a.rasters.filter(function(m){return!!m.extent})[0];this.rasterInfo=h.mixin(a,{bandCount:1,
pixelType:this._calculatePixelType(this.pixelType,"F32"),statistics:null,histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType="Generic";return!0},read2D:function(a){var b=[];b=a.raster?a.raster2?[a.raster,a.raster2]:[a.raster]:a.rasters;a=b.map(function(f){return f.pixelBlock});var m=this.functionArguments.operation;if(null===m)return b[0];this._performance.start();var g=this._getOperations(),c=g.operators[m-1];g=g.functors[m-1];
if(!this.functionArguments.rasters){if(1!==c)throw"no sufficient rasters, require "+c;}else if(999!==c&&this.functionArguments.rasters.length!==c)throw"number of rasters does not meet (short or exceed) the operation requirment, require "+c;var d=31===m?e.isNull(a[0]):50===m?e.setNull(a[0]):e.local(a,{rasterCountNeeded:c,functor:g});"Unknown"!==this.pixelType&&(d.pixelType=this.pixelType,d.pixels=d.pixels.map(h.hitch(this,function(f){return this._clampBand(f,d.pixelType)})));d.statistics||d.calculateStatistics();
return{extent:b[0].extent,pixelBlock:d}},readGL:function(a){this._performance.start();var b=this.functionArguments.operation,m=this._getWebGLOperations(),g=m.operators[b-1],c=q.local;m="result\x3d"+m.functors[b-1]+";";31!==b&&50!==b&&(m+="result \x3d vec4(result.rgb, a.a);");c=c.replace("vec4 replaceme"+g+";",m);m=this.gl.getParameter(this.gl.VERSION);var d="";if(-1<m.toLowerCase().indexOf("webgl 1.0")||-1<m.toLowerCase().indexOf("webgl 0."))d=this._getPolyfill(b);c=c.replace("vec4 polyfill;",d);
1<g&&(c=c.replace("gl_FragColor \x3d localOp1();","gl_FragColor \x3d localOp1();".replace("1",g.toString())));this._initializeProgram({fragment:c,fragmentName:"Local"});b=a.rasters;if(null!=b&&0!==b.length){b=b.length;m=this.bindFrameBuffer();for(g=0;g<b;g++){c=0<g?g.toString():"";var f=this._setupTextureData(a.rasters[g],{reCreate:!0});this._bindTexture(f.texture,"u_image"+c)}this._setUniforms({});this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:f.extent,texture:m.texture}}},
_getOperations:function(){return{operators:[2,2,2,1,2,1,1,1,1,1,2,2,1,2,2,2,2,1,2,2,1,1,2,2,1,1,1,2,2,1,1,1,2,2,1,1,1,999,999,999,999,999,999,2,1,2,999,1,1,1,1,1,1,999,999,1,1,999,1,1,2,2,2,999,999,999,999,999,999,999,999,999,999,3],functors:[function(a,b){return a+b},function(a,b){return a-b},function(a,b){return a*b},function(a){return Math.sqrt(a)},function(a,b){return Math.pow(a,b)},function(a){return Math.acos(a)},function(a){return Math.asin(a)},function(a){return Math.atan(a)},function(a){return Math.atanh(a)},
function(a){return Math.abs(a)},function(a,b){return a&b},function(a,b){return a<<b},function(a){return~a},function(a,b){return a|b},function(a,b){return a>>b},function(a,b){return a^b},function(a,b){return a&&b},function(a){return!a},function(a,b){return a||b},function(a,b){return a!=b},function(a){return Math.cos(a)},function(a,b){return Math.cosh(a)},function(a,b){return a/b},function(a,b){return a==b},function(a){return Math.exp(a)},function(a){return Math.pow(10,a)},function(a){return Math.pow(2,
a)},function(a,b){return a>b?1:0},function(a,b){return a>=b?1:0},function(a,b){return Math.floor(a)},function(a){return!a},function(a){return a},function(a,b){return a<b?1:0},function(a,b){return a<=b?1:0},function(a){return Math.log(a)},function(a,b){return Math.log10(a)},function(a,b){return Math.log2(a)},999,999,999,999,999,999,function(a,b){return a%b},function(a){return-a},function(a,b){return a!=b?1:0},999,function(a,b){return Math.floor(a)},function(a,b){return Math.ceil(a)},function(a,b){return b?
0:a},function(a,b){return Math.sin(a)},function(a,b){return Math.sinh(a)},function(a,b){return a*a},999,999,function(a){return Math.tan(a)},function(a){return Math.tanh(a)},999,function(a){return Math.acosh(a)},function(a){return Math.asinh(a)},function(a,b){return Math.atan2(a,b)},function(a,b){return a/b},function(a,b){return Math.floor(a/b)},999,999,999,999,999,999,999,999,999,999,function(a,b,m){return a?b:m}]}},_polyfill:{sinh:"vec4 sinh(vec4 x) {\nvec4 halfexp \x3d exp(x)/2.0;\nreturn halfexp - 1.0/halfexp;\n}",
asinh:"vec4 asinh(vec4 x) {\nvec4 halfexp \x3d exp(x)/2.0;\nreturn 1.0/(halfexp - 1.0/halfexp);\n}",cosh:"vec4 cosh(vec4 x) {\nvec4 halfexp \x3d exp(x)/2.0;\nreturn halfexp + 1.0/halfexp;\n}",acosh:"vec4 acosh(vec4 x) {\nvec4 halfexp \x3d exp(x)/2.0;\nreturn 1.0/(halfexp + 1.0/halfexp);\n}",tanh:"vec4 tanh(vec4 x) {\nvec4 expx \x3d exp(x);\nreturn (expx - 1.0/expx)/(expx + 1.0/expx);\n}",atanh:"vec4 atanh(vec4 x) {\nvec4 expx \x3d exp(x);\nreturn (expx + 1.0/expx)/(expx - 1.0/expx);\n}"},_getPolyfill:function(a){var b=
"";switch(a){case 9:b=this._polyfill.atanh;break;case 22:b=this._polyfill.cosh;break;case 52:b=this._polyfill.sinh;break;case 57:b=this._polyfill.tanh;break;case 59:b=this._polyfill.acosh;break;case 60:b=this._polyfill.asinh}return b},_getWebGLOperations:function(){return{operators:[2,2,2,1,2,1,1,1,1,1,2,2,1,2,2,2,2,1,2,2,1,1,2,2,1,1,1,2,2,1,1,1,2,2,1,1,1,999,999,999,999,999,999,2,1,2,999,1,1,1,1,1,1,999,999,1,1,999,1,1,2,2,2,999,999,999,999,999,999,999,999,999,999,3],functors:["(a + b)","(a - b)",
"(a * b)","sqrt(a)","pow(a, b)","acos(a)","asin(a)","atan(a)","atanh(a)","abs(a)","a","a","a","a","a","a","(a.r\x3d\x3d0.0 || b.r\x3d\x3d0.0) ? vec4(0.0,0.0,0.0,a.a) : vec4(1.0,1.0,1.0,a.a)","a.r\x3d\x3d0.0?vec4(1.0,1.0,1.0,a.a) : vec4(0.0,0.0,0.0,a.a)","(a.r\x3d\x3d0.0 \x26\x26 b.r\x3d\x3d0.0) ? vec4(0.0,0.0,0.0,a.a) : vec4(1.0,1.0,1.0,a.a)","(a.r\x3d\x3d0.0 ^^ b.r\x3d\x3d0.0) ? vec4(1.0,1.0,1.0,a.a) : vec4(0.0,0.0,0.0,a.a)","cos(a)","cosh(a)","a / b","a.r \x3d\x3d b.r? vec4(1.0,1.0,1.0,a.a) : vec4(0.0,0.0,0.0,a.a)",
"exp(a)","pow(10.0, a)","pow(2.0, a)","a.r \x3e b.r ? vec4(1.0,1.0,1.0,a.a) : vec4(0.0,0.0,0.0,a.a)","a.r \x3e\x3d b.r ? vec4(1.0,1.0,1.0,a.a) : vec4(0.0,0.0,0.0,a.a)","floor(a)","a.a \x3d\x3d 0.0? vec4(1.0,1.0,1.0,1.0) : vec4(0.0,0.0,0.0,1.0)","a","a.r \x3c b.r ? vec4(1.0,1.0,1.0,a.a) : vec4(0.0,0.0,0.0,a.a)","a.r \x3c\x3d b.r ? vec4(1.0,1.0,1.0,a.a) : vec4(0.0,0.0,0.0,a.a)","log(a)","log2(a) / log2(10.0)","log2(a)",999,999,999,999,999,999,"mod(a, b)","-a","a.r !\x3d b.r ? vec4(1.0,1.0,1.0,a.a) : vec4(0.0,0.0,0.0,a.a)",
999,"floor(a)","ceil(a)","a.r !\x3d 0.0 ? vec4(0.0,0.0,0.0,0.0) : a","sin(a)","sinh(a)","a * a",999,999,"tan(a)","tanh(a)",999,"acosh(a)","asinh(a)","atan(a, b)","a / b","floor(a / b)",999,999,999,999,999,999,999,999,999,999,"a.r!\x3d0 ? b : c"]}}})})},"esri/layers/rasterLib/function/MaskFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin ./rasterUtils".split(" "),function(I,h,p,n,q,k,e){return I([p,k],{declaredClass:"esri.layers.rasterLib.function.MaskFunction",
functionName:"Mask",supportWebGL:!0,support2D:!0,constructor:function(a){this.functionArguments=this.mixinIgnoreCase({includedRanges:null,noDataInterpretation:0,noDataValues:null,raster:null},a)},bind:function(a){a=this.getSourceRasterInfo(a);if(!a.raster)return Error("The raster input to mask function is invalid.");this.rasterInfo=h.mixin(a.raster,{bandCount:a.raster.bandCount,pixelType:this._calculatePixelType(this.pixelType,a.raster.pixelType),statistics:a.raster.statistics,histograms:a.raster.histograms});
return!0},read2D:function(a){this._performance.start();a=a.raster;var b=e.mask(a.pixelBlock,{includedRanges:this.functionArguments.includedRanges,noDataInterpretation:this.functionArguments.noDataInterpretation,noDataValues:this.functionArguments.noDataValues});this._addPerformanceMetric(this._performance.elapsed());"Unknown"!==this.pixelType&&(b.pixelType=this.pixelType);return{extent:a.extent,pixelBlock:b}},readGL:function(a){this._performance.start();this._initializeProgram({fragment:q.mask,fragmentName:"Mask"});
a=this._setupTextureData(a.raster);var b=this.bindFrameBuffer(),m=this.functionArguments.includedRanges,g=this.functionArguments.noDataValues?this.functionArguments.noDataValues.map(function(c){return parseFloat(c,10)}):null;this._setUniforms({u_includedRanges:m,u_includedRanges_specified:m?!0:!1,u_noDataValues:g,u_noDataValues_specified:g?!0:!1,u_noDataInterpretation:this.functionArguments.noDataInterpretation,u_bandCount:Math.min(this.sourceRasterInfo.raster.bandCount,3)});this._bindTexture(a.texture,
"u_image");this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:a.extent,texture:b.texture}}})})},"esri/layers/rasterLib/function/NDVIFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin ./rasterIndex".split(" "),function(I,h,p,n,q,k,e){return I([p,k],{declaredClass:"esri.layers.rasterLib.function.NDVIFunction",functionName:"NDVI",supportWebGL:!0,support2D:!0,constructor:function(a){this.functionArguments=
this.mixinIgnoreCase({visibleBandID:1,infraredBandID:2,scaled:!0,raster:null},a)},bind:function(a){a=this.getSourceRasterInfo(a);if(!(a.raster&&1<a.raster.bandCount))return Error("The raster input to ndvi function is invalid. It requires more than 1 band.");this.rasterInfo=h.mixin(a.raster,{bandCount:1,pixelType:this._calculatePixelType(this.pixelType,this.scaled?"U8":"F32"),statistics:this.scaled?[{min:0,max:200}]:[{min:-1,max:1}],histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||
{};this.rasterInfo.keyProperties.DataType="Generic";return!0},read2D:function(a){this._performance.start();a=a.raster;var b=e.calculate(a.pixelBlock,{bandIndexes:[this.functionArguments.infraredBandID+1,this.functionArguments.visibleBandID+1].join(" "),method:1}),m;if(this.functionArguments.scaled){var g=b.pixels[0];var c=b.mask;var d=g.length;var f=new Uint8Array(d);if(null==c)for(m=0;m<d;m++)f[m]=100*g[m]+100&255;else for(m=0;m<d;m++)c[m]&&(f[m]=100*g[m]+100&255);b.pixels[0]=f;b.pixelType="U8"}this._addPerformanceMetric(this._performance.elapsed());
"Unknown"!==this.pixelType&&(b.pixelType=this.pixelType);return{extent:a.extent,pixelBlock:b}},readGL:function(a){this._performance.start();this._initializeProgram({fragment:q.ndvi,fragmentName:"NDVI"});var b=this.functionArguments.visibleBandID,m=this.functionArguments.infraredBandID,g=this.functionArguments.scaled||!1;this._alterBand=2<Math.max(m,b)?!0:!1;a=this._setupTextureData(a.raster,{bandIDs:this._alterBand?{bandIDs:[m,b,m]}:null});var c=this.bindFrameBuffer();this._alterBand?this._setUniforms({u_bandId_nir:0,
u_bandId_red:1,u_scaled:g}):this._setUniforms({u_bandId_nir:m,u_bandId_red:b,u_scaled:g});this._bindTexture(a.texture,"u_image");this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:a.extent,texture:c.texture}}})})},"esri/layers/rasterLib/function/SlopeFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../../WKIDUnitConversion ../../PixelBlock ./pixelShaders ./RasterFunctionWebGLMixin ./surfaceUtils".split(" "),function(I,h,p,n,q,k,
e,a){return I([p,e],{declaredClass:"esri.layers.rasterLib.function.SlopeFunction",functionName:"Slope",supportWebGL:!0,support2D:!0,constructor:function(b){this.functionArguments=this.mixinIgnoreCase({zFactor:1,slopeType:1,psPower:.664,psFactor:.024,raster:null},b)},bind:function(b){b=this.getSourceRasterInfo(b);if(!b.raster)return Error("The raster input to slope function is invalid.");this.rasterInfo=h.mixin(b.raster,{bandCount:1,pixelType:this._calculatePixelType(this.outputPixelType,"F32"),statistics:1===
this.slopeType||3===this.slopeType?[{min:0,max:90}]:null,histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType="Generic";return!0},read2D:function(b){this._performance.start();b=b.raster;b=a.slope(b,{zFactor:this.functionArguments.zFactor,psPower:this.functionArguments.psPower,psFactor:this.functionArguments.psFactor,slopeType:this.functionArguments.slopeType,isGCS:b.extent.spatialReference.wkid&&null==n[b.extent.spatialReference.wkid]});
this._addPerformanceMetric(this._performance.elapsed());return b},readGL:function(b){this._performance.start();this._initializeProgram({fragment:k.slope,fragmentName:"Slope"});var m=this._setupTextureData(b.raster),g=this.bindFrameBuffer(),c=this.gl,d=c.drawingBufferWidth;c=c.drawingBufferHeight;var f=m.extent;this._setUniforms({u_resolution:b&&b.raster&&b.raster.pixelBlock?[1/b.raster.pixelBlock.width,1/b.raster.pixelBlock.height]:[1/d,1/c],u_cellSize:[(f.xmax-f.xmin)/d,(f.ymax-f.ymin)/c],u_zfactor:this.functionArguments.zFactor});
this._bindTexture(m.texture,"u_image");this._drawGL();this._addPerformanceMetric(this._performance.elapsed());return{extent:m.extent,texture:g.texture}}})})},"esri/layers/rasterLib/function/StretchFunction":function(){define("dojo/_base/declare dojo/_base/lang ./RasterFunctionX ../../PixelBlock ./vertexShaders ./pixelShaders ./RasterFunctionWebGLMixin".split(" "),function(I,h,p,n,q,k,e){return I([p,e],{declaredClass:"esri.layers.rasterLib.function.StretchFunction",functionName:"Stretch",supportWebGL:!0,
support2D:!0,constructor:function(a){this.functionArguments=this.mixinIgnoreCase({stretchType:0,min:0,max:255,numberOfStandardDeviations:2,statistics:null,histograms:null,dra:!1,minPercent:.25,maxPercent:.5,useGamma:!1,gamma:null,raster:null,computeGamma:!1},a);this.functionArguments.statistics=this._convertStats(this.functionArguments.statistics);-1===[0,3,5,6].indexOf(this.functionArguments.stretchType)&&(console.error("The specific stretch type has not been implemented: "+this.functionArguments.stretchType),
this.functionArguments.stretchType=5);this.min=null==this.min?0:this.min;this.max=null==this.max?255:this.max},bind:function(a){a=this.getSourceRasterInfo(a);if(!a.raster)return Error("The raster input to stretch function is invalid.");a.raster.statistics&&(this.srcStatistics=this._convertStats(a.raster.statistics));a.raster.histograms&&(this.srcHistograms=a.raster.histograms);this.rasterInfo=h.mixin({},a.raster,{bandCount:a.raster.bandCount,pixelType:this._calculatePixelType(this.pixelType,"U8"),
statistics:null,histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType="Generic";return!0},read2D:function(a){a=a.raster;this._stretch(a);return a},hasTilingEffects:function(a){a=a||this.functionArguments;return!!(a.dra||a.raster&&"object"===typeof a.raster&&a.raster.dra)},_convertStats:function(a){return a?a.map(function(b){return b&&null!=b.min?[b.min,b.max,b.mean,b.stddev]:b}):null},_updateStatistisHistograms:function(a){var b=this.functionArguments,
m=b.histograms||this.srcHistograms;if(a&&a.pixelBlock&&a.pixelBlock.pixels){if(0===b.stretchType)this._statistics=b.statistics&&0<b.statistics.length?b.statistics:this.srcStatistics,this._histograms=m;else{var g=a.pixelBlock,c=g.pixels.length,d=6===b.stretchType&&(b.dra||!m)||3===b.stretchType&&b.dra;d&&(g.statistics||g.calculateStatistics(),this._calculateStatisticsHistograms(a));if(b.dra)if(g.statistics||g.calculateStatistics(),d)this._statistics=g.statistics,this._histograms=g.histograms;else for(b=
g.statistics,this._statistics=[],a=0;a<c;a++)this._statistics[a]=[b[a].minValue,b[a].maxValue,0,0];else this._statistics=b.statistics&&0<b.statistics.length?b.statistics:this.srcStatistics,this._histograms=m}this._statistics=this._convertStats(this._statistics);this._gammaCorrection=this._getGammaCorrection()}else this._statistics=b.statistics&&0<b.statistics.length?b.statistics:this.srcStatistics,this._histograms=m,this._gammaCorrection=this._getGammaCorrection(),this._statistics=this._convertStats(this._statistics)},
_getGammaCorrection:function(){var a=this.functionArguments.gamma;if(a){var b=[],m;for(m=0;m<a.length;m++)b[m]=1<a[m]?2<a[m]?6.5+Math.pow(a[m]-2,2.5):6.5+100*Math.pow(2-a[m],4):1;return b}},_stretch:function(a){if(null!==a&&null!==a.pixelBlock&&null!==a.pixelBlock.pixels&&0!==this.functionArguments.stretchType){this._updateStatistisHistograms(a);var b=a.pixelBlock,m=b.pixels;b=b.width*b.height;var g=m.length,c,d;this._createLUT(a);if(null==this.LUT)return this._filterNoLUT(a);var f=this.LUT,l=this.LUTOffset;
for(c=0;c<g;c++){var t=f[c];for(d=0;d<b;d++){var u=m[c][d];m[c][d]=t[u-l]}}a.pixelBlock.pixelType="U8"}},_calculateStatisticsHistograms:function(a){a=a.pixelBlock;var b=a.pixelType,m=a.pixels,g=a.mask,c=m.length,d,f,l=function(D){this.min=-.5;this.max=255.5;this.size=256;h.mixin(this,D);this.counts=this.counts||new Uint32Array(this.size)},t=[],u,r;for(d=0;d<c;d++){var x=new l;var v=x.counts;var C=m[d];if("U8"===b)if(g)for(f=0;f<a.width*a.height;f++)g[f]&&v[C[f]]++;else for(f=0;f<a.width*a.height;f++)v[C[f]]++;
else{var B=a.statistics[d].minValue;var F=a.statistics[d].maxValue;x.min=B;x.max=F;F=(F-B)/256;var y=new Uint32Array(257);if(g)for(f=0;f<a.width*a.height;f++)g[f]&&y[Math.floor((C[f]-B)/F)]++;else for(f=0;f<a.width*a.height;f++)y[Math.floor((C[f]-B)/F)]++;for(f=0;255>f;f++)v[f]=y[f];v[255]=y[255]+y[256]}t.push(x);C=[];B=a.statistics[d].minValue;F=a.statistics[d].maxValue;for(f=r=u=y=0;f<x.size;f++)y+=v[f],u+=f*v[f];u/=y;for(f=0;f<x.size;f++)r+=v[f]*Math.pow(f-u,2);v=Math.sqrt(r/(y-1));f=(u+.5)*(x.max-
x.min)/x.size+x.min;x=v*(x.max-x.min)/x.size;C.push(B);C.push(F);C.push(f);C.push(x);a.statistics[d]={min:B,minValue:B,max:F,maxValue:F,mean:f,stddev:x}}a.histograms=t},_getCutOffPoints:function(a){var b=this.functionArguments,m=999;a&&a.pixelBlock?m=a.pixelBlock.pixels.length:a&&a.texture&&(m=3);a=Math.min(m,this._statistics.length);var g=[],c=[],d,f;switch(b.stretchType){case 5:for(d=0;d<a;d++)g[d]=this._statistics[d][0],c[d]=this._statistics[d][1];break;case 3:for(d=0;d<a;d++)g[d]=this._statistics[d][2]-
b.numberOfStandardDeviations*this._statistics[d][3],c[d]=this._statistics[d][2]+b.numberOfStandardDeviations*this._statistics[d][3],g[d]<this._statistics[d][0]&&(g[d]=this._statistics[d][0]),c[d]>this._statistics[d][1]&&(c[d]=this._statistics[d][1]);break;case 6:for(d=0;d<a;d++){m=this._histograms[d];var l=new Uint32Array(m.size);var t=m.counts;var u=0;var r=-.5===m.min&&1===(m.max-m.min)/t?.5:0;for(f=0;f<m.size;f++)u+=t[f],l[f]=u;t=b.minPercent*u/100;for(f=0;f<m.size;f++)if(l[f]>t){g[d]=m.min+(m.max-
m.min)/m.size*(f+r);break}t=(1-b.maxPercent/100)*u;for(f=m.size-2;0<=f;f--)if(l[f]<t){c[d]=m.min+(m.max-m.min)/m.size*(f+2-r);break}}break;default:for(d=0;d<m;d++)g[d]=0,c[d]=255}return{minCutOff:g,maxCutOff:c}},_createLUT:function(a){var b=this.functionArguments,m=a.pixelBlock,g=m.pixelType;if("U8"===g||"U16"===g||"S8"===g||"S16"===g){if(this._LUTSignature&&(g=this._computeLutSignature(),g.length===this._LUTSignature.length&&!g.some(function(L,E){return L!==this._LUTSignature[E]}.bind(this))))return;
g=m.pixels.length;var c=[],d=[],f=b.max,l=b.min,t=b.gamma,u=f-l,r=this._getCutOffPoints(a);a=r.minCutOff;r=r.maxCutOff;var x=0,v=256;"S8"===m.pixelType?x=-127:"S16"===m.pixelType&&(x=-32767);if("U16"===m.pixelType||"S16"===m.pixelType)v=65536;for(m=0;m<g;m++)c[m]=r[m]-a[m];var C=this._gammaCorrection;if(b.useGamma)for(m=0;m<g;m++){var B=[];for(b=0;b<v;b++){var F=b+x;var y=(F-a[m])/c[m];var D=1;1<t[m]&&(D-=Math.pow(1/u,y*C[m]));F<r[m]&&F>a[m]?B[b]=Math.floor(D*u*Math.pow(y,1/t[m]))+l:F>r[m]?B[b]=f:
F<a[m]&&(B[b]=l)}d[m]=B}else for(m=0;m<g;m++){B=[];for(b=0;b<v;b++)F=b+x,B[b]=F<a[m]?l:F>r[m]?f:Math.floor((F-a[m])/c[m]*u)+l;d[m]=B}this.LUT=d;this.LUTOffset=x;this._LUTSignature=this._computeLutSignature()}},_computeLutSignature:function(){var a=this.functionArguments,b=[],m,g;b.push(a.stretchType);b.push(a.min);b.push(a.max);b.push(a.numberOfStandardDeviations);if(this._statistics)for(m=0;m<this._statistics.length;m++)for(g=0;g<this._statistics[m].length;g++)b.push(this._statistics[m][g]);b.push(a.dra?
1:0);b.push(a.minPercent);b.push(a.maxPercent);if(a.gamma)for(m=0;m<this._statistics.length;m++)b.push(a.gamma[m]);b.push(a.useGamma?1:0);return b},_filterNoLUT:function(a){if(null!==a&&null!==a.pixelBlock&&null!==a.pixelBlock.pixels){var b=this.functionArguments,m=a.pixelBlock,g=m.pixels,c=m.mask;m=m.width*m.height;var d=g.length,f=[],l=[],t=b.max,u=b.min,r=b.gamma,x=t-u;var v=this._getCutOffPoints(a);var C=v.minCutOff,B=v.maxCutOff;for(v=0;v<d;v++)f[v]=B[v]-C[v];if(b.useGamma&&null!==r&&r.length>=
d)for(v=0;v<d;v++)l[v]=1<r[v]?2<r[v]?6.5+Math.pow(r[v]-2,2.5):6.5+100*Math.pow(2-r[v],4):1;if(b.useGamma)if(void 0!==c&&null!==c)for(b=0;b<m;b++){if(c[b])for(v=0;v<d;v++){var F=g[v][b];var y=(F-C[v])/f[v];var D=1;1<r[v]&&(D-=Math.pow(1/x,y*l[v]));F<B[v]&&F>C[v]?g[v][b]=Math.floor(D*x*Math.pow(y,1/r[v]))+u:F>B[v]?g[v][b]=t:F<C[v]&&(g[v][b]=u)}}else for(b=0;b<m;b++)for(v=0;v<d;v++)F=g[v][b],y=(F-C[v])/f[v],D=1,1<r[v]&&(D-=Math.pow(1/x,y*l[v])),F<B[v]&&F>C[v]?g[v][b]=Math.floor(D*x*Math.pow(y,1/r[v]))+
u:F>B[v]?g[v][b]=t:F<C[v]&&(g[v][b]=u);else if(void 0!==c&&null!==c)for(b=0;b<m;b++){if(c[b])for(v=0;v<d;v++)F=g[v][b],F<B[v]&&F>C[v]?g[v][b]=Math.floor((F-C[v])/f[v]*x)+u:F>B[v]?g[v][b]=t:F<C[v]&&(g[v][b]=u)}else for(b=0;b<m;b++)for(v=0;v<d;v++)F=g[v][b],F<B[v]&&F>C[v]?g[v][b]=Math.floor((F-C[v])/f[v]*x)+u:F>B[v]?g[v][b]=t:F<C[v]&&(g[v][b]=u);a.pixelBlock.pixelType="U8";return a}},_computeGammaValues:function(a){var b=this._statistics.length,m,g=[];for(m=0;m<b;m++){var c=this._statistics[m][2];"U8"!==
a&&(c=255*(c-this._statistics[m][0])/(this._statistics[m][1]-this._statistics[m][0]));g.push(this._computeGammaValue(c))}return g},_computeGammaValue:function(a){if(0!==a&&!(255<a||0>a)){var b=0;0<a&&150!=a&&255>a&&(b=150>=a?45*Math.cos(.01047*a):17*Math.sin(.021*a));b=Math.log((a+b)/255);if(0!==b&&(a=Math.log(a/255)/b,!isNaN(a)))return Math.min(9.9,Math.max(.01,a))}},readGL:function(a){return this._stretchGL(a.raster)},_stretchGL:function(a){this._performance.start();var b=this.renderTexture,m,g=
a.pixelBlock&&a.pixelBlock.pixels&&a.pixelBlock.pixels.length||this.sourceRasterInfo.raster.bandCount,c=a.pixelBlock,d=this.gl,f=d.drawingBufferWidth,l=d.drawingBufferHeight;if(!c&&this.functionArguments.dra){var t=new Float32Array(f*l*4),u=new Uint8Array(f*l);var r=new Float32Array(f*l);var x=new Float32Array(f*l);var v=new Float32Array(f*l);d.checkFramebufferStatus(d.FRAMEBUFFER)==d.FRAMEBUFFER_COMPLETE&&d.readPixels(0,0,f,l,d.RGBA,d.FLOAT,t);for(m=0;m<f*l;m++)r[m]=t[4*m],x[m]=t[4*m+1],v[m]=t[4*
m+2],u[m]=t[4*m+3];a.pixelBlock=new n({width:f,height:l,pixels:[r,x,v],mask:u});a.pixelBlock.calculateStatistics()}!c&&this.functionArguments.dra&&this._useGPUStats?(r=new Float32Array(g),x=new Float32Array(g)):(this._updateStatistisHistograms(a),t=this._getCutOffPoints(a),r=new Float32Array(g),x=new Float32Array(g),r.set(t.minCutOff.slice(0,g)),x.set(t.maxCutOff.slice(0,g)));this._initializeProgram({fragment:k.stretch,fragmentName:"Stretch"});t=this._setupTextureData(a);u=this.bindFrameBuffer();
this.renderTexture=!1;this._performance.start();if(!c&&this.functionArguments.dra&&this._useGPUStats){this._setUniforms({u_sourceDim:[f,l],u_bandCount:g});if(1===g)var C=this._readMinMax(t,2);else{C=this._readMinMax(t,0);var B=this._readMinMax(t,1)}if(6===this.functionArguments.stretchType||3===this.functionArguments.stretchType&&this.functionArguments.dra)m=this._readHistogram(C,B,a),r=m.minCutOff||r,x=m.minCutOff||x}v=this.functionArguments.max-this.functionArguments.min;a=new Float32Array(g);for(m=
0;m<g;m++)a[m]=v/(x[m]-r[m]);this._useGPUStats&&this._initializeProgram({fragment:k.stretch,fragmentName:"Stretch"});d.blendFunc(d.SRC_ALPHA,d.ZERO);v=new Float32Array(3);var F=new Float32Array(3);for(m=0;3>m;m++)v[m]=this.functionArguments.min,F[m]=this.functionArguments.max;m=this.functionArguments.useGamma;var y=this.functionArguments.gamma,D=this._gammaCorrection;Array.isArray(y)&&y.length>=g||(m=!1);this._setUniforms({u_sourceDim:[f,l],u_bandCount:g,u_minOutput:v,u_maxOutput:F,u_minCutOff:r,
u_maxCutOff:x,u_factor:a,u_state:100,u_useGamma:m,u_gamma:y,u_scaled:!b,u_gammaCorrection:D,u_minMaxTexture:!c&&this.functionArguments.dra&&this._useGPUStats?!0:!1});this.renderTexture=b;d.viewport(0,0,f,l);this._bindTexture(t.texture,"u_image");!c&&this.functionArguments.dra&&this._useGPUStats&&(b=d.getUniformLocation(this.rasterProgram,"u_image1"),d.uniform1i(b,1),d.activeTexture(d.TEXTURE1),d.bindTexture(d.TEXTURE_2D,C.texture),1<g&&(g=d.getUniformLocation(this.rasterProgram,"u_image2"),d.uniform1i(g,
2),d.activeTexture(d.TEXTURE2),d.bindTexture(d.TEXTURE_2D,B.texture)));this._drawGL();return{extent:t.extent,texture:u.texture}},_readMinMax:function(a,b){var m=this.gl,g=a.width||m.drawingBufferWidth,c=a.height||m.drawingBufferHeight;this._setUniforms({u_state:b});this.renderTexture=!1;var d=a.texture;for(m.activeTexture(m.TEXTURE0);1<g||1<c;){var f=this._createTexture();b=Math.max(Math.ceil(g/2),1);var l=Math.max(Math.ceil(c/2),1);m.getExtension("OES_texture_float");m.texImage2D(m.TEXTURE_2D,0,
m.RGBA,b,l,0,m.RGBA,m.FLOAT,null);a=m.createFramebuffer();m.bindFramebuffer(m.FRAMEBUFFER,a);m.framebufferTexture2D(m.FRAMEBUFFER,m.COLOR_ATTACHMENT0,m.TEXTURE_2D,f,0);m.viewport(0,0,b,l);m.bindTexture(m.TEXTURE_2D,d);this._setUniforms({u_sourceDim:[g,c]});g=b;c=l;this._drawGL(!0);d=f}a=new Float32Array(g*c*4);m.checkFramebufferStatus(m.FRAMEBUFFER)==m.FRAMEBUFFER_COMPLETE&&m.readPixels(0,0,g,c,m.RGBA,m.FLOAT,a);return{texture:f,minmax:a}},_readHistogram:function(a,b,m){if(a)try{var g=this.gl,c=g.drawingBufferWidth,
d=g.drawingBufferHeight,f,l,t;if(a.texture instanceof WebGLTexture){var u=!0;var r=[1,0,0,1];if(b){var x=a.minmax;var v=b.minmax}else x=[a.minmax[0]],v=[a.minmax[1]]}else for(v=b,x=a,r=new Float32Array(v.length),f=0;f<v.length;f++)r[f]=256/(v[f]-x[f]);var C=new Float32Array(c*d);for(t=0;t<C.length;t++)C[t]=t;if(!this.histogramProgram){var B=q.getShader(g,q.histogram),F=k.getShader(g,k.constant);this.histogramProgram=this._loadProgram(B,F)}g.blendFunc(g.ONE,g.ONE);g.enable(g.BLEND);g.useProgram(this.histogramProgram);
var y=g.getAttribLocation(this.histogramProgram,"a_pixelIndex"),D=g.createBuffer();g.bindBuffer(g.ARRAY_BUFFER,D);g.bufferData(g.ARRAY_BUFFER,C,g.STATIC_DRAW);g.enableVertexAttribArray(y);g.vertexAttribPointer(y,1,g.FLOAT,!1,0,0);var L=this._setupHistTexture(m),E=this._createTexture();g.getExtension("OES_texture_float");g.texImage2D(g.TEXTURE_2D,0,g.RGBA,257,1,0,g.RGBA,g.FLOAT,null);var z=g.createFramebuffer();g.bindFramebuffer(g.FRAMEBUFFER,z);g.framebufferTexture2D(g.FRAMEBUFFER,g.COLOR_ATTACHMENT0,
g.TEXTURE_2D,E,0);g.viewport(0,0,257,1);var A=g.getUniformLocation(this.histogramProgram,"u_image");g.uniform1i(A,0);g.activeTexture(g.TEXTURE0);g.bindTexture(g.TEXTURE_2D,L);var G=g.getUniformLocation(this.histogramProgram,"u_sourceDim");g.uniform2f(G,c,d);var N=g.getUniformLocation(this.histogramProgram,"u_bandCount");g.uniform1i(N,3);var H=g.getUniformLocation(this.histogramProgram,"u_halfPixel");g.uniform2f(H,.5/c,.5/d);var M=g.getUniformLocation(this.histogramProgram,"u_minMaxTexture");if(u){g.uniform1i(M,
1);var T=g.getUniformLocation(this.histogramProgram,"u_image1");g.uniform1i(T,1);g.activeTexture(g.TEXTURE1);g.bindTexture(g.TEXTURE_2D,a.texture);if(b){var U=g.getUniformLocation(this.histogramProgram,"u_image2");g.uniform1i(U,2);g.activeTexture(g.TEXTURE2);g.bindTexture(g.TEXTURE_2D,b.texture)}}else{var W=g.getUniformLocation(this.histogramProgram,"u_mins");g.uniform4f(W,x[0],x[0],x[0],x[0]);g.uniform1i(M,0)}var Y=g.getUniformLocation(this.histogramProgram,"u_color"),aa=g.getUniformLocation(this.histogramProgram,
"u_factors"),ea=g.getUniformLocation(this.histogramProgram,"u_size");g.uniform1f(ea,256);a=[];b=[];g.uniform4fv(Y,[1,0,0,1]);g.uniform4fv(aa,[r[0],0,0,1]);g.drawArrays(g.POINTS,0,C.length);var ma=this.sourceRasterInfo.raster.bandCount;1<ma&&(g.uniform4fv(Y,[0,1,0,1]),g.uniform4fv(aa,[0,r[0],0,1]),g.drawArrays(g.POINTS,0,C.length),g.uniform4fv(Y,[0,0,1,1]),g.uniform4fv(aa,[0,0,r[0],1]),g.drawArrays(g.POINTS,0,C.length));if(g.checkFramebufferStatus(g.FRAMEBUFFER)==g.FRAMEBUFFER_COMPLETE){var la=new Float32Array(1028);
g.readPixels(0,0,257,1,g.RGBA,g.FLOAT,la);g=0;var J=-.5===x[0]&&1===(v[0]-x[0])/256?.5:0;for(f=0;f<ma;f++){var Q=new Float32Array(257);var R=new Float32Array(257);for(t=g=0;256>t;t++)g+=la[4*t+f],Q[t]=g,R[t]=la[4*t+f];R[256]=la[1024+f];Q[256]=g+la[1024+f];var V=this.functionArguments.minPercent*g/100;if(v){for(l=0;256>l;l++)if(Q[l]>V){a[f]=x[0]+(v[0]-x[0])/256*(l+J);break}V=(1-this.functionArguments.maxPercent/100)*g;for(l=254;0<=l;l--)if(Q[l]<V){b[f]=x[0]+(v[0]-x[0])/256*(l+2-J);break}}}}return{histogram:la,
minCutOff:a,maxCutOff:b}}catch(w){console.debug("webgl filter exception: "+w.message)}},_setupHistTexture:function(a){if(a instanceof WebGLTexture)return a;var b=this.originalHistTexture=this._createTexture(),m=this.gl;a=a.pixelBlock;var g=a.width,c=a.height;m.getExtension("OES_texture_float");this.rgbaFloatData=a.getAsRGBAFloat();m.texImage2D(m.TEXTURE_2D,0,m.RGBA,g,c,0,m.RGBA,m.FLOAT,this.rgbaFloatData);return b}})})},"esri/layers/rasterLib/function/RemapFunction":function(){define("dojo/_base/declare dojo/_base/lang ../../../renderers/colorRampGenerator ./RasterFunctionX ./pixelShaders ./RasterFunctionWebGLMixin ./rasterUtils".split(" "),
function(I,h,p,n,q,k,e){return I([n,k],{declaredClass:"esri.layers.rasterLib.function.RemapFunction",functionName:"Remap",pixelType:"U8",renderTexture:!1,supportWebGL:!0,support2D:!0,constructor:function(a){this.functionArguments=this.mixinIgnoreCase({inputRanges:null,outputValues:null,outputColors:null,colorBreaks:null,raster:null},a)},bind:function(a){a=this.getSourceRasterInfo(a);if(!a.raster)return Error("The raster input is not available.");var b=!(!this.functionArguments.outputColors&&!this.functionArguments.colorBreaks);
this.rasterInfo=h.mixin(a.raster,{bandCount:b?3:1,pixelType:this._calculatePixelType(this.pixelType,"U8"),statistics:null,histograms:null});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};this.rasterInfo.keyProperties.DataType=b?"Processed":"Thematic";return!0},read2D:function(a){return this._remap(a.raster)},readGL:function(a){return this._remapGL(a.raster)},_remap:function(a){this._performance.start();var b=e.remapColor(a.pixelBlock,this.functionArguments.colorBreaks);this._addPerformanceMetric(this._performance.elapsed());
return{extent:a.extent,pixelBlock:b}},_remapGL:function(a){this._performance.start();this._initializeProgram({fragment:q.remap,fragmentName:"Remap"});var b=new Uint8Array(64),m=this.functionArguments.colorBreaks;m.forEach(function(f,l){b[4*l]=f.mappedColor[0];b[4*l+1]=f.mappedColor[1];b[4*l+2]=f.mappedColor[2];b[4*l+3]=1>=f.mappedColor[3]?255*f.mappedColor[3]:f.mappedColor[3]});var g=m[m.length-1],c=g.mappedColor;b[60]=c[0];b[61]=c[1];b[62]=c[2];b[63]=1>=c[3]?255*c[3]:c[3];var d=new Float32Array(16);
m.forEach(function(f,l){d[l]=f.value});d[15]=g.value;this._clrTexture||(this._clrTexture=this._setupColormapTexture(b));m=this._clrTexture;g=this.bindFrameBuffer();a=this._setupTextureData(a);this._setUniforms({u_indexedColormapOffset:0,u_indexedColormapMaxIndex:b.length/4-1,u_breaks:d});this._bindTexture(m,"u_image1");this._bindTexture(a.texture,"u_image");this._drawGL();return{extent:a.extent,texture:g.texture}},_setupColormapTexture:function(a){var b=this._createTexture(),m=a.length/4,g=new Float32Array(a.length),
c=this.renderTexture?255:1,d,f=this.gl;for(d=0;d<a.length;d++)g[d]=a[d]/c;f.getExtension("OES_texture_float");f.texImage2D(f.TEXTURE_2D,0,f.RGBA,m,1,0,f.RGBA,f.FLOAT,g);return b}})})},"esri/layers/rasterLib/function/IdentityFunction":function(){define(["dojo/_base/declare","dojo/_base/lang","./pixelShaders","./RasterFunctionX","./RasterFunctionWebGLMixin"],function(I,h,p,n,q){return I([n,q],{declaredClass:"esri.layers.rasterLib.function.IdentityFunction",functionName:"Identity",supportWebGL:!0,support2D:!0,
constructor:function(k){this.functionArguments={raster:null}},bind:function(k){k=this.getSourceRasterInfo(k);if(!k.raster)return Error("The raster input to identity function is invalid.");this.rasterInfo=h.mixin(k.raster,{});return!0},read2D:function(k){return k.raster},readGL:function(k){this._initializeProgram({fragment:p.identity,fragmentName:"identity"});k=this._setupTextureData(k.raster);var e=this.bindFrameBuffer();this._bindTexture(k.texture,"u_image");this._drawGL();return{extent:k.extent,
texture:e.texture}}})})},"esri/layers/rasterLib/function/ResampleFunction":function(){define(["dojo/_base/declare","dojo/_base/lang","./pixelShaders","./RasterFunctionX","./RasterFunctionWebGLMixin"],function(I,h,p,n,q){return I([n,q],{declaredClass:"esri.layers.rasterLib.function.ResampleFunction",renderTexture:!0,resamplingOrigin:null,resamplingRatio:null,zFactor:1,functionName:"Resample",supportWebGL:!0,support2D:!1,constructor:function(k){this.functionArguments=this.mixinIgnoreCase({resamplingType:0},
k)},bind:function(k){k=this.getSourceRasterInfo(k);if(!k.raster)return Error("The raster input to convolution function is invalid.");this.rasterInfo=h.mixin(k.raster,{bandCount:k.raster.bandCount,pixelType:this._calculatePixelType(this.pixelType,k.raster.pixelType),statistics:k.raster.statistics,histograms:k.raster.histograms});this.rasterInfo.keyProperties=this.rasterInfo.keyProperties||{};return!0},readGL:function(k){this._performance.start();this._initializeProgram({fragment:p.resample,fragmentName:"Resample"});
var e=this._setupTextureData(k.raster),a=this.bindFrameBuffer(),b=this.gl,m=b.drawingBufferWidth;b=b.drawingBufferHeight;var g=k.raster;void 0!==g.pixelBlock?(e=e||this._setupTextureData(g),k=g.pixelBlock.width,g=g.pixelBlock.height):(e=e||g,k=m,g=b);this._setUniforms({u_resamplingRatio:this.resamplingRatio||[k/m,g/b],u_anchor:this.resamplingOrigin||[0,1],u_resamplingType:this.functionArguments.resamplingType,u_resolution:[1/m,1/b]});this._drawGL();this._addPerformanceMetric(this._performance.elapsed());
return{extent:e.extent,texture:a.texture}}})})},"esri/layers/rasterLib/renderer/rasterRendererHelper":function(){define("dojo/_base/declare dojo/_base/lang ../../PixelBlock ./RasterColormapRenderer ./RasterUniqueValueRenderer ./RasterRGBRenderer ./RasterStretchColorRampRenderer ./RasterClassBreaksRenderer ./RasterShadedReliefRenderer".split(" "),function(I,h,p,n,q,k,e,a,b){var m=function(){function g(d){c[d.prototype.rendererName]=d}var c={};g(n);g(k);g(e);g(q);g(a);g(b);return c}();return{wellKnownRenderers:m,
isSupported:function(g){if(!g)return!1;var c=!0;m[g.rendererName]||(c=!1);return c},create:function(g){if(!g)return null;if(g.rendererName){var c=g.rendererName;g=g.rendererArguments}else c="uniqueValue rasterStretch rasterShadedRelief rgb rasterColormap classBreaks".split(" ").indexOf(g.type),c="UniqueValue Stretch ShadedRelief RGB Colormap ClassBreaks".split(" ")[c],"rasterStretch"===g.type&&g.bandIndex&&1<g.bandIndex.length&&(c="RGB");return(c=m[c])?new c(g):null},createDefaultRenderer:function(g){if(g&&
g.raster){var c=g.raster.rasterInfo,d=g.raster.dataType;if(c){var f=g.raster.rasterFunction,l=["Stretch","Colormap","ContrastAndBrightness"];if(f&&"U8"===c.pixelType&&-1<l.indexOf(f.functionName))f.renderTexture=!0;else if("Processed"!==d||!(g.useWebGL&&f&&f.renderTexture||!g.useWebGL&&"U8"===c.pixelType)){f&&(c=f.rasterInfo);f=c.bandCount;var t=c.colormap,u=c.vat;l=c.histograms;l&&0===l.length&&(l=null);var r=c.statistics&&c.statistics.map(function(C){return[C.min,C.max,C.mean,C.stddev]});if(1===
f&&t&&0<t.length)var x=this._getDefaultColormapRenderer(u,t);else if(1===f&&u&&u.features&&0<u.features.length)x=new q({});else{t=0;u=!1;d||!g.raster||!g.raster.tileInfo||void 0!==g.raster.tileInfo.tileType&&"Map"!==g.raster.tileInfo.tileType?"U8"===c.pixelType&&"Processed"===d?(t=5,r=r||[[0,255,0,0],[0,255,0,0],[0,255,0,0]],u=!1):"U8"===c.pixelType||"Elevation"===d?(t=5,u=r?!1:!0):"Scientific"===d||"StdTime"===d?(t=5,u=r?!1:!0,x=this._getDefaultScientificColorRamp()):l&&0<l.length?(t=6,u=!1):r?(t=
5,u=!1):(t=6,u=!0):(r=[[0,255,0,0],[0,255,0,0],[0,255,0,0]],t=5,u=!1);r||(t=5,u=!0);var v;3<=f&&!(g.bandIds||g.raster&&g.raster.imageServiceParams&&g.raster.imageServiceParams.bandIds)&&(v=this.getDefaultBandCombination(c));v&&(r=v.map(function(C){return r[C]}));g={stretchType:t,min:0,max:255,dra:u,minPercent:.25,maxPercent:.25,useGamma:!1,computeGamma:!1,statistics:r,histograms:l,numberOfStandardDeviations:2.5,bandIndex:v};1===f||v&&1===v.length?(x&&(g.colorRamp=x,g.invert=!1),x=new e(g)):x=new k(g)}return x}}}},
getDefaultBandCombination:function(g){var c=g.bandCount;if(1===c)return null;if(2===c)return[0];var d=(g=g.keyProperties)&&g.ChangeAnalysisParameters&&g.ChangeAnalysisParameters.AnalysisType;if(d&&("ccdc"===d.toLowerCase()||"landtrendr"===d.toLowerCase()))return[0];g=g&&g.BandProperties;var f;if(g&&g.length===c){var l=this.getWellKnownBandIndexes(g);g=l.red;d=l.green;var t=l.blue;l=l.nir;null!=g&&null!=d&&null!=t?f=[g,d,t]:null!=l&&null!=g&&null!=d&&(f=[l,g,d])}!f&&3<=c&&(f=[0,1,2]);return f},getWellKnownBandIndexes:function(g){for(var c=
{},d=0;d<g.length;d++){var f=g[d],l=f.BandName&&f.BandName.toLowerCase();"red"===l?c.red=d:"green"===l?c.green=d:"blue"===l?c.blue=d:"nearinfrared"===l||"nearinfrared_1"===l||"nir"===l?c.nir=d:f.WavelengthMax&&f.WavelengthMin&&(l=f.WavelengthMin,f=f.WavelengthMax,null==c.blue&&410<=l&&480>=l&&480<=f&&540>=f?c.blue=d:null==c.green&&490<=l&&560>=l&&560<=f&&610>=f?c.green=d:null==c.red&&595<=l&&670>=l&&660<=f&&730>=f?c.red=d:null==c.nir&&700<=l&&860>=l&&800<=f&&950>=f&&(c.nir=d))}return c},_getDefaultColormapRenderer:function(g,
c){if(c||c.length){var d=[],f=this._ratContainsColormap(g);if(f)var l=this._getRATValueClassNameMap(g);c.forEach(function(t){var u=l?l[t[0]]:t[0];d.push({color:[t[1],t[2],t[3]],value:t[0],label:f?null!=u?u:"":t[0]})});return new n({colormapInfos:d})}},_ratContainsColormap:function(g){if(!g||!g.fields)return!1;var c,d,f;return g.fields.some(function(l){l&&l.name&&(l=l.name.toLowerCase(),"red"===l&&(c=!0),"green"===l&&(d=!0),"blue"===l&&(f=!0));return c&&d&&f})},_getRATValueClassNameMap:function(g){if(!g||
!g.fields)return null;var c={},d,f;g.fields.forEach(function(l){if("classname"===l.name.toLowerCase()||"class_name"===l.name.toLowerCase())d=l.name;"value"===l.name.toLowerCase()&&(f=l.name)});g.features.forEach(function(l){l=l.attributes;c[l[f]]=d?l[d]:l[f]});return c},_getDefaultScientificColorRamp:function(){return{type:"multipart",colorRamps:[{fromColor:[255,0,0],toColor:[255,255,0]},{fromColor:[255,255,0],toColor:[0,255,255]},{fromColor:[0,255,255],toColor:[0,0,255]}].map(function(g){return{fromColor:g.toColor,
toColor:g.fromColor}}).reverse()}}}})},"esri/layers/rasterLib/renderer/RasterColormapRenderer":function(){define(["dojo/_base/declare","dojo/_base/lang","./RasterRenderer","../function/ColormapFunction"],function(I,h,p,n){return I([p],{declaredClass:"esri.layers.rasterLib.renderer.RasterColormapRenderer",rendererName:"Colormap",renderTexture:!0,constructor:function(q){q&&q.colormapInfos&&(q.colormap=q.colormapInfos.map(function(k){return[k.value].concat(k.color)}));this._function=new n(q);this._function.outputPixelType=
"U8";this._function.renderTexture=!0},draw2D:function(q){this._updateColormapParameters();q=this._clonePixelData(q);return q=this._function._colorize(q)},drawGL:function(q){this._updateColormapParameters();this._function._colorizeGL(q)},toJson:function(){var q=this._function.toJson().rasterFunctionArguments;return{rendererName:this.rendererName,rendererArguments:q}},toCommonRendererJson:function(){return{type:"rasterColormap",colormapInfos:this.colormapInfos||this.colormap.map(function(q){return{value:q[0],
color:q.slice(1),label:q[0]}})}},_updateColormapParameters:function(){var q=this._function.functionArguments;q.colormap=this.colormap;q.colormapName=this.colormapName;q.colorRamp=this.colorRamp;q.colorRampName=this.colorRampName}})})},"esri/layers/rasterLib/renderer/RasterRenderer":function(){define(["dojo/_base/declare","dojo/_base/lang","../../../geometry/Extent","../../PixelBlock"],function(I,h,p,n){return I(null,{declaredClass:"esri.layers.rasterLib.renderer.RasterRenderer",raster:null,constructor:function(q){q=
q||{};this.raster=q.raster||q.Raster||this.raster;this.draw=h.hitch(this,this.draw);this.bind=h.hitch(this,this.bind);q=h.clone(q);Object.keys(q).forEach(function(k){null==q[k]&&delete q[k]});h.mixin(this,q)},bind:function(q){if(!q)throw"failed to bind without options";var k=q;q.layer&&(q=q.layer,k={id:q.id,rawRasterInfo:q.raster.rasterInfo,glSetting:q._glSetting,xformSetting:q.tileManager&&q.tileManager.xformSetting,useWebGL:q.useWebGL,resampling:q.tileMode&&q.tileManager&&q.tileManager.xformSetting.requireProjection&&
!q._hasTilingEffects&&"Thematic"!==q.raster.dataType?1:0,tileMode:q.tileMode});this._rawRasterInfo=k.rawRasterInfo;this.useWebGL=k.useWebGL;this._function&&this._function.setProcessingContext(h.mixin({useProcessedData:!0},k));this._processingContext=k},hasTilingEffects:function(){},draw:function(q){return this.useWebGL?this.drawGL(q):this.draw2D(q)},toJson:function(){},_clonePixelData:function(q){if(null==q)return q;var k={};q.extent&&(k.extent=new p(q.extent.xmin,q.extent.ymin,q.extent.xmax,q.extent.ymax,
q.extent.spatialReference));q=q.processedPixelBlock||q.pixelBlock;if(null==q)return k;k.pixelBlock=q.clone?q.clone():n.prototype.clone(q);return k}})})},"esri/layers/rasterLib/renderer/RasterUniqueValueRenderer":function(){define(["dojo/_base/declare","dojo/_base/lang","./RasterRenderer","../function/ColormapFunction","../../../renderers/colorRampGenerator"],function(I,h,p,n,q){return I([p],{declaredClass:"esri.layers.rasterLib.renderer.RasterUniqueValueRenderer",rendererName:"UniqueValue",field:"",
alias:"",uniqueValueInfos:null,constructor:function(k){k&&k.colormap&&(this.colormap=k.colormap,this._function=new n(k),this._function.outputPixelType="U8",this._function.renderTexture=!0)},bind:function(k){this.inherited(arguments);if(!this._function){var e=(this.raster&&this.raster.rasterInfo||this._rawRasterInfo).vat;if(!e)throw"uv renderer requires data source to have raster attribute table";var a=this.attributeField||this.field1||this.field,b=this.infos||this.uniqueValueInfos;this.defaultColor=
this.defaultColor||this.defaultSymbol&&this.defaultSymbol.color;var m=e.fields.filter(function(x){return"value"===x.name.toLowerCase()})[0];if(m)var g=m.name;a||((a=e.fields.filter(function(x){return-1<["classname","category"].indexOf(x.name.toLowerCase())})[0])||(a=e.fields.filter(function(x){return"esriFieldTypeString"===x.type})[0]),this.alias=(this.field=a=a&&a.name||g)&&a.alias||g);var c=[],d;if(!b){b=[];var f=e.fields.filter(function(x){return"alpha"===x.name.toLowerCase()})[0];var l=e.fields.filter(function(x){return"red"===
x.name.toLowerCase()})[0];var t=e.fields.filter(function(x){return"green"===x.name.toLowerCase()})[0];var u=e.fields.filter(function(x){return"blue"===x.name.toLowerCase()})[0];for(m=0;m<e.features.length;m++){var r=e.features[m].attributes;(d=b.some(function(x){x.value===r[a]}))||(f&&l&&t&&u?b.push({value:r[a],alias:r[a],color:[r[l.name],r[t.name],r[u.name],r[f.name]]}):l&&t&&u?b.push({value:r[a],alias:r[a],color:[r[l.name],r[t.name],r[u.name]]}):b.push({value:r[a],alias:r[a]}))}if(!(l&&t&&u))for(d=
q.createRandomColorRamp({size:b.length}),m=0;m<b.length;m++)b[m].color=d[m];this.uniqueValueInfos=b}if(b)b.forEach(function(x){c=c.concat(e.features.filter(function(v){return x.value==v.attributes[a]}).map(function(v){return[v.attributes[g]].concat(x.color||x.symbol&&x.symbol.color)}))}),this.defaultColor&&e.features.filter(function(x){c.some(function(v){return v[0]===x.attributes[g]})||c.push([x.attributes[g]].concat(this.defaultColor))});else throw"missing uniqueValueInfos property";this._function=
new n({colormap:c});this.colormap=c;this._function.outputPixelType="U8";this._function.renderTexture=!0;this._function.setProcessingContext(this._processingContext)}},draw2D:function(k){k=this._clonePixelData(k);return k=this._function._colorize(k)},drawGL:function(k){this._function._colorizeGL(k)},toJson:function(k){var e={field:this.field,uniqueValueInfos:this.uniqueValueInfos,defaultColor:this.defaultColor};k&&(e.colormap=this.colormap);return{rendererName:this.rendererName,rendererArguments:e}},
toCommonRendererJson:function(){var k=this.attributeField||this.field1||this.field,e=(this.infos||this.uniqueValueInfos).map(function(a){return{value:a.value,label:a.alias+"",symbol:{color:3===a.color.length?a.color.concat([255]):a.color,type:"esriSFS",style:"esriSFSSolid"}}});return{type:"uniqueValue",field1:k,uniqueValueInfos:e}}})})},"esri/layers/rasterLib/renderer/RasterRGBRenderer":function(){define("dojo/_base/declare dojo/_base/lang ./RasterRenderer ../function/StretchFunction ../function/ContrastBrightnessFunction ../function/rasterUtils".split(" "),
function(I,h,p,n,q,k){return I([p],{declaredClass:"esri.layers.rasterLib.renderer.RasterRGBRenderer",rendererName:"RGB",bandIndex:null,stretchType:0,min:0,max:255,numberOfStandardDeviations:2,statistics:null,histograms:null,dra:!1,minPercent:.25,maxPercent:.5,useGamma:!1,gamma:null,computeGamma:!1,sigmoidStrengthLevel:1,constructor:function(e){this.stretchType="number"===typeof this.stretchType?this.stretchType:"none   standardDeviation histogramEqualization minMax percentClip   sigmoid".split(" ").indexOf(this.stretchType);
e=h.mixin({},e,{stretchType:this.stretchType});this._stretchFunction=new n(e);this._stretchFunction.outputPixelType="U8";this._stretchFunction.renderTexture=!1;this.bandIndex=e.bandIndex||e.BandIndex;this._function=new q(e);this._function.functionArguments.raster=this._stretchFunction;this._function.renderTexture=!0},hasTilingEffects:function(){return this._stretchFunction.hasTilingEffects()},draw2D:function(e){this._updateStretchParameters();e=this._clonePixelData(e);if("U8"===e.pixelBlock.pixelType&&
!this.contrastOffset&&!this.brightnessOffset)return e;this._stretchFunction._stretch(e);var a=e.pixelBlock,b=this.bandIndex,m=Math.max.apply(null,b);a&&a.pixels.length>m&&b&&(a.pixels=b.map(function(g){return a.pixels[g]}),a.statistics&&(a.statistics=b.map(function(g){return a.statistics[g]})));if(this.contrastOffset||this.brightnessOffset)e.pixelBlock=k.contrastBrightnessStretch(e.pixelBlock,{contrastOffset:this.contrastOffset,brightnessOffset:this.brightnessOffset});return e},drawGL:function(e){this._updateStretchParameters();
e.pixelBlock&&(e=this._clonePixelData(e));var a=e.pixelBlock,b=this.bandIndex,m=Math.max.apply(null,b),g=this.statistics&&0<this.statistics.length?this.statistics:this._stretchFunction&&this._stretchFunction.srcStatistics,c=this.histograms&&0<this.histograms.length?this.histograms:this._stretchFunction&&this._stretchFunction.srcHistograms,d,f;a&&a.pixels.length>m&&b&&(a.pixels=b.map(function(l){return a.pixels[l]}),a.statistics&&(a.statistics=b.map(function(l){return a.statistics[l]})),g&&0<g.length&&
g.length!==b.length&&(d=b.map(function(l){return g[l]})),c&&0<c.length&&c.length!==b.length&&(f=b.map(function(l){return c[l]})));this._stretchFunction.functionArguments.statistics=d||g;this._stretchFunction.functionArguments.histograms=f||c;this.contrastOffset||this.brightnessOffset?(this._stretchFunction.renderTexture=!1,this._function.renderTexture=!0,e=this._stretchFunction._stretchGL(e),this._function._cbGL(e)):(this._stretchFunction.renderTexture=!0,this._stretchFunction._stretchGL(e))},toJson:function(){var e=
this._stretchFunction.toJson().rasterFunctionArguments;e.bandIndex=this.bandIndex;e.contrastOffset=this.contrastOffset;e.brightnessOffset=this.brightnessOffset;return{rendererName:this.rendererName,rendererArguments:e}},toCommonRendererJson:function(){return{type:"rasterStretch",stretchType:"none   standardDeviation histogramEqualization minMax percentClip   sigmoid".split(" ")[this.stretchType]||"minMax",min:this.min,max:this.max,numberOfStandardDeviations:this.numberOfStandardDeviations,statistics:h.clone(this.statistics),
dra:this.dra,minPercent:this.minPercent,maxPercent:this.maxPercent,useGamma:this.useGamma,gamma:h.clone(this.gamma),computeGamma:this.computeGamma,sigmoidStrengthLevel:this.sigmoidStrengthLevel}},_updateStretchParameters:function(){var e=this._stretchFunction.functionArguments;e.stretchType=this.stretchType;e.min=this.min;e.max=this.max;e.numberOfStandardDeviations=this.numberOfStandardDeviations;e.statistics=this.statistics;e.histograms=this.histograms;e.dra=this.dra;e.minPercent=this.minPercent;
e.maxPercent=this.maxPercent;e.useGamma=this.useGamma;e.gamma=this.gamma;e.computeGamma=this.computeGamma;this._stretchFunction.interpolation=this.interpolation}})})},"esri/layers/rasterLib/renderer/RasterStretchColorRampRenderer":function(){define("dojo/_base/declare dojo/_base/lang ./RasterRenderer ../function/ResampleFunction ../function/StretchFunction ../function/ContrastBrightnessFunction ../function/ColormapFunction ../function/rasterUtils".split(" "),function(I,h,p,n,q,k,e,a){return I([p],
{declaredClass:"esri.layers.rasterLib.renderer.RasterStretchColorRampRenderer",rendererName:"Stretch",bandIndex:[0],colorRamp:null,invert:!1,stretchType:0,min:0,max:255,numberOfStandardDeviations:2,statistics:null,histograms:null,dra:!1,minPercent:.25,maxPercent:.5,useGamma:!1,gamma:null,computeGamma:!1,sigmoidStrengthLevel:1,constructor:function(b){this.stretchType="number"===typeof this.stretchType?this.stretchType:"none   standardDeviation histogramEqualization minMax percentClip   sigmoid".split(" ").indexOf(this.stretchType);
b=h.mixin({},b,{stretchType:this.stretchType});Object.keys(b).forEach(function(m){null==b[m]&&delete b[m]});this._function=new k(b);this._stretchFunction=new q(b);this._stretchFunction.outputPixelType="U8";this._stretchFunction.renderTexture=!1;this._clrFunction=new e(b);this._clrFunction.functionArguments.raster=this._stretchFunction;this._clrFunction.renderTexture=!1;this._function.functionArguments.raster=this._clrFunction},hasTilingEffects:function(){return this._stretchFunction.hasTilingEffects()},
draw2D:function(b){this._updateStretchParameters();b=this._clonePixelData(b);if("U8"===b.pixelBlock.pixelType&&!(this.contrastOffset||this.brightnessOffset||this.colorRamp))return b;this._stretchFunction._stretch(b);var m=b.pixelBlock,g=this.bandIndex?this.bandIndex[0]:0;m&&1<m.pixels.length&&m.pixels.length>g&&(m.pixels=[m.pixels[g]],m.statistics&&(m.statistics=[m.statistics[g]]));this.colorRamp&&(b=this._clrFunction._colorize(b));if(this.contrastOffset||this.brightnessOffset)b.pixelBlock=a.contrastBrightnessStretch(b.pixelBlock,
{contrastOffset:this.contrastOffset,brightnessOffset:this.brightnessOffset});return b},drawGL:function(b){this._updateStretchParameters();b.pixelBlock&&(b=this._clonePixelData(b));var m=b.pixelBlock,g=this.bandIndex?this.bandIndex[0]||0:0,c=this.statistics&&0<this.statistics.length?this.statistics:this._stretchFunction&&this._stretchFunction.srcStatistics,d=this.histograms&&0<this.histograms.length?this.histograms:this._stretchFunction&&this._stretchFunction.srcHistograms,f,l;m&&1<m.pixels.length&&
m.pixels.length>g&&(m.pixels=[m.pixels[g]],m.statistics&&(m.statistics=[m.statistics[g]]),c&&c.length>g&&(f=[c[g]]),d&&d.length>g&&(l=[d[g]]));this._stretchFunction.functionArguments.statistics=f||c;this._stretchFunction.functionArguments.histograms=l||d;m=!!this.colorRamp;this.contrastOffset||this.brightnessOffset?(this._stretchFunction.renderTexture=!1,this._clrFunction.renderTexture=!1,this._function.renderTexture=!0,b=this._stretchFunction._stretchGL(b),m&&(b=this._clrFunction._colorizeGL(b)),
this._function._cbGL(b)):m?(this._stretchFunction.renderTexture=!1,this._clrFunction.renderTexture=!0,b=this._stretchFunction._stretchGL(b),this._clrFunction._colorizeGL(b)):(this._stretchFunction.renderTexture=!0,this._stretchFunction._stretchGL(b))},toJson:function(){var b=this._stretchFunction.toJson().rasterFunctionArguments;b.colorRamp=this.colorRamp||"";this.invert&&(b.invert=!0);b.contrastOffset=this.contrastOffset;b.brightnessOffset=this.brightnessOffset;return{rendererName:this.rendererName,
rendererArguments:b}},toCommonRendererJson:function(){return{type:"rasterStretch",stretchType:"none   standardDeviation histogramEqualization minMax percentClip   sigmoid".split(" ")[this.stretchType]||"minMax",colorRamp:this.colorRamp&&this.colorRamp.toJson?this.colorRamp.toJson():this.colorRamp,min:this.min,max:this.max,numberOfStandardDeviations:this.numberOfStandardDeviations,statistics:h.clone(this.statistics),dra:this.dra,minPercent:this.minPercent,maxPercent:this.maxPercent,useGamma:this.useGamma,
gamma:h.clone(this.gamma),computeGamma:this.computeGamma,sigmoidStrengthLevel:this.sigmoidStrengthLevel}},_updateStretchParameters:function(){var b=this._stretchFunction.functionArguments;b.stretchType=this.stretchType;b.min=this.min;b.max=this.max;b.numberOfStandardDeviations=this.numberOfStandardDeviations;b.statistics=this.statistics;b.histograms=this.histograms;b.dra=this.dra;b.minPercent=this.minPercent;b.maxPercent=this.maxPercent;b.useGamma=this.useGamma;b.gamma=this.gamma;b.computeGamma=this.computeGamma;
this._stretchFunction.interpolation=this.interpolation}})})},"esri/layers/rasterLib/renderer/RasterClassBreaksRenderer":function(){define(["dojo/_base/declare","dojo/_base/lang","./RasterRenderer","../function/ColormapFunction","../function/RemapFunction"],function(I,h,p,n,q){return I([p],{declaredClass:"esri.layers.rasterLib.renderer.RasterClassBreaksRenderer",rendererName:"ClassBreaks",renderTexture:!0,constructor:function(k){k=k||{};this._function=new q(k);this._function.outputPixelType="U8";var e=
k.classBreakInfos;k=k.minValue;null!=k&&e&&(this._function.functionArguments.colorBreaks=this._getSortedColorBreaks(k,e))},bind:function(k){this.inherited(arguments);this.isColormapFunction=!1;var e=this.raster&&this.raster.rasterInfo||this._rawRasterInfo,a=e&&e.vat;if(a&&"u8"===e.pixelType.toLowerCase()&&this.classBreakInfos){var b=this.field;if(e=a.fields.filter(function(l){return"value"===l.name.toLowerCase()})[0])var m=e.name;var g=a.features.sort(function(l,t){return parseFloat(l.attributes[b])-
parseFloat(t.attributes[b])})[0].attributes[b];this.isColormapFunction=!0;var c=[],d=this.field,f=this.classBreakInfos;f.forEach(function(l,t){a.features.forEach(function(u){var r=f[t-1]&&f[t-1].classMaxValue||g;u.attributes[d]<=l.classMaxValue&&(u.attributes[d]>r||u.attributes[d]===g)&&(r=l.symbol.color,c.some(function(x){return x[0]===u.attributes[m]})||c.push([u.attributes[m]].concat(r)))})});this._function=new n({colormap:c});this.colormap=c;this._function.outputPixelType="U8";this._function.renderTexture=
!0}this._function&&this._function.setProcessingContext(h.mixin({useProcessedData:!0},this._processingContext))},draw2D:function(k){if(this.isColormapFunction)return this._updateColormapParameters(),k=this._clonePixelData(k),k=this._function._colorize(k);this._updateRemapParameters();return this._function._remap(k)},drawGL:function(k){this.isColormapFunction?(this._updateColormapParameters(),this._function._colorizeGL(k)):(this._function.renderTexture=!0,this._updateRemapParameters(),this._function._remapGL(k))},
toJson:function(){var k=this._function.toJson().rasterFunctionArguments;return{rendererName:this.rendererName,rendererArguments:k}},toCommonRendererJson:function(){var k,e=this.classBreakInfos,a=this.colorBreaks;if(null==e&&a)for(e=[],k=0;k<a.length-1;k++)e.push({classMaxValue:a[k+1].value,symbol:{color:a[k].mappedColor,type:"esriSFS",style:"esriSFSSolid"},label:a[k].value+" - "+a[k+1].value});return{type:"classBreaks",field:"Value",minValue:null!=this.minValue?this.minValue:a[0].value,classBreakInfos:e}},
_updateRemapParameters:function(){var k=this.classBreakInfos,e=this.minValue;null!=e&&k&&(this._function.functionArguments.colorBreaks=this._getSortedColorBreaks(e,k))},_getSortedColorBreaks:function(k,e){e=e.map(function(b){return{maxValue:b.classMaxValue,color:b.symbol.color}}).sort(function(b,m){return b.maxValue-m.maxValue});var a=[{value:k,mappedColor:e[0].color}];for(k=0;k<e.length;k++)a.push({value:e[k].maxValue,mappedColor:k===e.length-1?e[k].color:e[k+1].color});return a},_updateColormapParameters:function(){this._function.functionArguments.colormap=
this.colormap;this._function.interpolation=this.interpolation}})})},"esri/layers/rasterLib/renderer/RasterShadedReliefRenderer":function(){define("dojo/_base/declare dojo/_base/lang ./RasterRenderer ../function/HillshadeFunction ../function/ContrastBrightnessFunction ../function/ColormapFunction ../function/rasterUtils".split(" "),function(I,h,p,n,q,k,e){return I([p],{declaredClass:"esri.layers.rasterLib.renderer.RasterShadedReliefRenderer",rendererName:"ShadedRelief",hillshadeType:null,azimuth:315,
altitude:45,zFactor:1,slopeType:null,psPower:.664,psFactor:.024,raster:null,constructor:function(a){this.hillshadeType="number"===typeof this.hillshadeType?this.hillshadeType:["traditional","multi-directional"].indexOf(this.hillshadeType);a&&a.scalingType&&(this.slopeType="adjusted"===a.scalingType?3:1);a&&a.pixelSizePower&&(this.psPower=a.pixelSizePower);a&&a.pixelSizeFactor&&(this.psFactor=a.pixelSizeFactor);a=h.mixin({},a,{hillshadeType:this.hillshadeType,psPower:this.psPower,psFactor:this.psFactor,
slopeType:this.slopeType});Object.keys(a).forEach(function(b){null==a[b]&&delete a[b]});this._function=new q(a);this._hillshadeFunction=new n(a);this._hillshadeFunction.outputPixelType="U8";this._hillshadeFunction.renderTexture=!1;this._function.functionArguments.raster=this._hillshadeFunction},hasTilingEffects:function(){return this._hillshadeFunction.hasTilingEffects()},draw2D:function(a){this._updateHillshadeParameters();a=this._clonePixelData(a);a=this._hillshadeFunction.read2D({raster:a});if(this.contrastOffset||
this.brightnessOffset)a.pixelBlock=e.contrastBrightnessStretch(a.pixelBlock,{contrastOffset:this.contrastOffset,brightnessOffset:this.brightnessOffset});return a},drawGL:function(a){this._updateHillshadeParameters();this.contrastOffset||this.brightnessOffset?(this._hillshadeFunction.renderTexture=!1,this._function.renderTexture=!0,a=this._hillshadeFunction.readGL({raster:a}),this._function._cbGL(a)):(this._hillshadeFunction.renderTexture=!0,this._hillshadeFunction.readGL({raster:a}))},toJson:function(){var a=
this._hillshadeFunction.toJson().rasterFunctionArguments;a.colorRamp=this.colorRamp||"";this.invert&&(a.invert=!0);a.contrastOffset=this.contrastOffset;a.brightnessOffset=this.brightnessOffset;return{rendererName:this.rendererName,rendererArguments:a}},toCommonRendererJson:function(){return{type:"rasterShadedRelief",hillshadeType:["traditional","multi-directional"][this.hillshadeType]||"traditional",azimuth:this.azimuth,altitude:this.altitude,zFactor:this.zFactor,scalingType:3===this.slopeType?"adjusted":
"none",pixelSizePower:this.psPower,pixelSizeFactor:this.psFactor,colorRamp:this.colorRamp&&this.colorRamp.toJson?this.colorRamp.toJson():this.colorRamp}},_updateHillshadeParameters:function(){var a=this._hillshadeFunction.functionArguments;a.hillshadeType=this.hillshadeType;a.azimuth=this.azimuth;a.altitude=this.altitude;a.zFactor=this.zFactor;a.slopeType=this.slopeType;a.psPower=this.psPower;a.psFactor=this.psFactor}})})},"esri/layers/rasterLib/raster/rasterProjectionHelper":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/Deferred dojo/sniff ../../../kernel ../../../WKIDUnitConversion ../../../geometry/Extent ../../../geometry/projection ../../../geometry/webMercatorUtils ../../../SpatialReference ../../../geometry/Point".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g){I={requirePE:function(d,f){return!(d.equals(f)||d._canProject(f))},load:function(){var d=new p;if(!this._loadPromise)if(a.isSupported())this._loadPromise=a.load();else{var f=new p;f.reject("projection engine is not supported on this version of the browser, please try with a modern browser");this._loadPromise=f.promise}this._loadPromise.isFulfilled()?this._loadPromise.isResolved()?d.resolve():this._loadPromise.isRejected()&&d.resolve():(this._pendingdfds=this._pendingdfds||
[],this._pendingdfds.push(d),this._loadPromise.then(h.hitch(this,function(){this._pendingdfds.forEach(function(l){l.isFulfilled()||l.resolve()})}),h.hitch(this,function(){this._pendingdfds.forEach(function(l){l.isFulfilled()||l.reject()})})));return d.promise},computeError:function(d,f){return[Math.abs((d[0]+d[4]+d[4*f.rows]+d[4*f.rows+4])/4-d[2*f.rows+2]),Math.abs((d[1]+d[5]+d[4*f.rows+1]+d[4*f.rows+5])/4-d[2*f.rows+3])]},getDefaultDatumTransformationForDataset:function(d,f,l){if(!(f&&d.spatialReference&&
this.requirePE(d.spatialReference,f)&&a.isLoaded()))return null;d=new e(d.toJson());f=new m(f.toJson());return l?a.getTransformation(f,d.spatialReference,d):a.getTransformation(d.spatialReference,f,d)},project:function(d,f,l){if(!f||d.spatialReference.equals(f))return d;var t=a.isLoaded()?a:b;"esri.geometry.Extent"===d.declaredClass?d=new e(d.toJson()):"esri.geometry.Point"===d.declaredClass&&(d=new g(d.toJson()));f=new m(f.toJson());(d=t.project(d,f))&&"esri.geometry.Extent"===d.declaredClass?(d=
new e(d.toJson()),l&&(1E-5>Math.abs(d.xmin+180)&&1E-5>Math.abs(d.xmax-180)?(d.xmin=0,d.xmax=360):(0>d.xmin&&(d.xmin+=360,d.xmax+=360),0>d.xmax&&(d.xmax+=360)))):d&&"esri.geometry.Point"===d.declaredClass&&(d=new g(d.toJson()),l&&0>d.x&&(d.x+=360));return d},projectResolution:function(d,f,l){var t=l.xmin+(l.xmax-l.xmin)/2;l=l.ymin+(l.ymax-l.ymin)/2;d=new e(t,l,t+d.x,l+d.y,d.spatialReference);d=this.project(d,f);return new g(d.xmax-d.xmin,d.ymax-d.ymin,f)},getProjectionOffsetGrid:function(d,f,l,t,u,
r,x){null==x&&(x=[32,32]);var v=d.xmin,C=d.ymin,B=d.xmax,F=d.ymax,y=d.spatialReference,D=f.spatialReference,L=a.isLoaded()?a:b,E=u?-u:null,z=x[0]*l.x,A=x[1]*l.y;B={cols:Math.ceil((B-v)/z)+1,rows:Math.ceil((F-C)/A)+1};d=[];for(F=0;F<B.cols;F++){var G=N;var N=[];for(l=0;l<B.rows;l++){var H=new g({x:v+z*F,y:C+A*l,spatialReference:y});H=L.project(H,D,r);if(!H)return null;t&&0>H.x&&(H.x+=360);N.push(H);0<F&&null!=E&&H.x<G[l].x&&(H.x+=u-E,H.x<G[l].x&&(H.x+=u-E));d.push((H.x-f.xmin)/(f.xmax-f.xmin));d.push((H.y-
f.ymin)/(f.ymax-f.ymin))}}f=this.computeError(d,B);t=new Float32Array((B.cols-1)*(B.rows-1)*12);u=new Float32Array([-0,-1,1,-1,1,-0,1,-0,-0]);r=new Float32Array([-1,1,0,0,-1,1,1,0,0]);for(F=0;F<B.cols-1;F++)for(l=0;l<B.rows-1;l++){z=F*B.rows*2+2*l;v=d[z];C=d[z+1];N=d[z+2];y=d[z+3];z+=2*B.rows;D=d[z];L=d[z+1];E=d[z+2];A=d[z+3];G=0;H=12*(l*(B.cols-1)+F);for(z=0;3>z;z++)t[H++]=u[G++]*v+u[G++]*N+u[G++]*E;for(z=G=0;3>z;z++)t[H++]=u[G++]*C+u[G++]*y+u[G++]*A;for(z=G=0;3>z;z++)t[H++]=r[G++]*v+r[G++]*D+r[G++]*
E;for(z=G=0;3>z;z++)t[H++]=r[G++]*C+r[G++]*L+r[G++]*A}return{offsets:d,error:f,coefficients:t,spacing:x,size:[B.cols-1,B.rows-1]}},getHalfWorldWidth:function(d){var f=d&&d.wkid;if(null!=f)return d.isWebMercator()&&(f=3857),null==k[f]?180:c[f]}};n("extend-esri")&&h.setObject("layers.rasterLib.raster.rasterProjectionHelper",I,q);var c={3395:2.0037508342789244E7,3410:1.7334193943686873E7,3832:3339584.723798206,3857:2.0037508342788905E7,3975:1.7367530445161372E7,4087:2.0037508342789244E7,4088:2.0015108787169147E7,
6933:1.7367530445161372E7,8858:7396237.374497803,8859:2465412.4581659334,32662:2.0037508342789244E7,53001:2.001508679602057E7,53002:1.000754339801029E7,53003:2.001508679602057E7,53004:2.001508679602057E7,53016:1.4152803599503474E7,53017:1.7333573624304302E7,53025:7276828.3848298555,53031:1.0384677558821043E7,53034:2.001508679602057E7,53036:7389443.187332862,53037:2463147.729110953,53079:2.0015114352186374E7,53080:2.0015114352186374E7,54001:2.0037508342789244E7,54002:1.0018754171394624E7,54003:2.0037508342789244E7,
54004:2.0037508342789244E7,54016:1.4168658027268292E7,54017:1.736753044516137E7,54025:7311399.09166516,54031:1.0396310810074743E7,54034:2.0037508342789244E7,54050:808820.9223376509,54053:1920897.3915568967,54079:2.0037508342789244E7,54080:2.0037508342789244E7,54099:1.3524439768288724E7,54100:2.0037508342789244E7,54101:2.0037508342789244E7,102038:4297258.582585486,102299:5013965.117483125};return I})},"esri/geometry/projection":function(){define("require exports dojo/Deferred ./pe ../SpatialReference ./GeographicTransformation".split(" "),
function(I,h,p,n,q,k){function e(c,d,f,l,t){void 0===l&&(l=null);void 0===t&&(t=!1);if(null===l){var u=k.cacheKey(d,f);void 0!==g[u]?l=g[u]:(l=a(d,f,null),null===l&&(l=new k),g[u]=l)}return b._project(c,d,f instanceof q||!1===t?f:new q(f),l,t)}function a(c,d,f){void 0===f&&(f=null);c=b._getTransformation(c,d,f);return null!==c?k.fromGE(c):null}Object.defineProperty(h,"__esModule",{value:!0});var b=null;h.isLoaded=function(){return!!b&&n.isLoaded()};h.isSupported=function(){return n.isSupported()};
var m=null;h.load=function(){if(m)return m.promise;m=new p;var c=n.load();I(["./geometryEngine"],function(d){b=d;c.then(function(){b._enableProjection(n);m.resolve()},function(f){m.reject(f)})});return m.promise};h.project=function(c,d,f){void 0===f&&(f=null);return c instanceof Array?0===c.length?[]:e(c,c[0].spatialReference,d,f):e([c],c.spatialReference,d,f)[0]};var g={};h.projectMany=e;h.getTransformation=a;h.getTransformations=function(c,d,f){void 0===f&&(f=null);c=b._getTransformationBySuitability(c,
d,f);if(null!==c){d=[];for(f=0;f<c.length;f++)d.push(k.fromGE(c[f]));return d}return[]}})},"esri/geometry/pe":function(){define(["require","exports","../core/tsSupport/extendsHelper","dojo/Deferred","../core/sniff"],function(I,h,p,n,q){function k(u){function r(B,F,y){B[F]=y(B[F])}h._pe=u;c.init();d.init();f.init();l.init();t.init();h.PeGCSExtent=function(B){function F(){return null!==B&&B.apply(this,arguments)||this}p(F,B);F.prototype.destroy=function(){h._pe.destroy(this)};return F}(h._pe.PeGCSExtent);
for(var x=0,v=[h._pe.PeDatum,h._pe.PeGeogcs,h._pe.PeGeogtran,h._pe.PeObject,h._pe.PeParameter,h._pe.PePrimem,h._pe.PeProjcs,h._pe.PeSpheroid,h._pe.PeUnit];x<v.length;x++)u=v[x],r(u.prototype,"getName",function(B){return function(){return B.call(this,Array(c.PE_NAME_MAX))}});x=0;for(v=[h._pe.PeGeogtran,h._pe.PeProjcs];x<v.length;x++)u=v[x],r(u.prototype,"getParameters",function(B){return function(){for(var F=Array(c.PE_PARM_MAX),y=B.call(this),D=0;D<F.length;D++){var L=h._pe.getValue(y,"*");F[D]=L?
h._pe.wrapPointer(L,h._pe.PeParameter):null;y+=Int32Array.BYTES_PER_ELEMENT}return F}});r(h._pe.PeHorizon.prototype,"getCoord",function(B){return function(){var F=this.getSize();if(!F)return null;var y=[],D=B.call(this);m(y,F,D);return y}});r(h._pe.PeGTlistExtendedEntry.prototype,"getEntries",function(B){var F=h._pe._pe_getPeGTlistExtendedGTsSize();return function(){var y=null,D=B.call(this);if(!h._pe.compare(D,h._pe.NULL)){y=[D];var L=this.getSteps();if(1<L){D=h._pe.getPointer(D);for(var E=1;E<L;E++)y.push(h._pe.wrapPointer(D+
F*E,h._pe.PeGTlistExtendedGTs))}}return y}});var C=h._pe._pe_getPeHorizonSize();u=function(B){return function(){var F=this._cache;F||(this._cache=F=new Map);if(F.has(B))return F.get(B);var y=null,D=B.call(this);if(!h._pe.compare(D,h._pe.NULL)){y=[D];var L=D.getNump();if(1<L){D=h._pe.getPointer(D);for(var E=1;E<L;E++)y.push(h._pe.wrapPointer(D+C*E,h._pe.PeHorizon))}}F.set(B,y);return y}};r(h._pe.PeProjcs.prototype,"horizonGcsGenerate",u);r(h._pe.PeProjcs.prototype,"horizonPcsGenerate",u);h._pe.PeObject.prototype.toString=
function(B){void 0===B&&(B=c.PE_STR_OPTS_NONE);h._pe.ensureCache.prepare();var F=h._pe.getPointer(this),y=h._pe.ensureInt8(Array(c.PE_BUFFER_MAX));return h._pe.UTF8ToString(h._pe._pe_object_to_string_ext(F,B,y))}}function e(u){if(u){var r=h._pe.getClass(u);r&&(r=h._pe.getCache(r))&&(u=h._pe.getPointer(u))&&delete r[u]}}function a(u,r){var x=[];r=Array(r);for(var v=0;v<u;v++)x.push(h._pe.ensureInt8(r));return x}function b(u){if(Array.isArray(u[0])){var r=[];u.forEach(function(x){r.push(x[0],x[1])})}else r=
u;return r}function m(u,r,x,v){void 0===v&&(v=!1);if(v)for(v=0;v<2*r;v++)u[v]=h._pe.getValue(x+v*Float64Array.BYTES_PER_ELEMENT,"double");else{var C=0===u.length;for(v=0;v<r;v++)C&&(u[v]=Array(2)),u[v][0]=h._pe.getValue(x,"double"),u[v][1]=h._pe.getValue(x+Float64Array.BYTES_PER_ELEMENT,"double"),x+=2*Float64Array.BYTES_PER_ELEMENT}}Object.defineProperty(h,"__esModule",{value:!0});var g;h._pe=null;h.isLoaded=function(){return!!h._pe};h.isSupported=function(){return!!q("esri-wasm")};h.load=function(){if(g)return g.promise;
g=new n;I(["./support/pe-wasm"],function(u){u({locateFile:function(r){return I.toUrl("./support/"+r)},onAbort:function(r){g.reject(Error(r))}}).then(function(r){k(r);g.resolve()})});return g.promise};(function(u){function r(C,B,F){h._pe.ensureCache.prepare();var y=b(F),D=F===y;y=h._pe.ensureFloat64(y);(C=h._pe._pe_geog_to_proj(h._pe.getPointer(C),B,y))&&m(F,B,y,D);return C}function x(C,B,F){return v(C,B,F,0)}function v(C,B,F,y){h._pe.ensureCache.prepare();var D=b(F),L=F===D;D=h._pe.ensureFloat64(D);
(C=h._pe._pe_proj_to_geog_center(h._pe.getPointer(C),B,D,y))&&m(F,B,D,L);return C}u.geogToProj=r;u.projGeog=function(C,B,F,y){switch(y){case c.PE_TRANSFORM_P_TO_G:return x(C,B,F);case c.PE_TRANSFORM_G_TO_P:return r(C,B,F)}return 0};u.projToGeog=x;u.projToGeogCenter=v})(h.PeCSTransformations||(h.PeCSTransformations={}));var c;(function(u){u.init=function(){u.PE_BUFFER_MAX=h._pe.PeDefs.prototype.PE_BUFFER_MAX;u.PE_NAME_MAX=h._pe.PeDefs.prototype.PE_NAME_MAX;u.PE_MGRS_MAX=h._pe.PeDefs.prototype.PE_MGRS_MAX;
u.PE_USNG_MAX=h._pe.PeDefs.prototype.PE_USNG_MAX;u.PE_DD_MAX=h._pe.PeDefs.prototype.PE_DD_MAX;u.PE_DDM_MAX=h._pe.PeDefs.prototype.PE_DDM_MAX;u.PE_DMS_MAX=h._pe.PeDefs.prototype.PE_DMS_MAX;u.PE_UTM_MAX=h._pe.PeDefs.prototype.PE_UTM_MAX;u.PE_PARM_MAX=h._pe.PeDefs.prototype.PE_PARM_MAX;u.PE_TYPE_NONE=h._pe.PeDefs.prototype.PE_TYPE_NONE;u.PE_TYPE_GEOGCS=h._pe.PeDefs.prototype.PE_TYPE_GEOGCS;u.PE_TYPE_PROJCS=h._pe.PeDefs.prototype.PE_TYPE_PROJCS;u.PE_TYPE_GEOGTRAN=h._pe.PeDefs.prototype.PE_TYPE_GEOGTRAN;
u.PE_TYPE_COORDSYS=h._pe.PeDefs.prototype.PE_TYPE_COORDSYS;u.PE_TYPE_UNIT=h._pe.PeDefs.prototype.PE_TYPE_UNIT;u.PE_STR_OPTS_NONE=h._pe.PeDefs.prototype.PE_STR_OPTS_NONE;u.PE_STR_AUTH_NONE=h._pe.PeDefs.prototype.PE_STR_AUTH_NONE;u.PE_STR_AUTH_TOP=h._pe.PeDefs.prototype.PE_STR_AUTH_TOP;u.PE_STR_NAME_CANON=h._pe.PeDefs.prototype.PE_STR_NAME_CANON;u.PE_PARM_X0=h._pe.PeDefs.prototype.PE_PARM_X0;u.PE_PARM_ND=h._pe.PeDefs.prototype.PE_PARM_ND;u.PE_TRANSFORM_1_TO_2=h._pe.PeDefs.prototype.PE_TRANSFORM_1_TO_2;
u.PE_TRANSFORM_2_TO_1=h._pe.PeDefs.prototype.PE_TRANSFORM_2_TO_1;u.PE_TRANSFORM_P_TO_G=h._pe.PeDefs.prototype.PE_TRANSFORM_P_TO_G;u.PE_TRANSFORM_G_TO_P=h._pe.PeDefs.prototype.PE_TRANSFORM_G_TO_P;u.PE_HORIZON_RECT=h._pe.PeDefs.prototype.PE_HORIZON_RECT;u.PE_HORIZON_POLY=h._pe.PeDefs.prototype.PE_HORIZON_POLY;u.PE_HORIZON_LINE=h._pe.PeDefs.prototype.PE_HORIZON_LINE;u.PE_HORIZON_DELTA=h._pe.PeDefs.prototype.PE_HORIZON_DELTA}})(c=h.PeDefs||(h.PeDefs={}));(function(u){function r(B,F){var y=null,D=v[B];
D||(D={},v[B]=D);D.hasOwnProperty(String(F))?y=D[F]:(B=h._pe.PeFactory.prototype.factoryByType(B,F),h._pe.compare(B,h._pe.NULL)||(y=B,D[F]=y));return y=x(y)}function x(B){if(B){var F=B.getType();switch(F){case c.PE_TYPE_GEOGCS:B=h._pe.castObject(B,h._pe.PeGeogcs);break;case c.PE_TYPE_PROJCS:B=h._pe.castObject(B,h._pe.PeProjcs);break;case c.PE_TYPE_GEOGTRAN:B=h._pe.castObject(B,h._pe.PeGeogtran);break;default:F&c.PE_TYPE_UNIT&&(B=h._pe.castObject(B,h._pe.PeUnit))}}return B}var v={},C={};u.initialize=
function(){h._pe.PeFactory.prototype.initialize(null)};u.coordsys=function(B){return r(c.PE_TYPE_COORDSYS,B)};u.factoryByType=r;u.fromString=function(B,F){var y=null,D=C[B];D||(D={},C[B]=D);D.hasOwnProperty(F)?y=D[F]:(B=h._pe.PeFactory.prototype.fromString(B,F),h._pe.compare(B,h._pe.NULL)||(y=B,D[F]=y));return y=x(y)};u.geogcs=function(B){return r(c.PE_TYPE_GEOGCS,B)};u.geogtran=function(B){return r(c.PE_TYPE_GEOGTRAN,B)};u.getCode=function(B){return h._pe.PeFactory.prototype.getCode(B)};u.projcs=
function(B){return r(c.PE_TYPE_PROJCS,B)};u.unit=function(B){return r(c.PE_TYPE_UNIT,B)}})(h.PeFactory||(h.PeFactory={}));h.PeGCSExtent=null;var d;(function(u){var r;u.init=function(){u.PE_GTLIST_OPTS_COMMON=h._pe.PeGTlistExtended.prototype.PE_GTLIST_OPTS_COMMON;r=h._pe._pe_getPeGTlistExtendedEntrySize()};u.getGTlist=function(x,v,C,B,F,y){var D=null,L=new h._pe.PeInteger(y);try{var E=h._pe.PeGTlistExtended.prototype.getGTlist(x,v,C,B,F,L);if(y=L.val)if(D=[E],1<y){var z=h._pe.getPointer(E);for(x=1;x<
y;x++)D.push(h._pe.wrapPointer(z+r*x,h._pe.PeGTlistExtendedEntry))}}finally{h._pe.destroy(L)}return D}})(d=h.PeGTlistExtended||(h.PeGTlistExtended={}));(function(u){u.destroy=function(r){if(r&&r.length){for(var x=0;x<r.length;x++){var v=r[x];e(v);v.getEntries().forEach(function(C){e(C);C=C.getGeogtran();e(C);C.getParameters().forEach(e);[C.getGeogcs1(),C.getGeogcs2()].forEach(function(B){e(B);var F=B.getDatum();e(F);e(F.getSpheroid());e(B.getPrimem());e(B.getUnit())})})}h._pe.PeGTlistExtendedEntry.prototype.Delete(r[0])}}})(h.PeGTlistExtendedEntry||
(h.PeGTlistExtendedEntry={}));(function(u){u.geogToGeog=function(r,x,v,C,B){h._pe.ensureCache.prepare();var F=b(v),y=v===F;F=h._pe.ensureFloat64(F);var D=0;C&&(D=h._pe.ensureFloat64(C));(r=h._pe._pe_geog_to_geog(h._pe.getPointer(r),x,F,D,B))&&m(v,x,F,y);return r}})(h.PeGTTransformations||(h.PeGTTransformations={}));(function(u){function r(v,C,B,F,y,D){h._pe.ensureCache.prepare();switch(v){case "dd":var L=h._pe._pe_geog_to_dd;var E=c.PE_DD_MAX;break;case "ddm":L=h._pe._pe_geog_to_ddm;E=c.PE_DDM_MAX;
break;case "dms":L=h._pe._pe_geog_to_dms,E=c.PE_DMS_MAX}v=0;C&&(v=h._pe.getPointer(C));C=b(F);C=h._pe.ensureFloat64(C);E=a(B,E);F=h._pe.ensureInt32(E);if(y=L(v,B,C,y,F))for(L=0;L<B;L++)D[L]=h._pe.UTF8ToString(E[L]);return y}function x(v,C,B,F,y){h._pe.ensureCache.prepare();switch(v){case "dd":var D=h._pe._pe_dd_to_geog;break;case "ddm":D=h._pe._pe_ddm_to_geog;break;case "dms":D=h._pe._pe_dms_to_geog}v=0;C&&(v=h._pe.getPointer(C));C=F.map(function(L){return h._pe.ensureString(L)});F=h._pe.ensureInt32(C);
C=h._pe.ensureFloat64(Array(2*B));(D=D(v,B,F,C))&&m(y,B,C);return D}u.geog_to_dms=function(v,C,B,F,y){return r("dms",v,C,B,F,y)};u.dms_to_geog=function(v,C,B,F){return x("dms",v,C,B,F)};u.geog_to_ddm=function(v,C,B,F,y){return r("ddm",v,C,B,F,y)};u.ddm_to_geog=function(v,C,B,F){return x("ddm",v,C,B,F)};u.geog_to_dd=function(v,C,B,F,y){return r("dd",v,C,B,F,y)};u.dd_to_geog=function(v,C,B,F){return x("dd",v,C,B,F)}})(h.PeNotationDms||(h.PeNotationDms={}));var f;(function(u){u.init=function(){u.PE_MGRS_STYLE_NEW=
h._pe.PeNotationMgrs.prototype.PE_MGRS_STYLE_NEW;u.PE_MGRS_STYLE_OLD=h._pe.PeNotationMgrs.prototype.PE_MGRS_STYLE_OLD;u.PE_MGRS_STYLE_AUTO=h._pe.PeNotationMgrs.prototype.PE_MGRS_STYLE_AUTO;u.PE_MGRS_180_ZONE_1_PLUS=h._pe.PeNotationMgrs.prototype.PE_MGRS_180_ZONE_1_PLUS;u.PE_MGRS_ADD_SPACES=h._pe.PeNotationMgrs.prototype.PE_MGRS_ADD_SPACES};u.geog_to_mgrs_extended=function(r,x,v,C,B,F,y){h._pe.ensureCache.prepare();var D=0;r&&(D=h._pe.getPointer(r));r=b(v);v=h._pe.ensureFloat64(r);r=a(x,c.PE_MGRS_MAX);
var L=h._pe.ensureInt32(r);if(C=h._pe._pe_geog_to_mgrs_extended(D,x,v,C,B,F,L))for(B=0;B<x;B++)y[B]=h._pe.UTF8ToString(r[B]);return C};u.mgrs_to_geog_extended=function(r,x,v,C,B){h._pe.ensureCache.prepare();var F=0;r&&(F=h._pe.getPointer(r));r=v.map(function(y){return h._pe.ensureString(y)});v=h._pe.ensureInt32(r);r=h._pe.ensureFloat64(Array(2*x));(C=h._pe._pe_mgrs_to_geog_extended(F,x,v,C,r))&&m(B,x,r);return C}})(f=h.PeNotationMgrs||(h.PeNotationMgrs={}));(function(u){u.geog_to_usng=function(r,
x,v,C,B,F,y){h._pe.ensureCache.prepare();var D=0;r&&(D=h._pe.getPointer(r));r=b(v);v=h._pe.ensureFloat64(r);r=a(x,c.PE_MGRS_MAX);var L=h._pe.ensureInt32(r);if(C=h._pe._pe_geog_to_usng(D,x,v,C,B,F,L))for(B=0;B<x;B++)y[B]=h._pe.UTF8ToString(r[B]);return C};u.usng_to_geog=function(r,x,v,C){h._pe.ensureCache.prepare();var B=0;r&&(B=h._pe.getPointer(r));r=v.map(function(F){return h._pe.ensureString(F)});v=h._pe.ensureInt32(r);r=h._pe.ensureFloat64(Array(2*x));(B=h._pe._pe_usng_to_geog(B,x,v,r))&&m(C,x,
r);return B}})(h.PeNotationUsng||(h.PeNotationUsng={}));var l;(function(u){u.init=function(){u.PE_UTM_OPTS_NONE=h._pe.PeNotationUtm.prototype.PE_UTM_OPTS_NONE;u.PE_UTM_OPTS_ADD_SPACES=h._pe.PeNotationUtm.prototype.PE_UTM_OPTS_ADD_SPACES;u.PE_UTM_OPTS_NS=h._pe.PeNotationUtm.prototype.PE_UTM_OPTS_NS};u.geog_to_utm=function(r,x,v,C,B){h._pe.ensureCache.prepare();var F=0;r&&(F=h._pe.getPointer(r));r=b(v);v=h._pe.ensureFloat64(r);r=a(x,c.PE_UTM_MAX);var y=h._pe.ensureInt32(r);if(C=h._pe._pe_geog_to_utm(F,
x,v,C,y))for(F=0;F<x;F++)B[F]=h._pe.UTF8ToString(r[F]);return C};u.utm_to_geog=function(r,x,v,C,B){h._pe.ensureCache.prepare();var F=0;r&&(F=h._pe.getPointer(r));r=v.map(function(y){return h._pe.ensureString(y)});v=h._pe.ensureInt32(r);r=h._pe.ensureFloat64(Array(2*x));(C=h._pe._pe_utm_to_geog(F,x,v,C,r))&&m(B,x,r);return C}})(l=h.PeNotationUtm||(h.PeNotationUtm={}));var t;(function(u){var r=new Map;u.init=function(){u.PE_PCSINFO_OPTION_NONE=h._pe.PePCSInfo.prototype.PE_PCSINFO_OPTION_NONE;u.PE_PCSINFO_OPTION_DOMAIN=
h._pe.PePCSInfo.prototype.PE_PCSINFO_OPTION_DOMAIN;u.PE_POLE_OUTSIDE_BOUNDARY=h._pe.PePCSInfo.prototype.PE_POLE_OUTSIDE_BOUNDARY;u.PE_POLE_POINT=h._pe.PePCSInfo.prototype.PE_POLE_POINT};u.generate=function(x,v){void 0===v&&(v=u.PE_PCSINFO_OPTION_DOMAIN);var C;if(r.has(x)){var B=r.get(x);B[v]&&(C=B[v])}C||(C=h._pe.PePCSInfo.prototype.generate(x,v),B||(B=[],r.set(x,B)),B[v]=C);return C}})(t=h.PePCSInfo||(h.PePCSInfo={}));(function(u){u.version_string=function(){return h._pe.PeVersion.prototype.version_string()}})(h.PeVersion||
(h.PeVersion={}));h._init=k})},"esri/core/tsSupport/extendsHelper":function(){define([],function(){return function(){var I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,p){h.__proto__=p}||function(h,p){for(var n in p)p.hasOwnProperty(n)&&(h[n]=p[n])};return function(h,p){function n(){this.constructor=h}I(h,p);h.prototype=null===p?Object.create(p):(n.prototype=p.prototype,new n)}}()})},"esri/geometry/GeographicTransformation":function(){define(["require","exports","./GeographicTransformationStep"],
function(I,h,p){return function(){function n(q){this.steps=[];this._cached_projection={};this._chain="";this._gtlistentry=null;if(q&&q.steps){var k=0;for(q=q.steps;k<q.length;k++){var e=q[k];e instanceof p?this.steps.push(e):this.steps.push(new p({wkid:e.wkid,wkt:e.wkt,isInverse:e.isInverse}))}}}n.cacheKey=function(q,k){return[void 0!==q.wkid&&null!==q.wkid?q.wkid.toString():"-1",void 0!==q.wkt&&null!==q.wkt?q.wkt.toString():"",void 0!==k.wkid&&null!==k.wkid?k.wkid.toString():"-1",void 0!==k.wkt&&
null!==k.wkt?k.wkt.toString():""].join()};n.fromGE=function(q){var k=new n,e="",a=0;for(q=q.steps;a<q.length;a++){var b=p.fromGE(q[a]);k.steps.push(b);e+=b.uid.toString()+","}k._cached_projection={};k._gtlistentry=null;k._chain=e;return k};n.prototype.getInverse=function(){var q=new n;q.steps=[];for(var k=this.steps.length-1;0<=k;k--)q.steps.push(this.steps[k].getInverse());return q};n.prototype.getGTListEntry=function(){for(var q="",k=0,e=this.steps;k<e.length;k++)q+=e[k].uid.toString()+",";q!==
this._chain&&(this._gtlistentry=null,this._cached_projection={},this._chain=q);return this._gtlistentry};n.prototype.assignCachedGe=function(q,k,e){this._cached_projection[n.cacheKey(q,k)]=e};n.prototype.getCachedGeTransformation=function(q,k){for(var e="",a=0,b=this.steps;a<b.length;a++)e+=b[a].uid.toString()+",";e!==this._chain&&(this._gtlistentry=null,this._cached_projection={},this._chain=e);q=this._cached_projection[n.cacheKey(q,k)];return void 0===q?null:q};return n}()})},"esri/geometry/GeographicTransformationStep":function(){define(["require",
"exports"],function(I,h){var p=0;return function(){function n(q){void 0===q&&(q=null);this.uid=p++;q?(this._wkt=void 0!==q.wkt?q.wkt:null,this._wkid=void 0!==q.wkid?q.wkid:-1,this._isInverse=void 0!==q.isInverse?!0===q.isInverse:!1):(this._wkt=null,this._wkid=-1,this._isInverse=!1)}n.fromGE=function(q){var k=new n;k._wkt=q.wkt;k._wkid=q.wkid;k._isInverse=q.isInverse;return k};Object.defineProperty(n.prototype,"wkt",{get:function(){return this._wkt},set:function(q){this._wkt=q;this.uid=p++},enumerable:!0,
configurable:!0});Object.defineProperty(n.prototype,"wkid",{get:function(){return this._wkid},set:function(q){this._wkid=q;this.uid=p++},enumerable:!0,configurable:!0});Object.defineProperty(n.prototype,"isInverse",{get:function(){return this._isInverse},set:function(q){this._isInverse=q;this.uid=p++},enumerable:!0,configurable:!0});n.prototype.getInverse=function(){var q=new n;q._wkt=this.wkt;q._wkid=this._wkid;q._isInverse=!this.isInverse;return q};return n}()})},"esri/layers/rasterLib/raster/TileServiceRaster":function(){define("require dojo/_base/declare dojo/_base/lang dojo/_base/Deferred dojo/_base/array dojo/_base/config dojo/_base/json dojo/sniff dojo/DeferredList dojo/when ../../../kernel ../../../Evented ../../../request ../../../geometry/Extent ../../../geometry/Point ../../../SpatialReference ../../../deferredUtils ../../../urlUtils ../../PixelBlock ../../rasterFormats/rasterCodec ../tile/RasterTileInfo ./RasterInfo ./BasicRaster".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F){I=h([F],{declaredClass:"esri.layers.rasterLib.raster.TileServiceRaster",constructor:function(y){},open:function(){var y=new n,D=this.serviceInfo||this._getServiceInfo(null),L=p.hitch(this,function(z){this.serviceInfo=z;this.version=z.currentVersion;this.rasterInfo=this._parseRasterInfo(z);this.loaded=!0;this._getRasterIdentifier();y.resolve(this)}),E=p.hitch(this,function(z){this.loaded=!0;this._getRasterIdentifier();y.reject(z)});m(D,L,E);return y.promise},
read:function(y){var D=this.url+"/tile/"+y.level+"/"+y.row+"/"+y.col,L={width:this.tileInfo.cols,height:this.tileInfo.rows,planes:null,pixelType:null,format:null,decodeFunc:null,isPoint:"elevation"===this.tileType.toLowerCase()?!0:!1};return this._requestPixels({url:D+(this.disableClientCaching?"?_ts\x3d "+(new Date).getTime():""),payload:{},decodeParams:L,tileOptions:y})},identify:function(y,D){null==D&&(D=this.tileInfo.lods[this.tileInfo.lods.length-1].level);var L=(y.x-this.tileInfo.origin.x)/
this.tileInfo.lods[D].resolution/this.tileInfo.cols;y=(this.tileInfo.origin.y-y.y)/this.tileInfo.lods[D].resolution/this.tileInfo.rows;var E=Math.floor(L),z=Math.floor(y),A=Math.floor((L-E)*this.tileInfo.cols);A=Math.min(A,this.tileInfo.cols-1);var G=Math.floor((y-z)*this.tileInfo.rows);G=Math.min(G,this.tileInfo.rows-1);var N=new n;this.read({level:D,row:z,col:E}).then(function(H){var M=G*H.width+A;H&&H.pixels&&0<H.pixels.length?(H=H.mask?H.mask[M]?H.pixels.map(function(T){return T[M]}):null:H.pixels.map(function(T){return T[M]}),
N.resolve(H)):N.reject("no valid data")},function(H){N.reject(H)});return N.promise},setFetchParameters:function(y,D){},_getRasterIdentifier:function(){this._rasterId||(this._rasterId=this.url.replace("http:","").replace("https:",""));return this._rasterId},_getServiceInfo:function(){var y=this.url,D=new n(u._dfdCanceller);D._pendingDfd=d({url:y,content:{f:"json"},handleAs:"json",callbackParamName:"callback"});D._pendingDfd.then(function(L){D.callback(L)},function(L){D.errback(L)});return D},_parseRasterInfo:function(y){var D=
new B;D.extent=new f(y.fullExtent);D.spatialReference=new t(y.spatialReference);this.tileType=y.cacheType||"Map";switch(this.tileType){case "Map":D.bandCount=3;D.pixelType="U8";this.dataType="Processed";break;case "Elevation":D.bandCount=1;D.pixelType=y.pixelType||"F32";this.dataType="Elevation";break;case "Raster":D.bandCount=null,D.pixelType=null,this.dataType=y.serviceDataType&&y.serviceDataType.replace("esriImageServiceDataType","")||"Generic"}var L=y.tileInfo;D.width=Math.floor((y.fullExtent.xmax-
y.fullExtent.xmin)/L.lods[L.lods.length-1].resolution+.5);D.height=Math.floor((y.fullExtent.ymax-y.fullExtent.ymin)/L.lods[L.lods.length-1].resolution+.5);D.cellSize=new l({x:L.lods[L.lods.length-1].resolution,y:L.lods[L.lods.length-1].resolution,spatialReference:y.spatialReference});this.tileInfo=new C(L);this.tileInfo.tileType=this.tileType;return D}});a("extend-esri")&&p.setObject("layers.rasterLib.raster.TileServiceRaster",I,g);return I})},"esri/layers/rasterLib/raster/TileRaster":function(){define("require dojo/_base/declare dojo/_base/lang dojo/_base/Deferred dojo/_base/array dojo/_base/config dojo/_base/json dojo/sniff dojo/DeferredList dojo/when ../../../kernel ../../../Evented ../../../request ../../../geometry/Extent ../../../geometry/Point ../../../SpatialReference ../../../deferredUtils ../../../urlUtils ../../PixelBlock ../../rasterFormats/rasterCodec ../tile/RasterTileInfo ./RasterInfo ./BasicRaster".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F){I=h([F],{declaredClass:"esri.layers.rasterLib.raster.TileRaster",sourceType:"TileCache",_RECORD_SIZE:8,constructor:function(y){this._cloudBlobStorage=y&&y._cloudBlobStorage},open:function(){var y=new n,D=this.datasetInfo||this._getDatasetInfo(null),L=p.hitch(this,function(z){this.datasetInfo=z;this.rasterInfo=z=this._parseRasterInfo(z);this.tileType="Cache/LERC"===z.format?"Elevation":"Cache/MIXED"===z.format||"Cache/JPEG"===z.format||"Cache/PNG"===
z.format?"Map":"Raster";this.tileInfo=z.tileInfo;this.dataType=["Generic","Elevation","Processed"][["Raster","Elevation","Map"].indexOf(this.tileType)];this._HEADER_SIZE=z.packetSize*z.packetSize*this._RECORD_SIZE+64;this.loaded=!0;this._cloudBlobStorage=this._cloudBlobStorage||-1<this.url.toLowerCase().indexOf("s3.amazonaws.com")||-1<this.url.toLowerCase().indexOf("windows.net")||-1<this.url.toLowerCase().indexOf("googleapis.com");this._getRasterIdentifier();y.resolve(this)}),E=p.hitch(this,function(z){this.loaded=
!0;this._getRasterIdentifier();y.reject(z)});m(D,L,E);return y.promise},read:function(y){var D=new n,L=y.level,E=y.row,z=y.col,A=this._buildCacheFilePath(this.url,L,E,z),G=this._getIndexRecordFromBundle(L,E,z);d({url:A,content:{},headers:{Range:"bytes\x3d0-"+(this._HEADER_SIZE-1).toString()},handleAs:"arraybuffer"}).then(p.hitch(this,function(N,H){if(!D.isCanceled()){console.log("time in ms request "+(new Date-M));var M=new Date;N=new Uint8Array(N);N=this._getTileEndAndContentType(N,G);H={width:this.tileInfo.cols,
height:this.tileInfo.rows,planes:null,pixelType:null,format:null,decodeFunc:null,isPoint:"elevation"===this.tileType.toLowerCase()?!0:!1};this._requestPixels({url:A+(this.disableClientCaching?"?_ts\x3d "+(new Date).getTime():""),payload:{},headers:{Range:"bytes\x3d"+N.position.toString()+"-"+(N.position+N.recordSize).toString()},decodeParams:H,tileOptions:y}).then(function(T){D.isCanceled()||D.resolve(T)},function(T){D.isCanceled()||D.reject(T)})}}));return D.promise},identify:function(){return null},
setFetchParameters:function(y,D){},toJson:function(){return{url:this.url,tileInfo:this.tileInfo.toJson(),rasterInfo:this.rasterInfo.toJson(),datasetInfo:this.datasetInfo,sourceType:this.sourceType,tileType:this.tileType,_rasterId:this._rasterId}},_getDatasetInfo:function(){return d({url:this.url+"/conf.json",handleAs:"json",content:{}})},_parseRasterInfo:function(y){var D=new B;switch(y.pixelType){case 1:var L="U1";break;case 1:L="U2";break;case 2:L="U4";break;case 3:L="U8";break;case 4:L="S8";break;
case 5:L="U16";break;case 6:L="S16";break;case 7:L="U32";break;case 8:L="S32";break;case 9:L="F32";break;default:L="F32"}var E,z=[],A=y.LODInfos;for(E=0;E<A.levels.length;E++)z.push({level:A.levels[E],resolution:A.resolutions[E],scale:96/.0254*A.resolutions[E]});E=new t(y.extent.spatialReference||y.geodataXform.spatialReference);z=new C({rows:y.blockHeight,cols:y.blockWidth,dpi:96,format:y.format,compressionQuality:0,origin:y.origin,spatialReference:E,lods:z});D.pixelType=L;D.bandCount=y.bandCount;
D.spatialReference=E;D.extent=new f({xmin:y.extent.xmin,ymin:y.extent.ymin,xmax:y.extent.xmax,ymax:y.extent.ymax,spatialReference:E});D.cellSize=new l({x:y.pixelSizeX,y:y.pixelSizeY,spatialReference:E});D.width=Math.floor((D.extent.xmax-D.extent.xmin)/D.cellSize.x+.5);D.height=Math.floor((D.extent.ymax-D.extent.ymin)/D.cellSize.y+.5);D.statistics=y.statistics.map(function(G){Object.keys(G).forEach(function(N){isNaN(G[N])&&(G[N]=null)});return G});D.histograms=y.histograms;D.geodataXform=y.geodataXform;
D.packetSize=y.packetSize;D.format=y.format;D.compressionQuality=y.compressionQuality;D.tileInfo=z;return D},_getRasterIdentifier:function(){this._rasterId||(this._rasterId=this.url.replace("http:","").replace("https:",""));return this._rasterId},_buildCacheFilePath:function(y,D,L,E){var z=this.rasterInfo.packetSize;E=Math.floor(E/z)*z;L="R"+this._toHexString4(Math.floor(L/z)*z)+"C"+this._toHexString4(E);z="L";z=10<=D?z+D.toString():z+("0"+D.toString());return this._cloudBlobStorage?y+"/_alllayers/"+
z+"/"+L+".bundle":y+"/"+z+"_"+L+"/bundle"},_getIndexRecordFromBundle:function(y,D,L){y=this.rasterInfo.packetSize;D=D%y*y+L%y;if(0>D)throw"Invalid level / row / col";return D*this._RECORD_SIZE+64},_getTileEndAndContentType:function(y,D){y=y.subarray(D,D+8);D=0;var L;for(L=0;5>L;L++)D|=(y[L]&255)<<8*L;var E=D&0xffffffffff;D=0;for(L=5;8>L;L++)D|=(y[L]&255)<<8*(L-5);return{position:E,recordSize:D&0xffffffffff}},_toHexString4:function(y){y=y.toString(16);if(4!=y.length)for(var D=4-y.length;0<D--;)y="0"+
y;return y}});a("extend-esri")&&p.setObject("layers.rasterLib.raster.TileRaster",I,g);return I})},"esri/layers/rasterLib/raster/FunctionRaster":function(){define("require dojo/_base/declare dojo/_base/lang dojo/_base/Deferred dojo/_base/array dojo/_base/config dojo/_base/json dojo/sniff ../DeferredList2 dojo/when ../../../kernel ../../../Evented ../../../request ../../../deferredUtils ../../../geometry/Extent ../../../geometry/Point ../../../SpatialReference ../../../deferredUtils ../../../urlUtils ../../rasterFormats/rasterCodec ./RasterInfo ./BasicRaster ../../rasterLib/function/rasterFunctionHelper".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F){I=h([B],{declaredClass:"esri.layers.rasterLib.raster.FunctionRaster",rasterFunction:null,sourceType:"Function",constructor:function(y){y&&y.rasterFx&&this._init(y.rasterFx,y.rasterFxArgs)},open:function(){var y=this.getMemberRasters().map(function(L){return L.open()});this.identifiers=this.getMemberRasters().map(function(L){return L._rasterId});var D=new n;(new b(y,null,null,!0)).then(function(L){L.some(function(E){return!E[0]})?D.reject(L):
(this.rasterFunction.bind(),this.rasterInfo=this.rasterFunction.rasterInfo,this.dataType=this.rasterInfo.keyProperties&&this.rasterInfo.keyProperties.DataType||"Generic",this.tileInfo=L[0][1].tileInfo,D.resolve(this))}.bind(this));return D.promise},getProjectedFullExtent:function(y){var D=new n;this.getMemberRasters()[0].getProjectedFullExtent(y).then(p.hitch(this,function(L){this.projectedFullExtent=L;D.resolve(L)}));return D.promise},setProcessingContext:function(y){var D=y;y.layer&&(y=y.layer,
D={id:y.id,rawRasterInfo:y.raster.rasterInfo,glSetting:y._glSetting,xformSetting:y.tileManager&&y.tileManager.xformSetting,useWebGL:y.useWebGL,resampling:y.tileMode&&y.tileManager&&y.tileManager.xformSetting.requireProjection&&!y._hasTilingEffects&&"Thematic"!==y.raster.dataType?1:0,tileMode:y.tileMode});this.rasterFunction.setProcessingContext(D);this._layerOptions=D},alterDefinition:function(y){if(y=y||this.rasterFunction)1===this.memberRasters.length&&!y._bindComplete&&(this.rasterFunction=F.create(y,
{raster:this.memberRasters[0]}))&&(this.rasterFunction.bind(),this.rasterInfo=this.rasterFunction.rasterInfo,this.dataType=this.rasterInfo.keyProperties&&this.rasterInfo.keyProperties.DataType||"Generic",this.rasterFunction.setProcessingContext(this._layerOptions)),this._rasterHandler&&this._rasterHandler._connected&&this.rasterFunction&&this._rasterHandler.setRasterFunction({layerId:this._layerOptions.id,data:this.rasterFunction.toJson(!0)})},setFetchParameters:function(y,D){var L=this.getMemberRasters();
L&&1===L.length&&L[0].setFetchParameters(y,D)},getMemberRasters:function(){this.memberRasters||(this.memberRasters=[],this._getMemberRasters(this.rasterFunction.functionArguments,this.memberRasters));return this.memberRasters},read:function(y){var D=new n(f._dfdCanceller);if(y.src){var L=this.rasterFunction.read(y);D.resolve(L);return D.promise}var E=this.getMemberRasters().map(function(N){return N.read(y)});E=new b(E);var z,A,G=this.identifiers;D._pendingDfd=E;E.then(p.hitch(this,function(N){if(z=
N.some(function(H){return H[0]}))A={},N.forEach(function(H,M){A[G[M]]=H[0]?H[1]:null});L=A?this.rasterFunction.read({extent:y.extent,src:A}):null;L.srcData=A;D.resolve(L)}));return D},_init:function(y,D){if(this.rasterFunction=F.create(y,D))this.rasterFunction._bindComplete=!0;else throw"Cannot initialize a function raster without a raster function";},_getMemberRasters:function(y,D){var L=Object.keys(y),E,z,A;for(E=0;E<L.length;E++)if(A=y[L[E]]){var G=A instanceof Array?A:[A];for(z=0;z<G.length;z++)(A=
G[z])&&("function"===typeof A||"object"===typeof A)&&A.read&&(A.functionArguments?this._getMemberRasters(A.functionArguments,D):A.sourceType&&"Function"!==A.sourceType&&(A._identifier=A._getRasterIdentifier(),D.some(function(N){return N._identifier===A._identifier})||D.push(A)))}return D}});a("extend-esri")&&p.setObject("layers.rasterLib.raster.FunctionRaster",I,g);return I})},"esri/layers/rasterLib/DeferredList2":function(){define(["dojo/DeferredList"],function(I){return function(h,p,n,q,k){this.list=
h;p=new I(h,p,n,q,k);var e=p.resolve.bind(p),a=p.cancel.bind(p);p.cancel=function(){h&&h.forEach(function(b){b.cancel&&b.cancel()});a.apply(this,arguments)}.bind(p);p.resolve=function(){this.isFulfilled()||e.apply(this,arguments)}.bind(p);return p}})},"esri/layers/rasterLib/tile/RasterTileManager":function(){define("dojo/_base/declare dojo/_base/lang dojo/Deferred dojo/when ../DeferredList2 ../../../geometry/Extent ../../../SpatialReference ../../../geometry/Point ../../PixelBlock ./RasterTileInfo ../raster/rasterProjectionHelper".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g){var c=function(d,f){var l;for(l=0;l<d.length;l++)if(f(d[l]))return l;return-1};return I(null,{declaredClass:"esri.layers.rasterLib.tile.RasterTileManager",count:null,fullBoundary:null,tileBoundary:null,tiles:null,resolution:null,virtual:!0,prefetchBufferSize:0,_progressiveGlobal:!1,_MAX_TILES:128,_defaultMatrixResolution:20,constructor:function(d){this.tiles=[];this.xformSetting={};this.mapSpatialReference=d&&d.mapSR;this.layer=d&&d.layer;this.identifiers=this.layer.raster.rasterFunction?
this.layer.raster.getMemberRasters().map(function(f){return f._rasterId}):[this.layer.raster._rasterId];(d=d&&d.tileInfo)&&this.setTileInfo(d)},setTileInfo:function(d){this.tileInfo=d;this.virtual=d.virtual;this.mapResolution=null;this.tiles.length=0;this.xformSetting.requireProjection=!this.virtual&&!this.mapSpatialReference.equals(this.tileInfo.spatialReference);this.xformSetting.requirePE=g.requirePE(this.mapSpatialReference,this.tileInfo.spatialReference);this.xformSetting.meshSize=this.xformSetting.requireProjection?
[this._defaultMatrixResolution,this._defaultMatrixResolution]:[1,1];this.halfWorldWidth=g.getHalfWorldWidth(d.spatialReference)},updateResolution:function(d,f){if(!(this.mapResolution&&d&&this._resolutionEqual(this.mapResolution.x,d.x)&&this._resolutionEqual(this.mapResolution.y,d.y))){this.resetTiles();var l=this.xformSetting.requireProjection;this.mapResolution=this.resolution=d;l&&(this.resolution=g.projectResolution(d,this.tileInfo.spatialReference,this.layer.projectedFullExtent||f));this._resolution=
this.resolution;d=this.resolution;if(!this.tileInfo.virtual){l=.75*Math.min(d.x,d.y)+.25*Math.max(d.x,d.y);if(l>=this.tileInfo.lods[0].resolution){var t=this.tileInfo.lods[0];this.ooe=!0}else{if(l<=this.tileInfo.lods[this.tileInfo.lods.length-1].resolution)t=this.tileInfo.lods[this.tileInfo.lods.length-1];else for(d=0;d<this.tileInfo.lods.length-1;d++)if(t=this.tileInfo.lods[d],f=this.tileInfo.lods[d+1],t.resolution>=l&&f.resolution<=l){t.resolution-l>l-f.resolution&&(t=f);break}this.ooe=!1}this.level=
t&&t.level;d=this.resolution=new a({x:t.resolution,y:t.resolution,spatialReference:this.tileInfo.spatialReference})}l=this.layer.raster.rasterInfo.extent;t=this.tileInfo.origin;f=this.tileInfo.cols;var u=this.tileInfo.rows;this.fullBoundary={rowStart:Math.floor((t.y-l.ymax)/d.y/u),rowEnd:Math.floor((t.y-l.ymin-d.y)/d.y/u),colStart:Math.floor((l.xmin-t.x)/d.x/f),colEnd:Math.floor((l.xmax-t.x-d.x)/d.x/f)};if(l=this.halfWorldWidth){u=Math.ceil(l/d.x/(f/2));var r=this.tileInfo.applyGCS360Transform?360:
l,x=Math.round(f-(r-t.x)/d.x%f);x===f&&(x=0);this.fullBoundary.colRange=u;this.fullBoundary.paddingRight=x;this.fullBoundary.paddingLeft=Math.round((u*f*d.x+t.x-r-(this.tileInfo.applyGCS360Transform?0:t.x+l))/d.x)}this.hasNewData=!0}},getXformGrid:function(){var d=this.mapExtent,f=this.layer._hasTilingEffects?this.extent:this.fullExtent,l=this.layer.getCurrentResolution(),t=JSON.stringify(d.toJson())+JSON.stringify(f.toJson());this._datumTransformationInitialized||(this._datumTransformationInitialized=
!0,this._datumTransformation=g.getDefaultDatumTransformationForDataset(this.layer.raster.rasterInfo.extent,d.spatialReference,!0));this._cachedExtentString&&this._cachedExtentString===t||(this._cachedExtentString=t,this._xformGrid=d=g.getProjectionOffsetGrid(d,f,l,this.tileInfo.applyGCS360Transform,this.halfWorldWidth,this._datumTransformation));d=this._xformGrid;this.xformSetting.meshSize=d&&d.size;return d},getWrapTimes:function(d){var f=g.getHalfWorldWidth(d.spatialReference);if(!f)return 0;var l=
2*f;f=this.tileInfo.applyGCS360Transform?0:-f;return Math.floor((d.xmax-f)/l)-Math.floor((d.xmin-f)/l)},normalizeCoordinate:function(d,f){if(!f)return 0;var l=2*f;if(0<d){for(;d>f;)d-=l;return d}for(;d<-f;)d+=l;return d},resetTiles:function(){this.tiles.forEach(h.hitch(this,function(d){d.fetch&&!d.fetch.isCanceled()&&d.fetch.cancel();d.update&&!d.update.isCanceled()&&d.update.cancel()}));this.tiles.length=0},updateExtent:function(d,f){this.mapExtent=this.extent=d;var l=this.xformSetting.requireProjection;
if(l){this.extent=g.project(d,this.tileInfo.spatialReference,this.tileInfo.applyGCS360Transform);if(!this.extent)return;this.extent.spatialReference=new e(this.extent.spatialReference.toJson())}this.updateResolution(f,d);var t=this.extent,u=this.tileInfo,r=u.cols,x=u.rows;f=this.resolution;var v=t;l=l?this.layer.raster.rasterInfo.extent:this.layer.raster.projectedFullExtent;this.ooe&&(v=this._getIntersect(t,l));var C=Math.floor((v.xmin-u.origin.x)/f.x/r)-this.prefetchBufferSize,B=Math.floor((v.xmax-
u.origin.x)/f.x/r)+this.prefetchBufferSize,F=null;d=this.getWrapTimes(d);var y=this.fullBoundary&&this.fullBoundary.colRange;d&&this.halfWorldWidth&&(B===C&&(F=C),B+=d*y);var D=this.halfWorldWidth&&this.tiles.length&&(d!==this.wrapTimes||F!==this._circlularColId);D&&(this._wrapSwitchCount=this._wrapSwitchCount?this._wrapSwitchCount+1:1);this.wrapTimes=d;this._circlularColId=F;var L=Math.floor((u.origin.y-v.ymax)/f.y/x)-this.prefetchBufferSize;F=Math.floor((u.origin.y-v.ymin)/f.y/x)+this.prefetchBufferSize;
this.tileBoundary={rowStart:L,rowEnd:F,colStart:C,colEnd:B};var E,z;((v=(F-L+1)*(B-C+1)>this._MAX_TILES||!this.virtual&&this._resolution.x>8*this.tileInfo.lods[0].resolution)||2<d||D)&&this.resetTiles();if(!(v||2<d)){D=this.tiles;v=!1;for(E=D.length-1;0<=E;E--){var A=D[E].row;var G=D[E].wrapCol;if(A<L||A>F||G<C||G>B)D[E].fetch&&!D[E].fetch.isCanceled()&&D[E].fetch.cancel(),D[E].update&&!D[E].update.isCanceled()&&D[E].update.cancel(),D.splice(E,1),v=!0}for(E=L;E<=F;E++)for(z=C;z<=B;z++){L=new k(u.origin.x+
f.x*r*z,u.origin.y-f.y*x*(E+1),u.origin.x+f.x*r*(z+1),u.origin.y-f.y*x*E,t.spatialReference);var N=d&&y?0<=z?z%y:y- -z%y:z;A=c(D,function(H){return H.row===E&&H.col===N&&H.wrapCol===z});G=l.xmax>=L.xmax?r:Math.round((l.xmax-L.xmin)/f.x);-1===A&&(D.push({row:E,col:N,wrapCol:z,cellsizeX:f.x,cellsizeY:f.y,width:r,height:x,actualWidth:G,extent:L,normalizedExtent:this._wrapExtent(L,N),pixelBlock:null,virtual:this.virtual,level:this.level,tileType:this.tileInfo.tileType||"Raster"}),v=!0)}v&&this._sortTiles();
f=this.tileInfo.rows*(this.tileBoundary.rowEnd-this.tileBoundary.rowStart+1);this.width=this.tileInfo.cols*(this.tileBoundary.colEnd-this.tileBoundary.colStart+1);this.height=f;this.count=D.length;f=Math.min.apply(null,D.map(function(H){return H.extent.xmin}));u=Math.max.apply(null,D.map(function(H){return H.extent.xmax}));r=Math.min.apply(null,D.map(function(H){return H.extent.ymin}));x=Math.max.apply(null,D.map(function(H){return H.extent.ymax}));f=this.fullExtent=new k(f,r,u,x,t.spatialReference);
if(this.layer.roaming||this.layer.useWebGL)this.layer._hasTilingEffects?(this.xformSetting.offset=[0,0],this.xformSetting.scale=[1,1]):(v&&(this._tilesChanged=!0),this.xformSetting.offset=[(t.xmin-f.xmin)/(f.xmax-f.xmin),-(f.ymin-t.ymin)/(f.ymax-f.ymin)],this.xformSetting.scale=[(t.xmax-t.xmin)/(f.xmax-f.xmin),(t.ymax-t.ymin)/(f.ymax-f.ymin)])}},fetchTiles:function(d){(this._tilesChanged||d)&&this._fetchTiles(d)},_fetchTiles:function(d){this._fetchCounter=0;var f=this.extent;this.fetchAllCompleted=
d?new p:null;(this._tilesChanged||d&&this.layer._hasTilingEffects)&&this.tiles.forEach(h.hitch(this,function(t){t.updateCompleted=!1}));var l={};!this.layer.roaming&&this.layer._hasTilingEffects&&d?(this.identifiers.forEach(function(t,u){l[t]={extent:this.extent,pixelBlock:new b({width:this.layer._map.width,height:this.layer._map.height,pixels:[],pixelType:"",mask:null,statistics:[]})}}.bind(this)),this.originalPixelData={extent:this.extent,src:l,isEmpty:!0}):this._tilesChanged&&(this.identifiers.forEach(function(t,
u){l[t]={extent:this.fullExtent,pixelBlock:new b({width:128,height:128,pixels:[],pixelType:"",mask:null,statistics:[]})}}.bind(this)),this.originalPixelData={extent:this.fullExtent,src:l,isEmpty:!0});this.tiles.forEach(h.hitch(this,function(t){if(t.fetch)t.update||(t.update=this.updateTile(t));else{if(this._isTileOutSide(t,f)){t.updateCompleted=!0;return}this._requestTile(t)}this.layer.roaming&&this.layer.useWebGL?this._fillPixelData(t):t.src&&d&&(this.layer._hasTilingEffects||this.layer.useWebGL)&&
(this._fillPixelData(t),this.layer._hasTilingEffects&&(t.updateCompleted=!0),t.processedPixelBlock=null,t.renderedPixelBlock=null)}));0===this._fetchCounter&&(this._fetched=!0);this._tilesChanged=!1;d&&this._updateFetchStatus()},updateTile:function(d,f){var l=new p;if(!d.src&&!d.fetch)return l.resolve(d),l.promise;n(d.src||d._fetched||d.fetch,h.hitch(this,function(){var t=this.layer.tileMode&&this.layer._rasterHandler&&!(this.layer._hasTilingEffects||this.layer.useWebGL),u=this.layer._drawTile,r=
this._validateRawPixelBlocks(d);this.layer._hasTilingEffects&&!this.layer.useWebGL&&(u=u&&(this._progressiveGlobal||f));if((f||!f&&r)&&(t||u||this.layer.roaming)){if(this.xformSetting.requireProjection&&this.layer.useWebGL&&(this.xformSetting.gridConfig=this.getXformGrid(),null==this.xformSetting.gridConfig))return l.cancel(),l.promise;this._processTile(d,f).then(h.hitch(this,function(x){l.isCanceled()||this._renderTile(x,f).then(h.hitch(this,function(v){this.hasNewData=!1;l.isCanceled()||l.resolve(v)}))}))}else f||
r||(d.updateCompleted=!0),this.layer.useWebGL||this.layer._hasTilingEffects?l.resolve(this.originalPixelData):l.resolve()}));return l.promise},setLayer:function(d){this.layer=d},fillupTiles:function(){this.tiles.forEach(h.hitch(this,function(d){d.update&&d.updateCompleted&&!d.filled&&(d.updateCompleted=!1,this._fillPixelData(d),d.updateCompleted=!0)}))},_validateRawPixelBlocks:function(d){return d&&d.src&&!this.identifiers.some(function(f){return!(d.src[f].pixelBlock&&0!==d.src[f].pixelBlock.validPixelCount&&
d.src[f].pixelBlock.pixels&&0<d.src[f].pixelBlock.pixels.length)})},_wrapExtent:function(d,f){if(d){if(this.tileInfo.applyGCS360Transform){var l=this.normalizeCoordinate(d.xmin,180);0>l&&(l+=360);return new k({xmin:l,ymin:d.ymin,xmax:d.xmax-d.xmin+l,ymax:d.ymax,spatialReference:d.spatialReference})}if(this.halfWorldWidth){l=null!=f?new k({xmin:this.tileInfo.origin.x+this.tileInfo.cols*f*this.resolution.x,ymin:d.ymin,xmax:this.tileInfo.origin.x+this.tileInfo.cols*(f+1)*this.resolution.x,ymax:d.ymax,
spatialReference:d.spatialReference}):new k({xmin:d.xmin,ymin:d.ymin,xmax:d.xmax,ymax:d.ymax,spatialReference:d.spatialReference});f=this.normalizeCoordinate(l.xmin,this.halfWorldWidth);var t=f-l.xmin;.01<Math.abs(t)&&(l.xmin=f,l.xmax+=t)}return l||d}},_getIntersect:function(d,f){return new k(Math.max(d.xmin,f.xmin),Math.max(d.ymin,f.ymin),Math.min(d.xmax,f.xmax),Math.min(d.ymax,f.ymax),d.spatialReference)},_isTileOutSide:function(d,f){var l=!1;if(d.virtual){var t=d.normalizedExtent;if(f=f||(this.xformSetting.requireProjection?
this.layer.raster.rasterInfo.extent:this.layer.raster.projectedFullExtent)){d=t.xmin-this.prefetchBufferSize*this.tileInfo.cols*this.resolution.x;l=t.ymin-this.prefetchBufferSize*this.tileInfo.rows*this.resolution.y;var u=t.xmax+this.prefetchBufferSize*this.tileInfo.cols*this.resolution.x;t=t.ymax+this.prefetchBufferSize*this.tileInfo.rows*this.resolution.y;l=u<=f.xmin||d>=f.xmax||t<=f.ymin||l>=f.ymax}else l=!1}else l=0>d.level||d.row<this.fullBoundary.rowStart||d.row>this.fullBoundary.rowEnd||d.col<
this.fullBoundary.colStart||d.col>this.fullBoundary.colEnd;return l},_resolutionEqual:function(d,f){return d===f||d&&f&&Math.abs(d-f)<Math.abs(f/1E4)?!0:!1},_requestTile:function(d){var f=this.identifiers,l;if(this._isTileOutSide(d)){var t=new p;d.updateCompleted=!0;t.resolve(null);t=t.promise}else t=this.layer.raster.rasterFunction?new q(this.layer.raster.getMemberRasters().map(function(u){return u.read(d)})):new q([this.layer.raster.read(d)]);d.fetch=t;this._fetchCounter++;n(d.src||d._fetched||
t,h.hitch(this,function(u){if(l=u&&u.some(function(x){return x[0]})){var r={};u.forEach(function(x,v){r[f[v]]=x[0]&&x[1]?{extent:x[1].extent,pixelBlock:x[1].pixelBlock,width:x[1].width,height:x[1].height}:null});d.src=r}else d.src=null;this._fetchCounter--;0===this._fetchCounter&&(this._fetched=!0);d._fetched=!0;this._updateFetchStatus()}),h.hitch(this,function(){this._fetchCounter--;0===this._fetchCounter&&(this._fetched=!0);d._fetched=!0;this._updateFetchStatus()}));d.update=this.updateTile(d)},
_updateFetchStatus:function(){this.layer._drawTile&&this.fetchAllCompleted&&!this.fetchAllCompleted.isResolved()&&!this.tiles.some(function(d){return!d._fetched})&&(this.tiles.forEach(h.hitch(this,function(d){this._fillPixelData(d)})),this.fetchAllCompleted.resolve())},_fillPixelData:function(d,f){if(d&&!d.updateCompleted)if(Math.abs(d.cellsizeX-this.resolution.x)>d.cellsizeX/10)d.updateCompleted=!0;else if(!1===this._validateRawPixelBlocks(d))d.updateCompleted=!0;else{var l=d.extent;if(this.layer.roaming||
this.layer.useWebGL&&!this.layer._hasTilingEffects){var t=this.fullExtent;var u=this.tileInfo.cols*(this.tileBoundary.colEnd-this.tileBoundary.colStart+1);var r=this.tileInfo.rows*(this.tileBoundary.rowEnd-this.tileBoundary.rowStart+1);f?this.originalPixelData.renderedPixelBlock||(this.originalPixelData.renderedPixelBlock=new b({width:u,height:r,pixels:[],pixelType:"",mask:null,statistics:[]})):this.identifiers.forEach(h.hitch(this,function(v){this.originalPixelData.src[v].pixelBlock.width=u;this.originalPixelData.src[v].pixelBlock.height=
r}))}else t=this.extent,u=this.layer._map.width,r=this.layer._map.height,f?this.originalPixelData.renderedPixelBlock||(this.originalPixelData.renderedPixelBlock=new b({width:u,height:r,pixels:[],pixelType:"",mask:null,statistics:[]})):this.identifiers.forEach(h.hitch(this,function(v){this.originalPixelData.src[v].pixelBlock.width=u;this.originalPixelData.src[v].pixelBlock.height=r}));if(t.xmax<=l.xmin||t.xmin>=l.xmax||t.ymax<=l.ymin||t.ymin>=l.ymax)return null;var x=this.originalPixelData.isEmpty=
!1;this.identifiers.forEach(h.hitch(this,function(v){d.src&&(this._fillPixelBlock(d.src[v],this.originalPixelData.src[v],{extent:t,width:u,height:r,normalizedExtent:d.normalizedExtent},!1),x=!0)}));d.filled=x;this.hasNewData=!0}},_fillPixelBlock:function(d,f,l,t){var u=d.extent,r=l.extent;t=l.width;var x=l.height;if(d.pixelBlock&&d.pixelBlock.pixels&&d.pixelBlock.pixels[0]){var v=(u.xmax-u.xmin)/d.width,C=Math.max(u.xmin,r.xmin),B=Math.min(u.ymax,r.ymax),F=Math.round((C-u.xmin)/v),y=d.width-Math.round(Math.abs(u.xmax-
Math.min(u.xmax,r.xmax))/v),D=Math.round(Math.abs(u.ymax-B)/v),L=d.height-Math.round((Math.max(u.ymin,r.ymin)-u.ymin)/v),E=this.halfWorldWidth;C=Math.round((C-r.xmin)/v);l=l.normalizedExtent;if(!(this.wrapTimes&&E&&u.xmin<-E)){if(this.wrapTimes&&E){if(this.tileInfo.applyGCS360Transform)360<u.xmin&&(C-=this.fullBoundary.paddingLeft);else if(u.xmin>E){C-=this.fullBoundary.paddingLeft;var z=this.normalizeCoordinate(u.xmin,E);var A=this.normalizeCoordinate(u.xmax,E)}else z=u.xmin,A=u.xmax;this.tileInfo.applyGCS360Transform?
l&&360>l.xmin&&360<l.xmax&&(y-=this.fullBoundary.paddingRight):l&&l.xmin<E&&l.xmax>E?y-=this.fullBoundary.paddingRight:z<E&&A>E&&(y-=this.fullBoundary.paddingRight)}z=Math.round(Math.abs(r.ymax-B)/v);A=d.pixelBlock.pixels.length;f=f.pixelBlock;l=d.width;u=f.mask||new Uint8Array(t*x);var G=d.pixelBlock,N=G.mask,H=0;for(v=0;v<A;v++){B=G.pixels[v];E=f.pixels[v]||new B.constructor(t*x);for(d=D;d<L;d++)for(H=(z+d-D)*t+C,r=F;r<y;r++)E[H+r-F]=B[d*l+r];f.pixels[v]=E}if(N)for(d=D;d<L;d++)for(H=(z+d-D)*t+C,
r=F;r<y;r++)u[H+r-F]=N[d*l+r];else for(d=D;d<L;d++)for(H=(z+d-D)*t+C,r=F;r<y;r++)u[H+r-F]=1;f.pixelType=f.pixelType||G.pixelType;f.mask=u;if(!(f.statistics&&0<f.statistics.length))for(f.statistics=[],d=0;d<G.statistics.length;d++)f.statistics[d]={minValue:G.statistics[d].minValue,maxValue:G.statistics[d].maxValue};else if(G.statistics&&f.statistics)for(d=0;d<f.statistics.length;d++)f.statistics[d].minValue=Math.min(G.statistics[d].minValue,f.statistics[d].minValue),f.statistics[d].maxValue=Math.max(G.statistics[d].maxValue,
f.statistics[d].maxValue)}}},_processTile:function(d,f){var l=new p,t=this.layer._hasTilingEffects,u=this.layer.useWebGL,r=t||u,x=this.layer.raster.rasterFunction&&d&&(t||u||!d.processedPixelBlock);if(f)var v=d;else this._fillPixelData(d),v=r?this.originalPixelData:d;this.xformSetting.hasNewTexture=this.hasNewData;var C;x?(this.identifiers.forEach(function(B){if(0===v.src[B].pixelBlock.pixels.length||0===v.src[B].pixelBlock.pixels[0].length)C=!0}),C?l.resolve({extent:v.extent,processedPixelBlock:v.src[this.identifiers[0]],
pixelBlock:v.src[this.identifiers[0]]}):u?(this.processedPixelData=this.layer.raster.rasterFunction.read(v),l.resolve(this.processedPixelData)):this.layer._rasterHandler?this.layer._rasterHandler.process({extent:v.extent,src:v.src}).then(function(B){t?(this.processedPixelData=B,l.resolve(this.processedPixelData)):(d.processedPixelBlock=B.pixelBlock,l.resolve(d))}):(f=this.layer.raster.rasterFunction.read(d),d.processedPixelBlock=f.pixelBlock,l.resolve(d))):r?l.resolve(v.src[this.identifiers[0]]):
(d.pixelBlock=v.src[this.identifiers[0]]&&v.src[this.identifiers[0]].pixelBlock,l.resolve(d));return l.promise},_renderTile:function(d){var f=new p,l=this.layer._hasTilingEffects,t=this.layer.useWebGL,u=Math.abs((d.extent.xmax-d.extent.xmin)/d.width-this.layer.getCurrentResolution().x)>this.resolution.x/10;u=this.layer.useWebGL&&(u||this._isTileOutSide(d,this.layer._map.extent));this.xformSetting.hasNewTexture=this.hasNewData;this.layer._rasterRenderer&&d&&(d.texture||d.src||d.pixelBlock||d.processedPixelBlock)?
(this.layer._rasterRenderer.interpolation=this.layer.interpolation,t&&!u?(this.layer.raster.rasterFunction&&this.layer.raster.rasterFunction.renderTexture||this.layer._rasterRenderer.draw(d),f.resolve(d)):this.layer._rasterHandler?this.layer._rasterHandler.render({extent:d.extent,pixelBlock:d.processedPixelBlock||d.pixelBlock}).then(function(r){l?(r.renderedPixelBlock=r.pixelBlock,f.resolve(r)):(d.renderedPixelBlock=r.pixelBlock,f.resolve(d))}.bind(this)):(d.renderedPixelBlock=this.layer._rasterRenderer.draw(d).pixelBlock,
f.resolve(d))):(d.renderedPixelBlock=d.processedPixelBlock||d.pixelBlock,f.resolve(d));return f.promise},_sortTiles:function(){this.tiles.sort(function(d,f){return d.row<f.row||d.row==f.row&&d.col<f.col?-1:1})}})})},"esri/virtualearth/VETiledLayer":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/json dojo/_base/array dojo/_base/config dojo/has dojo/string dojo/_base/Deferred ../kernel ../urlUtils ../SpatialReference ../layers/TileInfo ../layers/TiledMapServiceLayer ../geometry/Extent ../request".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l){I=I(d,{declaredClass:"esri.virtualearth.VETiledLayer",constructor:function(t){try{if(t=h.mixin({bingMapsKey:null,culture:"en-US"},t||{}),this.url=m.getProtocolForWebResource()+"//dev.virtualearth.net/REST/v1",this._url=m.urlToObject(this.url),this.spatialReference=new g({wkid:102100}),this.tileInfo=new c({rows:256,cols:256,dpi:96,origin:{x:-2.0037508342787E7,y:2.0037508342787E7},spatialReference:{wkid:102100},lods:[{level:1,resolution:78271.5169639999,scale:2.95828763795777E8},
{level:2,resolution:39135.7584820001,scale:1.47914381897889E8},{level:3,resolution:19567.8792409999,scale:7.3957190948944E7},{level:4,resolution:9783.93962049996,scale:3.6978595474472E7},{level:5,resolution:4891.96981024998,scale:1.8489297737236E7},{level:6,resolution:2445.98490512499,scale:9244648.868618},{level:7,resolution:1222.99245256249,scale:4622324.434309},{level:8,resolution:611.49622628138,scale:2311162.217155},{level:9,resolution:305.748113140558,scale:1155581.108577},{level:10,resolution:152.874056570411,
scale:577790.554289},{level:11,resolution:76.4370282850732,scale:288895.277144},{level:12,resolution:38.2185141425366,scale:144447.638572},{level:13,resolution:19.1092570712683,scale:72223.819286},{level:14,resolution:9.55462853563415,scale:36111.909643},{level:15,resolution:4.77731426794937,scale:18055.954822},{level:16,resolution:2.38865713397468,scale:9027.977411},{level:17,resolution:1.19432856685505,scale:4513.988705},{level:18,resolution:.597164283559817,scale:2256.994353},{level:19,resolution:.298582141647617,
scale:1128.497176},{level:20,resolution:.1492910708238085,scale:564.248588}]}),this.initialExtent=this.fullExtent=new f(-2.0037508342787E7,-2.003750834278E7,2.003750834278E7,2.0037508342787E7,new g({wkid:102100})),h.mixin(this,t),this.hasAttributionData=this.showAttribution,this._initLayer=h.hitch(this,this._initLayer),this._errorHandler=h.hitch(this,this._errorHandler),this._getTileInfo=h.hitch(this,this._getTileInfo),this.bingMapsKey)this._getTileInfo();else throw Error("BingMapsKey must be provided.");
}catch(u){throw this.onError(u),u;}},_unsetMap:function(t,u){this.inherited("_unsetMap",arguments)},_getTileInfo:function(){if(this.mapStyle){var t=this._url.path+"/Imagery/Metadata/"+this.mapStyle,u=window.location.protocol;if(this.bingMapsKey){var r=this.resourceInfo;!this.loaded&&r?this._initLayer(r):l({url:t,content:h.mixin({},{uriScheme:"https:"===u?"https":"http",key:this.bingMapsKey,ss:!0,c:this.culture,include:this.hasAttributionData?"imageryProviders":null}),callbackParamName:"jsonp",load:this._initLayer,
error:this._errorHandler})}}},_initLayer:function(t,u){if(200!==t.statusCode)u=Error(),u.code=t.statusCode,u.message=t.statusDescription,u.details=t.errorDetails,u.authenticationResultCode=t.authenticationResultCode,this.onError(u);else try{this.resourceInfo=p.toJson(t);var r=t.resourceSets[0].resources[0],x=r.imageUrl.replace("{","${");this.tileServers=n.map(r.imageUrlSubdomains,function(C){var B=m.getProtocolForWebResource();return e.substitute(x,{subdomain:C}).replace("http:",B)});this._tsLength=
this.tileServers.length;if(this.loaded)this.refresh(),this.onMapStyleChange();else{this.copyright=this.copyright||"\x26copy; 2017 Microsoft Corporation and its data suppliers";this.loaded=!0;this.onLoad(this);var v=this.loadCallback;v&&(delete this.loadCallback,v(this))}}catch(C){this.onError(C)}},getAttributionData:function(){var t=new a,u=p.fromJson(this.resourceInfo),r;this.hasAttributionData&&u&&(r=h.getObject("resourceSets.0.resources.0.imageryProviders",!1,u));r?t.callback({contributors:r}):
(u=Error("Layer does not have attribution data"),u.log=q.isDebug,t.errback(u));return t},getTileUrl:function(t,u,r){return e.substitute(this.tileServers[u%this._tsLength].replace(/\{/g,"${"),{quadkey:this._getQuadKey(t,u,r),culture:this.culture,token:this.bingMapsKey})},_getQuadKey:function(t,u,r){var x="",v;for(v=t;0<v;v--){t="0";var C=1<<v-1;0!=(r&C)&&t++;0!=(u&C)&&(t++,t++);x+=t}return x},setMapStyle:function(t){this.mapStyle=t;this._getTileInfo()},setCulture:function(t){this.culture=t;this._getTileInfo()},
setBingMapsKey:function(t){this.bingMapsKey=t},onMapStyleChange:function(){}});h.mixin(I,{MAP_STYLE_AERIAL:"aerial",MAP_STYLE_AERIAL_WITH_LABELS:"aerialWithLabelsOnDemand",MAP_STYLE_ROAD:"roadOnDemand"});k("extend-esri")&&h.setObject("virtualearth.VETiledLayer",I,b);return I})},"widgets/OverviewMap/utils":function(){define("dojo/_base/lang dojo/_base/array dojo/string dojo/Deferred esri/lang esri/request dojo/_base/url esri/layers/TileInfo jimu/portalUtils esri/layers/ArcGISTiledMapServiceLayer esri/layers/ArcGISDynamicMapServiceLayer esri/layers/ArcGISImageServiceLayer esri/virtualearth/VETiledLayer esri/layers/OpenStreetMapLayer esri/layers/ImageParameters".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l){var t={TYPE:{BASE_MAP:"baseMap",ARCGIS_TILED_MAP:"tiledMapService",ARCGIS_DYNAMIC_MAP_SERVICE:"dynamicMapService",ARCGIS_IMAGE_SERVICE:"imageService",OSM:"openStreetMap",BING_ROAD:"bingMapsRoad",BING_AERIAL:"bingMapsAerial",BING_HYBRID:"bingMapsHybrid"},createBaseLayer:function(u,r,x){var v=new n,C=null,B=u.url,F=u.type;u=u.veLayerInfo;F===t.TYPE.BASE_MAP?v.resolve({layer:"BaseMap"}):F===t.TYPE.ARCGIS_TILED_MAP?t.valid.isArcGISLayersValid(B,r,F).then(function(y){y&&
!0===y.res?(C=new m(B),v.resolve({layer:C})):v.resolve({layer:null,err:y.err})},function(y){v.resolve({res:!1,err:y})}):F===t.TYPE.ARCGIS_DYNAMIC_MAP_SERVICE?t.valid.isArcGISLayersValid(B,r,F).then(function(y){if(y&&!0===y.res){y=y.info;var D={};y&&y.supportedImageFormatTypes&&-1!==y.supportedImageFormatTypes.indexOf("PNG24")&&(D.imageParameters=new l,D.imageParameters.format="png24");C=new g(B,D);v.resolve({layer:C})}else v.resolve({layer:null,err:y.err})},function(y){v.resolve({res:!1,err:y})}):
F===t.TYPE.ARCGIS_IMAGE_SERVICE?t.valid.isArcGISLayersValid(B,r,F).then(function(y){y&&!0===y.res?(C=new c(B,{}),v.resolve({layer:C})):v.resolve({layer:null,err:y.err})},function(y){v.resolve({res:!1,err:y})}):F===t.TYPE.OSM?(C=new f(B,{}),v.resolve({layer:C})):F!==t.TYPE.BING_ROAD&&F!==t.TYPE.BING_AERIAL&&F!==t.TYPE.BING_HYBRID||!u?v.resolve({layer:null}):(r=t.layers.getBingMapKey(x),r&&u.isKeyInPortal||(r="__invalidKey",console.error("OverviewMap Error: BingMapsKey must be provided")),C=new d({bingMapsKey:r,
mapStyle:t.layers._getVEStyle(F)}),v.resolve({layer:C}));return v},layers:{_getLayerInfoSR:function(u){return u.spatialReference||u.extent&&u.extent.spatialReference},_getTileServers:function(u){var r=[],x=new e(u.url);if(u.subDomains&&0<u.subDomains.length&&1<x.authority.split(".").length){var v;h.forEach(u.subDomains,function(C){-1<x.authority.indexOf("${subDomain}")?v=x.scheme+"://"+p.substitute(x.authority,{subDomain:C})+"/":-1<x.authority.indexOf("{subDomain}")&&(v=x.scheme+"://"+x.authority.replace(/\{subDomain\}/gi,
C)+"/");r.push(v)},this)}return r&&0<r.length?r:null},_getVEStyle:function(u){switch(u){case t.TYPE.BING_AERIAL:return d.MAP_STYLE_AERIAL;case t.TYPE.BING_HYBRID:return d.MAP_STYLE_AERIAL_WITH_LABELS;case t.TYPE.BING_ROAD:return d.MAP_STYLE_ROAD;default:return d.MAP_STYLE_AERIAL}},fetchLayerInfo:function(u){var r=new n;k({url:u,handleAs:"json",callbackParamName:"callback",timeout:15E3,content:{f:"json"}}).then(I.hitch(this,function(x){r.resolve(x)}),function(x){r.reject(x)});return r},getBingMapKey:function(u){return(u=
window.portalSelf||u&&b.getPortal(u.appConfig.portalUrl))&&u.bingKey?u.bingKey:""}},valid:{baseLayerVerification:function(u,r){var x=new n,v=r.spatialReference;t.createBaseLayer(u,r).then(function(C){if(C.layer){var B=t.layers._getLayerInfoSR(C.layer);t.valid.sameSpatialReference(v,B)||"BaseMap"===C.layer?x.resolve({res:!0}):x.resolve({res:!1})}else x.resolve({res:!1,err:C.err})},function(C){x.resolve({res:!1,err:C})});return x},ArcGISLayersTypeVerification:function(u,r,x){u=u.toLowerCase();if(0<
u.indexOf("/featureserver")||0<u.indexOf("/mapserver"))if(!r||"string"!==typeof r.type||"Feature Layer"!==r.type&&"Table"!==r.type){if(0<u.indexOf("/featureserver"))return!1;if(0<u.indexOf("/mapserver"))return r.tileInfo?x===t.TYPE.ARCGIS_TILED_MAP||x===t.TYPE.ARCGIS_DYNAMIC_MAP_SERVICE?!0:!1:x===t.TYPE.ARCGIS_DYNAMIC_MAP_SERVICE?!0:!1}else return!1;else if(0<u.indexOf("/imageserver"))return x===t.TYPE.ARCGIS_IMAGE_SERVICE?!0:!1},isArcGISLayersValid:function(u,r,x){var v=new n;t.layers.fetchLayerInfo(u).then(function(C){var B=
null,F=null;B=t.layers._getLayerInfoSR(C);F=r&&r.spatialReference;B&&F&&t.valid.sameSpatialReference(F,B)?!0===t.valid.ArcGISLayersTypeVerification(u,C,x)?v.resolve({res:!0,info:C}):v.resolve({res:!1,err:"layerType"}):B&&F&&!t.valid.sameSpatialReference(F,B)?v.resolve({res:!1,err:"wkid"}):v.resolve({res:!1})},function(C){v.resolve({res:!1,err:C})});return v},tileInfoStr:function(u){try{return new a(JSON.parse(u)),!0}catch(r){return r}},isHaveBingKey:function(){return t.layers.getBingMapKey()?!0:!1},
sameSpatialReference:function(u,r){var x=[102113,102100,3857,4326];return u&&r&&q.isDefined(u.wkid)&&q.isDefined(r.wkid)&&-1!==x.indexOf(u.wkid)&&-1!==x.indexOf(r.wkid)||u&&r&&(q.isDefined(u.wkid)&&q.isDefined(r.wkid)&&u.wkid===r.wkid||q.isDefined(u.latestWkid)&&q.isDefined(r.wkid)&&u.latestWkid===r.wkid||q.isDefined(u.wkid)&&q.isDefined(r.latestWkid)&&u.wkid===r.latestWkid||q.isDefined(u.latestWkid)&&q.isDefined(r.latestWkid)&&u.latestWkid===r.latestWkid)||u&&r&&q.isDefined(u.wkt)&&q.isDefined(r.wkt)&&
u.wkt===r.wkt?!0:!1}}};return t})},"widgets/OverviewMap/a11y/Widget":function(){define("dojo/_base/lang dojo/on dojo/_base/html jimu/utils dojo/aspect dojo/keys".split(" "),function(I,h,p,n,q,k){return{a11y_init:function(){p.setAttr(this.overviewMapDijit._maximizerDiv,"tabindex",0);"LaunchpadTheme"===window.getAppConfig().theme.name&&(this._a11y_isLaunchpadTheme=!0);this._a11y_isLaunchpadTheme?(this._a11y_index||(this._a11y_index=p.getAttr(this.domNode,"tabindex"),p.removeAttr(this.domNode,"tabindex")),
this._a11y_index&&p.setAttr(this.overviewMapDijit._controllerDiv,"tabindex",parseInt(this._a11y_index,10)),n.initFirstFocusNode(this.domNode,this.overviewMapDijit._maximizerDiv)):(p.setAttr(this.overviewMapDijit._controllerDiv,"tabindex",0),n.initFirstFocusNode(this.domNode,this.overviewMapDijit._controllerDiv));n.initLastFocusNode(this.domNode,this.overviewMapDijit._maximizerDiv)},a11y_initEvents:function(){this._a11y_RAW_DOM_NODE_HEIGHT=p.getStyle(this.domNode,"height");this._closedBy508Controller=
this._openedBy508Enter=!1;this._initToShow=!!this.config.overviewMap.visible;this.own(h(this.domNode,"keydown",I.hitch(this,function(e){var a=e.target;!1===this._initToShow&&e.keyCode===k.ENTER&&p.hasClass(a,this.baseClass)&&(this._openedBy508Enter=!0);!0===this._a11y_isLaunchpadTheme||e.keyCode!==k.TAB||p.hasClass(a,this.baseClass)||(e.preventDefault(),p.hasClass(a,"ovwController")?this.overviewMapDijit._maximizerDiv.focus():p.hasClass(a,"ovwMaximizer")&&this.overviewMapDijit._controllerDiv.focus())})));
this.own(h(this.domNode,"focus",I.hitch(this,function(){!0===this._closedBy508Controller||this._a11y_isLaunchpadTheme||!1===this._initToShow&&n.isInNavMode()&&!this._openedBy508Enter&&10>=p.getStyle(this.domNode,"height")&&this.overviewMapDijit.show()})));this.own(h(this.domNode,"blur",I.hitch(this,function(){!1===this._initToShow&&n.isInNavMode()&&!this._openedBy508Enter&&!0!==this._a11y_isLaunchpadTheme&&setTimeout(I.hitch(this,function(){p.isDescendant(document.activeElement,this.domNode)||this.overviewMapDijit.hide()}),
10)})));this.own(h(this.overviewMapDijit._controllerDiv,"keydown",I.hitch(this,function(e){e.keyCode===k.ENTER&&(this.overviewMapDijit.visible?(this.overviewMapDijit.hide(),this._openedBy508Enter=!1,this._closedBy508Controller=!0,!0!==this._a11y_isLaunchpadTheme?this.domNode.focus():this.overviewMapDijit._controllerDiv.focus()):(this.overviewMapDijit.show(),!1===this._initToShow&&(this._openedBy508Enter=!0,this._closedBy508Controller=!1),!0===this._a11y_isLaunchpadTheme&&this.overviewMapDijit._maximizerDiv.focus()))})));
this.own(h(this.overviewMapDijit._maximizerDiv,"keydown",I.hitch(this,function(e){e.keyCode===k.ENTER&&this.overviewMapDijit._maximizeHandler();!0===this._a11y_isLaunchpadTheme&&this.overviewMapDijit.visible&&e.keyCode===k.ESCAPE&&(this.overviewMapDijit.hide(),this.overviewMapDijit._controllerDiv.focus())})))},a11y_forLaunchpadThemeStyle:function(){this.own(q.after(this.overviewMapDijit,"_maximizeHandler",I.hitch(this,function(){var e=this.overviewMapDijit.overviewMap.container.parentElement||this.overviewMapDijit.overviewMap.container.parentNode,
a=e.parentElement||e.parentNode;this.overviewMapDijit._maximized?(p.addClass(e,"a11y_maximized"),p.addClass(a,"a11y_maximized")):(p.removeClass(e,"a11y_maximized"),p.removeClass(a,"a11y_maximized"))}),this))}}})},"widgets/OverviewMap/_build-generate_module":function(){define(["dojo/i18n!./nls/strings"],function(){})},"widgets/Search/Widget":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/array dojo/_base/html dojo/when dojo/on dojo/aspect dojo/query dojo/keys dojo/Deferred dojo/promise/all dijit/focus jimu/BaseWidget jimu/LayerInfos/LayerInfos jimu/utils jimu/SpatialReference/wkidUtils esri/config esri/dijit/Search esri/tasks/locator esri/layers/FeatureLayer esri/dijit/PopupTemplate esri/lang esri/geometry/Point esri/geometry/coordinateFormatter esri/SpatialReference esri/tasks/query esri/Color esri/symbols/SimpleMarkerSymbol esri/symbols/SimpleFillSymbol esri/symbols/SimpleLineSymbol ./utils dojo/NodeList-dom".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F,y,D,L,E,z,A,G,N){return I([d],{name:"Search",baseClass:"jimu-widget-search",searchDijit:null,searchResults:null,_startWidth:null,_pointOfSpecifiedUtmCache:null,postCreate:function(){!this.closeable&&this.isOnScreen||n.addClass(this.searchNode,"default-width-for-openAtStart");this.listenWidgetIds.push("framework");this._pointOfSpecifiedUtmCache={}},startup:function(){this.inherited(arguments);this.config&&this.config.sources||(this.config.sources=
[]);y.load();f.getInstance(this.map,this.map.itemInfo).then(h.hitch(this,function(H){this.layerInfosObj=H;this.own(this.layerInfosObj.on("layerInfosFilterChanged",h.hitch(this,this.onLayerInfosFilterChanged)));N.setMap(this.map);N.setLayerInfosObj(this.layerInfosObj);N.setAppConfig(this.appConfig);q(N.getConfigInfo(this.config)).then(h.hitch(this,function(M){return g(this._convertConfig(M)).then(function(T){return p.filter(T,function(U){return U})})})).then(h.hitch(this,function(M){this.domNode&&
(this.searchDijit=new r({activeSourceIndex:1===M.length?0:"all",allPlaceholder:l.stripHTML(B.isDefined(this.config.allPlaceholder)?this.config.allPlaceholder:""),autoSelect:!0,enableButtonMode:!1,enableLabel:!1,enableHighlight:!0,enableInfoWindow:!0,showInfoWindowOnSelect:!0,map:this.map,sources:M,minCharacters:1,theme:"arcgisSearch"}),n.place(this.searchDijit.domNode,this.searchNode),this.searchDijit.startup(),this._resetSearchDijitStyle(),this.own(this.searchDijit.watch("activeSourceIndex",h.hitch(this,
"_onSourceIndexChange"))),this.own(k(this.searchDijit,"search-results",h.hitch(this,"_onSearchResults"))),this.own(k(this.searchDijit,"suggest-results",h.hitch(this,"_onSuggestResults"))),this.own(k(this.searchDijit,"select-result",h.hitch(this,"_onSelectResult"))),this.own(k(this.searchDijit,"clear-search",h.hitch(this,"_onClearSearch"))),this.own(e.around(this.searchDijit,"_search",h.hitch(this,"_convertSR"))),this.own(e.before(this.searchDijit,"_formatResults",h.hitch(this.searchDijit,function(T,
U,W){try{return[p.map(T,function(Y){return Y&&(Y instanceof Error||0<=Y.length)?Y:Error(Y&&Y.message||"Invalid query source or locator")}),U,W]}catch(Y){return console.log(Y&&Y.message),[T,U,W]}}))),1===M.length?l.initFirstFocusNode(this.domNode,this.searchDijit.inputNode):l.initFirstFocusNode(this.domNode,this.searchDijit.sourcesBtnNode),l.initLastFocusNode(this.domNode,this.searchDijit.submitNode),this.own(k(this.domNode,"keydown",h.hitch(this,function(T){n.hasClass(T.target,this.baseClass)&&T.keyCode===
b.ENTER?this.searchDijit.sourcesBtnNode.focus():n.hasClass(T.target,this.baseClass)||T.keyCode!==b.ESCAPE||"block"===n.getStyle(this.searchResultsNode,"display")&&n.setStyle(this.searchResultsNode,"display","none")}))),this.own(e.around(this.searchDijit,"_inputKey",h.hitch(this,function(T){return h.hitch(this,function(U){var W=null;"block"===n.getStyle(this.searchResultsNode,"display")?(console.log("searchResultsNode"),this._inputKey(U)):W=T.apply(this.searchDijit,[U]);return W})}))),this.own(k(this.searchDijit.domNode,
"click",h.hitch(this,"_onSearchDijitClick"))),this.own(k(this.searchDijit.inputNode,"keyup",h.hitch(this,function(T){T.keyCode!==b.ENTER&&T.keyCode!==b.UP_ARROW&&T.keyCode!==b.DOWN_ARROW&&this._onClearSearch()}))),this.own(k(this.searchResultsNode,"li:click",h.hitch(this,"_onSelectSearchResult"))),this.own(k(this.searchResultsNode,"li:keyup",h.hitch(this,"_onSearchResultLiKey"))),this.own(k(this.searchResultsNode,".show-all-results:click",h.hitch(this,"_showResultMenu"))),this.own(k(window.document,
"click",h.hitch(this,function(T){n.isDescendant(T.target,this.searchResultsNode)||(this._hideResultMenu(),this._resetSelectorPosition(".show-all-results"));n.isDescendant(T.target,this.searchDijit.suggestionsNode)||this._hideSuggestionsMenu()}))),this.fetchData("framework"))}))}))},_convertConfig:function(H){return p.map(H.sources,h.hitch(this,function(M){var T=new m;if(M&&M.url&&"locator"===M.type){var U={locator:new x(M.url||""),outFields:["*"],singleLineFieldName:M.singleLineFieldName||"",name:l.stripHTML(M.name||
""),placeholder:l.stripHTML(M.placeholder||""),countryCode:M.countryCode||"",maxResults:M.maxResults||6,zoomScale:M.zoomScale||5E4,useMapExtent:!!M.searchInCurrentMapExtent,enableInfoWindow:B.isDefined(this.config.showInfoWindowOnSelect)?!!this.config.showInfoWindowOnSelect:!0,showInfoWindowOnSelect:B.isDefined(this.config.showInfoWindowOnSelect)?!!this.config.showInfoWindowOnSelect:!0,_zoomScaleOfConfigSource:M.zoomScale,_panToScale:M.panToScale};0===M.maxSuggestions?U.enableSuggestions=!1:U.maxSuggestions=
null===M.maxSuggestions||void 0===M.maxSuggestions?6:M.maxSuggestions;M.enableLocalSearch&&(U.localSearchOptions={minScale:M.localSearchMinScale,distance:this._getLocalSearchDistance(M)});if(M.panToScale||M.zoomScale)U.autoNavigate=!1;T.resolve(U)}else if(M&&M.url&&"query"===M.type){var W=new v(M.url||null,{outFields:["*"]});this.own(k(W,"load",h.hitch(this,function(Y){var aa=Y.layer,ea=this.map.getLayer(M.layerId);Y=this.layerInfosObj.getLayerInfoById(M.layerId);if(ea)var ma=ea=!1;else Y?ma=ea=!1:
(ea=B.isDefined(this.config.showInfoWindowOnSelect)?!!this.config.showInfoWindowOnSelect:!0,ma=B.isDefined(this.config.showInfoWindowOnSelect)?!!this.config.showInfoWindowOnSelect:!0);var la=null;M.searchFields&&0<M.searchFields.length?la=M.searchFields:(la=[],p.forEach(aa.fields,function(Q){"esriFieldTypeOID"!==Q.type&&Q.name!==aa.objectIdField&&"esriFieldTypeGeometry"!==Q.type&&la.push(Q.name)}));var J={featureLayer:aa,outFields:["*"],searchFields:la,autoNavigate:!1,displayField:M.displayField||
"",exactMatch:!!M.exactMatch,name:l.stripHTML(M.name||""),placeholder:l.stripHTML(M.placeholder||""),maxResults:M.maxResults||6,zoomScale:M.zoomScale||5E4,useMapExtent:!!M.searchInCurrentMapExtent,showInfoWindowOnSelect:ea,enableInfoWindow:ma,_featureLayerId:M.layerId,_zoomScaleOfConfigSource:M.zoomScale,_panToScale:M.panToScale};0===M.maxSuggestions?J.enableSuggestions=!1:J.maxSuggestions=null===M.maxSuggestions||void 0===M.maxSuggestions?6:M.maxSuggestions;J._featureLayerId&&(ea=this.layerInfosObj.getLayerInfoById(J._featureLayerId))&&
aa.setDefinitionExpression(ea.getFilter());this._getInfoTemplate(aa,M).then(h.hitch(this,function(Q){J.infoTemplate=Q;T.resolve(J)}),h.hitch(this,function(){T.resolve(J)}));Y?"esriGeometryPoint"===W.geometryType?J.highlightSymbol=new z(z.STYLE_CIRCLE,10,new G(G.STYLE_SOLID,new E([0,255,255,0]),2),new E([0,0,0,0])):"esriGeometryPolyline"===W.geometryType?J.highlightSymbol=new G(G.STYLE_SOLID,new E([0,255,255,0]),2):"esriGeometryPolygon"===W.geometryType&&(J.highlightSymbol=new A(A.STYLE_NULL,new G(G.STYLE_SOLID,
new E([0,255,255,0]),2))):"esriGeometryPoint"===W.geometryType?J.highlightSymbol=new z(z.STYLE_CIRCLE,10,new G(G.STYLE_SOLID,new E([0,255,255]),2),new E([0,0,0])):"esriGeometryPolyline"===W.geometryType?J.highlightSymbol=new G(G.STYLE_SOLID,new E([0,255,255]),2):"esriGeometryPolygon"===W.geometryType&&(J.highlightSymbol=new A(A.STYLE_NULL,new G(G.STYLE_SOLID,new E([0,255,255]),2)))})));this.own(k(W,"error",function(){T.resolve(null)}))}else T.resolve(null);return T}))},_getLocalSearchDistance:function(H){switch(H.radiusUnit||
"meter"){case "kilometer":H=1E3*H.localSearchDistance;break;case "nauticalMile":H=1852*H.localSearchDistance;break;case "mile":H=1609.344*H.localSearchDistance;break;case "yard":H=.9144*H.localSearchDistance;break;case "foot":H=.3048*H.localSearchDistance;break;case "inch":H=.0254*H.localSearchDistance;break;default:H=H.localSearchDistance}return H},_getInfoTemplate:function(H,M){var T=new m,U=this.layerInfosObj.getLayerInfoById(M.layerId),W;if(U)T=U.loadInfoTemplate();else{var Y=[];p.filter(H.fields,
function(aa){var ea=aa.name.toLowerCase();0>ea.indexOf("shape")&&0>ea.indexOf("objectid")&&0>ea.indexOf("globalid")&&0>ea.indexOf("perimeter")&&Y.push(aa.name)});(H=l.getDefaultPopupInfo(H,M.name+": {"+M.displayField+"}",Y))&&(W=new C(H));T.resolve(W)}return T},_getSourceIndexOfResult:function(H){if(this.searchResults)for(var M in this.searchResults)if(-1<p.indexOf(this.searchResults[M],H))return parseInt(M,10);return null},_zoomToScale:function(H,M){this.map.setScale(H);l.featureAction.panTo(this.map,
M)},_showPopupByFeatures:function(H,M,T){H=null;this.config.showInfoWindowOnSelect?(this.map.infoWindow.setFeatures(M),H="point"===M[0].geometry.type?M[0].geometry:(H=M[0].geometry&&M[0].geometry.getExtent())&&H.getCenter(),H&&this.map.infoWindow.show(H,{closetFirst:!0})):(this.map.infoWindow.setFeatures(M),this.map.infoWindow.updateHighlight(this.map,M[0]),this.map.infoWindow.showHighlight());T.source._panToScale?l.featureAction.panTo(this.map,M):T.source._zoomScaleOfConfigSource?this._zoomToScale(T.source.zoomScale,
M):(M=l.toFeatureSet(M),l.zoomToFeatureSet(this.map,M))},_cloneInfoTemplate:function(H){var M=null;H&&H.toJson&&(M=new H.constructor(H.toJson()));return M},_loadInfoTemplateAndShowPopup:function(H,M,T){if(H){var U=this.map.getLayer(H.id);H.isPopupEnabled()&&U?this._showPopupByFeatures(H,[M],T):H.loadInfoTemplate().then(h.hitch(this,function(W){M.setInfoTemplate(this._cloneInfoTemplate(W));this._showPopupByFeatures(H,[M],T);var Y=e.before(this.map,"onClick",h.hitch(this,function(){M.setInfoTemplate(null);
Y.remove()}))}))}},_onSelectResult:function(H){for(var M=H.result,T=H.sourceIndex,U=this.searchResults[T],W=0,Y=H.result.feature,aa=H.source._featureLayerId,ea=function(Q,R){return p.filter(Q.graphics,function(V){return V.attributes[Q.objectIdField]===R})},ma=0,la=U.length;ma<la;ma++)if(l.isEqual(U[ma],M)){W=ma;break}a("li",this.searchResultsNode).forEach(h.hitch(this,function(Q){n.removeClass(Q,"result-item-selected");var R=n.getAttr(Q,"title"),V=n.getAttr(Q,"data-index"),w=n.getAttr(Q,"data-source-index");
M&&M.name&&R===M.name.toString()&&V===W.toString()&&w===T.toString()&&(n.addClass(Q,"result-item-selected"),c.focus(Q))}));var J=this.layerInfosObj.getLayerInfoById(aa);J?J.getLayerObject().then(h.hitch(this,function(Q){var R=ea(Q,Y.attributes[Q.objectIdField]);R&&0<R.length?this._loadInfoTemplateAndShowPopup(J,R[0],H):(R=new L,R.where=Q.objectIdField+" \x3d "+Y.attributes[Q.objectIdField],R.outSpatialReference=this.map.spatialReference,R.outFields=["*"],Q.queryFeatures(R,h.hitch(this,function(V){var w=
null;V&&0<V.features.length&&(w=V.features[0],w.geometry=Y.geometry,this._loadInfoTemplateAndShowPopup(J,w,H))}),h.hitch(this,function(){this._loadInfoTemplateAndShowPopup(J,Y,H)})))})):H.source.featureLayer&&!H.source.locator?H.source._panToScale?l.featureAction.panTo(this.map,[H.result.feature]):H.source._zoomScaleOfConfigSource?this._zoomToScale(H.source._zoomScaleOfConfigSource,[H.result.feature]):l.zoomToExtent(this.map,H.result.extent):H.source._panToScale?l.featureAction.panTo(this.map,[H.result.feature]):
H.source._zoomScaleOfConfigSource&&this._zoomToScale(H.source._zoomScaleOfConfigSource,[H.result.feature]);this.publishData({selectResult:H})},destroy:function(){N.setMap(null);N.setLayerInfosObj(null);N.setAppConfig(null);this.searchDijit&&this.searchDijit.clear();this.inherited(arguments)},onReceiveData:function(H,M,T){"framework"===H&&"framework"===M&&T&&T.searchString&&(this.searchDijit.set("value",T.searchString),this.searchDijit.search())},onLayerInfosFilterChanged:function(H){p.some(H,h.hitch(this,
function(M){this.searchDijit&&this.searchDijit.sources&&0<this.searchDijit.sources.length&&p.forEach(this.searchDijit.sources,function(T){T._featureLayerId===M.id&&T.featureLayer.setDefinitionExpression(M.getFilter())})}))},_onSourceIndexChange:function(){this.searchDijit.value&&this.searchDijit.search(this.searchDijit.value)},_onSearchResults:function(H){var M=this.searchDijit.get("sources"),T=this.searchDijit.get("activeSourceIndex"),U=this.searchDijit.get("value");U=l.sanitizeHTML(U);var W="",
Y=H.results,aa=this._getOutputTextForCustomInput(H.value);if(Y&&0<H.numResults){n.removeClass(this.searchDijit.containerNode,"showSuggestions");this.searchResults=Y;W+='\x3cdiv class\x3d"show-all-results jimu-ellipsis" title\x3d"'+this.nls.showAll+'"\x3e'+this.nls.showAllResults+"\x3cstrong \x3e"+U+"\x3c/strong\x3e\x3c/div\x3e";W+='\x3cdiv class\x3d"searchMenu" role\x3d"menu"\x3e';for(var ea in Y)if(Y[ea]&&Y[ea].length){U=M[parseInt(ea,10)];var ma=U.name;1<M.length&&"all"===T&&(W+='\x3cdiv title\x3d"'+
ma+'" class\x3d"menuHeader"\x3e'+ma+"\x3c/div\x3e");W+="\x3cul\x3e";ma=M[ea].maxResults;for(var la=0,J=Y[ea].length;la<J&&la<ma;la++){if(B.isDefined(Y[ea][la].name)){U&&U.locator&&aa&&(Y[ea][la].name=aa);var Q=Y[ea][la].name;Q=l.sanitizeHTML(Q)}else Q=this.nls.untitled;W+='\x3cli title\x3d"'+Q+'" data-index\x3d"'+la+'" data-source-index\x3d"'+ea+'" role\x3d"menuitem" tabindex\x3d"0"\x3e'+Q.toString()+"\x3c/li\x3e"}W+="\x3c/ul\x3e"}this.searchResultsNode.innerHTML=W+"\x3c/div\x3e";this._showResultMenu();
this._resetSelectorPosition(".searchMenu")}else this._onClearSearch();this.publishData({searchResults:H})},_onSuggestResults:function(H){this._resetSelectorPosition(".searchMenu");this._hideResultMenu();this._showSuggestionsMenu();this.publishData({suggestResults:H})},_onClearSearch:function(){n.setStyle(this.searchResultsNode,"display","none");this.searchResultsNode.innerHTML="";this.searchResults=null},_hidePopup:function(){this.map.infoWindow.isShowing&&this.map.infoWindow.hide()},setPosition:function(H){this._resetSearchDijitStyle(H);
this.inherited(arguments)},resize:function(){this._resetSearchDijitStyle()},_resetSearchDijitStyle:function(){n.removeClass(this.domNode,"use-absolute");this.searchDijit&&this.searchDijit.domNode&&n.setStyle(this.searchDijit.domNode,"width","auto");setTimeout(h.hitch(this,function(){if(this.searchDijit&&this.searchDijit.domNode){var H=window.appInfo.isRunInMobile?parseInt(n.getComputedStyle(this.domNode).width,10):274,M=n.getMarginBox(this.searchDijit.sourcesBtnNode),T=n.getMarginBox(this.searchDijit.submitNode),
U=null;H&&(n.setStyle(this.searchDijit.domNode,"width",H+"px"),n.addClass(this.domNode,"use-absolute"),isFinite(M.w)&&isFinite(T.w)&&(U=window.isRTL?{left:T.w+"px",right:M.w+"px"}:{left:M.w+"px",right:T.w+"px"},H=a(".searchInputGroup",this.searchDijit.domNode)[0]))&&(n.setStyle(H,U),U=n.getMarginBox(H),H=n.getPadBorderExtents(this.searchDijit.inputNode),n.setStyle(this.searchDijit.inputNode,"width",U.w-H.w+"px"))}}),50)},_convertSR:function(H){return h.hitch(this,function(M){var T=this.searchDijit.sources[M.index],
U=this._getPointFromSpecifiedWkid(M.text);return T&&T.locator&&U?l.projectToSpatialReference(U,new D({wkid:4326})).then(h.hitch(this,function(W,Y){if(Y=this._getFormatedInputFromPoint(Y))W.text=Y;return H.apply(this.searchDijit,[W])},h.clone(M))):T&&T.locator?this._getPointFromSpecifiedUtm(M.text).then(h.hitch(this,function(W,Y){if(Y=this._getFormatedInputFromPoint(Y))W.text=Y;return H.apply(this.searchDijit,[W])},h.clone(M))):H.apply(this.searchDijit,[M])})},_getFormatedInputFromPoint:function(H){var M=
null;!H||isNaN(H.x)||isNaN(H.y)||(M="Y:"+H.y+",X:"+H.x);return M},_getPointFromSpecifiedWkid:function(H){var M=null;if(!H)return M;H=H.split(":");var T=H[0];if((H=Number(H[1]))&&t.isValidWkid(H)&&T){var U=T.split(",");T=Number(U[0]);U=Number(U[1]);isNaN(T)||isNaN(U)||(M=new F(T,U,new D({wkid:H})))}return M},_getPointFromSpecifiedUtmByGeometryService:function(H){var M=new m,T=null,U={sr:4326,conversionType:"UTM",conversionMode:"utmDefault",strings:[H]},W=u&&u.defaults&&u.defaults.geometryService;W&&
"esri.tasks.GeometryService"===W.declaredClass?W.fromGeoCoordinateString(U,h.hitch(this,function(Y){var aa=Number(Y[0][0]);Y=Number(Y[0][1]);isNaN(aa)||isNaN(Y)||(T=new F(aa,Y,new D({wkid:4326})),this._pointOfSpecifiedUtmCache[H]=T);M.resolve(T)}),h.hitch(this,function(){M.resolve(T)})):M.resolve(T);return M},_isValidUtmFormat:function(H){return H&&H.indexOf&&0>H.indexOf(",")?!0:!1},_getPointFromSpecifiedUtm:function(H){var M=new m;if(!H||!this._isValidUtmFormat(H))return M.resolve(null),M;if(y.isSupported())if(y.isLoaded()){var T=
y.fromUtm(H,new D({wkid:4326}),"latitude-band-indicators");!T||isNaN(T.x)||isNaN(T.y)?M.resolve(null):this._getPointFromSpecifiedUtmByGeometryService(H).then(h.hitch(this,function(U){M.resolve(U)}))}else y.load(),M.resolve(null);else M=this._getPointFromSpecifiedUtmByGeometryService(H);return M},_getOutputTextForCustomInput:function(H){var M=null,T=this._getPointFromSpecifiedWkid(H),U=this._pointOfSpecifiedUtmCache[H];T?M="X:"+T.x+" Y:"+T.y:U&&(M=H);return M},_onSearchDijitClick:function(){this._resetSelectorPosition(".searchMenu")},
_onSelectSearchResult:function(H){for(H=H.target;!n.hasAttr(H,"data-source-index")||!n.getAttr(H,"data-index");)H=H.parentNode;var M=null;M=n.getAttr(H,"data-source-index");H=parseInt(n.getAttr(H,"data-index"),10);"all"!==M&&(M=parseInt(M,10));this.searchResults&&this.searchResults[M]&&this.searchResults[M][H]&&(M=this.searchResults[M][H],this.searchDijit.select(M))},_hideSuggestionsMenu:function(){n.setStyle(this.searchDijit.suggestionsNode,"display","none");n.removeClass(this.searchDijit.suggestionsNode,
"show")},_showSuggestionsMenu:function(){n.setStyle(this.searchDijit.suggestionsNode,"display","block");n.addClass(this.searchDijit.suggestionsNode,"show")},_hideResultMenu:function(){a(".show-all-results",this.searchResultsNode).style("display","block");a(".searchMenu",this.searchResultsNode).style("display","none")},_showResultMenu:function(){n.setStyle(this.searchResultsNode,"display","block");this._hideSuggestionsMenu();a(".show-all-results",this.searchResultsNode).style("display","none");a(".searchMenu",
this.searchResultsNode).style("display","block");var H=a(".searchInputGroup",this.searchDijit.domNode)[0];if(H){H=n.getMarginBox(H);var M={width:H.w+"px"};if(window.isRTL){var T=n.getMarginBox(this.searchDijit.domNode);M.right=T.w-H.l-H.w+"px"}else M.left=H.l+"px";a(".show-all-results",this.searchResultsNode).style(M);a(".searchMenu",this.searchResultsNode).style(M)}},_resetSelectorPosition:function(H){var M=n.getMarginBox(window.jimuConfig.layoutId);a(H,this.domNode).forEach(h.hitch(this,function(T){var U=
n.position(T);if("none"!==n.getStyle(T,"display")){var W=n.position(this.searchDijit.domNode),Y=W.y-2,aa=M.h-W.y-W.h;aa>U.y+U.h||Y>U.h?n.setStyle(T,"top",(aa>U.y+U.h?W.h:-U.h-2)+"px"):(n.setStyle(T,"height",Math.max(aa,Y)+"px"),n.setStyle(T,"top",(aa>Y?W.h:-Y-2)+"px"))}}))},_inputKey:function(H){if(H){var M=a("li",this.searchResultsNode);if(H.keyCode!==b.TAB&&H.keyCode!==b.ESCAPE)if(H.keyCode===b.UP_ARROW)H.stopPropagation(),H.preventDefault(),p.some(M,function(T,U){if(n.hasClass(T,"result-item-selected")){if(U=
M[U-1])n.removeClass(T,"result-item-selected"),n.addClass(U,"result-item-selected"),c.focus(U);return!0}return!1},this);else if(H.keyCode===b.DOWN_ARROW)H.stopPropagation(),H.preventDefault(),p.some(M,function(T,U){if(n.hasClass(T,"result-item-selected")){if(U=M[U+1])n.removeClass(T,"result-item-selected"),n.addClass(U,"result-item-selected"),c.focus(U);return!0}return!1},this);else if(H.ctrlKey||H.metaKey||H.keyCode===b.copyKey||H.keyCode===b.LEFT_ARROW||H.keyCode===b.RIGHT_ARROW||H.keyCode===b.ENTER)return H}},
_onSearchResultLiKey:function(H){H&&(H.keyCode===b.ENTER?this._onSelectSearchResult(H):(H.keyCode===b.DOWN_ARROW||H.keyCode===b.UP_ARROW)&&this._inputKey(H))}})})},"jimu/SpatialReference/wkidUtils":function(){define(["dojo/_base/declare","dojo/_base/array","esri/SpatialReference","dojo/text!./wkid.json"],function(I,h,p,n){try{var q=JSON.parse(n)}catch(k){throw k;}I=I(null,function(){});I.isSameSR=function(k,e){k=this.indexOfWkid(k);e=this.indexOfWkid(e);return q.labels[k]===q.labels[e]};I.isValidWkid=
function(k){return-1<this.indexOfWkid(k)};I.getSRLabel=function(k){if(this.isValidWkid(k))return k=this.indexOfWkid(k),q.labels[k]};I.indexOfWkid=function(k){return h.indexOf(q.wkids,k)};I.isWebMercator=function(k){return p.prototype._isWebMercator?p.prototype._isWebMercator.apply({wkid:parseInt(k,10)},[]):(new p(parseInt(k,10))).isWebMercator()};I.standardizeWkid=function(k){return this.isWebMercator(k)?3857:parseInt(k,10)};return I})},"esri/dijit/Search":function(){define("require dojo/_base/declare dojo/_base/lang dojo/_base/array dojo/Evented dojo/Deferred dojo/keys dojo/on dojo/query dojo/uacss dojo/regexp dojo/dom dojo/dom-attr dojo/dom-class dojo/dom-style dojo/dom-construct dojo/date/locale dojo/i18n!../nls/jsapi dojo/text!./Search/templates/Search.html dijit/_WidgetBase dijit/_TemplatedMixin dijit/_FocusMixin dijit/a11yclick dijit/focus ../lang ../InfoTemplate ../kernel ../SpatialReference ../graphic ../promiseList ../symbols/PictureMarkerSymbol ../symbols/SimpleMarkerSymbol ../symbols/SimpleLineSymbol ../symbols/SimpleFillSymbol ../symbols/TextSymbol ../symbols/Font ../geometry/Point ../geometry/Extent ../geometry/normalizeUtils ../geometry/scaleUtils ../tasks/locator ../tasks/query ../Color ../styles/basic".split(" "),
function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u,r,x,v,C,B,F,y,D,L,E,z,A,G,N,H,M,T,U,W,Y,aa,ea,ma,la,J,Q,R){function V(w,K){w&&K&&(w._layer=K,w._sourceLayer=K)}h=h([v,C,B,q],{declaredClass:"esri.dijit.Search",templateString:x,reHostedFS:/https?:\/\/services.*\.arcgis\.com/i,constructor:function(w,K){this.css={searchGroup:"searchGroup",searchInput:"searchInput",searchInputGroup:"searchInputGroup",searchBtn:"searchBtn",searchSubmit:"searchSubmit",searchIcon:"searchIcon esri-icon-search",searchButtonText:"searchButtonText",
searchToggle:"searchToggle",searchToggleIcon:"searchIcon esri-icon-down-arrow",searchMenu:"searchMenu",searchMenuHeader:"menuHeader",searchClear:"searchClear",searchClearIcon:"searchIcon esri-icon-close searchClose",searchSpinner:"searchIcon esri-icon-loading-indicator searchSpinner",searchSourceName:"sourceName",suggestionsMenu:"suggestionsMenu",sourcesMenu:"sourcesMenu",activeSource:"active",hasValue:"hasValue",hasButtonMode:"hasButtonMode",hasMultipleSources:"hasMultipleSources",showSuggestions:"showSuggestions",
showSources:"showSources",showNoResults:"showNoResults",searchLoading:"searchLoading",latLonHeader:"searchLatLongHeader",searchMoreResults:"moreResults",searchMoreResultsList:"resultsList",searchMoreResultsHeader:"moreHeader",searchMoreResultsItem:"moreItem",searchMoreResultsListHeader:"popupHeader",searchShowMoreResults:"showMoreResults",searchNoResultsMenu:"noResultsMenu",searchNoResultsBody:"noResultsBody",searchNoResultsHeader:"noResultsHeader",searchNoValueIcon:"noValueIcon esri-icon-notice-triangle",
searchNoValueText:"noValueText",searchNoResultsText:"noResultsText",searchExpandContainer:"searchExpandContainer",searchAnimateContainer:"searchAnimate",searchExpanded:"searchExpanded",searchCollapsed:"searchCollapsed",searchClearFloat:"searchClearFloat"};this._allIndex="all";this._objectIdIdentifier="_objectId";this._deferreds=[];this._sourceNames=[];this.defaultSource={locator:new la("//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer"),singleLineFieldName:"SingleLine",outFields:["Addr_type",
"Match_addr","StAddr","City"],name:r.widgets.Search.main.esriLocatorName,localSearchOptions:{minScale:3E5,distance:5E4},placeholder:r.widgets.Search.main.placeholder,highlightSymbol:(new N(I.toUrl("./Search/images/search-pointer.png"),36,36)).setOffset(9,18)};this.options={map:null,theme:"arcgisSearch",visible:!0,value:"",allPlaceholder:"",sources:[this.defaultSource],activeSourceIndex:0,suggestionDelay:150,enableSourcesMenu:!0,enableSuggestionsMenu:!0,enableInfoWindow:!0,showInfoWindowOnSelect:!0,
enableSuggestions:!0,enableButtonMode:!1,autoNavigate:!0,autoSelect:!0,addLayersFromMap:!1,zoomScale:1E3,graphicsLayer:null,enableHighlight:!0,highlightGraphic:null,enableLabel:!1,labelSymbol:(new U).setColor(new Q([181,56,46,.9])).setFont(new W("14px",W.STYLE_NORMAL,W.VARIANT_NORMAL,W.WEIGHT_BOLD,"Arial")),labelGraphic:null,infoTemplate:new L(r.widgets.Search.main.searchResult,'\x3cdiv class\x3d"${searchTheme}"\x3e\x3cdiv id\x3d"${searchMoreResultsId}" class\x3d"${searchMoreResults}"\x3e\x3cdiv class\x3d"${searchMoreResultsItem}"\x3e${searchResult}\x3c/div\x3e\x3cdiv\x3e${searchMoreResultsHtml}\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e'),
searchResults:null,suggestResults:null,selectedResult:null,magicKey:null,selectedFeatureId:null,expanded:!1,maxLength:128,maxResults:6,maxSuggestions:6,locationToAddressDistance:1500,minCharacters:3,enableSearchingAll:!0};w=p.mixin({},this.options,w);this.set(w);this._updateActiveSource();this._i18n=r;this._defaultSR=new z(4326);this.domNode=K},startup:function(){this.inherited(arguments);this.sources||(this.sources=[]);this._mapLoaded().then(p.hitch(this,this._init))},postCreate:function(){var w=
this;this.inherited(arguments);this._moreResultsId=this.id+"_more_results";this.own(a(this.submitNode,F,p.hitch(this,this._searchButton)));this.own(a(this.sourcesBtnNode,F,p.hitch(this,this._toggleSourcesMenu)));this.own(a(this.inputNode,F,p.hitch(this,this._inputClick)));this.own(a(this.clearNode,F,p.hitch(this,this._clearButton)));this.own(a(this.formNode,"submit",p.hitch(this,function(K){K.preventDefault();this._cancelSuggest();this.search()})));this.own(a(this.inputNode,"keyup",p.hitch(this,function(K){this._inputKey(K)})));
this.own(a(this.sourcesBtnNode,"keyup",p.hitch(this,function(K){this._sourceBtnKey(K)})));this.own(a(this.suggestionsNode,"li:click, li:keyup",function(K){w._suggestionsEvent(K,this)}));this.own(a(this.sourcesNode,"li:click, li:keyup",function(K){w._sourcesEvent(K,this)}));this.own(a(this.inputNode,"input, paste",p.hitch(this,function(){this._suggestDelay()})));this.map&&this.map.infoWindow&&this.map.infoWindow.domNode&&this.enableInfoWindow&&(this.own(a(this.map.infoWindow.domNode,"#"+this._moreResultsId+
"_show:click",p.hitch(this,function(K){this._showMoreResultsClick(K)}))),this.own(a(this.map.infoWindow.domNode,"#"+this._moreResultsId+"_list li a:click",p.hitch(this,function(K){this._moreResultsClick(K)}))),this.own(a(this.map.infoWindow.domNode,"#"+this._moreResultsId+" [data-switch-coordinates]:click",p.hitch(this,function(K){this._switchCoordinatesClick(K)}))));this.value&&this._checkStatus();this._hideMenus();this._updateVisible();this._insertSources(this.sources);this._setPlaceholder(this.activeSourceIndex);
this._updateButtonMode(this.enableButtonMode);this.toggle(this.expanded)},destroy:function(){this.clear();t.empty(this.domNode);this.inherited(arguments)},clear:function(){this.clearGraphics();d.get(this.inputNode,"value")&&d.set(this.inputNode,"value","");this._changeAttrValue("value","");this.set("searchResults",null);this.set("suggestResults",null);this.set("selectedResult",null);this.set("magicKey",null);this.set("selectedFeatureId",null);f.remove(this.containerNode,this.css.hasValue);d.set(this.clearNode,
"title","");this._hideMenus();this._closePopup();this._hideLoading();this.emit("clear-search")},show:function(){l.set(this.domNode,"display","block")},hide:function(){l.set(this.domNode,"display","none")},expand:function(){this.enableButtonMode&&(f.add(this.containerNode,this.css.searchExpanded),f.remove(this.containerNode,this.css.searchCollapsed),this._hideMenus(),this.set("expanded",!0))},collapse:function(){this.enableButtonMode&&(f.remove(this.containerNode,this.css.searchExpanded),f.add(this.containerNode,
this.css.searchCollapsed),this._hideMenus(),this.set("expanded",!1))},toggle:function(w){this.enableButtonMode&&("undefined"===typeof w&&(w=!this.expanded),w?this.expand():this.collapse())},search:function(w){var K=new k;this._mapLoaded().then(p.hitch(this,function(){this._searchDeferred(w).then(p.hitch(this,function(O){var P=O.results;this.set("searchResults",P);0===O.numResults&&(this._noResults(O.value),this._showNoResultsMenu());this._hideLoading();this.emit("search-results",O);this._selectFirstResult(P,
O.activeSourceIndex);K.resolve(P)}),p.hitch(this,function(O){K.reject(O)}))}));return K.promise},suggest:function(w){var K=new k;this._mapLoaded().then(p.hitch(this,function(){this._suggestDeferred(w).then(p.hitch(this,function(O){if(O){var P=O.results;this.set("suggestResults",P);this._insertSuggestions(P,O.value);this.emit("suggest-results",O);K.resolve(P)}}),p.hitch(this,function(O){K.reject(O)}))}));return K.promise},select:function(w){var K=this._getDefaultSymbol(w),O=this.labelSymbol,P=this.sources,
S=this.activeSourceIndex,X=this.enableHighlight,ca=this.enableLabel,ia=this.autoNavigate,ba=this.showInfoWindowOnSelect,da=this.enableInfoWindow,Z=this.infoTemplate,ha=w.feature?new A(w.feature.toJson()):null,ra=ha?w.feature._sourceLayer:null;V(ha,ra);if(S===this._allIndex){var ka=this._getSourceIndexOfResult(w);if(null!==ka){var fa=P[ka];S=ka}}else fa=P[S];fa&&(fa.hasOwnProperty("highlightSymbol")&&(K=fa.highlightSymbol),fa.hasOwnProperty("labelSymbol")&&(O=fa.labelSymbol),fa.hasOwnProperty("enableHighlight")&&
(X=fa.enableHighlight),fa.hasOwnProperty("enableLabel")&&(ca=fa.enableLabel),fa.hasOwnProperty("autoNavigate")&&(ia=fa.autoNavigate),fa.hasOwnProperty("showInfoWindowOnSelect")&&(ba=fa.showInfoWindowOnSelect),fa.hasOwnProperty("enableInfoWindow")&&(da=fa.enableInfoWindow),fa.hasOwnProperty("infoTemplate")?Z=fa.infoTemplate:fa.featureLayer&&fa.featureLayer.infoTemplate&&(Z=fa.featureLayer.infoTemplate));this._hideMenus();this._hideLoading();if(ha){P=this.highlightGraphic;var na=this.graphicsLayer;
ka=this.labelGraphic;var ja=p.mixin({},ha.attributes,{searchTheme:this.theme,searchResult:this._searchResultHTML(w),searchMoreResults:this.css.searchMoreResults,searchMoreResultsItem:this.css.searchMoreResultsItem,searchMoreResultsId:this._moreResultsId,searchMoreResultsHtml:this._moreResultsHTML(w)}),xa=null;da&&(xa=Z);ka?(ka.setGeometry(ha.geometry),ka.setAttributes(ja),ka.setSymbol(O),O&&"textsymbol"===O.type&&ka.symbol.setText(w.name)):(ka=new A(ha.geometry,O,ja),V(ka,ra),O&&"textsymbol"===O.type&&
ka.symbol.setText(w.name),ca&&(na?na.add(ka):this.map&&this.map.graphics&&this.map.graphics.add(ka)));P?(P.setGeometry(ha.geometry),P.setAttributes(ja),P.setInfoTemplate(xa),P.setSymbol(K)):(P=new A(ha.geometry,K,ja,xa),V(P,ra),X&&(na?na.add(P):this.map&&this.map.graphics&&this.map.graphics.add(P)));P&&P.symbol&&"textsymbol"===P.symbol.type&&P.symbol.setText(w.name);this.map&&this.map.infoWindow&&da&&ba&&(this.map.infoWindow.setFeatures([P]),K=this._getPointFromGeometry(P.geometry),this.map.infoWindow.show(K));
this.map&&ia&&w&&w.hasOwnProperty("extent")&&"function"===typeof this.map.setExtent&&this.map.setExtent(w.extent,!0);this.set("highlightGraphic",P);this.set("labelGraphic",ka)}this.set("selectedResult",w);this.emit("select-result",{result:w,source:fa,sourceIndex:S})},focus:function(){y.focus(this.inputNode)},blur:function(){this.inputNode.blur();y.curNode&&y.curNode.blur()},clearGraphics:function(){var w=this.highlightGraphic,K=this.graphicsLayer,O=this.labelGraphic;w&&(K?K.remove(w):this.map&&this.map.graphics&&
this.map.graphics.remove(w));O&&(K?K.remove(O):this.map&&this.map.graphics&&this.map.graphics.remove(O));this.set("labelGraphic",null);this.set("highlightGraphic",null)},_mapLoaded:function(){var w=new k;if(this.map)if(this.map.loaded)w.resolve();else a.once(this.map,"load",p.hitch(this,function(){w.resolve()}));else w.resolve();return w.promise},_init:function(){this._getMapLayers().then(p.hitch(this,function(){this.set("loaded",!0);this.emit("load")}))},_clearButton:function(){this.clear();y.focus(this.inputNode)},
_error:function(w){return Error(this.declaredClass+" "+w)},_searchDeferred:function(w){var K=new k,O=this.value,P=this.activeSourceIndex;w&&w.hasOwnProperty("index")&&(P=w.index);this._showLoading();this._hideMenus();this._closePopup();this.clearGraphics();var S={magicKey:this.magicKey,text:O};w?"string"===typeof w?(S.text=w,w=this._searchQueries(S)):w="object"===typeof w&&w.hasOwnProperty("magicKey")?this._searchQueries(w):"object"===typeof w&&w.hasOwnProperty("geometry")?this._searchQueries({geometry:w}):
"object"===typeof w&&w.hasOwnProperty(this._objectIdIdentifier)?this._searchQueries(w):"object"===typeof w&&"point"===w.type?this._searchQueries({point:w}):w instanceof Array&&2===w.length?this._searchQueries({latlon:w}):this._searchQueries(S):w=this._searchQueries(S);w.always(p.hitch(this,function(X){X=this._formatResults(X,P,O);K.resolve(X)}));return K.promise},_suggestDeferred:function(w){var K=new k;this._deferreds.push(K);w||(w=this.value);var O=this.activeSourceIndex;this._suggestQueries({text:w}).always(p.hitch(this,
function(P){var S;if(P)for(var X=0;X<P.length;X++)P[X]&&(S=!0);S?(P=this._formatResults(P,O,w),K.resolve(P)):K.resolve()}));return K.promise},_getDefaultSymbol:function(w){var K;this.map&&(K=this.map.getBasemap());K||(K="topo");if(w&&w.feature&&w.feature.geometry)var O=w.feature.geometry.type;"polyline"===O?O="line":"circle"===O||"extent"===O?O="polygon":"multipoint"===O&&(O="point");if(O){if(w=R.getSchemes({theme:"default",basemap:K,geometryType:O}))var P=w.primaryScheme;if(P){P.color&&P.hasOwnProperty("opacity")&&
(P.color.a=P.opacity);var S=P;w=P.color;P=P.size;switch(O){case "point":var X=new H;X.setColor(w);X.setSize(null!==P?P:S.size);O=new M;O.setColor(S.outline.color);O.setWidth(S.outline.width);X.setOutline(O);break;case "line":X=new M;X.setColor(w);X.setWidth(null!==P?P:S.width);break;case "polygon":X=new T,X.setColor(w),O=new M,O.setColor(S.outline.color),O.setWidth(S.outline.width),X.setOutline(O)}S=X}}return S},_selectFirstResult:function(w,K){if(this.autoSelect&&w){var O;K===this._allIndex?O=this._getFirstResult(w):
w[K]&&w[K][0]&&(O=w[K][0]);O&&this.select(O)}},_getSourceIndexOfResult:function(w){var K=this.searchResults;if(K)for(var O in K)if(K[O]&&K[O].length)for(var P=0;P<K[O].length;P++)if(K[O][P]===w)return parseInt(O,10);return null},_getFirstResult:function(w){if(w)for(var K in w)if(w[K]&&w[K][0])return w[K][0];return!1},_onFocus:function(){this.map&&"function"===typeof this.map.disableKeyboardNavigation&&this.map.disableKeyboardNavigation();this.emit("focus");this.inherited(arguments)},_onBlur:function(){this._hideMenus();
this.map&&"function"===typeof this.map.enableKeyboardNavigation&&this.map.enableKeyboardNavigation();this.enableButtonMode&&this.loaded&&this.collapse();this.emit("blur");this.inherited(arguments)},_getMapLayers:function(){var w=new k;if(this.addLayersFromMap&&this.map){var K=[],O=this.map.graphicsLayerIds;if(O&&O.length){for(var P=0;P<O.length;P++){var S=this.map.getLayer(O[P]);S&&K.push(this._featureLayerLoaded(S))}G(K).always(p.hitch(this,function(X){for(var ca,ia=this.sources,ba=0;ba<X.length;ba++)X[ba]&&
X[ba].loaded&&"Feature Layer"===X[ba].type&&(ia.push({featureLayer:X[ba],enableSuggestions:!0}),ca=!0);ca&&this.set("sources",ia);w.resolve()}))}else w.resolve()}else w.resolve();return w.promise},_switchCoordinatesClick:function(w){w.preventDefault();if(w=d.get(w.target,"data-switch-coordinates"))this._cancelSuggest(),this.set("value",w),this.search()},_moreResultsClick:function(w){w.preventDefault();var K=w.target;w=parseInt(d.get(K,"data-source-index"),10);K=parseInt(d.get(K,"data-index"),10);
var O=this.searchResults;O&&O[w]&&(w=O[w][K])&&this.select(w)},_showMoreResultsClick:function(w){w.preventDefault();if(w=c.byId(this._moreResultsId)){f.toggle(w,this.css.searchShowMoreResults);var K=c.byId(this._moreResultsId+"_show");K&&(f.contains(w,this.css.searchShowMoreResults)?d.set(K,"textContent",r.widgets.Search.main.hideMoreResults):d.set(K,"textContent",r.widgets.Search.main.showMoreResults))}},_featureLayerLoaded:function(w){var K=new k;if(w.loaded)K.resolve(w);else if(w.loadError)K.reject(this._error("Layer failed to load."));
else{var O=a.once(w,"load",p.hitch(this,function(){P.remove();K.resolve(w)}));var P=a.once(w,"error",p.hitch(this,function(){O.remove();K.reject(this._error("Layer could not be loaded."))}))}return K.promise},_getObjectSize:function(w){var K=0,O;for(O in w)w.hasOwnProperty(O)&&K++;return K},_sourcesEvent:function(w,K){var O=d.get(K,"data-index"),P=b("li",this.sourcesNode);K=n.indexOf(P,K);O!==this._allIndex&&(O=parseInt(O,10));"click"===w.type||w.keyCode===e.ENTER?(this.set("activeSourceIndex",O),
y.focus(this.inputNode),this._hideSourcesMenu()):w.keyCode===e.UP_ARROW?(w.stopPropagation(),w.preventDefault(),w=K-1,0>w?y.focus(this.sourcesBtnNode):y.focus(P[w])):w.keyCode===e.DOWN_ARROW?(w.stopPropagation(),w.preventDefault(),w=K+1,w>=P.length?y.focus(this.sourcesBtnNode):y.focus(P[w])):w.keyCode===e.ESCAPE&&(this._hideSourcesMenu(),y.focus(this.inputNode))},_suggestionsEvent:function(w,K){var O=d.get(K,"data-source-index"),P=parseInt(d.get(K,"data-index"),10),S=b("li",this.suggestionsNode),
X=this.sources;K=n.indexOf(S,K);O!==this._allIndex&&(O=parseInt(O,10));var ca;this._clearQueryTimeout();"click"===w.type||w.keyCode===e.ENTER?((S=this.suggestResults)&&S[O]&&S[O][P]&&(ca=S[O][P]),ca&&(ca.index=O,X[O].featureLayer?(O=X[O].featureLayer.objectIdField,ca[this._objectIdIdentifier]=ca.feature.attributes[O],this.set("value",this._getSuggestionName(ca)),this.set("selectedFeatureId",ca.feature.attributes[O])):ca.magicKey&&ca.text&&(this.set("value",ca.text),this.set("magicKey",ca.magicKey)),
this.search(ca),y.focus(this.inputNode))):w.keyCode===e.BACKSPACE||w.keyCode===e.DELETE?y.focus(this.inputNode):w.keyCode===e.UP_ARROW?(w.stopPropagation(),w.preventDefault(),ca=K-1,0>ca?y.focus(this.inputNode):y.focus(S[ca])):w.keyCode===e.DOWN_ARROW?(w.stopPropagation(),w.preventDefault(),ca=K+1,ca>=S.length?y.focus(this.inputNode):y.focus(S[ca])):w.keyCode===e.ESCAPE&&(this._hideMenus(),y.focus(this.inputNode))},_getResultName:function(w){var K;w.hasOwnProperty("name")&&null!==w.name&&(K=w.name.toString());
K||(K=r.widgets.Search.main.untitledResult);return K},_getSuggestionName:function(w){var K;w.hasOwnProperty("name")&&null!==w.name&&(K=w.name.toString());w=w.text||K;w||(w=r.widgets.Search.main.untitledResult);return w},_searchResultHTML:function(w){var K="";if(w.feature&&w.feature.attributes&&w.feature.attributes.Addr_type&&"LatLong"===w.feature.attributes.Addr_type){var O=w.name.split(" ");if(2===O.length){var P=O[0];var S=O[1]}S&&P?(w=parseFloat(P),S=parseFloat(S),O=S+", "+w,K+='\x3cdiv class\x3d"'+
this.css.searchMoreResultsItem+'"\x3e',K+='\x3cdiv class\x3d"'+this.css.latLonHeader+'"\x3e'+r.widgets.Search.main.lonlat+"\x3c/div\x3e",K=K+(w+", "+S)+'\x3c/div\x3e\x3cdiv class\x3d"'+(this.css.searchMoreResultsItem+'"\x3e'),w===S||90<w||-90>w||180<S||-180>S||(K+='\x3cdiv class\x3d"'+this.css.latLonHeader+'"\x3e'+r.widgets.Search.main.reverseLonLatHeader+"\x3c/div\x3e",K+='\x3ca data-switch-coordinates\x3d"'+O+'" tabindex\x3d"0" href\x3d"#"\x3e'+O+"\x3c/a\x3e\x3c/div\x3e")):K=w.name}else K=w.name;
return K},_moreResultsHTML:function(w){var K="",O="",P=this.searchResults,S=this.sources,X=0;if(P){O+='\x3cdiv class\x3d"'+this.css.searchMoreResultsItem+'"\x3e';O+='\x3ca href\x3d"#" id\x3d"'+this._moreResultsId+'_show"\x3e'+r.widgets.Search.main.showMoreResults+"\x3c/a\x3e";O=O+'\x3c/div\x3e\x3cdiv class\x3d"'+(this.css.searchMoreResultsList+'"\x3e');O+='\x3cdiv id\x3d"'+this._moreResultsId+'_list"\x3e';for(var ca in P)if(P[ca]){var ia=P[ca].length;if(ia){var ba=1===ia&&P[ca][0]===w;if(1<this._getObjectSize(P)&&
!ba){var da=this._getSourceName(ca);O+='\x3cdiv class\x3d"'+this.css.searchMoreResultsListHeader+'"\x3e'+da+"\x3c/div\x3e"}if(ia&&!ba){O+="\x3cul\x3e";da=S[ca].maxResults||this.maxResults;for(ba=0;ba<ia&&ba<da;++ba)if(P[ca][ba]!==w){var Z=this._getResultName(P[ca][ba]);O+='\x3cli\x3e\x3ca tabindex\x3d"0" data-index\x3d"'+ba+'" data-source-index\x3d"'+ca+'" href\x3d"#"\x3e'+Z+"\x3c/a\x3e\x3c/li\x3e";X++}O+="\x3c/ul\x3e"}}}O+="\x3c/div\x3e\x3c/div\x3e"}X&&(K+=O);return K},_validField:function(w,K){return w.getField(K)},
_validFields:function(w,K){if(w&&K&&K.length){for(var O=0;O<K.length;O++)if(!this._validField(w,K[O]))return!1;return!0}return!1},_getCodedName:function(w,K){if(w&&w.length)for(var O=0,P=w.length;O<P;O++){var S=w[O];if(S.code===K)return S.name}},_getCodedValue:function(w,K,O){if(w&&w.length)for(var P=0,S=w.length;P<S;P++){var X=w[P],ca=X.name,ia=K;O||(ca=ca.toLowerCase(),ia=ia.toLowerCase());if(ca===ia)return X.code}return!1},_whereClause:function(w,K,O,P){var S=null;if(w){var X="";this.reHostedFS.test(K.url)&&
this._containsNonLatinCharacter(w)&&(X="N");if(O&&O.length)for(var ca=0,ia=O.length;ca<ia;ca++){var ba="",da=w.replace(/'/g,"''");ba=O[ca];var Z=K.getField(ba),ha=K.getDomain(ba);ha&&"codedValue"===ha.type&&(da=this._getCodedValue(ha.codedValues,da,P));!1!==da&&(Z=Z.type,"esriFieldTypeString"===Z||"esriFieldTypeDate"===Z?ba=P?ba+" \x3d "+X+"'"+da+"'":"UPPER("+ba+") LIKE "+X+"'%"+da.toUpperCase()+"%'":"esriFieldTypeOID"===Z||"esriFieldTypeSmallInteger"===Z||"esriFieldTypeInteger"===Z||"esriFieldTypeSingle"===
Z||"esriFieldTypeDouble"===Z?(da=parseFloat(da),ba=isNaN(da)?!1:ba+" \x3d "+da):ba=ba+" \x3d "+da,ba&&(S=S?S+" or ":"",S+=ba))}}return S},_suggest:function(w){w||(w={index:this.activeSourceIndex,text:this.value});var K=new k,O=w.index,P=this.sources[O],S=this.enableSuggestions;P.hasOwnProperty("enableSuggestions")&&(S=P.enableSuggestions);var X=0;if(w.hasOwnProperty("text")&&w.text){var ca=p.trim(w.text);X=w.text.length}w=P.minCharacters||this.minCharacters;if(S&&ca&&X>=w&&this._supportsPagination(P)){var ia=
"";P.prefix&&(ia+=P.prefix);ia+=ca;P.suffix&&(ia+=P.suffix);var ba=this._defaultSR;this.map&&(ba=this.map.spatialReference);S={};P.locator?(P.categories&&(S.categories=P.categories),P.locator.outSpatialReference=ba,this.map&&P.localSearchOptions&&P.localSearchOptions.hasOwnProperty("distance")&&P.localSearchOptions.hasOwnProperty("minScale")&&(X=this._getScale(),!P.localSearchOptions.minScale||X&&X<=parseFloat(P.localSearchOptions.minScale))&&(S.location=this.map.extent.getCenter(),S.distance=P.localSearchOptions.distance),
S.text=ia,P.useMapExtent&&this.map&&this.map.extent&&(S.searchExtent=this.map.extent),P.searchExtent&&(S.searchExtent=P.searchExtent),S.maxSuggestions=P.maxSuggestions||this.maxSuggestions,P.sourceCountry&&(S.countryCode=P.sourceCountry),P.countryCode&&(S.countryCode=P.countryCode),P.locator.suggestLocations(S).then(p.hitch(this,function(da){K.resolve(da)}),p.hitch(this,function(da){da||(da=this._error("Locator suggestLocations could not be performed."));K.reject(da)}))):P.featureLayer?this._featureLayerLoaded(P.featureLayer).then(p.hitch(this,
function(){var da=this._getDisplayField(P),Z=P.searchFields||[da],ha=[];P.suggestionTemplate?P.suggestionTemplate.replace(/(?:\$\{([^}]+)\})/g,function(na,ja){ha.push(ja)}):ha=[da];-1===n.indexOf(ha,P.featureLayer.objectIdField)&&ha.push(P.featureLayer.objectIdField);da=this._validField(P.featureLayer,da);var ra=this._validFields(P.featureLayer,ha),ka=this._validFields(P.featureLayer,Z);if(da&&ra&&ka){da=new J;P.hasOwnProperty("suggestQueryParams")&&p.mixin(da,P.suggestQueryParams);da.outSpatialReference=
ba;da.returnGeometry=!1;da.num=P.maxSuggestions||this.maxSuggestions;da.outFields=ha;P.useMapExtent&&this.map&&this.map.extent&&(da.geometry=this.map.extent);P.searchExtent&&(da.geometry=P.searchExtent);if(Z=this._whereClause(ia,P.featureLayer,Z,!1)){da.where=Z;var fa=!0}fa?P.featureLayer.queryFeatures(da,p.hitch(this,function(na){var ja;(na=na.features)&&(ja=this._hydrateResults(na,O,!0));K.resolve(ja)}),p.hitch(this,function(na){na||(na=this._error("FeatureLayer queryFeatures errored with suggestions"));
K.reject(na)})):K.resolve()}else K.reject(this._error("Invalid FeatureLayer field"))})):K.reject(this._error("Invalid source"))}else K.resolve();return K.promise},_supportsPagination:function(w){var K;w.locator?K=!0:w.featureLayer&&w.featureLayer.advancedQueryCapabilities&&w.featureLayer.advancedQueryCapabilities.supportsPagination&&(K=!0);return K},_suggestQueries:function(w){var K=this.sources,O=this.activeSourceIndex,P=[];if(O===this._allIndex)for(O=0;O<K.length;O++){var S=w;S.index=O;S=this._suggest(S);
P.push(S)}else w.index=O,S=this._suggest(w),P.push(S);return G(P)},_getPointFromGeometry:function(w){switch(w.type){case "extent":var K=w.getCenter();break;case "multipoint":K=w.getPoint(0);break;case "point":K=w;break;case "polygon":K=w.getCentroid();break;case "polyline":K=w.getPoint(0,0)}return K},_searchQueries:function(w){w.hasOwnProperty("index")||(w.index=this.activeSourceIndex);var K=[];if(w.index===this._allIndex)for(var O=this.sources,P=0;P<O.length;P++){var S=w;S.index=P;S=this._search(S);
K.push(S)}else w=this._search(w),K.push(w);return G(K)},_searchButton:function(){this.enableButtonMode&&!this.expanded?(this.expand(),y.focus(this.inputNode)):(this._cancelSuggest(),this.search())},_search:function(w){w||(w={text:this.value,magicKey:null,geometry:null,point:null,index:this.activeSourceIndex,latlon:null});this.selectedFeatureId&&(w.text=null,w[this._objectIdIdentifier]=this.selectedFeatureId);var K,O=new k,P=w.index,S=this.sources[P],X;w.hasOwnProperty("text")&&w.text&&(X=p.trim(w.text));
if(S){var ca="";S.prefix&&!w.magicKey&&(ca+=S.prefix);ca+=X;S.suffix&&!w.magicKey&&(ca+=S.suffix);var ia=this._defaultSR;this.map&&(ia=this.map.spatialReference);if(S.locator)if(w.hasOwnProperty("text")&&X){var ba={};S.categories&&(ba.categories=S.categories);S.locationType&&(ba.locationType=S.locationType);ia&&(S.locator.outSpatialReference=ia);if(this.map&&S.localSearchOptions&&S.localSearchOptions.hasOwnProperty("distance")&&S.localSearchOptions.hasOwnProperty("minScale")){var da=this._getScale();
if(!S.localSearchOptions.minScale||da&&da<=parseFloat(S.localSearchOptions.minScale))ba.location=this.map.extent.getCenter(),ba.distance=S.localSearchOptions.distance}ba.address={};ba.maxLocations=S.maxResults||this.maxResults;S.useMapExtent&&this.map&&this.map.extent&&(ba.searchExtent=this.map.extent);S.searchExtent&&(ba.searchExtent=S.searchExtent);S.sourceCountry&&(ba.countryCode=S.sourceCountry);S.countryCode&&(ba.countryCode=S.countryCode);w.magicKey&&(ba.magicKey=w.magicKey);S.singleLineFieldName?
ba.address[S.singleLineFieldName]=ca:ba.address["Single Line Input"]=ca;S.outFields&&(ba.outFields=S.outFields);S.locator.addressToLocations(ba).then(p.hitch(this,function(Z){Z=this._hydrateResults(Z,P,!1);O.resolve(Z)}),p.hitch(this,function(Z){Z||(Z=this._error("Locator addressToLocations could not be performed"));O.reject(Z)}))}else w.geometry?(K=this._getPointFromGeometry(w.geometry.geometry))?this._reverseGeocodePoint(P,K).then(function(Z){O.resolve(Z)},function(Z){O.reject(Z)}):O.reject(this._error("Invalid point to reverse geocode")):
w.point?this._reverseGeocodePoint(P,w.point).then(function(Z){O.resolve(Z)},function(Z){O.reject(Z)}):w.latlon?(ba=new Y(w.latlon,this._defaultSR),this._reverseGeocodePoint(P,ba).then(function(Z){O.resolve(Z)},function(Z){O.reject(Z)})):w.hasOwnProperty("text")&&!X?O.resolve([]):O.reject(this._error("Invalid query type for Locator"));else S.featureLayer?this._featureLayerLoaded(S.featureLayer).then(p.hitch(this,function(){var Z=this._getDisplayField(S),ha=S.searchFields||[Z];Z=this._validField(S.featureLayer,
Z);var ra=this._validFields(S.featureLayer,ha);if(Z&&ra){Z=new J;S.hasOwnProperty("searchQueryParams")&&p.mixin(Z,S.searchQueryParams);ia&&(Z.outSpatialReference=ia,ra=this.map&&this.map.getMaxResolution()||1/ma.getUnitValueForSR(ia))&&(Z.maxAllowableOffset=ra);Z.returnGeometry=!0;S.outFields&&(Z.outFields=S.outFields);if(!w.hasOwnProperty(this._objectIdIdentifier)){this._supportsPagination(S)&&(Z.num=S.maxResults||this.maxResults);S.useMapExtent&&this.map&&this.map.extent&&(Z.geometry=this.map.extent);
S.searchExtent&&(Z.geometry=S.searchExtent);var ka=S.exactMatch}w.hasOwnProperty("text")&&X?(ha=this._whereClause(ca,S.featureLayer,ha,ka))?(Z.where=ha,ha=!0):ha=!1:w.hasOwnProperty(this._objectIdIdentifier)?(Z.objectIds=[w[this._objectIdIdentifier]],ha=!0):w.geometry?(Z.geometry=w.geometry,ha=!0):w.point?(Z.geometry=w.point,ha=!0):w.latlon?(K=new Y(w.latlon,this._defaultSR),Z.geometry=K,ha=!0):(w.hasOwnProperty("text")&&!X?O.resolve([]):O.reject(this._error("Invalid query type for FeatureLayer")),
ha=!1);ha?S.featureLayer.queryFeatures(Z,p.hitch(this,function(fa){fa=fa.features;var na;fa&&(na=this._hydrateResults(fa,P,!1));O.resolve(na)}),p.hitch(this,function(fa){fa||(fa=this._error("FeatureLayer queryFeatures could not be performed"));O.reject(fa)})):O.resolve()}else O.reject(this._error("Invalid FeatureLayer field"))})):O.reject(this._error("Invalid source"))}else O.reject(this._error("Source is undefined"));return O.promise},_clearQueryTimeout:function(){this._queryTimer&&clearTimeout(this._queryTimer)},
_formatResults:function(w,K,O){O={activeSourceIndex:K,value:O,numResults:0,numErrors:0,errors:null,results:null};var P={},S={};if(w)if(K===this._allIndex)for(K=0;K<w.length;K++)w[K]&&(w[K]instanceof Error?(P[K]=w[K],O.numErrors++):(S[K]=w[K],O.numResults+=w[K].length));else w[0]&&(w[0]instanceof Error?(P[K]=w[0],O.numErrors++):(S[K]=w[0],O.numResults+=w[0].length));O.numErrors&&(O.errors=P);O.numResults&&(O.results=S);return O},_reverseGeocodePoint:function(w,K){var O=new k,P=this.sources[w];if(K&&
P){var S=P.locationToAddressDistance||this.locationToAddressDistance;P.locator.outSpatialReference=this._defaultSR;this.map&&(P.locator.outSpatialReference=this.map.spatialReference);P.locator.locationToAddress(K,S,p.hitch(this,function(X){X=this._hydrateResults([X],w,!1);O.resolve(X)}),p.hitch(this,function(X){X||(X=this._error("Locator locationToAddress could not be performed"));O.reject(X)}))}else O.reject(this._error("No point or source defined for reverse geocoding"));return O.promise},_cancelDeferreds:function(){if(this._deferreds&&
this._deferreds.length)for(var w=0;w<this._deferreds.length;w++)this._deferreds[w].cancel(this.declaredClass+" cancelling request");this._deferreds=[]},_sourceBtnKey:function(w){if(w){var K=b("li",this.sourcesNode);w.keyCode===e.UP_ARROW?(w.stopPropagation(),w.preventDefault(),this._showSourcesMenu(),(w=K.length)&&y.focus(K[w-1])):w.keyCode===e.DOWN_ARROW&&(w.stopPropagation(),w.preventDefault(),this._showSourcesMenu(),K[0]&&y.focus(K[0]))}},_inputKey:function(w){if(w){var K=b("li",this.suggestionsNode),
O=this.suggestResults;if(w.keyCode===e.TAB||w.keyCode===e.ESCAPE)this._cancelSuggest(),this._hideMenus();else if(w.keyCode===e.UP_ARROW)w.stopPropagation(),w.preventDefault(),this._cancelSuggest(),O&&this._showSuggestionsMenu(),(w=K.length)&&y.focus(K[w-1]);else if(w.keyCode===e.DOWN_ARROW)w.stopPropagation(),w.preventDefault(),this._cancelSuggest(),O&&this._showSuggestionsMenu(),K[0]&&y.focus(K[0]);else{if(w.ctrlKey||w.metaKey||w.keyCode===e.copyKey||w.keyCode===e.LEFT_ARROW||w.keyCode===e.RIGHT_ARROW||
w.keyCode===e.ENTER)return w;this._suggestDelay()}}},_cancelSuggest:function(){this._cancelDeferreds();this._clearQueryTimeout()},_suggestDelay:function(){this._cancelSuggest();this._changeValue();this._queryTimer=setTimeout(p.hitch(this,function(){this.suggest()}),this.suggestionDelay)},_changeValue:function(){this.set("magicKey",null);this.set("selectedFeatureId",null);this._changeAttrValue("value",this.inputNode.value);this._checkStatus()},_inputClick:function(){this._hideSourcesMenu();this._hideNoResultsMenu()},
_getSourceName:function(w){return this._sourceNames[w]},_loadSources:function(w){w=n.filter(w,function(K){return!!K.featureLayer});w=n.map(w,function(K){return this._featureLayerLoaded(K.featureLayer)},this);return G(w)},_createSourceNameMap:function(w){return this._loadSources(w).then(p.hitch(this,function(){var K=n.map(w,function(O){return O.name||O.featureLayer&&O.featureLayer.name||r.widgets.Search.main.untitledSource});this._preventDuplicateSourceNames(w,K);return K}))},_getDuplicateSourceNameIndexes:function(w){var K=
{},O=[];n.forEach(w,function(P,S){K.hasOwnProperty(P)?(-1===O.indexOf(K[P])&&O.push(K[P]),O.push(S)):w.lastIndexOf(P)!==S&&(K[P]=S)});return O},_preventDuplicateSourceNames:function(w,K){if(K&&1<K.length){var O=this._getDuplicateSourceNameIndexes(K);n.forEach(O,function(P){K[P]+=this._getFieldsString(w[P])},this)}},_getFieldsString:function(w){var K="",O=w.featureLayer;if(O){w=w.searchFields||[this._getDisplayField(w)];for(var P=0;P<w.length;P++){K=0===P?K+": ":K+", ";var S=w[P],X=O.getFieldLabel(S);
K+=X||S}}return K},_splitResult:function(w,K){K=g.escapeString(K);return w.replace(new RegExp("(^|)("+K+")(|$)","ig"),"$1|$2|$3").split("|")},_insertSuggestions:function(w,K){if(this.enableSuggestionsMenu&&this.suggestionsNode){this._hideSourcesMenu();this._hideNoResultsMenu();var O=this.sources;if(w){var P=t.create("div");for(var S in w)if(w[S]&&w[S].length){var X=this._getSourceName(S);1<O.length&&this.activeSourceIndex===this._allIndex&&t.create("div",{className:this.css.searchMenuHeader,textContent:X},
P);X=t.create("ul",{role:"menu"},P);for(var ca=O[S].maxSuggestions||this.maxSuggestions,ia=0;ia<w[S].length&&ia<ca;++ia){var ba=t.create("li",{"data-index":ia,"data-source-index":S,role:"menuitem",tabindex:0},X),da=this._getSuggestionName(w[S][ia]);da=this._splitResult(da,K);for(var Z=da.length,ha=0;ha<Z;ha++){var ra=da[ha];ra.toLowerCase()===K.toLowerCase()?t.create("strong",{textContent:ra},ba):(ra=document.createTextNode(ra),t.place(ra,ba))}}}}P?(t.place(P,this.suggestionsNode,"only"),this._showSuggestionsMenu()):
(t.empty(this.suggestionsNode),this._hideSuggestionsMenu())}},_insertSources:function(w){if(this.enableSourcesMenu&&w&&1<w.length){var K,O=this.activeSourceIndex,P=t.create("ul",{role:"menu"});if(this.enableSearchingAll){var S="";O===this._allIndex&&(S="active");t.create("li",{"data-index":this._allIndex,role:"menuitem",className:S,tabIndex:0,textContent:r.widgets.Search.main.all},P)}for(K=0;K<w.length;K++){S="";K===O&&(S=this.css.activeSource);var X=this._getSourceName(K);t.create("li",{"data-index":K,
role:"menuitem",className:S,tabIndex:0,textContent:X},P)}f.add(this.containerNode,this.css.hasMultipleSources);t.place(P,this.sourcesNode,"only")}else f.remove(this.containerNode,this.css.hasMultipleSources),t.empty(this.sourcesNode)},_showLoading:function(){f.add(this.containerNode,this.css.searchLoading)},_hideLoading:function(){f.remove(this.containerNode,this.css.searchLoading)},_checkStatus:function(){this.value?(f.add(this.containerNode,this.css.hasValue),d.set(this.clearNode,"title",r.widgets.Search.main.clearButtonTitle)):
this.clear()},_closePopup:function(){this.enableInfoWindow&&this.map&&this.map.infoWindow&&this.map.infoWindow.hide()},_noResults:function(w){var K;w&&(K=p.trim(w));var O=t.create("div",{className:this.css.searchNoResultsBody});w&&K?(t.create("div",{className:this.css.searchNoResultsHeader,textContent:r.widgets.Search.main.noResults},O),t.create("div",{className:this.css.searchNoResultsText,textContent:D.substitute({value:'"'+w+'"'},r.widgets.Search.main.noResultsFound)},O)):(w=t.create("div",{},
O),t.create("span",{"aria-hidden":"true",className:this.css.searchNoValueIcon},w),t.create("span",{className:this.css.searchNoValueText,textContent:r.widgets.Search.main.emptyValue},w));t.place(O,this.noResultsMenuNode,"only")},_hideMenus:function(){this._hideSourcesMenu();this._hideSuggestionsMenu();this._hideNoResultsMenu()},_hideNoResultsMenu:function(){f.remove(this.containerNode,this.css.showNoResults)},_showNoResultsMenu:function(){this._hideSourcesMenu();this._hideSuggestionsMenu();f.add(this.containerNode,
this.css.showNoResults)},_hideSourcesMenu:function(){f.remove(this.containerNode,this.css.showSources)},_hideSuggestionsMenu:function(){f.remove(this.containerNode,this.css.showSuggestions)},_showSourcesMenu:function(){this._hideSuggestionsMenu();this._hideNoResultsMenu();f.add(this.containerNode,this.css.showSources)},_showSuggestionsMenu:function(){this._hideSourcesMenu();this._hideNoResultsMenu();f.add(this.containerNode,this.css.showSuggestions)},_toggleSourcesMenu:function(){this._hideSuggestionsMenu();
this._hideNoResultsMenu();f.toggle(this.containerNode,this.css.showSources)},_getFirstStringField:function(w){if(w&&(w=w.fields)&&w.length)for(var K=0;K<w.length;K++){var O=w[K];if("esriFieldTypeString"===O.type)return O.name}return""},_getDisplayField:function(w){return w.displayField||w.featureLayer.displayField||this._getFirstStringField(w.featureLayer)},_validLocation:function(w){return w&&"number"===typeof w.x&&"number"===typeof w.y},_validExtent:function(w){return w&&"number"===typeof w.xmin&&
"number"===typeof w.ymin&&"number"===typeof w.xmax&&"number"===typeof w.ymax},_hydrateResult:function(w,K,O){var P={},S=this._defaultSR;K=this.sources[K];this.map&&(S=this.map.spatialReference);if(w.hasOwnProperty("text")&&w.hasOwnProperty("magicKey"))return w;if(w.hasOwnProperty("geometry")){var X=new A(w.toJson());P.feature=X;(X=P.feature.geometry)&&X.setSpatialReference(S)}else if(w.hasOwnProperty("location")&&this._validLocation(w.location)){var ca=new Y(w.location.x,w.location.y,S);X={};w.hasOwnProperty("attributes")&&
(X=w.attributes);w.hasOwnProperty("address")&&"object"===typeof w.address&&p.mixin(X,w.address);w.hasOwnProperty("score")&&(X.score=w.score);P.feature=new A(ca,null,X,null)}!P.feature&&O&&(X={},w.hasOwnProperty("attributes")&&(X=w.attributes),w.hasOwnProperty("score")&&(X.score=w.score),P.feature=new A(null,null,X,null));if(P.feature){if(w.hasOwnProperty("extent")&&this._validExtent(w.extent))P.extent=new aa(w.extent),P.extent.setSpatialReference(S);else if(P.feature&&P.feature.geometry)switch(P.feature.geometry.type){case "extent":P.extent=
P.feature.geometry;break;case "multipoint":P.extent=ea.getDenormalizedExtent(P.feature.geometry);break;case "polygon":P.extent=ea.getDenormalizedExtent(P.feature.geometry);break;case "polyline":P.extent=ea.getDenormalizedExtent(P.feature.geometry);break;case "point":this.map?(S=this.zoomScale,K&&K.zoomScale&&(S=K.zoomScale),this._getScale()>S?P.extent=ma.getExtentForScale(this.map,S).centerAt(P.feature.geometry):P.extent=this.map.extent.centerAt(P.feature.geometry)):P.extent=new aa({xmin:P.feature.geometry.x-
.25,ymin:P.feature.geometry.y-.25,xmax:P.feature.geometry.x+.25,ymax:P.feature.geometry.y+.25,spatialReference:this._defaultSR})}else P.extent=null;P.name="";K.featureLayer?K.suggestionTemplate&&O?P.name=D.substitute(w.attributes,K.suggestionTemplate):K.searchTemplate?P.name=D.substitute(w.attributes,K.searchTemplate):(X=this._getDisplayField(K),O=K.featureLayer.getField(X),S=K.featureLayer.getDomain(X),X&&w.hasOwnProperty("attributes")&&w.attributes.hasOwnProperty(X)&&(w=w.attributes[X],S&&"codedValue"===
S.type?P.name=this._getCodedName(S.codedValues,w):O&&"esriFieldTypeDate"===O.type&&!isNaN(w)?P.name=u.format(new Date(w)):P.name=w)):w.address&&K.searchTemplate?P.name=D.substitute(w.address,K.searchTemplate):w.hasOwnProperty("name")?P.name=w.name:w.hasOwnProperty("attributes")&&"object"===typeof w.attributes&&w.attributes.LongLabel?P.name=w.attributes.LongLabel:w.hasOwnProperty("attributes")&&"object"===typeof w.attributes&&w.attributes.Match_addr?(P.name=w.attributes.Match_addr,w.attributes.Addr_type&&
"POI"===w.attributes.Addr_type&&w.attributes.StAddr&&w.attributes.City?P.name+=" - "+w.attributes.StAddr+", "+w.attributes.City:w.attributes.Addr_type&&"POI"===w.attributes.Addr_type&&w.attributes.City&&(P.name+=" - "+w.attributes.City)):w.hasOwnProperty("address")&&"string"===typeof w.address?P.name=w.address:w.hasOwnProperty("address")&&"object"===typeof w.address&&w.address.hasOwnProperty("Address")?w.address.hasOwnProperty("Match_addr")?P.name=w.address.Match_addr:w.address.hasOwnProperty("Address")&&
(P.name=w.address.Address):P.feature&&P.feature.geometry&&(P.name=P.feature.geometry.x+","+P.feature.geometry.y);K.featureLayer&&P.feature&&V(P.feature,K.featureLayer);return P}},_getScale:function(){var w;this.map&&"function"===typeof this.map.getScale&&(w=this.map.getScale());return w},_hydrateResults:function(w,K,O,P){P=[];var S=0;if(w&&w.length)for(S;S<w.length;S++){var X=this._hydrateResult(w[S],K,O);X&&P.push(X)}return P},_containsNonLatinCharacter:function(w){for(var K=0;K<w.length;K++)if(255<
w.charCodeAt(K))return!0;return!1},_setPlaceholder:function(w){var K="",O=this.sources[w];w===this._allIndex?K=this.allPlaceholder||r.widgets.Search.main.allPlaceholder:O&&O.placeholder&&(K=O.placeholder);var P=r.widgets.Search.main.all;O&&(P=this._getSourceName(w));d.set(this.sourceNameNode,"textContent",P);d.set(this.inputNode,"placeholder",K);d.set(this.inputNode,"title",K)},_updateActiveSource:function(){var w=this.sources,K=this.activeSourceIndex,O;w&&w[K]&&(O=w[K]);O?this.set("activeSource",
O):this.set("activeSource",null)},_updateVisible:function(){this.visible?this.show():this.hide()},_updateButtonMode:function(w){w?(f.toggle(this.containerNode,this.css.searchExpanded,this.expanded),f.toggle(this.containerNode,this.css.searchCollapsed,!this.expanded),f.add(this.containerNode,this.css.hasButtonMode)):(f.remove(this.containerNode,this.css.searchExpanded),f.remove(this.containerNode,this.css.searchCollapsed),f.remove(this.containerNode,this.css.hasButtonMode))},_setDefaultActiveSourceIndex:function(w){w&&
1===w.length||!this.enableSearchingAll?this.set("activeSourceIndex",0):this.set("activeSourceIndex",this._allIndex)},_setEnableSourcesMenuAttr:function(w){this._set("enableSourcesMenu",w);this._created&&this._insertSources(this.sources)},_setEnableSearchingAllAttr:function(w){this._set("enableSearchingAll",w);this._created&&(this._setDefaultActiveSourceIndex(this.sources),this._hideMenus(),this._insertSources(this.sources))},_setSourcesAttr:function(w){this._createSourceNameMap(w).then(p.hitch(this,
function(K){this._sourceNames=K;this._created&&(this._setDefaultActiveSourceIndex(w),this._hideMenus(),this._insertSources(w))}));this._set("sources",w)},_setAllPlaceholderAttr:function(w){this._set("allPlaceholder",w);this._created&&this._setPlaceholder(this.activeSourceIndex)},_setActiveSourceIndexAttr:function(w){this._set("activeSourceIndex",w);this._updateActiveSource();this._created&&(this._setPlaceholder(w),this._hideMenus(),this._insertSources(this.sources))},_setMaxLengthAttr:function(w){this._set("maxLength",
w);this._created&&d.set(this.inputNode,"maxLength",w)},_setValueAttr:function(w){this.set("magicKey",null);this.set("selectedFeatureId",null);this._set("value",w);this._created&&(d.set(this.inputNode,"value",w),this._checkStatus())},_setVisibleAttr:function(w){this._set("visible",w);this._created&&this._updateVisible()},_setEnableButtonModeAttr:function(w){this._set("enableButtonMode",w);this._created&&this._updateButtonMode(w)},_setThemeAttr:function(w){this._created&&(f.remove(this.domNode,this.theme),
f.add(this.domNode,w));this._set("theme",w)}});m("extend-esri")&&p.setObject("dijit.Search",h,E);return h})},"esri/tasks/locator":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/array dojo/_base/Deferred dojo/_base/json dojo/has ../kernel ../request ../deferredUtils ./Task ./AddressCandidate".split(" "),function(I,h,p,n,q,k,e,a,b,m,g){I=I(m,{declaredClass:"esri.tasks.Locator",_eventMap:{"address-to-locations-complete":["addresses"],"addresses-to-locations-complete":["addresses"],
"location-to-address-complete":["address"],"suggest-locations-complete":["suggestions"]},constructor:function(c){this._geocodeHandler=h.hitch(this,this._geocodeHandler);this._geocodeAddressesHandler=h.hitch(this,this._geocodeAddressesHandler);this._reverseGeocodeHandler=h.hitch(this,this._reverseGeocodeHandler);this.registerConnectEvents()},outSpatialReference:null,setOutSpatialReference:function(c){this.outSpatialReference=c},_geocodeHandler:function(c,d,f,l,t){try{var u=c.candidates;d=[];var r,
x=u.length,v=c.spatialReference,C;for(r=0;r<x;r++){var B=u[r];if(C=B.location)C.spatialReference=v;d[r]=new g(B)}this._successHandler([d],"onAddressToLocationsComplete",f,t)}catch(F){this._errorHandler(F,l,t)}},_geocodeAddressesHandler:function(c,d,f,l,t){try{var u=c.locations;d=[];var r,x=u.length,v=c.spatialReference,C;for(r=0;r<x;r++){if(C=u[r].location)C.spatialReference=v;d[r]=new g(u[r])}this._successHandler([d],"onAddressesToLocationsComplete",f,t)}catch(B){this._errorHandler(B,l,t)}},addressToLocations:function(c,
d,f,l,t){var u;if(c.address){l=f;f=d;d=c.outFields;t=c.searchExtent;var r=c.countryCode;var x=c.magicKey;var v=c.distance;var C=c.categories;c.location&&this.normalization&&(u=c.location.normalize());var B=c.locationType;var F=c.maxLocations;var y=c.forStorage;c=c.address}t&&(t=t.shiftCentralMeridian());var D=this.outSpatialReference;c=this._encode(h.mixin({},this._url.query,c,{f:"json",outSR:D&&q.toJson(D.toJson()),outFields:d&&d.join(",")||null,searchExtent:t&&q.toJson(t.toJson()),category:C&&C.join(",")||
null,countryCode:r||null,magicKey:x||null,distance:v||null,location:u||null,locationType:B||null,maxLocations:F||null,forStorage:y||null}));var L=this._geocodeHandler,E=this._errorHandler,z=new n(b._dfdCanceller);z._pendingDfd=a({url:this._url.path+"/findAddressCandidates",content:c,callbackParamName:"callback",load:function(A,G){L(A,G,f,l,z)},error:function(A){E(A,l,z)}});return z},suggestLocations:function(c){var d=new n(b._dfdCanceller);c.hasOwnProperty("location")&&this.normalization&&(c.location=
c.location.normalize());c.searchExtent&&(c.searchExtent=c.searchExtent.shiftCentralMeridian());c=this._encode(h.mixin({},this._url.query,{f:"json",text:c.text,maxSuggestions:c.maxSuggestions,searchExtent:c.searchExtent&&q.toJson(c.searchExtent.toJson()),category:c.categories&&c.categories.join(",")||null,countryCode:c.countryCode||null,location:c.location||null,distance:c.distance||null},{f:"json"}));c=a({url:this._url.path+"/suggest",content:c,callbackParamName:"callback"});d._pendingDfd=c;c.then(h.hitch(this,
function(f){f=f.suggestions||[];this.onSuggestLocationsComplete(f);d.resolve(f)}),h.hitch(this,function(f){this._errorHandler(f);d.reject(f)}));return d},addressesToLocations:function(c,d,f){var l=this.outSpatialReference,t=[],u=c.categories,r=c.locationType,x=c.countryCode;p.forEach(c.addresses,function(F,y){t.push({attributes:F})});c=this._encode(h.mixin({},this._url.query,{category:u&&u.join(",")||null,locationType:r||null,sourceCountry:x||null},{addresses:q.toJson({records:t})},{f:"json",outSR:l&&
q.toJson(l.toJson())}));var v=this._geocodeAddressesHandler,C=this._errorHandler,B=new n(b._dfdCanceller);B._pendingDfd=a({url:this._url.path+"/geocodeAddresses",content:c,callbackParamName:"callback",load:function(F,y){v(F,y,d,f,B)},error:function(F){C(F,f,B)}});return B},_reverseGeocodeHandler:function(c,d,f,l,t){try{var u=new g({address:c.address,location:c.location,score:100});this._successHandler([u],"onLocationToAddressComplete",f,t)}catch(r){this._errorHandler(r,l,t)}},locationToAddress:function(c,
d,f,l){c&&this.normalization&&(c=c.normalize());var t=this.outSpatialReference;c=this._encode(h.mixin({},this._url.query,{outSR:t&&q.toJson(t.toJson()),location:c&&q.toJson(c.toJson()),distance:d,f:"json"}));var u=this._reverseGeocodeHandler,r=this._errorHandler,x=new n(b._dfdCanceller);x._pendingDfd=a({url:this._url.path+"/reverseGeocode",content:c,callbackParamName:"callback",load:function(v,C){u(v,C,f,l,x)},error:function(v){r(v,l,x)}});return x},onSuggestLocationsComplete:function(){},onAddressToLocationsComplete:function(){},
onAddressesToLocationsComplete:function(){},onLocationToAddressComplete:function(){}});k("extend-esri")&&h.setObject("tasks.Locator",I,e);return I})},"esri/tasks/AddressCandidate":function(){define(["dojo/_base/declare","dojo/_base/lang","dojo/has","../kernel","../geometry/Point"],function(I,h,p,n,q){I=I(null,{declaredClass:"esri.tasks.AddressCandidate",constructor:function(k){h.mixin(this,k);this.location=new q(this.location)}});p("extend-esri")&&h.setObject("tasks.AddressCandidate",I,n);return I})},
"esri/styles/basic":function(){define(["dojo/_base/array","dojo/_base/lang","dojo/has","../kernel","../Color"],function(I,h,p,n,q){function k(g,c){if(g){var d={};d.color=new q(g.color);d.opacity=g.opacity||1;switch(c){case "point":d.outline={color:new q(g.outline.color),width:g.outline.width};d.size=g.size;break;case "line":d.width=g.width;break;case "polygon":d.outline={color:new q(g.outline.color),width:g.outline.width}}}return d}function e(g){if("esriGeometryPoint"===g||"esriGeometryMultipoint"===
g)g="point";else if("esriGeometryPolyline"===g)g="line";else if("esriGeometryPolygon"===g||"esriGeometryMultiPatch"===g)g="polygon";return g}var a={"default":{name:"default",label:"Default",description:"Default theme for basic visualization of features.",basemapGroups:{light:"streets gray topo terrain national-geographic oceans osm gray-vector streets-vector topo-vector streets-relief-vector streets-navigation-vector".split(" "),dark:["satellite","hybrid","dark-gray","dark-gray-vector","streets-night-vector"]},
pointSchemes:{light:{primary:{color:[77,77,77,1],outline:{color:[255,255,255,.25],width:1},size:8},secondary:[{color:[226,119,40,1],outline:{color:[255,255,255,.25],width:1},size:8},{color:[255,255,255,1],outline:{color:[51,51,51,.25],width:1},size:8}]},dark:{primary:{color:[255,255,255,1],outline:{color:[92,92,92,.25],width:1},size:8},secondary:[{color:[226,119,40,1],outline:{color:[255,255,255,.25],width:1},size:8},{color:[26,26,26,1],outline:{color:[178,178,178,.25],width:1},size:8}]}},lineSchemes:{light:{primary:{color:[77,
77,77,1],width:2},secondary:[{color:[226,119,40,1],width:2},{color:[255,255,255,1],width:2}]},dark:{primary:{color:[255,255,255,1],width:2},secondary:[{color:[226,119,40,1],width:2},{color:[26,26,26,1],width:2}]}},polygonSchemes:{light:{primary:{color:[227,139,79,1],outline:{color:[255,255,255,.25],width:1},opacity:.8},secondary:[{color:[128,128,128,1],outline:{color:[255,255,255,.25],width:1},opacity:.8},{color:[255,255,255,1],outline:{color:[128,128,128,.25],width:1},opacity:.8}]},dark:{primary:{color:[227,
139,79,1],outline:{color:[92,92,92,.25],width:1},opacity:.8},secondary:[{color:[178,178,178,1],outline:{color:[92,92,92,.25],width:1},opacity:.8},{color:[26,26,26,1],outline:{color:[128,128,128,.25],width:1},opacity:.8}]}}}},b={};(function(){var g,c,d;for(g in a){var f=a[g];var l=f.basemapGroups;var t=b[g]={basemaps:[].concat(l.light).concat(l.dark),point:{},line:{},polygon:{}};for(c in l){var u=l[c];for(d=0;d<u.length;d++){var r=u[d];f.pointSchemes&&(t.point[r]=f.pointSchemes[c]);f.lineSchemes&&
(t.line[r]=f.lineSchemes[c]);f.polygonSchemes&&(t.polygon[r]=f.polygonSchemes[c])}}}})();var m={getAvailableThemes:function(g){var c=[],d;for(d in a){var f=a[d];var l=b[d];g&&-1===I.indexOf(l.basemaps,g)||c.push({name:f.name,label:f.label,description:f.description,basemaps:l.basemaps.slice(0)})}return c},getSchemes:function(g){var c=g.theme,d=g.basemap,f=e(g.geometryType);g=b[c];var l;(g=(g=g&&g[f])&&g[d])&&(l={primaryScheme:k(g.primary,f),secondarySchemes:I.map(g.secondary,function(t){return k(t,
f)})});return l},cloneScheme:function(g){if(g){var c=h.mixin({},g);c.color&&(c.color=new q(c.color));c.outline&&(c.outline={color:c.outline.color&&new q(c.outline.color),width:c.outline.width})}return c}};p("extend-esri")&&h.setObject("styles.basic",m,n);return m})},"esri/geometry/coordinateFormatter":function(){define("require exports ../layers/vectorTiles/core/Error ./pe ./Point ../SpatialReference".split(" "),function(I,h,p,n,q,k){function e(m){var g=null;m||(m=new k(4326));if(m.wkid){if(g=n.PeFactory.geogcs(m.wkid),
!g)throw new p("coordinate-formatter:invalid-spatial-reference","wkid is not valid");}else if(m.wkt){if(g=n.PeFactory.fromString(n.PeDefs.PE_TYPE_GEOGCS,m.wkt),!g)throw new p("coordinate-formatter:invalid-spatial-reference","wkt is not valid");}else throw new p("coordinate-formatter:invalid-spatial-reference","wkid and wkt are missing");return g}function a(m){var g=-1;switch(m){case "automatic":g=n.PeNotationMgrs.PE_MGRS_STYLE_AUTO;break;case "new-180-in-zone-01":g=n.PeNotationMgrs.PE_MGRS_STYLE_NEW|
n.PeNotationMgrs.PE_MGRS_180_ZONE_1_PLUS;break;case "new-180-in-zone-60":g=n.PeNotationMgrs.PE_MGRS_STYLE_NEW;break;case "old-180-in-zone-01":g=n.PeNotationMgrs.PE_MGRS_STYLE_OLD|n.PeNotationMgrs.PE_MGRS_180_ZONE_1_PLUS;break;case "old-180-in-zone-60":g=n.PeNotationMgrs.PE_MGRS_STYLE_OLD}return g}function b(m){var g=-1;switch(m){case "latitude-band-indicators":g=n.PeNotationUtm.PE_UTM_OPTS_NONE;break;case "north-south-indicators":g=n.PeNotationUtm.PE_UTM_OPTS_NS}return g}Object.defineProperty(h,"__esModule",
{value:!0});h.isLoaded=function(){return n.isLoaded()};h.isSupported=function(){return n.isSupported()};h.load=function(){return n.load()};h.fromLatitudeLongitude=function(m,g){var c=[];m=m.replace(/\u2032/g,"'");var d=e(g);return n.PeNotationDms.dms_to_geog(d,1,[m],c)?new q(c[0][0],c[0][1],g||new k(4326)):null};h.fromMgrs=function(m,g,c){var d=[],f=a(c);if(-1===f)return console.warn("invalid conversionMode: "+c),null;c=e(g);return n.PeNotationMgrs.mgrs_to_geog_extended(c,1,[m],f,d)?new q(d[0][0],
d[0][1],g||new k(4326)):null};h.fromUsng=function(m,g){var c=[];!g&&/\(.+27/.test(m)&&(g=new k(4267));var d=e(g);return n.PeNotationUsng.usng_to_geog(d,1,[m],c)?new q(c[0][0],c[0][1],g||new k(4326)):null};h.fromUtm=function(m,g,c){var d=[],f=b(c);if(-1===f)return console.warn("invalid conversionMode: "+c),null;c=e(g);return n.PeNotationUtm.utm_to_geog(c,1,[m],f,d)?new q(d[0][0],d[0][1],g||new k(4326)):null};h.toLatitudeLongitude=function(m,g,c){void 0===c&&(c=0);var d=[[m.x,m.y]],f=[];m=e(m.spatialReference);
var l=0;switch(g){case "dd":l=n.PeNotationDms.geog_to_dd(m,1,d,c,f);break;case "ddm":l=n.PeNotationDms.geog_to_ddm(m,1,d,c,f);break;case "dms":l=n.PeNotationDms.geog_to_dms(m,1,d,c,f);break;default:return console.warn("invalid format: "+g),null}return l?f[0]:null};h.toMgrs=function(m,g,c,d){void 0===c&&(c=0);void 0===d&&(d=!1);var f=[[m.x,m.y]],l=[];m=e(m.spatialReference);var t=a(g);if(-1===t)return console.warn("invalid conversionMode: "+g),null;d&&(t|=n.PeNotationMgrs.PE_MGRS_ADD_SPACES);return n.PeNotationMgrs.geog_to_mgrs_extended(m,
1,f,c,!1,t,l)?l[0]:null};h.toUsng=function(m,g,c){void 0===g&&(g=0);void 0===c&&(c=!1);var d=[[m.x,m.y]],f=[];m=e(m.spatialReference);return n.PeNotationUsng.geog_to_usng(m,1,d,g,!1,c,f)?f[0]:null};h.toUtm=function(m,g,c){void 0===c&&(c=!1);var d=[[m.x,m.y]],f=[];m=e(m.spatialReference);var l=b(g);if(-1===l)return console.warn("invalid conversionMode: "+g),null;c&&(l|=n.PeNotationUtm.PE_UTM_OPTS_ADD_SPACES);return n.PeNotationUtm.geog_to_utm(m,1,d,l,f)?f[0]:null}})},"widgets/Search/utils":function(){define("dojo/_base/lang dojo/_base/array dojo/Deferred dojo/when dojo/promise/all jimu/portalUtils esri/lang esri/request".split(" "),
function(I,h,p,n,q,k,e,a){return{map:null,layerInfosObj:null,appConfig:null,_esriLocatorRegExp:/geocode(.){0,3}\.arcgis.com\/arcgis\/rest\/services\/World\/GeocodeServer/g,setMap:function(b){this.map=b},setLayerInfosObj:function(b){this.layerInfosObj=b},setAppConfig:function(b){this.appConfig=b},getConfigInfo:function(b){if(b&&b.sources&&0<b.sources.length){var m=null;return this.searchLayer(this.map)&&b.upgradeFromGeocoder?(m=this.map.itemInfo.itemData.applicationProperties.viewing.search,m=h.map(m.layers,
I.hitch(this,function(g,c){c.hintText=g;return this._getQueryTypeGeocoder(c)},m.hintText)),q(m).then(I.hitch(this,function(g){b.sources=[].concat(g).concat(b.sources);return b}))):b}return n(this._getSoucesFromPortalAndWebmap()).then(I.hitch(this,function(g){return{allPlaceholder:"",showInfoWindowOnSelect:!0,sources:g}}))},_getSoucesFromPortalAndWebmap:function(){var b=[],m=null;this.searchLayer(this.map)&&(m=this.map.itemInfo.itemData.applicationProperties.viewing.search,h.forEach(m.layers,I.hitch(this,
function(g,c){c.hintText=g;b.push(this._getQueryTypeGeocoder(c))},m.hintText)));return k.getPortalSelfInfo(this.appConfig.portalUrl).then(I.hitch(this,function(g){if((g=g.helperServices&&g.helperServices.geocode)&&0<g.length)for(var c=0,d=g.length;c<d;c++){var f=g[c];f&&b.push(this._processSingleLine(f))}return q(b).then(I.hitch(this,function(l){for(var t=[],u=0;u<l.length;u++){var r=l[u];r&&(r&&"query"===r.type?t.push(r):(r={name:r.name||this._getGeocodeName(r.url),url:r.url,singleLineFieldName:r.singleLineFieldName,
placeholder:r.placeholder||window.jimuNls.common.findAddressOrPlace||r.name||this._getGeocodeName(r.url),maxResults:6,searchInCurrentMapExtent:!1,type:"locator"},r.enableLocalSearch=this._isEsriLocator(r.url),r.localSearchMinScale=3E5,r.localSearchDistance=5E4,t.push(r)))}return t}))}))},_getQueryTypeGeocoder:function(b){var m=this.map.getLayer(b.id),g=null,c=null,d=null;d=e.isDefined(b.subLayer)?b.id+"_"+b.subLayer:b.id;g=this.layerInfosObj.traversal(function(f){return f.id===d?(c=f,!0):!1});return m&&
g&&c?(g=e.isDefined(b.subLayer)?c.url||m.url+"/"+b.subLayer:c.url||m.url,{name:c.title,layerId:d,url:g,placeholder:b.hintText||window.jimuNls.common.findAddressOrPlace,searchFields:[b.field.name],displayField:b.field.name,exactMatch:b.field.exactMatch||!1,maxResults:6,searchInCurrentMapExtent:!1,type:"query"}):null},_isEsriLocator:function(b){this._esriLocatorRegExp.lastIndex=0;return this._esriLocatorRegExp.test(b)},_processSingleLine:function(b){if(b.singleLineFieldName)return b;if(this._isEsriLocator(b.url))return b.singleLineFieldName=
"SingleLine",b;var m=new p;a({url:b.url,content:{f:"json"},handleAs:"json",callbackParamName:"callback"}).then(I.hitch(this,function(g){g.singleLineAddressField&&g.singleLineAddressField.name?(b.singleLineFieldName=g.singleLineAddressField.name,m.resolve(b)):(console.warn(b.url+"has no singleLineFieldName"),m.resolve(null))}),I.hitch(this,function(g){console.error(g);m.resolve(null)}));return m.promise},_getGeocodeName:function(b){if("string"!==typeof b)return"geocoder";b=b.split("/");return b[b.length-
2]||"geocoder"},getGeocoderName:function(b){return this._getGeocodeName(b)},hasAppSearchInfo:function(b){return b.itemInfo&&b.itemInfo.itemData&&b.itemInfo.itemData.applicationProperties&&b.itemInfo.itemData.applicationProperties.viewing&&b.itemInfo.itemData.applicationProperties.viewing.search},searchLayer:function(b){if(!this.hasAppSearchInfo(b))return!1;b=b.itemInfo.itemData.applicationProperties.viewing.search;return b.enabled&&0!==b.layers.length?!0:!1}}})},"widgets/Search/_build-generate_module":function(){define(["dojo/text!./Widget.html",
"dojo/text!./css/style.css","dojo/i18n!./nls/strings"],function(){})},"widgets/Splash/Widget":function(){define("dojo/_base/declare dojo/_base/lang dojo/_base/html dojo/on dojo/keys dojo/query dojo/cookie dijit/_WidgetsInTemplateMixin jimu/BaseWidget dojo/topic jimu/dijit/CheckBox jimu/utils esri/lang jimu/dijit/LoadingShelter dojo/Deferred jimu/dijit/EditorXssFilter jimu/dijit/EditorPreviewLinkMessager".split(" "),function(I,h,p,n,q,k,e,a,b,m,g,c,d,f,l,t,u){return I([b,a],{baseClass:"jimu-widget-splash",
_hasContent:null,_requireConfirm:null,_isClosed:!1,postCreate:function(){this.inherited(arguments);this.isFirstFoucs=!0;p.setAttr(this.domNode,"aria-label",this.nls._widgetLabel);this.shelter=new f({hidden:!0});this.shelter.placeAt(this.domNode);this.shelter.startup();this.config.splash.splashContent=t.getInstance().sanitize(this.config.splash.splashContent);this._hasContent=this.config.splash&&this.config.splash.splashContent;this._requireConfirm=this.config.splash&&this.config.splash.requireConfirm;
this._showOption=this.config.splash&&this.config.splash.showOption;this._confirmEverytime=this.config.splash&&this.config.splash.confirmEverytime;this._hasContent&&(this.customContentNode.innerHTML=this.config.splash.splashContent);if(this._requireConfirm||this._showOption){var r="";this._requireConfirm?(r=this.config.splash.confirm.text,p.addClass(this.okNode,"disable-btn")):(r=this.nls.notShowAgain,p.addClass(this.okNode,"enable-btn"));this.confirmCheck=new g({label:c.stripHTML(r),checked:!1},this.confirmCheck);
this.own(n(this.confirmCheck,"change",h.hitch(this,this.onCheckBoxClick)));this.confirmCheck.startup()}else p.setStyle(this.confirmCheck,"display","none"),p.addClass(this.okNode,"enable-btn")},onOpen:function(){if(!c.isInConfigOrPreviewWindow()){var r=this._getCookieKey();r=e(r);d.isDefined(r)&&"false"===r.toString()&&this.close()}c.focusFirstFocusNode(this.domNode);this._eventShow()},startup:function(){this.inherited(arguments);this.shelter.show();this._normalizeDomNodePosition();this._setConfig();
this.own(n(this.domNode,"keydown",h.hitch(this,function(x){p.hasClass(x.target,this.baseClass)&&x.keyCode===q.ESCAPE&&!this._requireConfirm&&(this.close(),c.focusOnFirstSkipLink())})));this.own(n(this.splashDesktop,"keydown",h.hitch(this,function(x){p.hasClass(x.target,"jimu-widget-splash-desktop")&&(x.keyCode===q.TAB&&x.preventDefault(),(x.keyCode===q.ENTER||!x.shiftKey&&x.keyCode===q.TAB)&&c.focusFirstFocusNode(this.domNode))})));var r=c.getFocusNodesInDom(this.domNode);c.initFirstFocusNode(this.domNode,
r[0]);c.initLastFocusNode(this.domNode,this.okNode);this._onlyFocus=!0;this.own(n(this.customContentNode,"focus",h.hitch(this,function(){this._onlyFocus?this._onlyFocus=!1:(this.customContentNode.scrollTop=0,p.setStyle(this.customContentNode,"display","none"),this.customContentNode.blur(),p.setStyle(this.customContentNode,"display","block"),setTimeout(h.hitch(this,function(){this._onlyFocus=!0;this.customContentNode.focus()}),30))})));c.setWABLogoDefaultAlt(this.customContentNode);this.own(n(this.splashDesktop,
"focus",h.hitch(this,function(){this.isFirstFoucs&&(this.isFirstFoucs=!1,setTimeout(function(){r[0].focus()},0))})))},_setOkNodeAriaLabel:function(){var r=this._requireConfirm&&!this.confirmCheck.getValue()?"true":"false";p.attr(this.okNode,"aria-disabled",r)},_setConfig:function(){this._setWidthForOldVersion().then(h.hitch(this,function(){this._setSizeFromConfig();var r=this.config.splash.button;"undefined"!==typeof r&&("undefined"!==typeof r.color&&(p.setStyle(this.okNode,"backgroundColor",r.color),
p.setStyle(this.okNode,"color",c.invertColor(r.color))),"undefined"!==typeof r.transparency&&p.setStyle(this.okNode,"opacity",1-r.transparency));this.okNode.innerHTML=this.config.splash.button.text||this.nls.ok;p.attr(this.okNode,"title",this.config.splash.button.text||this.nls.ok);this._setOkNodeAriaLabel();var x=this.config.splash.background;if("undefined"!==typeof x)if("image"===x.mode&&"undefined"!==typeof x.image){var v=r="";r="url("+c.processUrlInWidgetConfig(x.image,this.folderUrl)+") center center ";
v="no-repeat";x=x.type;"undefined"!==typeof x&&(p.addClass(this.splashContainerNode,x),"tile"===x&&(v="repeat"));p.setStyle(this.splashContainerNode,"background",r+v)}else"color"===x.mode&&"undefined"!==typeof x.color&&("undefined"!==typeof x.color&&p.setStyle(this.splashContainerBackground,"backgroundColor",x.color),"undefined"!==typeof x.transparency&&p.setStyle(this.splashContainerBackground,"opacity",1-x.transparency));r=this.config.splash.confirm;"undefined"!==typeof r&&this.domNode&&(v=k(".label",
this.domNode)[0],"undefined"!==typeof r.color&&v&&p.setStyle(v,"color",r.color),"undefined"!==typeof r.transparency&&v&&p.setStyle(v,"opacity",1-r.transparency));this.contentVertical="undefined"!==typeof this.config.splash.contentVertical?this.config.splash.contentVertical:"top";c.isInConfigOrPreviewWindow()||(r=this._getCookieKey(),r=e(r),d.isDefined(r)&&"false"===r.toString()&&this.close());this.resize();this.own(n(window,"resize",h.hitch(this,function(){this.resize()})));this._resizeContentImg();
p.removeClass(this.envelopeNode,"buried");r=u.getInstance();try{var C=r.isInBuilder()}catch(B){C=!1}C&&r.isHasContent(this._hasContent,this._isClosed)&&r.filter(this.customContentNode);this.shelter.hide()}))},_normalizeDomNodePosition:function(){p.setStyle(this.domNode,"top",0);p.setStyle(this.domNode,"left",0);p.setStyle(this.domNode,"right",0);p.setStyle(this.domNode,"bottom",0)},setPosition:function(r){this.position=r;p.place(this.domNode,window.jimuConfig.layoutId);this._normalizeDomNodePosition();
this.started&&this.resize()},resize:function(){this._changeStatus()},_resizeContentImg:function(){if(this._hasContent&&!this._isClosed){var r=p.getContentBox(this.envelopeNode);p.empty(this.customContentNode);var x=p.toDom(this.config.splash.splashContent);p.place(x,this.customContentNode);this.customContentNode.nodeType&&1===this.customContentNode.nodeType&&(x=k("img",this.customContentNode))&&x.length&&x.style({maxWidth:r.w-40-20+"px",maxHeight:r.h-40+"px"})}},_changeStatus:function(){window.appInfo.isRunInMobile?
(p.setStyle(this.envelopeNode,"height","100%"),p.setStyle(this.envelopeNode,"width","100%")):this._setSizeFromConfig();this._resizeCustomContent();this._resizeContentImg()},_getNodeStylePx:function(r,x){return r&&x?parseInt(p.getStyle(r,x),10):0},_resizeCustomContent:function(){var r=p.getContentBox(this.splashContainerNode),x=this.customContentNode.scrollHeight,v=p.getMarginBox(this.footerNode),C=this._getNodeStylePx(this.customContentNode,"margin-bottom"),B=this._getNodeStylePx(this.footerNode,
"bottom");r=r.h-(v.h+B);!0===x>=r||window.appInfo.isRunInMobile?p.setStyle(this.customContentNode,"height",r-C+"px"):(p.setStyle(this.customContentNode,"height","auto"),this._moveContentToMiddle({contentSpace:r,customContentScrollheight:x}))},_moveContentToMiddle:function(r){var x=(r.contentSpace-10)/2;"middle"===this.contentVertical&&(r=r.customContentScrollheight/2-x,0>r?p.setStyle(this.customContentNode,"marginTop",Math.abs(r)+10+"px"):p.setStyle(this.customContentNode,"marginTop","10px"))},onCheckBoxClick:function(){this._requireConfirm&&
(this.confirmCheck.getValue()?(p.addClass(this.okNode,"enable-btn"),p.removeClass(this.okNode,"disable-btn")):(p.addClass(this.okNode,"disable-btn"),p.removeClass(this.okNode,"enable-btn")),this._setOkNodeAriaLabel())},_getCookieKey:function(){return"isfirst_"+encodeURIComponent(c.getAppIdFromUrl())},onOkClick:function(){var r=this._getCookieKey();this._requireConfirm?this.confirmCheck.getValue()&&(c.isInConfigOrPreviewWindow()||this._confirmEverytime?e(r,null,{expires:-1}):e(r,!1,{expires:1E3,path:"/"}),
this.close()):(this._showOption?!c.isInConfigOrPreviewWindow()&&this.confirmCheck.getValue()&&e(r,!1,{expires:1E3,path:"/"}):e(r,null,{expires:-1}),this.close())},onOkKeydown:function(r){if(r.keyCode===q.ENTER||r.keyCode===q.SPACE)this.onOkClick(),!this._requireConfirm||this._requireConfirm&&this.confirmCheck.getValue()?c.focusOnFirstSkipLink():r.preventDefault()},close:function(){this._isClosed=!0;this._eventHide();this.widgetManager.closeWidget(this)},_setSizeFromConfig:function(){var r=this.config.splash.size;
if("undefined"!==typeof r&&"object"===typeof r){var x=r.percent,v=r.wh;"percent"===r.mode&&"undefined"!==typeof x?(p.setStyle(this.envelopeNode,"width",x),p.setStyle(this.envelopeNode,"height",x)):"wh"===r.mode&&"undefined"!==typeof v&&(this._setWidthInCurrentScreen(v),this._setHeightInCurrentScreen(v))}},_setWidthInCurrentScreen:function(r){var x=window.innerWidth;!window.appInfo.isRunInMobile&&r.w<=x?p.setStyle(this.envelopeNode,"width",r.w+"px"):p.setStyle(this.envelopeNode,"width","100%")},_setHeightInCurrentScreen:function(r){var x=
window.innerHeight;!window.appInfo.isRunInMobile&&r.h<=x?p.setStyle(this.envelopeNode,"height",r.h+"px"):p.setStyle(this.envelopeNode,"height","100%")},_setWidthForOldVersion:function(){var r=new l,x=this.config.splash.size;if(!0===("wh"===x.mode&&"undefined"!==typeof x.wh&&null===x.wh.h))return c.getEditorContentHeight(this.config.splash.splashContent,this.domNode,{contentWidth:560,contentMarginTop:20,footerHeight:98}).then(h.hitch(this,function(v){return x.wh.h=v}));r.resolve();return r},_eventShow:function(){setTimeout(h.hitch(this,
function(){m.publish("splashPopupShow")}),800)},_eventHide:function(){m.publish("splashPopupHide")}})})},"jimu/dijit/EditorXssFilter":function(){define("dojo/_base/declare dojo/_base/array dijit/_WidgetBase dojo/_base/lang dojo/Evented libs/arcgis-html-sanitizer/arcgis-html-sanitizer".split(" "),function(I,h,p,n,q,k){var e=null,a=I([p,q],{baseClass:"jimu-editor-xss-filter",declaredClass:"jimu.dijit.EditorXssFilter",sanitizer:null,xss:null,whiteList:{},graphicsWhiteList:{},postCreate:function(){this.whiteList=
this._getWhiteList();this.sanitizer=new k({whiteList:this.whiteList,safeAttrValue:n.hitch(this,function(b,m,g,c){return"style"===m?this.xss.friendlyAttrValue(g).replace(/"/g,"'"):"img"===b&&"src"===m?this.xss.escapeAttrValue(g):this.xss.safeAttrValue(b,m,g,c)}),onTag:n.hitch(this,function(b,m,g){if(g.isWhite&&this._isInWhiteList(b,this.graphicsWhiteList))return m}),onIgnoreTagAttr:n.hitch(this,function(b,m,g,c){if("data-"===m.substr(0,5))return m+'\x3d"'+this.xss.escapeAttrValue(g)+'"'}),onIgnoreTag:n.hitch(this,
function(b,m,g){if("o:"===b.substr(0,2)||"!--[if"===b||"!--[endif]--"===b)return m})},!0);this.xss=this.sanitizer.xss},sanitize:function(b){return this.sanitizer.sanitize(b)},_getWhiteList:function(){var b="title height width class style font-family id align text-align".split(" "),m={div:b,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,span:b,p:b,s:b,strong:b,em:b,u:b,ol:b,ul:b,li:b,a:["href","target"].concat(b),img:["src","alt","border"].concat(b),blockquote:b,font:["face","size","color"].concat(b),pre:b,code:b,
b:b,i:b,wbr:b,video:"autoplay controls loop muted poster preload".split(" ").concat(b),audio:["autoplay","controls","loop","muted","preload"].concat(b),source:["media","src","type"].concat(b),table:["cellpadding","cellspacing","border"].concat(b),tbody:[].concat(b),tr:["valign"].concat(b),td:["valign","colspan","rowspan","nowrap"].concat(b),th:["valign","colspan","rowspan","nowrap"].concat(b),hr:b,html:b,title:b,link:["rel","href"],style:["type"].concat(b),body:b};this.graphicsWhiteList={animate:[],
animateMotion:[],animateTransform:[],circle:[],clipPath:[],"color-profile":[],defs:[],desc:[],discard:[],ellipse:[],feBlend:[],feColorMatrix:[],feComponentTransfer:[],feComposite:[],feConvolveMatrix:[],feDiffuseLighting:[],feDisplacementMap:[],feDistantLight:[],feDropShadow:[],feFlood:[],feFuncA:[],feFuncB:[],feFuncG:[],feFuncR:[],feGaussianBlur:[],feImage:[],feMerge:[],feMergeNode:[],feMorphology:[],feOffset:[],fePointLight:[],feSpecularLighting:[],feSpotLight:[],feTile:[],feTurbulence:[],filter:[],
foreignObject:[],g:[],hatch:[],hatchpath:[],line:[],linearGradient:[],marker:[],mask:[],mesh:[],meshgradient:[],meshpatch:[],meshrow:[],metadata:[],mpath:[],path:[],pattern:[],polygon:[],polyline:[],radialGradient:[],rect:[],set:[],solidcolor:[],stop:[],svg:[],switch:[],symbol:[],text:[],textPath:[],title:[],tspan:[],use:[],view:[],object:[],canvas:b};return this._extendObjectOfArrays([m,{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],
audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],
small:[],span:[],sub:[],summary:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:"autoplay controls loop preload src height width".split(" ")},this.graphicsWhiteList])},_extendObjectOfArrays:function(b){var m={};h.forEach(b,function(g){var c=Object.keys(g);h.forEach(c,
function(d){Array.isArray(g[d])&&Array.isArray(m[d])?m[d]=m[d].concat(g[d]):m[d]=g[d]},this)},this);return m},_isInWhiteList:function(b,m){m=Object.keys(m);var g=!1;h.forEach(m,function(c){b===c&&(g=!0)},this);return g}});a.getInstance=function(){null===e&&(e=new a);return e};return a})},"jimu/dijit/EditorPreviewLinkMessager":function(){define("dojo/_base/declare dijit/_WidgetBase dojo/on dojo/_base/lang dojo/_base/html dojo/query dojo/Evented dijit/Tooltip".split(" "),function(I,h,p,n,q,k,e,a){var b=
null,m=I([h,e],{baseClass:"jimu-editor-preview-link-messager",declaredClass:"jimu.dijit.EditorPreviewLinkMessager",time:3E3,postMixInProperties:function(){this.nls=window.jimuNls.richTextEditor;this.tooltipPrefix=this.nls.previewLinkToolTipsPrefix;this.tooltipSuffix=this.nls.previewLinkToolTipsSuffix},isInBuilder:function(){return window&&window.parent&&window.parent.isBuilder},isHasContent:function(g,c){return g&&!c},filter:function(g){if(g.nodeType&&1===g.nodeType){g=k("a",g);for(var c=0,d=g.length;c<
d;c++){var f=g[c];if("_self"===q.attr(f,"target")){q.removeAttr(f,"target");var l=q.attr(f,"href");q.attr(f,"onclick",n.hitch(this,function(t){this._interceptLink(t);return!1}));this.own(p(f,"focus",n.hitch(this,function(t){this._interceptLink(t)})));q.setAttr(f,"aria-label",l)}}}},_interceptLink:function(g,c){g&&g.preventDefault();c=g.target.href;a.show(this.tooltipPrefix+c+"\x3cbr/\x3e"+this.tooltipSuffix,g.target);setTimeout(n.hitch(this,function(){a.hide(g.target)}),this.time);return!1}});m.getInstance=
function(){null===b&&(b=new m);return b};return m})},"widgets/Splash/_build-generate_module":function(){define(["dojo/text!./Widget.html","dojo/text!./css/style.css","dojo/i18n!./nls/strings"],function(){})},"url:widgets/ZoomSlider/Widget.html":'\x3cdiv class\x3d"jimu-corner-all"\x3e\r\n  \x3cdiv class\x3d"zoom zoom-in firstFocusNode" role\x3d"button" data-dojo-attach-point\x3d"btnZoomIn" title\x3d"${jimuCommonNls.zoomIn}" aria-label\x3d"${jimuCommonNls.zoomIn}"\r\n  data-dojo-attach-event\x3d"onclick:_onBtnZoomInClicked, onkeydown:_onBtnZoomInKeyDown" tabindex\x3d"0"\x3e+\x3c/div\x3e\r\n  \x3cdiv class\x3d"zoom zoom-out lastFocusNode" role\x3d"button" data-dojo-attach-point\x3d"btnZoomOut" title\x3d"${jimuCommonNls.zoomOut}" aria-label\x3d"${jimuCommonNls.zoomOut}"\r\n   data-dojo-attach-event\x3d"onclick:_onBtnZoomOutClicked, onkeydown:_onBtnZoomOutKeyDown" tabindex\x3d"0"\x3e\u2013\x3c/div\x3e\r\n\x3c/div\x3e',
"url:widgets/ZoomSlider/css/style.css":".jimu-widget-zoomslider{background-color: #555; border: 1px solid #999; cursor: pointer; font-size: 24px; line-height: 25px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; color: #fff; text-align: center; font-family: verdana,helvetica;}.jimu-widget-zoomslider .zoom{width: 30px; height: 30px;}.jimu-widget-zoomslider .zoom:hover{background-color: #333;}.jimu-widget-zoomslider .zoom.jimu-state-disabled{color: rgba(255,255,255,0.3);}.jimu-widget-zoomslider.vertical .zoom-in{border-bottom: 1px solid #57585A;}.jimu-widget-zoomslider.horizontal .zoom-in{border-right: 1px solid #57585A;}",
"url:esri/dijit/templates/HomeButton.html":'\x3cdiv class\x3d"${theme}" role\x3d"presentation"\x3e\r\n    \x3cdiv class\x3d"${_css.container}"\x3e\r\n            \x3cdiv data-dojo-attach-point\x3d"_homeNode" title\x3d"${_i18n.widgets.homeButton.home.title}" role\x3d"button" class\x3d"${_css.home}" tabindex\x3d"0"\x3e\x3cspan\x3e${_i18n.widgets.homeButton.home.button}\x3c/span\x3e\x3c/div\x3e\r\n    \x3c/div\x3e\r\n\x3c/div\x3e',"url:widgets/HomeButton/css/style.css":".jimu-widget-homebutton {background-color: #555; border-radius: 5px; border: 1px solid #999;}.jimu-widget-homebutton .HomeButton .home {background-color: #555;}.jimu-widget-homebutton.inHome {background-color: #000;}.jimu-widget-homebutton .HomeButton .home:hover {background-color: #333;}.jimu-widget-homebutton.inHome .HomeButton .home {background-color: #000;}",
"url:esri/dijit/templates/LocateButton.html":'\x3cdiv class\x3d"${theme}" role\x3d"presentation"\x3e\r\n    \x3cdiv class\x3d"${_css.container}"\x3e\r\n            \x3cdiv data-dojo-attach-point\x3d"_locateNode" role\x3d"button" class\x3d"${_css.locate}" tabindex\x3d"0"\x3e\x3cspan\x3e${_i18n.widgets.locateButton.locate.button}\x3c/span\x3e\x3c/div\x3e\r\n    \x3c/div\x3e\r\n\x3c/div\x3e\r\n',"url:widgets/MyLocation/css/style.css":'.jimu-widget-mylocation{border-radius: 5px; background-color: #555; border: 1px solid #999;}.jimu-widget-mylocation.onCenter {background-color: #000;}.jimu-widget-mylocation .place-holder {padding: 2px; width: 30px; height: 30px; background-color: #555; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; -webkit-border-radius: 5px; -moz-border-radius: 5px; -o-border-radius: 5px; border-radius: 5px; background-image: url("images/locate.png"); background-position: center center; background-repeat: no-repeat;}.jimu-widget-mylocation .place-holder.locating{background-image: url("images/loading.gif");}.jimu-widget-mylocation .place-holder.tracking{background-image: url("images/stop.png") !important; background-color: #000;}.jimu-widget-mylocation .place-holder.nohttps{background-image: url("images/locate_disabled.png") !important;}.jimu-widget-mylocation .place-holder.nohttps:hover{background-color: #555;}.jimu-widget-mylocation .place-holder.nohttps,.jimu-widget-mylocation .place-holder{background-color: #555;}.jimu-widget-mylocation.onLocate .place-holder{background-color: rgba(0,0,0,0.4);}.jimu-widget-mylocation.onCenter .place-holder{background-color: #000;}.jimu-widget-mylocation .place-holder:hover{background-color: #333;}',
"url:widgets/Coordinate/Widget.html":'\x3cdiv\x3e\r\n  \x3cdiv data-dojo-attach-point\x3d"coordinateBackground"\x3e\r\n    \x3cdiv data-dojo-attach-point\x3d"coordinateMenuContainer" style\x3d"display:none"\x3e\r\n      \x3cdiv data-dojo-attach-point\x3d"coordinateMenu"\x3e\x3c/div\x3e\r\n    \x3c/div\x3e\r\n    \x3cdiv data-dojo-attach-point\x3d"coordinateInfoMenu" class\x3d"coordinate-info-menu jimu-float-leading jimu-align-leading"\x3e\r\n      \x3cdiv class\x3d"jimu-float-leading coordinate-locate-container" data-dojo-attach-point\x3d"locateContainer"\x3e\r\n        \x3cdiv data-dojo-attach-point\x3d"locateButton" class\x3d"coordinate-locate jimu-float-leading" tabindex\x3d"0" role\x3d"button"\x3e\x3c/div\x3e\r\n      \x3c/div\x3e\r\n      \x3cdiv data-dojo-attach-point\x3d"coordinateInfo" class\x3d"coordinate-info jimu-float-leading jimu-align-leading"\x3e\r\n        ${nls.loading}\r\n      \x3c/div\x3e\r\n    \x3c/div\x3e\r\n    \x3cdiv class\x3d"jimu-float-trailing coordinate-foldable-container" data-dojo-attach-point\x3d"foldContainer"\x3e\r\n      \x3cdiv class\x3d"coordinate-foldable jimu-float-trailing" data-dojo-attach-point\x3d"foldableNode" tabindex\x3d"0" role\x3d"button"\x3e\x3c/div\x3e\r\n    \x3c/div\x3e\r\n  \x3c/div\x3e\r\n\x3c/div\x3e',
"url:widgets/Coordinate/css/style.css":".jimu-widget-coordinate .coordinate-background{line-height: 17px; overflow: hidden; font-size: 10px; color: #fff; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.5);}.jimu-widget-coordinate .display-coordinate-menu{display: block !important; border-bottom: 1px solid rgba(255,255,255,0.4);}.jimu-widget-coordinate .coordinate-locate{width: 13px; height: 13px; background: url(images/locate.png) center no-repeat; margin: 2px;}.jimu-widget-coordinate .coordinate-locate-container{width: 17px; height: 17px; border-right: 1px solid rgba(255,255,255,0.4);}.jimu-widget-coordinate .coordinate-locate-container:hover .coordinate-locate{background: url(images/locate-hover.png) center no-repeat !important; cursor: pointer;}.jimu-widget-coordinate .coordinate-locate-container-active .coordinate-locate{background: url(images/locate-active.png) center no-repeat !important; cursor: pointer;}.jimu-widget-coordinate .coordinate-info{margin: 0 5px; font-size: 11px !important; color: #fff !important;}.jimu-widget-coordinate .coordinate-info-menu-empty .coordinate-info{margin: 0;}.jimu-widget-coordinate .coordinate-info-menu-empty .coordinate-locate-container {border-style: none !important;}.jimu-widget-coordinate .coordinate-foldable-container {border-left: 1px solid rgba(255,255,255,0.4); height: 17px;}.jimu-widget-coordinate .coordinate-foldable{background: url(images/more.png) center no-repeat; cursor: pointer; width: 13px; height: 13px; margin: 2px;}.jimu-widget-coordinate:hover .coordinate-foldable{background-image: url(images/more-hover.png);}.jimu-rtl .jimu-widget-coordinate .coordinate-locate-container{border-right-style: none; border-left: 1px solid rgba(255,255,255,0.4);}.jimu-rtl .jimu-widget-coordinate .coordinate-locate-container:hover .coordinate-locate,.jimu-rtl .jimu-widget-coordinate .coordinate-locate-container-active .coordinate-locate{background-position: right center;}.jimu-rtl .jimu-widget-coordinate .coordinate-foldable-container{border-left-style: none; border-right: 1px solid rgba(255,255,255,0.4);}.claro .jimu-widget-coordinate .dijitMenuTable {background: transparent; border-style: none; padding: 2px;}.claro .jimu-widget-coordinate .dijitMenuItem {color: #fff;}.claro .jimu-widget-coordinate .dijitMenu .dijitMenuItem td{border-style: none; text-align: left; padding: 4px 2px; font-size: 10px;}.claro .jimu-widget-coordinate .dijitMenu .dijitMenuItem.selected-item{font-weight: bold; background: #000;}.jimu-rtl .claro .jimu-widget-coordinate .dijitMenu .dijitMenuItem td{text-align: right;}.claro .jimu-widget-coordinate .dijitMenu .dijitMenuItemHover td,.claro .jimu-widget-coordinate .dijitMenu .dijitMenuItemHover {color: #fff; background: #000; border-style: none;}.claro .jimu-widget-coordinate .dijitMenu .dijitMenuItemActive,.claro .jimu-widget-coordinate .dijitMenu .dijitMenuItemActive td,.claro .jimu-widget-coordinate .dijitMenu .dijitMenuItemSelected,.claro .jimu-widget-coordinate .dijitMenu .dijitMenuItemSelected td{background: #000; color: #fff;}.DartTheme .jimu-widget-coordinate {z-index: 102 !important;}",
"url:widgets/Scalebar/css/style.css":".jimu-rtl .jimu-widget-scalebar .scaleLabelDiv .esriScalebarLabel:first-child{right: -3% !important; left: auto !important;};.jimu-rtl .jimu-widget-scalebar .scaleLabelDiv .esriScalebarFirstNumber{right: 45% !important; left: auto;}.jimu-rtl .jimu-widget-scalebar .scaleLabelDiv .esriScalebarSecondNumber{right: 95%; left: auto;}.jimu-widget-scalebar .ruler-style {position: relative; top: -5px !important; left: 0 !important;}.jimu-widget-scalebar .esriScalebarLine.esriScalebarEnglishLine{box-shadow: inset 1px 1px #fff, inset -1px 1px #fff, 0px -1px 0px 0px #fff, -1px -1px 0px 0px #fff, 1px -1px 0px 0px #fff;}.jimu-widget-scalebar .esriScalebarLine.esriScalebarMetricLine {box-shadow: inset 1px 0px #fff, inset -1px -1px #fff, 0px 1px 0px 0px #fff, 1px 0px 0px 0px #fff, -1px 0px 0px 0px #fff;}.jimu-widget-scalebar .esriScaleLabelDiv,.jimu-widget-scalebar .scaleLabelDiv{text-shadow: -1px -1px 0px #fff, 1px -1px 0px #fff, -1px 1px 0px #fff, 1px 1px 0px #fff;}.jimu-widget-scalebar .esriScalebarRuler {box-shadow: 0px -1px 0px #fff, 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff;}.jimu-widget-scalebar .scalebar-line{color:#666; height: auto;}.jimu-widget-scalebar .hide{display: none !important;}",
"url:esri/dijit/templates/OverviewMap.html":'\x3cdiv class\x3d"esriOverviewMap"\x3e\r\n  \x3cdiv class\x3d"ovwContainer" dojoattachpoint\x3d"_body" style\x3d"width: ${width}px; height: ${height}px;"\x3e\r\n    \x3cdiv id\x3d"${id}-map" style\x3d"width: 100%; height: 100%;"\x3e\r\n      \x3cdiv class\x3d"ovwHighlight" dojoattachpoint\x3d"_focusDiv" title\x3d"${NLS_drag}" style\x3d"border: 1px solid ${color}; background-color: ${color};"\x3e\x3c/div\x3e\r\n    \x3c/div\x3e\r\n  \x3c/div\x3e\r\n  \x3cdiv class\x3d"ovwButton ovwController" title\x3d"${NLS_show}" dojoattachpoint\x3d"_controllerDiv" dojoattachevent\x3d"onclick: _visibilityHandler"\x3e\r\n  \x3c/div\x3e\r\n  \x3cdiv class\x3d"ovwButton ovwMaximizer" title\x3d"${NLS_maximize}" dojoattachpoint\x3d"_maximizerDiv" dojoattachevent\x3d"onclick: _maximizeHandler"\x3e\r\n  \x3c/div\x3e\r\n\x3c/div\x3e\r\n',
"url:jimu/SpatialReference/wkid.json":'{\r\n  "wkids":[3819,3821,3824,3889,3906,4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4014,4015,4016,4018,4019,4020,4021,4022,4023,4024,4025,4027,4028,4029,4031,4032,4033,4034,4035,4036,4042,4044,4045,4046,4047,4052,4053,4054,4055,4075,4081,4120,4121,4122,4123,4124,4125,4126,4127,4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,4138,4139,4140,4141,4142,4143,4144,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157,4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171,4172,4173,4174,4175,4176,4178,4179,4180,4181,4182,4183,4184,4185,4188,4189,4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205,4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4218,4219,4220,4221,4222,4223,4224,4225,4226,4227,4228,4229,4230,4231,4232,4233,4234,4235,4236,4237,4238,4239,4240,4241,4242,4243,4244,4245,4246,4247,4248,4249,4250,4251,4252,4253,4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4268,4269,4270,4271,4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289,4291,4292,4293,4294,4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4305,4306,4307,4308,4309,4310,4311,4312,4313,4314,4315,4316,4317,4318,4319,4322,4324,4326,4463,4466,4469,4470,4475,4483,4490,4555,4558,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4611,4612,4613,4614,4615,4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,4626,4627,4628,4629,4630,4631,4632,4633,4636,4637,4638,4639,4641,4642,4643,4644,4645,4646,4657,4658,4659,4660,4661,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672,4673,4674,4675,4676,4677,4678,4679,4680,4682,4683,4684,4686,4687,4688,4689,4690,4691,4692,4693,4694,4695,4696,4697,4698,4699,4700,4701,4702,4703,4704,4705,4706,4707,4708,4709,4710,4711,4712,4713,4714,4715,4716,4717,4718,4719,4720,4721,4722,4723,4724,4725,4726,4727,4728,4729,4730,4731,4732,4733,4734,4735,4736,4737,4738,4739,4740,4741,4742,4743,4744,4745,4746,4747,4748,4749,4750,4751,4752,4753,4754,4755,4756,4757,4758,4759,4760,4761,4762,4763,4764,4765,4801,4802,4803,4804,4805,4806,4807,4808,4809,4810,4811,4812,4813,4814,4815,4816,4817,4818,4819,4820,4821,4823,4824,4901,4902,4903,4904,5013,5228,5229,5233,5246,5252,5264,5324,5340,5354,5360,5365,5371,5373,5381,5393,5451,5464,5467,5489,5524,5527,5546,5561,5593,5681,5886,6135,6207,6318,6322,6325,6365,6668,6706,6783,6881,6882,6883,6892,6894,6980,6983,6987,6990,37001,37002,37003,37004,37005,37006,37007,37008,37201,37202,37203,37204,37205,37206,37207,37208,37211,37212,37213,37214,37215,37216,37217,37218,37219,37220,37221,37222,37223,37224,37225,37226,37227,37228,37229,37230,37231,37232,37233,37234,37235,37237,37238,37239,37240,37241,37242,37243,37245,37246,37247,37249,37250,37251,37252,37253,37254,37255,37257,37259,37260,104000,104009,104020,104023,104100,104101,104102,104103,104104,104105,104106,104107,104108,104109,104110,104111,104112,104113,104114,104115,104116,104117,104118,104119,104120,104121,104122,104123,104124,104125,104126,104127,104128,104129,104130,104131,104132,104133,104134,104135,104136,104137,104138,104139,104140,104141,104142,104143,104144,104145,104199,104223,104248,104256,104257,104258,104259,104260,104261,104286,104287,104304,104305,104700,104701,104702,104703,104704,104705,104706,104707,104708,104709,104710,104711,104712,104713,104714,104715,104716,104717,104718,104719,104720,104721,104722,104723,104724,104725,104726,104727,104728,104729,104730,104731,104732,104733,104734,104735,104736,104737,104738,104739,104740,104741,104742,104743,104744,104745,104746,104747,104748,104749,104750,104751,104752,104753,104754,104755,104756,104757,104758,104759,104760,104761,104762,104763,104764,104765,104766,104767,104768,104769,104770,104771,104772,104773,104774,104775,104776,104777,104778,104779,104780,104781,104782,104783,104784,104785,104786,104800,104801,104802,104803,104804,104805,104806,104807,104808,104809,104810,104811,104812,104813,104814,104815,104816,104817,104818,104819,104820,104821,104822,104823,104824,104825,104826,104827,104828,104829,104830,104831,104832,104833,104834,104835,104836,104837,104838,104839,104840,104841,104842,104843,104844,104845,104846,104847,104848,104849,104850,104851,104852,104853,104854,104855,104856,104857,104858,104859,104860,104861,104862,104863,104864,104865,104866,104867,104868,104869,104870,104871,104896,104900,104901,104902,104903,104904,104905,104906,104907,104908,104909,104910,104911,104912,104913,104914,104915,104916,104917,104918,104919,104920,104921,104922,104923,104924,104925,104926,104927,104928,104929,104930,104931,104932,104933,104934,104935,104936,104937,104938,104939,104940,104941,104942,104943,104944,104945,104946,104947,104948,104949,104950,104951,104952,104953,104954,104955,104956,104957,104958,104959,104960,104961,104962,104963,104964,104965,104966,104967,104968,104969,104970,104990,104991,104992,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2056,2057,2058,2059,2060,2061,2062,2063,2064,2065,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2157,2158,2159,2160,2161,2162,2163,2164,2165,2166,2167,2168,2169,2170,2172,2173,2174,2175,2176,2177,2178,2179,2180,2181,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2195,2196,2197,2198,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2219,2220,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246,2247,2248,2249,2250,2251,2252,2253,2254,2255,2256,2257,2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285,2286,2287,2288,2289,2290,2291,2292,2294,2295,2308,2309,2310,2311,2312,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2342,2343,2344,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,2573,2574,2575,2576,2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2593,2594,2595,2596,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641,2642,2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765,2766,2767,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779,2780,2781,2782,2783,2784,2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,2857,2858,2859,2860,2861,2862,2863,2864,2865,2866,2867,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2891,2892,2893,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2964,2965,2966,2967,2968,2969,2970,2971,2972,2973,2975,2976,2977,2978,2979,2980,2981,2982,2984,2985,2986,2987,2988,2991,2992,2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,3051,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095,3096,3097,3098,3099,3100,3101,3102,3106,3107,3108,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3133,3134,3135,3136,3137,3138,3141,3142,3146,3147,3148,3149,3150,3151,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201,3202,3203,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553,3554,3555,3556,3557,3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3582,3583,3584,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,3630,3631,3632,3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,3643,3644,3645,3646,3647,3648,3649,3650,3651,3652,3653,3654,3655,3656,3657,3658,3659,3660,3661,3662,3663,3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679,3680,3681,3682,3683,3684,3685,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695,3696,3697,3698,3699,3700,3701,3702,3703,3704,3705,3706,3707,3708,3709,3710,3711,3712,3713,3714,3715,3716,3717,3718,3719,3720,3721,3722,3723,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738,3739,3740,3741,3742,3743,3744,3745,3746,3747,3748,3749,3750,3751,3753,3754,3755,3756,3757,3758,3759,3760,3761,3762,3763,3764,3765,3766,3767,3768,3769,3770,3771,3772,3773,3775,3776,3777,3779,3780,3781,3783,3784,3785,3788,3789,3790,3791,3793,3794,3797,3798,3799,3800,3801,3802,3812,3814,3815,3816,3825,3826,3827,3828,3829,3832,3833,3834,3835,3836,3837,3838,3839,3840,3841,3844,3845,3846,3847,3848,3849,3850,3851,3852,3854,3857,3873,3874,3875,3876,3877,3878,3879,3880,3881,3882,3883,3884,3885,3890,3891,3892,3893,3907,3908,3909,3910,3911,3912,3920,3942,3943,3944,3945,3946,3947,3948,3949,3950,3968,3969,3970,3973,3974,3975,3976,3978,3979,3986,3987,3988,3989,3991,3992,3994,3995,3996,3997,4026,4037,4038,4048,4049,4050,4051,4056,4057,4058,4059,4060,4061,4062,4063,4071,4082,4083,4093,4094,4095,4096,4217,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403,4404,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,4417,4418,4419,4420,4421,4422,4423,4424,4425,4426,4427,4428,4429,4430,4431,4432,4433,4434,4437,4438,4439,4455,4456,4457,4462,4467,4471,4474,4484,4485,4486,4487,4488,4489,4491,4492,4493,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503,4504,4505,4506,4507,4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,4519,4520,4521,4522,4523,4524,4525,4526,4527,4528,4529,4530,4531,4532,4533,4534,4535,4536,4537,4538,4539,4540,4541,4542,4543,4544,4545,4546,4547,4548,4549,4550,4551,4552,4553,4554,4559,4568,4569,4570,4571,4572,4573,4574,4575,4576,4577,4578,4579,4580,4581,4582,4583,4584,4585,4586,4587,4588,4589,4647,4652,4653,4654,4655,4656,4766,4767,4768,4769,4770,4771,4772,4773,4774,4775,4776,4777,4778,4779,4780,4781,4782,4783,4784,4785,4786,4787,4788,4789,4790,4791,4792,4793,4794,4795,4796,4797,4798,4799,4800,4822,4826,4839,5014,5015,5016,5018,5048,5069,5070,5071,5072,5105,5106,5107,5108,5109,5110,5111,5112,5113,5114,5115,5116,5117,5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5167,5168,5173,5174,5175,5176,5177,5178,5179,5180,5181,5182,5183,5184,5185,5186,5187,5188,5221,5223,5234,5235,5243,5247,5253,5254,5255,5256,5257,5258,5259,5266,5269,5270,5271,5272,5273,5274,5275,5292,5293,5294,5295,5296,5297,5298,5299,5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5316,5320,5321,5325,5329,5330,5331,5337,5343,5344,5345,5346,5347,5348,5349,5355,5356,5357,5361,5362,5367,5382,5383,5387,5388,5389,5396,5456,5457,5459,5460,5461,5462,5463,5469,5472,5479,5480,5481,5482,5490,5513,5514,5518,5519,5520,5523,5530,5531,5532,5533,5534,5535,5536,5537,5538,5539,5550,5551,5552,5559,5562,5563,5564,5565,5566,5567,5568,5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5588,5589,5596,5623,5624,5625,5627,5629,5631,5632,5633,5634,5635,5636,5637,5638,5639,5641,5643,5644,5646,5649,5650,5651,5652,5653,5654,5655,5659,5663,5664,5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680,5682,5683,5684,5685,5700,5825,5836,5837,5839,5842,5844,5858,5875,5876,5877,5879,5880,5887,5890,5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936,5937,5938,5939,5940,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116,6117,6118,6119,6120,6121,6122,6123,6124,6125,6128,6129,6141,6204,6210,6211,6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,6254,6255,6256,6257,6258,6259,6260,6261,6262,6263,6264,6265,6266,6267,6268,6269,6270,6271,6272,6273,6274,6275,6316,6328,6329,6330,6331,6332,6333,6334,6335,6336,6337,6338,6339,6340,6341,6342,6343,6344,6345,6346,6347,6348,6350,6351,6352,6353,6354,6355,6356,6362,6366,6367,6368,6369,6370,6371,6372,6381,6382,6383,6384,6385,6386,6387,6391,6393,6394,6395,6396,6397,6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,6411,6412,6413,6414,6415,6416,6417,6418,6419,6420,6421,6422,6423,6424,6425,6426,6427,6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,6439,6440,6441,6442,6443,6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,6455,6456,6457,6458,6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472,6473,6474,6475,6476,6477,6478,6479,6480,6481,6482,6483,6484,6485,6486,6487,6488,6489,6490,6491,6492,6493,6494,6495,6496,6497,6498,6499,6500,6501,6502,6503,6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516,6518,6519,6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532,6533,6534,6535,6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548,6549,6550,6551,6552,6553,6554,6555,6556,6557,6558,6559,6560,6561,6562,6563,6564,6565,6566,6567,6568,6569,6570,6571,6572,6573,6574,6575,6576,6577,6578,6579,6580,6581,6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6593,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6605,6606,6607,6608,6609,6610,6611,6612,6613,6614,6615,6616,6617,6618,6619,6620,6621,6622,6623,6624,6625,6626,6627,6628,6629,6630,6631,6632,6633,6634,6635,6636,6637,6646,6669,6670,6671,6672,6673,6674,6675,6676,6677,6678,6679,6680,6681,6682,6683,6684,6685,6686,6687,6688,6689,6690,6691,6692,6703,6707,6708,6709,6720,6721,6722,6723,6732,6733,6734,6735,6736,6737,6738,6867,6868,6870,6875,6876,6879,6880,6884,6885,6886,6887,6915,6922,6923,6924,6925,6931,6932,6933,20002,20003,20004,20005,20006,20007,20008,20009,20010,20011,20012,20013,20014,20015,20016,20017,20018,20019,20020,20021,20022,20023,20024,20025,20026,20027,20028,20029,20030,20031,20032,20062,20063,20064,20065,20066,20067,20068,20069,20070,20071,20072,20073,20074,20075,20076,20077,20078,20079,20080,20081,20082,20083,20084,20085,20086,20087,20088,20089,20090,20091,20092,20135,20136,20137,20138,20248,20249,20250,20251,20252,20253,20254,20255,20256,20257,20258,20348,20349,20350,20351,20352,20353,20354,20355,20356,20357,20358,20436,20437,20438,20439,20440,20499,20538,20539,20790,20791,20822,20823,20824,20934,20935,20936,21035,21036,21037,21095,21096,21097,21148,21149,21150,21291,21292,21413,21414,21415,21416,21417,21418,21419,21420,21421,21422,21423,21473,21474,21475,21476,21477,21478,21479,21480,21481,21482,21483,21500,21780,21781,21782,21817,21818,21891,21892,21893,21894,21896,21897,21898,21899,22032,22033,22091,22092,22171,22172,22173,22174,22175,22176,22177,22181,22182,22183,22184,22185,22186,22187,22191,22192,22193,22194,22195,22196,22197,22234,22235,22236,22332,22391,22392,22521,22522,22523,22524,22525,22700,22770,22780,22832,22991,22992,22993,22994,23028,23029,23030,23031,23032,23033,23034,23035,23036,23037,23038,23090,23095,23239,23240,23433,23700,23830,23831,23832,23833,23834,23835,23836,23837,23838,23839,23840,23841,23842,23843,23844,23845,23846,23847,23848,23849,23850,23851,23852,23853,23866,23867,23868,23869,23870,23871,23872,23877,23878,23879,23880,23881,23882,23883,23884,23886,23887,23888,23889,23890,23891,23892,23893,23894,23946,23947,23948,24047,24048,24100,24200,24305,24306,24311,24312,24313,24342,24343,24344,24345,24346,24347,24370,24371,24372,24373,24374,24375,24376,24377,24378,24379,24380,24381,24382,24383,24500,24547,24548,24571,24600,24718,24719,24720,24721,24817,24818,24819,24820,24821,24877,24878,24879,24880,24881,24882,24891,24892,24893,25000,25231,25391,25392,25393,25394,25395,25828,25829,25830,25831,25832,25833,25834,25835,25836,25837,25838,25884,25932,26191,26192,26193,26194,26195,26237,26331,26332,26391,26392,26393,26432,26591,26592,26632,26692,26701,26702,26703,26704,26705,26706,26707,26708,26709,26710,26711,26712,26713,26714,26715,26716,26717,26718,26719,26720,26721,26722,26729,26730,26731,26732,26733,26734,26735,26736,26737,26738,26739,26740,26741,26742,26743,26744,26745,26746,26747,26748,26749,26750,26751,26752,26753,26754,26755,26756,26757,26758,26759,26760,26761,26762,26763,26764,26765,26766,26767,26768,26769,26770,26771,26772,26773,26774,26775,26776,26777,26778,26779,26780,26781,26782,26783,26784,26785,26786,26787,26788,26789,26790,26791,26792,26793,26794,26795,26796,26797,26798,26799,26801,26802,26803,26811,26812,26813,26847,26848,26849,26850,26851,26852,26853,26854,26855,26856,26857,26858,26859,26860,26861,26862,26863,26864,26865,26866,26867,26868,26869,26870,26891,26892,26893,26894,26895,26896,26897,26898,26899,26901,26902,26903,26904,26905,26906,26907,26908,26909,26910,26911,26912,26913,26914,26915,26916,26917,26918,26919,26920,26921,26922,26923,26929,26930,26931,26932,26933,26934,26935,26936,26937,26938,26939,26940,26941,26942,26943,26944,26945,26946,26948,26949,26950,26951,26952,26953,26954,26955,26956,26957,26958,26959,26960,26961,26962,26963,26964,26965,26966,26967,26968,26969,26970,26971,26972,26973,26974,26975,26976,26977,26978,26979,26980,26981,26982,26983,26984,26985,26986,26987,26988,26989,26990,26991,26992,26993,26994,26995,26996,26997,26998,27037,27038,27039,27040,27120,27200,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27221,27222,27223,27224,27225,27226,27227,27228,27229,27230,27231,27232,27258,27259,27260,27291,27292,27391,27392,27393,27394,27395,27396,27397,27398,27429,27492,27493,27500,27561,27562,27563,27564,27571,27572,27573,27574,27581,27582,27583,27584,27591,27592,27593,27594,27700,28191,28192,28193,28232,28348,28349,28350,28351,28352,28353,28354,28355,28356,28357,28358,28402,28403,28404,28405,28406,28407,28408,28409,28410,28411,28412,28413,28414,28415,28416,28417,28418,28419,28420,28421,28422,28423,28424,28425,28426,28427,28428,28429,28430,28431,28432,28462,28463,28464,28465,28466,28467,28468,28469,28470,28471,28472,28473,28474,28475,28476,28477,28478,28479,28480,28481,28482,28483,28484,28485,28486,28487,28488,28489,28490,28491,28492,28600,28991,28992,29100,29101,29118,29119,29120,29121,29122,29168,29169,29170,29171,29172,29177,29178,29179,29180,29181,29182,29183,29184,29185,29187,29188,29189,29190,29191,29192,29193,29194,29195,29220,29221,29333,29635,29636,29701,29738,29739,29849,29850,29871,29872,29873,29900,29901,29902,29903,30161,30162,30163,30164,30165,30166,30167,30168,30169,30170,30171,30172,30173,30174,30175,30176,30177,30178,30179,30200,30339,30340,30491,30492,30493,30494,30591,30592,30729,30730,30731,30732,30791,30792,30800,31028,31121,31154,31170,31171,31251,31252,31253,31254,31255,31256,31257,31258,31259,31265,31266,31267,31268,31275,31276,31277,31278,31279,31281,31282,31283,31284,31285,31286,31287,31288,31289,31290,31291,31292,31293,31294,31295,31296,31297,31370,31461,31462,31463,31464,31465,31466,31467,31468,31469,31491,31492,31493,31494,31495,31528,31529,31600,31700,31838,31839,31901,31917,31918,31919,31920,31921,31922,31965,31966,31967,31968,31969,31970,31971,31972,31973,31974,31975,31976,31977,31978,31979,31980,31981,31982,31983,31984,31985,31986,31987,31988,31989,31990,31991,31992,31993,31994,31995,31996,31997,31998,31999,32000,32001,32002,32003,32005,32006,32007,32008,32009,32010,32011,32012,32013,32014,32015,32016,32017,32018,32019,32020,32021,32022,32023,32024,32025,32026,32027,32028,32029,32030,32031,32033,32034,32035,32036,32037,32038,32039,32040,32041,32042,32043,32044,32045,32046,32047,32048,32049,32050,32051,32052,32053,32054,32055,32056,32057,32058,32059,32060,32061,32062,32064,32065,32066,32067,32074,32075,32076,32077,32081,32082,32083,32084,32085,32086,32098,32099,32100,32104,32107,32108,32109,32110,32111,32112,32113,32114,32115,32116,32117,32118,32119,32120,32121,32122,32123,32124,32125,32126,32127,32128,32129,32130,32133,32134,32135,32136,32137,32138,32139,32140,32141,32142,32143,32144,32145,32146,32147,32148,32149,32150,32151,32152,32153,32154,32155,32156,32157,32158,32161,32164,32165,32166,32167,32180,32181,32182,32183,32184,32185,32186,32187,32188,32189,32190,32191,32192,32193,32194,32195,32196,32197,32198,32199,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32232,32233,32234,32235,32236,32237,32238,32239,32240,32241,32242,32243,32244,32245,32246,32247,32248,32249,32250,32251,32252,32253,32254,32255,32256,32257,32258,32259,32260,32301,32302,32303,32304,32305,32306,32307,32308,32309,32310,32311,32312,32313,32314,32315,32316,32317,32318,32319,32320,32321,32322,32323,32324,32325,32326,32327,32328,32329,32330,32331,32332,32333,32334,32335,32336,32337,32338,32339,32340,32341,32342,32343,32344,32345,32346,32347,32348,32349,32350,32351,32352,32353,32354,32355,32356,32357,32358,32359,32360,32601,32602,32603,32604,32605,32606,32607,32608,32609,32610,32611,32612,32613,32614,32615,32616,32617,32618,32619,32620,32621,32622,32623,32624,32625,32626,32627,32628,32629,32630,32631,32632,32633,32634,32635,32636,32637,32638,32639,32640,32641,32642,32643,32644,32645,32646,32647,32648,32649,32650,32651,32652,32653,32654,32655,32656,32657,32658,32659,32660,32661,32662,32664,32665,32666,32667,32701,32702,32703,32704,32705,32706,32707,32708,32709,32710,32711,32712,32713,32714,32715,32716,32717,32718,32719,32720,32721,32722,32723,32724,32725,32726,32727,32728,32729,32730,32731,32732,32733,32734,32735,32736,32737,32738,32739,32740,32741,32742,32743,32744,32745,32746,32747,32748,32749,32750,32751,32752,32753,32754,32755,32756,32757,32758,32759,32760,32761,32766,53001,53002,53003,53004,53008,53009,53010,53011,53012,53013,53014,53015,53016,53017,53018,53019,53021,53022,53023,53024,53025,53026,53027,53028,53029,53030,53031,53032,53034,53042,53043,53044,53045,53046,53048,53049,54001,54002,54003,54004,54008,54009,54010,54011,54012,54013,54014,54015,54016,54017,54018,54019,54021,54022,54023,54024,54025,54026,54027,54028,54029,54030,54031,54032,54034,54042,54043,54044,54045,54046,54048,54049,54050,54051,54052,54053,65061,65062,65161,65163,102001,102002,102003,102004,102005,102006,102007,102008,102009,102010,102011,102012,102013,102014,102015,102016,102017,102018,102019,102020,102021,102022,102023,102024,102025,102026,102027,102028,102029,102030,102031,102032,102033,102034,102035,102036,102037,102038,102039,102040,102041,102042,102043,102044,102045,102046,102047,102048,102049,102050,102051,102052,102053,102054,102055,102056,102057,102058,102059,102060,102061,102062,102063,102064,102065,102066,102067,102068,102069,102070,102071,102072,102073,102074,102075,102076,102077,102078,102079,102080,102081,102082,102083,102084,102085,102086,102087,102088,102089,102090,102091,102092,102093,102094,102095,102096,102097,102098,102099,102100,102101,102102,102103,102104,102105,102106,102107,102108,102109,102110,102111,102112,102113,102114,102115,102116,102117,102118,102119,102120,102121,102122,102123,102124,102125,102126,102127,102128,102129,102130,102131,102132,102133,102134,102135,102136,102137,102138,102139,102140,102141,102142,102143,102144,102145,102146,102147,102148,102149,102150,102151,102152,102153,102154,102155,102156,102157,102158,102159,102160,102161,102162,102163,102164,102165,102166,102167,102168,102169,102170,102171,102172,102173,102174,102175,102176,102177,102178,102179,102180,102181,102182,102183,102184,102185,102186,102187,102188,102189,102190,102191,102192,102193,102194,102195,102196,102197,102198,102199,102200,102201,102202,102203,102204,102205,102206,102207,102208,102209,102210,102211,102212,102213,102214,102215,102216,102217,102218,102219,102220,102221,102222,102223,102224,102225,102226,102227,102228,102229,102230,102231,102232,102233,102234,102235,102236,102237,102238,102239,102240,102241,102242,102243,102244,102245,102246,102247,102248,102249,102250,102251,102252,102253,102254,102255,102256,102257,102258,102259,102260,102261,102262,102263,102264,102265,102266,102267,102268,102269,102270,102271,102272,102273,102274,102275,102276,102277,102278,102279,102280,102281,102282,102283,102284,102285,102286,102287,102288,102289,102290,102291,102292,102293,102294,102295,102296,102297,102298,102299,102300,102304,102305,102306,102307,102308,102309,102310,102311,102312,102313,102314,102315,102316,102317,102318,102319,102320,102321,102322,102323,102324,102325,102326,102327,102328,102329,102330,102331,102332,102333,102334,102335,102336,102337,102338,102339,102340,102341,102342,102343,102344,102345,102346,102347,102348,102349,102350,102351,102352,102353,102354,102355,102356,102357,102358,102359,102360,102361,102362,102363,102364,102365,102366,102367,102368,102369,102370,102371,102372,102373,102374,102375,102376,102377,102378,102379,102380,102381,102382,102383,102384,102385,102386,102387,102388,102389,102390,102391,102392,102393,102394,102395,102396,102397,102398,102401,102402,102403,102404,102405,102406,102407,102408,102409,102410,102411,102412,102413,102414,102415,102416,102417,102418,102419,102420,102421,102422,102423,102424,102425,102426,102427,102428,102429,102430,102431,102432,102433,102434,102435,102436,102437,102438,102439,102440,102441,102442,102443,102444,102445,102446,102447,102448,102449,102450,102451,102452,102453,102454,102455,102456,102457,102458,102459,102460,102461,102462,102463,102464,102465,102466,102467,102468,102469,102470,102471,102472,102473,102474,102475,102476,102477,102478,102479,102480,102481,102482,102483,102484,102485,102486,102487,102488,102489,102490,102491,102492,102493,102494,102495,102496,102500,102501,102502,102503,102504,102505,102506,102507,102508,102509,102510,102511,102512,102513,102514,102515,102516,102517,102518,102519,102520,102521,102522,102523,102524,102525,102526,102527,102528,102529,102530,102531,102532,102533,102534,102535,102536,102537,102538,102539,102540,102541,102542,102543,102544,102545,102546,102547,102548,102549,102550,102551,102552,102553,102554,102555,102556,102557,102558,102559,102560,102561,102570,102571,102572,102573,102574,102575,102576,102577,102578,102579,102580,102581,102582,102583,102584,102585,102586,102587,102588,102589,102590,102591,102592,102593,102594,102595,102596,102597,102598,102599,102600,102601,102602,102603,102604,102605,102606,102607,102608,102609,102610,102611,102612,102613,102614,102615,102616,102617,102618,102619,102620,102621,102622,102623,102624,102625,102626,102627,102628,102629,102630,102631,102632,102633,102634,102635,102636,102637,102638,102639,102640,102641,102642,102643,102644,102645,102646,102647,102648,102649,102650,102651,102652,102653,102654,102655,102656,102657,102658,102659,102660,102661,102662,102663,102664,102665,102666,102667,102668,102669,102670,102671,102672,102673,102674,102675,102676,102677,102678,102679,102680,102681,102682,102683,102684,102685,102686,102687,102688,102689,102690,102691,102692,102693,102694,102695,102696,102697,102698,102699,102700,102701,102702,102703,102704,102705,102706,102707,102708,102709,102710,102711,102712,102713,102714,102715,102716,102717,102718,102719,102720,102721,102722,102723,102724,102725,102726,102727,102728,102729,102730,102733,102734,102735,102736,102737,102738,102739,102740,102741,102742,102743,102744,102745,102746,102747,102748,102749,102750,102751,102752,102753,102754,102755,102756,102757,102758,102761,102762,102763,102764,102765,102766,102767,102768,102769,102770,102771,102772,102773,102774,102775,102776,102777,102778,102779,102780,102781,102782,102783,102784,102785,102786,102787,102788,102789,102790,102791,102792,102793,102794,102795,102796,102797,102798,102962,102963,102965,102966,102967,102968,102969,102970,102971,102972,102973,102974,102975,102976,102977,102978,102979,102980,102981,102982,102983,102984,102985,102986,102987,102988,102989,102990,102991,102992,102993,102994,102995,102996,102997,102998,102999,103000,103001,103002,103003,103004,103005,103006,103007,103008,103009,103010,103011,103012,103013,103014,103015,103016,103017,103018,103019,103020,103021,103022,103023,103024,103025,103026,103027,103028,103029,103030,103031,103032,103033,103034,103035,103036,103037,103038,103039,103040,103041,103042,103043,103044,103045,103046,103047,103048,103049,103050,103051,103052,103053,103054,103055,103056,103057,103058,103059,103060,103061,103062,103063,103064,103065,103066,103067,103068,103069,103070,103071,103072,103073,103074,103075,103076,103077,103078,103079,103080,103081,103082,103083,103084,103085,103086,103087,103088,103089,103090,103091,103092,103093,103094,103095,103096,103097,103098,103099,103100,103101,103102,103103,103104,103105,103106,103107,103108,103109,103110,103111,103112,103113,103114,103115,103116,103117,103118,103119,103120,103121,103122,103123,103124,103125,103126,103127,103128,103129,103130,103131,103132,103133,103134,103135,103136,103137,103138,103139,103140,103141,103142,103143,103144,103145,103146,103147,103148,103149,103150,103151,103152,103153,103154,103155,103156,103157,103158,103159,103160,103161,103162,103163,103164,103165,103166,103167,103168,103169,103170,103171,103172,103173,103174,103175,103176,103177,103178,103179,103180,103181,103182,103183,103184,103185,103186,103187,103188,103189,103190,103191,103192,103193,103194,103195,103196,103197,103198,103199,103200,103201,103202,103203,103204,103205,103206,103207,103208,103209,103210,103211,103212,103213,103214,103215,103216,103217,103218,103219,103220,103221,103222,103223,103224,103225,103226,103227,103228,103229,103230,103231,103232,103233,103234,103235,103236,103237,103238,103239,103240,103241,103242,103243,103244,103245,103246,103247,103248,103249,103250,103251,103252,103253,103254,103255,103256,103257,103258,103259,103260,103261,103262,103263,103264,103265,103266,103267,103268,103269,103270,103271,103272,103273,103274,103275,103276,103277,103278,103279,103280,103281,103282,103283,103284,103285,103286,103287,103288,103289,103290,103291,103292,103293,103294,103295,103296,103297,103298,103299,103300,103301,103302,103303,103304,103305,103306,103307,103308,103309,103310,103311,103312,103313,103314,103315,103316,103317,103318,103319,103320,103321,103322,103323,103324,103325,103326,103327,103328,103329,103330,103331,103332,103333,103334,103335,103336,103337,103338,103339,103340,103341,103342,103343,103344,103345,103346,103347,103348,103349,103350,103351,103352,103353,103354,103355,103356,103357,103358,103359,103360,103361,103362,103363,103364,103365,103366,103367,103368,103369,103370,103371,103372,103373,103374,103375,103376,103377,103378,103379,103380,103381,103382,103383,103384,103385,103386,103387,103388,103389,103390,103391,103392,103393,103394,103395,103396,103397,103398,103399,103400,103401,103402,103403,103404,103405,103406,103407,103408,103409,103410,103411,103412,103413,103414,103415,103416,103417,103418,103419,103420,103421,103422,103423,103424,103425,103426,103427,103428,103429,103430,103431,103432,103433,103434,103435,103436,103437,103438,103439,103440,103441,103442,103443,103444,103445,103446,103447,103448,103449,103450,103451,103452,103453,103454,103455,103456,103457,103458,103459,103460,103461,103462,103463,103464,103465,103466,103467,103468,103469,103470,103471,103472,103473,103474,103475,103476,103477,103478,103479,103480,103481,103482,103483,103484,103485,103486,103487,103488,103489,103490,103491,103492,103493,103494,103495,103496,103497,103498,103499,103500,103501,103502,103503,103504,103505,103506,103507,103508,103509,103510,103511,103512,103513,103514,103515,103516,103517,103518,103519,103520,103521,103522,103523,103524,103525,103526,103527,103528,103529,103530,103531,103532,103533,103534,103535,103536,103537,103538,103539,103540,103541,103542,103543,103544,103545,103546,103547,103548,103549,103550,103551,103552,103553,103554,103555,103556,103557,103558,103559,103560,103561,103562,103563,103564,103565,103566,103567,103568,103569,103570,103571,103572,103573,103574,103575,103576,103577,103578,103579,103580,103581,103582,103583,103584,103585,103600,103601,103602,103603,103604,103605,103606,103607,103608,103609,103610,103611,103612,103613,103614,103615,103616,103617,103618,103619,103620,103621,103622,103623,103624,103625,103626,103627,103628,103629,103630,103631,103632,103633,103634,103635,103636,103637,103638,103639,103640,103641,103642,103643,103644,103645,103646,103647,103648,103649,103650,103651,103652,103653,103654,103655,103656,103657,103658,103659,103660,103661,103662,103663,103664,103665,103666,103667,103668,103669,103670,103671,103672,103673,103674,103675,103676,103677,103678,103679,103680,103681,103682,103683,103684,103685,103686,103687,103688,103689,103690,103691,103692,103693,103694,103695,103700,103701,103702,103703,103704,103705,103706,103707,103708,103709,103710,103711,103712,103713,103714,103715,103716,103717,103718,103719,103720,103721,103722,103723,103724,103725,103726,103727,103728,103729,103730,103731,103732,103733,103734,103735,103736,103737,103738,103739,103740,103741,103742,103743,103744,103745,103746,103747,103748,103749,103750,103751,103752,103753,103754,103755,103756,103757,103758,103759,103760,103761,103762,103763,103764,103765,103766,103767,103768,103769,103770,103771,103772,103773,103774,103775,103776,103777,103778,103779,103780,103781,103782,103783,103784,103785,103786,103787,103788,103789,103790,103791,103792,103793,103794,103795,103796,103797,103798,103799,103800,103801,103802,103803,103804,103805,103806,103807,103808,103809,103810,103811,103812,103813,103814,103815,103816,103817,103818,103819,103820,103821,103822,103823,103824,103825,103826,103827,103828,103829,103830,103831,103832,103833,103834,103835,103836,103837,103838,103839,103840,103841,103842,103843,103844,103845,103846,103847,103848,103849,103850,103851,103852,103853,103854,103855,103856,103857,103858,103859,103860,103861,103862,103863,103864,103865,103866,103867,103868,103869,103870,103871,103900,103901,103902,103903,103904,103905,103906,103907,103908,103909,103910,103911,103912,103913,103914,103915,103916,103917,103918,103919,103920,103921,103922,103923,103924,103925,103926,103927,103928,103929,103930,103931,103932,103933,103934,103935,103936,103937,103938,103939,103940,103941,103942,103943,103944,103945,103946,103947,103948,103949,103950,103951,103952,103953,103954,103955,103956,103957,103958,103959,103960,103961,103962,103963,103964,103965,103966,103967,103968,103969,103970,103971,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855,7856,7857,7858,7859],\r\n  "labels":["GCS_HD1909","GCS_TWD_1967","GCS_TWD_1997","GCS_IGRS","GCS_MGI_1901","GCS_Airy_1830","GCS_Airy_Modified","GCS_Australian","GCS_Bessel_1841","GCS_Bessel_Modified","GCS_Bessel_Namibia","GCS_Clarke_1858","GCS_Clarke_1866","GCS_Clarke_1866_Michigan","GCS_Clarke_1880_Benoit","GCS_Clarke_1880_IGN","GCS_Clarke_1880_RGS","GCS_Clarke_1880_Arc","GCS_Clarke_1880_SGA","GCS_Everest_Adj_1937","GCS_Everest_def_1967","GCS_Everest_Modified","GCS_GRS_1980","GCS_Helmert_1906","GCS_Indonesian","GCS_International_1924","GCS_MOLDREF99","GCS_Krasovsky_1940","GCS_NWL_9D","GCS_Plessis_1817","GCS_Struve_1860","GCS_War_Office","GCS_GEM_10C","GCS_OSU_86F","GCS_OSU_91A","GCS_Clarke_1880","GCS_Sphere","GCS_GRS_1967","GCS_Everest_1830","GCS_Everest_def_1962","GCS_Everest_def_1975","GCS_RGRDC_2005","GCS_Sphere_GRS_1980_Authalic","GCS_Sphere_Clarke_1866_Authalic","GCS_Sphere_International_1924_Authalic","GCS_Hughes_1980","GCS_WGS_1984_Major_Auxiliary_Sphere","GCS_SREF98","GCS_REGCAN95","GCS_Greek","GCS_GGRS_1987","GCS_ATS_1977","GCS_KKJ","GCS_RT_1990","GCS_Samboja","GCS_LKS_1994","GCS_Tete","GCS_Madzansua","GCS_Observatario","GCS_Moznet","GCS_Indian_1960","GCS_FD_1958","GCS_Estonia_1992","GCS_PDO_1993","GCS_Old_Hawaiian","GCS_St_Lawrence_Island","GCS_St_Paul_Island","GCS_St_George_Island","GCS_Puerto_Rico","GCS_North_American_1983_CSRS","GCS_Israel","GCS_Locodjo_1965","GCS_Abidjan_1987","GCS_Kalianpur_1937","GCS_Kalianpur_1962","GCS_Kalianpur_1975","GCS_Hanoi_1972","GCS_Hartebeesthoek_1994","GCS_CH1903","GCS_CH1903+","GCS_Swiss_TRF_1995","GCS_North_American_1983_HARN","GCS_Rassadiran","GCS_European_1950_ED77","GCS_Dabola_1981","GCS_S_JTSK","GCS_Mount_Dillon","GCS_Naparima_1955","GCS_European_Libyan_Datum_1979","GCS_Chos_Malal_1914","GCS_Pampa_del_Castillo","GCS_Korean_Datum_1985","GCS_Yemen_NGN_1996","GCS_South_Yemen","GCS_Bissau","GCS_Korean_Datum_1995","GCS_NZGD_2000","GCS_Accra","GCS_American_Samoa_1962","GCS_SIRGAS","GCS_RGF_1993","GCS_POSGAR","GCS_IRENET95","GCS_Sierra_Leone_1924","GCS_Sierra_Leone_1968","GCS_Australian_Antarctic_1998","GCS_Pulkovo_1942_Adj_1983","GCS_Pulkovo_1942_Adj_1958","GCS_Estonia_1997","GCS_Luxembourg_1930","GCS_Azores_Occidental_1939","GCS_Azores_Central_1948","GCS_Azores_Oriental_1940","GCS_Madeira_1936","GCS_OSNI_1952","GCS_REGVEN","GCS_POSGAR_1998","GCS_Albanian_1987","GCS_Douala_1948","GCS_Manoca_1962","GCS_Qornoq_1927","GCS_Scoresbysund_1952","GCS_Ammassalik_1958","GCS_Garoua","GCS_Kousseri","GCS_Egypt_1930","GCS_Pulkovo_1995","GCS_Adindan","GCS_Australian_1966","GCS_Australian_1984","GCS_Ain_el_Abd_1970","GCS_Afgooye","GCS_Agadez","GCS_Lisbon","GCS_Aratu","GCS_Arc_1950","GCS_Arc_1960","GCS_Batavia","GCS_Barbados_1938","GCS_Beduaram","GCS_Beijing_1954","GCS_Belge_1950","GCS_Bermuda_1957","GCS_Bogota","GCS_Bukit_Rimpah","GCS_Camacupa","GCS_Campo_Inchauspe","GCS_Cape","GCS_Carthage","GCS_Chua","GCS_Corrego_Alegre","GCS_Cote_d_Ivoire","GCS_Deir_ez_Zor","GCS_Douala","GCS_Egypt_1907","GCS_European_1950","GCS_European_1987","GCS_Fahud","GCS_Gandajika_1970","GCS_Garoua","GCS_Guyane_Francaise","GCS_Hu_Tzu_Shan","GCS_Hungarian_1972","GCS_Indonesian_1974","GCS_Indian_1954","GCS_Indian_1975","GCS_Jamaica_1875","GCS_Jamaica_1969","GCS_Kalianpur_1880","GCS_Kandawala","GCS_Kertau","GCS_Kuwait_Oil_Company","GCS_La_Canoa","GCS_Provisional_S_American_1956","GCS_Lake","GCS_Leigon","GCS_Liberia_1964","GCS_Lome","GCS_Luzon_1911","GCS_Hito_XVIII_1963","GCS_Herat_North","GCS_Mahe_1971","GCS_Makassar","GCS_ETRS_1989","GCS_Malongo_1987","GCS_Manoca","GCS_Merchich","GCS_Massawa","GCS_Minna","GCS_Mhast","GCS_Monte_Mario","GCS_Mporaloko","GCS_North_American_1927","GCS_North_American_Michigan","GCS_North_American_1983","GCS_Nahrwan_1967","GCS_Naparima_1972","GCS_New_Zealand_1949","GCS_NGO_1948","GCS_Datum_73","GCS_NTF","GCS_NSWC_9Z_2","GCS_OSGB_1936","GCS_OSGB_1970_SN","GCS_OS_SN_1980","GCS_Padang_1884","GCS_Palestine_1923","GCS_Pointe_Noire","GCS_GDA_1994","GCS_Pulkovo_1942","GCS_Qatar_1974","GCS_Qatar_1948","GCS_Qornoq","GCS_Loma_Quintana","GCS_Amersfoort","GCS_South_American_1969","GCS_Sapper_Hill_1943","GCS_Schwarzeck","GCS_Segora","GCS_Serindung","GCS_Sudan","GCS_Tananarive_1925","GCS_Timbalai_1948","GCS_TM65","GCS_TM75","GCS_Tokyo","GCS_Trinidad_1903","GCS_Trucial_Coast_1948","GCS_Voirol_1875","GCS_Voirol_Unifie_1960","GCS_Bern_1938","GCS_Nord_Sahara_1959","GCS_RT38","GCS_Yacare","GCS_Yoff","GCS_Zanderij","GCS_MGI","GCS_Belge_1972","GCS_Deutsches_Hauptdreiecksnetz","GCS_Conakry_1905","GCS_Dealul_Piscului_1933","GCS_Dealul_Piscului_1970","GCS_NGN","GCS_KUDAMS","GCS_WGS_1972","GCS_WGS_1972_BE","GCS_WGS_1984","GCS_RGSPM_2006","GCS_RGSPM_2006","GCS_RGM_2004","GCS_RGM_2004","GCS_Cadastre_1997","GCS_Mexican_Datum_of_1993","GCS_China_Geodetic_Coordinate_System_2000","GCS_New_Beijing","GCS_RRAF_1991","GCS_Anguilla_1957","GCS_Antigua_1943","GCS_Dominica_1945","GCS_Grenada_1953","GCS_Montserrat_1958","GCS_St_Kitts_1955","GCS_St_Lucia_1955","GCS_St_Vincent_1945","GCS_NAD_1927_Definition_1976","GCS_NAD_1927_CGQ77","GCS_Xian_1980","GCS_Hong_Kong_1980","GCS_JGD_2000","GCS_Gunung_Segara","GCS_QND_1995","GCS_Porto_Santo_1936","GCS_Selvagem_Grande_1938","GCS_North_American_1983_CSRS","GCS_South_American_1969","GCS_SWEREF99","GCS_Point_58","GCS_Fort_Marigot","GCS_Sainte_Anne","GCS_CSG_1967","GCS_RGFG_1995","GCS_Fort_Desaix","GCS_Reunion_1947","GCS_RGR_1992","GCS_Tahiti_1952","GCS_Tahaa_1954","GCS_IGN72_Nuku_Hiva","GCS_Kerguelen_Island_1949","GCS_Combani_1950","GCS_IGN56_Lifou","GCS_Petrels_1972","GCS_Pointe_Geologie_Perroud_1950","GCS_Saint_Pierre_et_Miquelon_1950","GCS_MOP78","GCS_IGN53_Mare","GCS_ST84_Ile_des_Pins","GCS_ST71_Belep","GCS_NEA74_Noumea","GCS_RGNC_1991","GCS_Grand_Comoros","GCS_Reykjavik_1900","GCS_Hjorsey_1955","GCS_ISN_1993","GCS_Helle_1954","GCS_LKS_1992","GCS_IGN72_Grande_Terre","GCS_Porto_Santo_1995","GCS_Azores_Oriental_1995","GCS_Azores_Central_1995","GCS_Lisbon_1890","GCS_IKBD_1992","GCS_European_1979","GCS_LKS_1994","GCS_IGM_1995","GCS_Voirol_1879","GCS_Chatham_Island_1971","GCS_Chatham_Islands_1979","GCS_SIRGAS_2000","GCS_Guam_1963","GCS_Vientiane_1982","GCS_Lao_1993","GCS_Lao_1997","GCS_Jouik_1961","GCS_Nouakchott_1965","GCS_Gulshan_303","GCS_PRS_1992","GCS_Gan_1970","GCS_MAGNA","GCS_RGPF","GCS_Fatu_Iva_1972","GCS_IGN63_Hiva_Oa","GCS_Tahiti_1979","GCS_Moorea_1987","GCS_Maupiti_1983","GCS_Nakhl-e_Ghanem","GCS_POSGAR_1994","GCS_Katanga_1955","GCS_Kasai_1953","GCS_IGC_1962_6th_Parallel_South","GCS_Kerguelen_Island_1949","GCS_Le_Pouce_1934","GCS_IGN_Astro_1960","GCS_IGCB_1955","GCS_Mauritania_1999","GCS_Mhast_1951","GCS_Mhast_Onshore","GCS_Mhast_Offshore","GCS_Egypt_Gulf_of_Suez_S-650_TL","GCS_Tern_Island_1961","GCS_Anna_1_1965","GCS_Beacon_E_1945","GCS_DOS_71_4","GCS_Astro_1952","GCS_Ascension_Island_1958","GCS_Ayabelle","GCS_Bellevue_IGN","GCS_Camp_Area","GCS_Canton_1966","GCS_Cape_Canaveral","GCS_Solomon_1968","GCS_Easter_Island_1967","GCS_Fiji_1986","GCS_Fiji_1956","GCS_ISTS_061_1968","GCS_Grand_Cayman_1959","GCS_ISTS_073_1969","GCS_Johnston_Island_1961","GCS_Little_Cayman_1961","GCS_Midway_1961","GCS_Pico_de_Las_Nieves","GCS_Pitcairn_1967","GCS_Santo_DOS_1965","GCS_Viti_Levu_1916","GCS_Wake_Eniwetok_1960","GCS_Wake_Island_1952","GCS_Tristan_1968","GCS_Kusaie_1951","GCS_Deception_Island","GCS_Korea_2000","GCS_Hong_Kong_1963","GCS_Hong_Kong_1963_67","GCS_PZ_1990","GCS_FD_1954","GCS_GDM_2000","GCS_Karbala_1979_Polservice","GCS_Nahrwan_1934","GCS_RD/83","GCS_PD/83","GCS_Greenland_1996","GCS_Vanua_Levu_1915","GCS_RGNC_1991-93","GCS_ST87_Ouvea","GCS_Kertau_RSO","GCS_Viti_Levu_1912","GCS_fk89","GCS_LGD2006","GCS_DGN_1995","GCS_VN_2000","GCS_SVY21","GCS_JAD_2001","GCS_NAD_1983_NSRS2007","GCS_WGS_1966","GCS_HTRS96","GCS_Bermuda_2000","GCS_Pitcairn_2006","GCS_RSRGD2000","GCS_Slovenia_1996","GCS_Bern_1898_Bern","GCS_Bogota_Bogota","GCS_Lisbon_Lisbon","GCS_Makassar_Jakarta","GCS_MGI_Ferro","GCS_Monte_Mario_Rome","GCS_NTF_Paris","GCS_Padang_1884_Jakarta","GCS_Belge_1950_Brussels","GCS_Tananarive_1925_Paris","GCS_Voirol_1875_Paris","GCS_Voirol_Unifie_1960_Paris","GCS_Batavia_Jakarta","GCS_RT38_Stockholm","GCS_Greek_Athens","GCS_Carthage_Paris","GCS_NGO_1948_Oslo","GCS_S_JTSK_Ferro","GCS_Nord_Sahara_1959_Paris","GCS_Gunung_Segara_Jakarta","GCS_Voirol_1879_Paris","GCS_Sao_Tome","GCS_Principe","GCS_ATF_Paris","GCS_Nord_de_Guerre_Paris","GCS_Madrid_1870_Madrid","GCS_Lisbon_1890_Lisbon","GCS_PTRA08","GCS_S_JTSK/05","GCS_S_JTSK/05_Ferro","GCS_SLD99","GCS_GDBD2009","GCS_TUREF","GCS_DRUKREF_03","GCS_ISN_2004","GCS_POSGAR_2007","GCS_MARGEN","GCS_SIRGAS-Chile","GCS_CR05","GCS_MARCARIO_SOLIS","GCS_Peru96","GCS_SIRGAS-ROU98","GCS_SIRGAS_ES2007.8","GCS_Ocotepeque_1935","GCS_Sibun_Gorge_1922","GCS_Panama-Colon_1911","GCS_RGAF09","GCS_Corrego_Alegre_1961","GCS_SAD_1969_96","GCS_PNG94","GCS_Ukraine_2000","GCS_FEH2010","GCS_DB_REF","GCS_TGD2005","GCS_CIGD11","GCS_Nepal_Nagarkot","GCS_NAD_1983_2011","GCS_NAD_1983_PA11","GCS_NAD_1983_MA11","GCS_Mexico_ITRF2008","GCS_JGD_2011","GCS_RDN2008","GCS_NAD_1983_CORS96","GCS_Aden_1925","GCS_Bekaa_Valley_1920","GCS_Bioko","GCS_South_East_Island_1943","GCS_Gambia","IGD05","IG05_Intermediate_CRS","IGD05(2012)","IG05(2012)_Intermediate_CRS","GCS_WGS_1966","GCS_Fischer_1960","GCS_Fischer_1968","GCS_Fischer_Modified","GCS_Hough_1960","GCS_Everest_Modified_1969","GCS_Walbeck","GCS_Sphere_ARC_INFO","GCS_European_1979","GCS_Everest_Bangladesh","GCS_Everest_India_Nepal","GCS_Hjorsey_1955","GCS_Hong_Kong_1963_67","GCS_Oman","GCS_South_Asia_Singapore","GCS_Ayabelle","GCS_Point_58","GCS_Beacon_E_1945","GCS_Tern_Island_1961","GCS_Astro_1952","GCS_Bellevue_IGN","GCS_Canton_1966","GCS_Chatham_Island_1971","GCS_DOS_1968","GCS_Easter_Island_1967","GCS_Guam_1963","GCS_GUX_1","GCS_Johnston_Island_1961","GCS_Carthage","GCS_Midway_1961","GCS_Carthage_Grad","GCS_Pitcairn_1967","GCS_Santo_DOS_1965","GCS_Viti_Levu_1916","GCS_Wake_Eniwetok_1960","GCS_Wake_Island_1952","GCS_Anna_1_1965","GCS_Gan_1970","GCS_ISTS_073_1969","GCS_Kerguelen_Island_1949","GCS_Reunion_1947","GCS_Ascension_Island_1958","GCS_DOS_71_4","GCS_Cape_Canaveral","GCS_Fort_Thomas_1955","GCS_Graciosa_Base_SW_1948","GCS_ISTS_061_1968","GCS_LC5_1961","GCS_Observatorio_Meteorologico_1939","GCS_Pico_de_Las_Nieves","GCS_Porto_Santo_1936","GCS_Sao_Braz","GCS_Selvagem_Grande_1938","GCS_Tristan_1968","GCS_American_Samoa_1962","GCS_Camp_Area","GCS_Deception_Island","GCS_Gunung_Segara","GCS_S42_Hungary","GCS_Kusaie_1951","GCS_Alaskan_Islands","GCS_Assumed_Geographic_1","GCS_Kyrg-06","GCS_JGD_2011","GCS_International_1967","GCS_GDBD2009","GCS_Estonia_1937","GCS_Hermannskogel","GCS_Sierra_Leone_1960","GCS_Hong_Kong_1980","GCS_Datum_Lisboa_Bessel","GCS_Datum_Lisboa_Hayford","GCS_RGF_1993","GCS_NZGD_2000","GCS_Pohnpei","GCS_REGVEN","GCS_JGD_2000","GCS_Bab_South","GCS_Majuro","GCS_Bermuda_2000","GCS_ITRF_1988","GCS_ITRF_1989","GCS_ITRF_1990","GCS_ITRF_1991","GCS_ITRF_1992","GCS_ITRF_1993","GCS_ITRF_1994","GCS_ITRF_1996","GCS_ITRF_1997","GCS_ITRF_2000","GCS_Chatham_Islands_1979","GCS_Observatorio_Meteorologico_1965","GCS_Roma_1940","GCS_Sphere_EMEP","GCS_EUREF_FIN","GCS_Jordan","GCS_D48","GCS_Ocotepeque_1935","GCS_JAD_2001","GCS_MONREF_1997","GCS_MSK_1942","GCS_TWD_1967","GCS_TWD_1997","GCS_Old_Hawaiian_Intl_1924","GCS_Voirol_1875_Grad","GCS_Voirol_1879_Grad","GCS_CGRS_1993","GCS_PTRA08","GCS_CR05","GCS_ISN_2004","GCS_NAD_1983_2011","GCS_WGS_1984_Major_Auxiliary_Sphere","GCS_NAD_1983_CORS96","GCS_MACAO_2008","GCS_Nepal_Nagarkot","GCS_ITRF_2008","GCS_ETRF_1989","GCS_NAD_1983_PACP00","GCS_NAD_1983_MARP00","GCS_Merchich_Degree","GCS_NAD_1983_MA11","GCS_NAD_1983_PA11","GCS_Voirol_1875","GCS_Voirol_Unifie_1960_Degree","GCS_NAD_1983_HARN_Adj_MN_Anoka","GCS_NAD_1983_HARN_Adj_MN_Becker","GCS_NAD_1983_HARN_Adj_MN_Beltrami_North","GCS_NAD_1983_HARN_Adj_MN_Beltrami_South","GCS_NAD_1983_HARN_Adj_MN_Benton","GCS_NAD_1983_HARN_Adj_MN_Big_Stone","GCS_NAD_1983_HARN_Adj_MN_Blue_Earth","GCS_NAD_1983_HARN_Adj_MN_Brown","GCS_NAD_1983_HARN_Adj_MN_Carlton","GCS_NAD_1983_HARN_Adj_MN_Carver","GCS_NAD_1983_HARN_Adj_MN_Cass_North","GCS_NAD_1983_HARN_Adj_MN_Cass_South","GCS_NAD_1983_HARN_Adj_MN_Chippewa","GCS_NAD_1983_HARN_Adj_MN_Chisago","GCS_NAD_1983_HARN_Adj_MN_Cook_North","GCS_NAD_1983_HARN_Adj_MN_Cook_South","GCS_NAD_1983_HARN_Adj_MN_Cottonwood","GCS_NAD_1983_HARN_Adj_MN_Crow_Wing","GCS_NAD_1983_HARN_Adj_MN_Dakota","GCS_NAD_1983_HARN_Adj_MN_Dodge","GCS_NAD_1983_HARN_Adj_MN_Douglas","GCS_NAD_1983_HARN_Adj_MN_Faribault","GCS_NAD_1983_HARN_Adj_MN_Fillmore","GCS_NAD_1983_HARN_Adj_MN_Freeborn","GCS_NAD_1983_HARN_Adj_MN_Goodhue","GCS_NAD_1983_HARN_Adj_MN_Grant","GCS_NAD_1983_HARN_Adj_MN_Hennepin","GCS_NAD_1983_HARN_Adj_MN_Houston","GCS_NAD_1983_HARN_Adj_MN_Isanti","GCS_NAD_1983_HARN_Adj_MN_Itasca_North","GCS_NAD_1983_HARN_Adj_MN_Itasca_South","GCS_NAD_1983_HARN_Adj_MN_Jackson","GCS_NAD_1983_HARN_Adj_MN_Kanabec","GCS_NAD_1983_HARN_Adj_MN_Kandiyohi","GCS_NAD_1983_HARN_Adj_MN_Kittson","GCS_NAD_1983_HARN_Adj_MN_Koochiching","GCS_NAD_1983_HARN_Adj_MN_Lac_Qui_Parle","GCS_NAD_1983_HARN_Adj_MN_Lake_of_the_Woods_North","GCS_NAD_1983_HARN_Adj_MN_Lake_of_the_Woods_South","GCS_NAD_1983_HARN_Adj_MN_Le_Sueur","GCS_NAD_1983_HARN_Adj_MN_Lincoln","GCS_NAD_1983_HARN_Adj_MN_Lyon","GCS_NAD_1983_HARN_Adj_MN_McLeod","GCS_NAD_1983_HARN_Adj_MN_Mahnomen","GCS_NAD_1983_HARN_Adj_MN_Marshall","GCS_NAD_1983_HARN_Adj_MN_Martin","GCS_NAD_1983_HARN_Adj_MN_Meeker","GCS_NAD_1983_HARN_Adj_MN_Morrison","GCS_NAD_1983_HARN_Adj_MN_Mower","GCS_NAD_1983_HARN_Adj_MN_Murray","GCS_NAD_1983_HARN_Adj_MN_Nicollet","GCS_NAD_1983_HARN_Adj_MN_Nobles","GCS_NAD_1983_HARN_Adj_MN_Norman","GCS_NAD_1983_HARN_Adj_MN_Olmsted","GCS_NAD_1983_HARN_Adj_MN_Ottertail","GCS_NAD_1983_HARN_Adj_MN_Pennington","GCS_NAD_1983_HARN_Adj_MN_Pine","GCS_NAD_1983_HARN_Adj_MN_Pipestone","GCS_NAD_1983_HARN_Adj_MN_Polk","GCS_NAD_1983_HARN_Adj_MN_Pope","GCS_NAD_1983_HARN_Adj_MN_Ramsey","GCS_NAD_1983_HARN_Adj_MN_Red_Lake","GCS_NAD_1983_HARN_Adj_MN_Redwood","GCS_NAD_1983_HARN_Adj_MN_Renville","GCS_NAD_1983_HARN_Adj_MN_Rice","GCS_NAD_1983_HARN_Adj_MN_Rock","GCS_NAD_1983_HARN_Adj_MN_Roseau","GCS_NAD_1983_HARN_Adj_MN_St_Louis_North","GCS_NAD_1983_HARN_Adj_MN_St_Louis_Central","GCS_NAD_1983_HARN_Adj_MN_St_Louis_South","GCS_NAD_1983_HARN_Adj_MN_Scott","GCS_NAD_1983_HARN_Adj_MN_Sherburne","GCS_NAD_1983_HARN_Adj_MN_Sibley","GCS_NAD_1983_HARN_Adj_MN_Stearns","GCS_NAD_1983_HARN_Adj_MN_Steele","GCS_NAD_1983_HARN_Adj_MN_Stevens","GCS_NAD_1983_HARN_Adj_MN_Swift","GCS_NAD_1983_HARN_Adj_MN_Todd","GCS_NAD_1983_HARN_Adj_MN_Traverse","GCS_NAD_1983_HARN_Adj_MN_Wabasha","GCS_NAD_1983_HARN_Adj_MN_Wadena","GCS_NAD_1983_HARN_Adj_MN_Waseca","GCS_NAD_1983_HARN_Adj_MN_Watonwan","GCS_NAD_1983_HARN_Adj_MN_Winona","GCS_NAD_1983_HARN_Adj_MN_Wright","GCS_NAD_1983_HARN_Adj_MN_Yellow_Medicine","GCS_NAD_1983_HARN_Adj_MN_St_Louis","GCS_NAD_1983_HARN_Adj_WI_Adams","GCS_NAD_1983_HARN_Adj_WI_Ashland","GCS_NAD_1983_HARN_Adj_WI_Barron","GCS_NAD_1983_HARN_Adj_WI_Bayfield","GCS_NAD_1983_HARN_Adj_WI_Brown","GCS_NAD_1983_HARN_Adj_WI_Buffalo","GCS_NAD_1983_HARN_Adj_WI_Burnett","GCS_NAD_1983_HARN_Adj_WI_Calumet","GCS_NAD_1983_HARN_Adj_WI_Chippewa","GCS_NAD_1983_HARN_Adj_WI_Clark","GCS_NAD_1983_HARN_Adj_WI_Columbia","GCS_NAD_1983_HARN_Adj_WI_Crawford","GCS_NAD_1983_HARN_Adj_WI_Dane","GCS_NAD_1983_HARN_Adj_WI_Dodge","GCS_NAD_1983_HARN_Adj_WI_Door","GCS_NAD_1983_HARN_Adj_WI_Douglas","GCS_NAD_1983_HARN_Adj_WI_Dunn","GCS_NAD_1983_HARN_Adj_WI_EauClaire","GCS_NAD_1983_HARN_Adj_WI_Florence","GCS_NAD_1983_HARN_Adj_WI_FondduLac","GCS_NAD_1983_HARN_Adj_WI_Forest","GCS_NAD_1983_HARN_Adj_WI_Grant","GCS_NAD_1983_HARN_Adj_WI_Green","GCS_NAD_1983_HARN_Adj_WI_GreenLake","GCS_NAD_1983_HARN_Adj_WI_Iowa","GCS_NAD_1983_HARN_Adj_WI_Iron","GCS_NAD_1983_HARN_Adj_WI_Jackson","GCS_NAD_1983_HARN_Adj_WI_Jefferson","GCS_NAD_1983_HARN_Adj_WI_Juneau","GCS_NAD_1983_HARN_Adj_WI_Kenosha","GCS_NAD_1983_HARN_Adj_WI_Kewaunee","GCS_NAD_1983_HARN_Adj_WI_LaCrosse","GCS_NAD_1983_HARN_Adj_WI_Lafayette","GCS_NAD_1983_HARN_Adj_WI_Langlade","GCS_NAD_1983_HARN_Adj_WI_Lincoln","GCS_NAD_1983_HARN_Adj_WI_Manitowoc","GCS_NAD_1983_HARN_Adj_WI_Marathon","GCS_NAD_1983_HARN_Adj_WI_Marinette","GCS_NAD_1983_HARN_Adj_WI_Marquette","GCS_NAD_1983_HARN_Adj_WI_Menominee","GCS_NAD_1983_HARN_Adj_WI_Milwaukee","GCS_NAD_1983_HARN_Adj_WI_Monroe","GCS_NAD_1983_HARN_Adj_WI_Oconto","GCS_NAD_1983_HARN_Adj_WI_Oneida","GCS_NAD_1983_HARN_Adj_WI_Outagamie","GCS_NAD_1983_HARN_Adj_WI_Ozaukee","GCS_NAD_1983_HARN_Adj_WI_Pepin","GCS_NAD_1983_HARN_Adj_WI_Pierce","GCS_NAD_1983_HARN_Adj_WI_Polk","GCS_NAD_1983_HARN_Adj_WI_Portage","GCS_NAD_1983_HARN_Adj_WI_Price","GCS_NAD_1983_HARN_Adj_WI_Racine","GCS_NAD_1983_HARN_Adj_WI_Richland","GCS_NAD_1983_HARN_Adj_WI_Rock","GCS_NAD_1983_HARN_Adj_WI_Rusk","GCS_NAD_1983_HARN_Adj_WI_StCroix","GCS_NAD_1983_HARN_Adj_WI_Sauk","GCS_NAD_1983_HARN_Adj_WI_Sawyer","GCS_NAD_1983_HARN_Adj_WI_Shawano","GCS_NAD_1983_HARN_Adj_WI_Sheboygan","GCS_NAD_1983_HARN_Adj_WI_Taylor","GCS_NAD_1983_HARN_Adj_WI_Trempealeau","GCS_NAD_1983_HARN_Adj_WI_Vernon","GCS_NAD_1983_HARN_Adj_WI_Vilas","GCS_NAD_1983_HARN_Adj_WI_Walworth","GCS_NAD_1983_HARN_Adj_WI_Washburn","GCS_NAD_1983_HARN_Adj_WI_Washington","GCS_NAD_1983_HARN_Adj_WI_Waukesha","GCS_NAD_1983_HARN_Adj_WI_Waupaca","GCS_NAD_1983_HARN_Adj_WI_Waushara","GCS_NAD_1983_HARN_Adj_WI_Winnebago","GCS_NAD_1983_HARN_Adj_WI_Wood","GCS_ITRF_2005","GCS_Mercury_2000","GCS_Venus_1985","GCS_Venus_2000","GCS_Moon_2000","GCS_Mars_1979","GCS_Mars_2000","GCS_Deimos_2000","GCS_Phobos_2000","GCS_Jupiter_2000","GCS_Adrastea_2000","GCS_Amalthea_2000","GCS_Ananke_2000","GCS_Callisto_2000","GCS_Carme_2000","GCS_Elara_2000","GCS_Europa_2000","GCS_Ganymede_2000","GCS_Himalia_2000","GCS_Io_2000","GCS_Leda_2000","GCS_Lysithea_2000","GCS_Metis_2000","GCS_Pasiphae_2000","GCS_Sinope_2000","GCS_Thebe_2000","GCS_Saturn_2000","GCS_Atlas_2000","GCS_Calypso_2000","GCS_Dione_2000","GCS_Enceladus_2000","GCS_Epimetheus_2000","GCS_Helene_2000","GCS_Hyperion_2000","GCS_Iapetus_2000","GCS_Janus_2000","GCS_Mimas_2000","GCS_Pan_2000","GCS_Pandora_2000","GCS_Phoebe_2000","GCS_Prometheus_2000","GCS_Rhea_2000","GCS_Telesto_2000","GCS_Tethys_2000","GCS_Titan_2000","GCS_Uranus_2000","GCS_Ariel_2000","GCS_Belinda_2000","GCS_Bianca_2000","GCS_Cordelia_2000","GCS_Cressida_2000","GCS_Desdemona_2000","GCS_Juliet_2000","GCS_Miranda_2000","GCS_Oberon_2000","GCS_Ophelia_2000","GCS_Portia_2000","GCS_Puck_2000","GCS_Rosalind_2000","GCS_Titania_2000","GCS_Umbriel_2000","GCS_Neptune_2000","GCS_Despina_2000","GCS_Galatea_2000","GCS_Larissa_2000","GCS_Naiad_2000","GCS_Nereid_2000","GCS_Proteus_2000","GCS_Thalassa_2000","GCS_Triton_2000","GCS_Pluto_2000","GCS_Charon_2000","GCS_HD1909","GCS_IGRS","GCS_MGI_1901","Anguilla_1957_British_West_Indies_Grid","Antigua_1943_British_West_Indies_Grid","Dominica_1945_British_West_Indies_Grid","Grenada_1953_British_West_Indies_Grid","Montserrat_1958_British_West_Indies_Grid","St_Kitts_1955_British_West_Indies_Grid","St_Lucia_1955_British_West_Indies_Grid","St_Vincent_1945_British_West_Indies_Grid","NAD_1927_CGQ77_MTM_2_SCoPQ","NAD_1927_CGQ77_MTM_3_SCoPQ","NAD_1927_CGQ77_MTM_4_SCoPQ","NAD_1927_CGQ77_MTM_5_SCoPQ","NAD_1927_CGQ77_MTM_6_SCoPQ","NAD_1927_CGQ77_MTM_7_SCoPQ","NAD_1927_CGQ77_MTM_8_SCoPQ","NAD_1927_CGQ77_MTM_9_SCoPQ","NAD_1927_CGQ77_MTM_10_SCoPQ","NAD_1927_DEF_1976_MTM_8","NAD_1927_DEF_1976_MTM_9","NAD_1927_DEF_1976_MTM_10","NAD_1927_DEF_1976_MTM_11","NAD_1927_DEF_1976_MTM_12","NAD_1927_DEF_1976_MTM_13","NAD_1927_DEF_1976_MTM_14","NAD_1927_DEF_1976_MTM_15","NAD_1927_DEF_1976_MTM_16","NAD_1927_DEF_1976_MTM_17","NAD_1927_DEF_1976_UTM_Zone_15N","NAD_1927_DEF_1976_UTM_Zone_16N","NAD_1927_DEF_1976_UTM_Zone_17N","NAD_1927_DEF_1976_UTM_Zone_18N","NAD_1927_CGQ77_UTM_Zone_17N","NAD_1927_CGQ77_UTM_Zone_18N","NAD_1927_CGQ77_UTM_Zone_19N","NAD_1927_CGQ77_UTM_Zone_20N","NAD_1927_CGQ77_UTM_Zone_21N","NAD_1983_CSRS_New_Brunswick_Stereographic","NAD_1983_CSRS_UTM_Zone_19N","NAD_1983_CSRS_UTM_Zone_20N","Israel_TM_Grid","Locodjo_1965_UTM_Zone_30N","Abidjan_1987_UTM_Zone_30N","Locodjo_1965_UTM_Zone_29N","Abidjan_1987_UTM_Zone_29N","Hanoi_1972_GK_Zone_18","Hanoi_1972_GK_Zone_19","CH1903+_LV95","Rassadiran_Nakhl_e_Taqi","ED_1950_ED77_UTM_Zone_38N","ED_1950_ED77_UTM_Zone_39N","ED_1950_ED77_UTM_Zone_40N","ED_1950_ED77_UTM_Zone_41N","Madrid_1870_Madrid_Spain","Dabola_1981_UTM_Zone_28N","Dabola_1981_UTM_Zone_29N","S-JTSK_Ferro_Krovak","Mount_Dillon_Tobago_Grid","Naparima_1955_UTM_Zone_20N","ELD_1979_Libya_5","ELD_1979_Libya_6","ELD_1979_Libya_7","ELD_1979_Libya_8","ELD_1979_Libya_9","ELD_1979_Libya_10","ELD_1979_Libya_11","ELD_1979_Libya_12","ELD_1979_Libya_13","ELD_1979_UTM_Zone_32N","ELD_1979_UTM_Zone_33N","ELD_1979_UTM_Zone_34N","ELD_1979_UTM_Zone_35N","Chos_Malal_1914_Argentina_2","Pampa_del_Castillo_Argentina_2","Hito_XVIII_1963_Argentina_2","Hito_XVIII_1963_UTM_19S","NAD_1927_Cuba_Norte","NAD_1927_Cuba_Sur","ELD_1979_TM_12_NE","Carthage_TM_11_NE","Yemen_NGN_1996_UTM_Zone_38N","Yemen_NGN_1996_UTM_Zone_39N","South_Yemen_GK_Zone_8","South_Yemen_GK_Zone_9","Hanoi_1972_GK_106_NE","WGS_1972_BE_TM_106_NE","Bissau_UTM_Zone_28N","Korean_1985_Korea_East_Belt","Korean_1985_Korea_Central_Belt","Korean_1985_Korea_West_Belt","Qatar_1948_Qatar_Grid","Greek_Grid","Lake_Maracaibo_Grid_M1","Lake_Maracaibo_Grid","Lake_Maracaibo_Grid_M3","Lake_Maracaibo_La_Rosa_Grid","NZGD_2000_Mount_Eden_Circuit","NZGD_2000_Bay_of_Plenty_Circuit","NZGD_2000_Poverty_Bay_Circuit","NZGD_2000_Hawkes_Bay_Circuit","NZGD_2000_Taranaki_Circuit","NZGD_2000_Tuhirangi_Circuit","NZGD_2000_Wanganui_Circuit","NZGD_2000_Wairarapa_Circuit","NZGD_2000_Wellington_Circuit","NZGD_2000_Collingwood_Circuit","NZGD_2000_Nelson_Circuit","NZGD_2000_Karamea_Circuit","NZGD_2000_Buller_Circuit","NZGD_2000_Grey_Circuit","NZGD_2000_Amuri_Circuit","NZGD_2000_Marlborough_Circuit","NZGD_2000_Hokitika_Circuit","NZGD_2000_Okarito_Circuit","NZGD_2000_Jacksons_Bay_Circuit","NZGD_2000_Mount_Pleasant_Circuit","NZGD_2000_Gawler_Circuit","NZGD_2000_Timaru_Circuit","NZGD_2000_Lindis_Peak_Circuit","NZGD_2000_Mount_Nicholas_Circuit","NZGD_2000_Mount_York_Circuit","NZGD_2000_Observation_Point_Circuit","NZGD_2000_North_Taieri_Circuit","NZGD_2000_Bluff_Circuit","NZGD_2000_UTM_Zone_58S","NZGD_2000_UTM_Zone_59S","NZGD_2000_UTM_Zone_60S","Accra_Ghana_Grid","Accra_TM_1_NW","NAD_1927_CGQ77_Quebec_Lambert","NAD_1983_CSRS_MTM_2_SCoPQ","NAD_1983_CSRS_MTM_3","NAD_1983_CSRS_MTM_4","NAD_1983_CSRS_MTM_5","NAD_1983_CSRS_MTM_6","NAD_1983_CSRS_MTM_7","NAD_1983_CSRS_MTM_8","NAD_1983_CSRS_MTM_9","NAD_1983_CSRS_MTM_10","NAD_1983_CSRS_UTM_Zone_21N","NAD_1983_CSRS_UTM_Zone_18N","NAD_1983_CSRS_UTM_Zone_17N","NAD_1983_CSRS_UTM_Zone_13N","NAD_1983_CSRS_UTM_Zone_12N","NAD_1983_CSRS_UTM_Zone_11N","RGF_1993_Lambert_93","Samoa_1962_Samoa_Lambert","IRENET95_Irish_Transverse_Mercator","IRENET95_UTM_Zone_29N","Sierra_Leone_1924_New_Colony_Grid","Sierra_Leone_1924_New_War_Office_Grid","Sierra_Leone_1968_UTM_Zone_28N","Sierra_Leone_1968_UTM_Zone_29N","US_National_Atlas_Equal_Area","Locodjo_1965_TM_5_NW","Abidjan_1987_TM_5_NW","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_3","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_4","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_5","Luxembourg_1930_Gauss","MGI_Slovenia_Grid","Pulkovo_1942_Adj_1958_Poland_Zone_II","Pulkovo_1942_Adj_1958_Poland_Zone_III","Pulkovo_1942_Adj_1958_Poland_Zone_IV","Pulkovo_1942_Adj_1958_Poland_Zone_V","ETRS_1989_Poland_CS2000_Zone_5","ETRS_1989_Poland_CS2000_Zone_6","ETRS_1989_Poland_CS2000_Zone_7","ETRS_1989_Poland_CS2000_Zone_8","ETRS_1989_Poland_CS92","ED_1950_Turkey_9","ED_1950_Turkey_10","ED_1950_Turkey_11","ED_1950_Turkey_12","ED_1950_Turkey_13","ED_1950_Turkey_14","ED_1950_Turkey_15","Azores_Occidental_1939_UTM_Zone_25N","Azores_Central_1948_UTM_Zone_26N","Azores_Oriental_1940_UTM_Zone_26N","Madeira_1936_UTM_Zone_28N","ED_1950_France_EuroLambert","NZGD_2000_New_Zealand_Transverse_Mercator","NAD_1983_HARN_UTM_Zone_2S","ETRS_1989_Kp2000_Jutland","ETRS_1989_Kp2000_Zealand","ETRS_1989_Kp2000_Bornholm","ATS_1977_New_Brunswick_Stereographic","REGVEN_UTM_Zone_18N","REGVEN_UTM_Zone_19N","REGVEN_UTM_Zone_20N","NAD_1927_StatePlane_Tennessee_FIPS_4100","NAD_1983_StatePlane_Kentucky_North_FIPS_1601","ED_1950_3_Degree_GK_Zone_9","ED_1950_3_Degree_GK_Zone_10","ED_1950_3_Degree_GK_Zone_11","ED_1950_3_Degree_GK_Zone_12","ED_1950_3_Degree_GK_Zone_13","ED_1950_3_Degree_GK_Zone_14","ED_1950_3_Degree_GK_Zone_15","ETRS_1989_TM_30_NE","Douala_1948_AEF_West","Manoca_1962_UTM_Zone_32N","Qornoq_1927_UTM_Zone_22N","Qornoq_1927_UTM_Zone_23N","ATS_1977_UTM_Zone_19N","ATS_1977_UTM_Zone_20N","NAD_1983_StatePlane_Arizona_East_FIPS_0201_Feet_Intl","NAD_1983_StatePlane_Arizona_Central_FIPS_0202_Feet_Intl","NAD_1983_StatePlane_Arizona_West_FIPS_0203_Feet_Intl","NAD_1983_StatePlane_California_I_FIPS_0401_Feet","NAD_1983_StatePlane_California_II_FIPS_0402_Feet","NAD_1983_StatePlane_California_III_FIPS_0403_Feet","NAD_1983_StatePlane_California_IV_FIPS_0404_Feet","NAD_1983_StatePlane_California_V_FIPS_0405_Feet","NAD_1983_StatePlane_California_VI_FIPS_0406_Feet","NAD_1983_StatePlane_Colorado_North_FIPS_0501_Feet","NAD_1983_StatePlane_Colorado_Central_FIPS_0502_Feet","NAD_1983_StatePlane_Colorado_South_FIPS_0503_Feet","NAD_1983_StatePlane_Connecticut_FIPS_0600_Feet","NAD_1983_StatePlane_Delaware_FIPS_0700_Feet","NAD_1983_StatePlane_Florida_East_FIPS_0901_Feet","NAD_1983_StatePlane_Florida_West_FIPS_0902_Feet","NAD_1983_StatePlane_Florida_North_FIPS_0903_Feet","NAD_1983_StatePlane_Georgia_East_FIPS_1001_Feet","NAD_1983_StatePlane_Georgia_West_FIPS_1002_Feet","NAD_1983_StatePlane_Idaho_East_FIPS_1101_Feet","NAD_1983_StatePlane_Idaho_Central_FIPS_1102_Feet","NAD_1983_StatePlane_Idaho_West_FIPS_1103_Feet","NAD_1983_StatePlane_Indiana_East_FIPS_1301_Feet","NAD_1983_StatePlane_Indiana_West_FIPS_1302_Feet","NAD_1983_StatePlane_Kentucky_North_FIPS_1601_Feet","NAD_1983_StatePlane_Kentucky_South_FIPS_1602_Feet","NAD_1983_StatePlane_Maryland_FIPS_1900_Feet","NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001_Feet","NAD_1983_StatePlane_Massachusetts_Island_FIPS_2002_Feet","NAD_1983_StatePlane_Michigan_North_FIPS_2111_Feet_Intl","NAD_1983_StatePlane_Michigan_Central_FIPS_2112_Feet_Intl","NAD_1983_StatePlane_Michigan_South_FIPS_2113_Feet_Intl","NAD_1983_StatePlane_Mississippi_East_FIPS_2301_Feet","NAD_1983_StatePlane_Mississippi_West_FIPS_2302_Feet","NAD_1983_StatePlane_Montana_FIPS_2500_Feet_Intl","NAD_1983_StatePlane_New_Mexico_East_FIPS_3001_Feet","NAD_1983_StatePlane_New_Mexico_Central_FIPS_3002_Feet","NAD_1983_StatePlane_New_Mexico_West_FIPS_3003_Feet","NAD_1983_StatePlane_New_York_East_FIPS_3101_Feet","NAD_1983_StatePlane_New_York_Central_FIPS_3102_Feet","NAD_1983_StatePlane_New_York_West_FIPS_3103_Feet","NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104_Feet","NAD_1983_StatePlane_North_Carolina_FIPS_3200_Feet","NAD_1983_StatePlane_North_Dakota_North_FIPS_3301_Feet_Intl","NAD_1983_StatePlane_North_Dakota_South_FIPS_3302_Feet_Intl","NAD_1983_StatePlane_Oklahoma_North_FIPS_3501_Feet","NAD_1983_StatePlane_Oklahoma_South_FIPS_3502_Feet","NAD_1983_StatePlane_Oregon_North_FIPS_3601_Feet_Intl","NAD_1983_StatePlane_Oregon_South_FIPS_3602_Feet_Intl","NAD_1983_StatePlane_Pennsylvania_North_FIPS_3701_Feet","NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet","NAD_1983_StatePlane_South_Carolina_FIPS_3900_Feet_Intl","NAD_1983_StatePlane_Tennessee_FIPS_4100_Feet","NAD_1983_StatePlane_Texas_North_FIPS_4201_Feet","NAD_1983_StatePlane_Texas_North_Central_FIPS_4202_Feet","NAD_1983_StatePlane_Texas_Central_FIPS_4203_Feet","NAD_1983_StatePlane_Texas_South_Central_FIPS_4204_Feet","NAD_1983_StatePlane_Texas_South_FIPS_4205_Feet","NAD_1983_StatePlane_Utah_North_FIPS_4301_Feet_Intl","NAD_1983_StatePlane_Utah_Central_FIPS_4302_Feet_Intl","NAD_1983_StatePlane_Utah_South_FIPS_4303_Feet_Intl","NAD_1983_StatePlane_Virginia_North_FIPS_4501_Feet","NAD_1983_StatePlane_Virginia_South_FIPS_4502_Feet","NAD_1983_StatePlane_Washington_North_FIPS_4601_Feet","NAD_1983_StatePlane_Washington_South_FIPS_4602_Feet","NAD_1983_StatePlane_Wisconsin_North_FIPS_4801_Feet","NAD_1983_StatePlane_Wisconsin_Central_FIPS_4802_Feet","NAD_1983_StatePlane_Wisconsin_South_FIPS_4803_Feet","Prince_Edward_Island_Stereographic","NAD_1983_CSRS_Prince_Edward_Island","NAD_1983_CSRS_Prince_Edward_Island","ATS_1977_MTM_4_Nova_Scotia","ATS_1977_MTM_5_Nova_Scotia","Batavia_TM_109_SE","WGS_1984_TM_116_SE","WGS_1984_TM_132_SE","WGS_1984_TM_6_NE","Garoua_UTM_Zone_33N","Kousseri_UTM_Zone_33N","Trinidad_1903_Trinidad_Grid_Feet_Clarke","Campo_Inchauspe_UTM_19S","Campo_Inchauspe_UTM_20S","PSAD_1956_ICN_Regional","Ain_el_Abd_Aramco_Lambert","ED_1950_TM27","ED_1950_TM30","ED_1950_TM33","ED_1950_TM36","ED_1950_TM39","ED_1950_TM42","ED_1950_TM45","Hong_Kong_1980_Grid","Xian_1980_GK_Zone_13","Xian_1980_GK_Zone_14","Xian_1980_GK_Zone_15","Xian_1980_GK_Zone_16","Xian_1980_GK_Zone_17","Xian_1980_GK_Zone_18","Xian_1980_GK_Zone_19","Xian_1980_GK_Zone_20","Xian_1980_GK_Zone_21","Xian_1980_GK_Zone_22","Xian_1980_GK_Zone_23","Xian_1980_GK_CM_75E","Xian_1980_GK_CM_81E","Xian_1980_GK_CM_87E","Xian_1980_GK_CM_93E","Xian_1980_GK_CM_99E","Xian_1980_GK_CM_105E","Xian_1980_GK_CM_111E","Xian_1980_GK_CM_117E","Xian_1980_GK_CM_123E","Xian_1980_GK_CM_129E","Xian_1980_GK_CM_135E","Xian_1980_3_Degree_GK_Zone_25","Xian_1980_3_Degree_GK_Zone_26","Xian_1980_3_Degree_GK_Zone_27","Xian_1980_3_Degree_GK_Zone_28","Xian_1980_3_Degree_GK_Zone_29","Xian_1980_3_Degree_GK_Zone_30","Xian_1980_3_Degree_GK_Zone_31","Xian_1980_3_Degree_GK_Zone_32","Xian_1980_3_Degree_GK_Zone_33","Xian_1980_3_Degree_GK_Zone_34","Xian_1980_3_Degree_GK_Zone_35","Xian_1980_3_Degree_GK_Zone_36","Xian_1980_3_Degree_GK_Zone_37","Xian_1980_3_Degree_GK_Zone_38","Xian_1980_3_Degree_GK_Zone_39","Xian_1980_3_Degree_GK_Zone_40","Xian_1980_3_Degree_GK_Zone_41","Xian_1980_3_Degree_GK_Zone_42","Xian_1980_3_Degree_GK_Zone_43","Xian_1980_3_Degree_GK_Zone_44","Xian_1980_3_Degree_GK_Zone_45","Xian_1980_3_Degree_GK_CM_75E","Xian_1980_3_Degree_GK_CM_78E","Xian_1980_3_Degree_GK_CM_81E","Xian_1980_3_Degree_GK_CM_84E","Xian_1980_3_Degree_GK_CM_87E","Xian_1980_3_Degree_GK_CM_90E","Xian_1980_3_Degree_GK_CM_93E","Xian_1980_3_Degree_GK_CM_96E","Xian_1980_3_Degree_GK_CM_99E","Xian_1980_3_Degree_GK_CM_102E","Xian_1980_3_Degree_GK_CM_105E","Xian_1980_3_Degree_GK_CM_108E","Xian_1980_3_Degree_GK_CM_111E","Xian_1980_3_Degree_GK_CM_114E","Xian_1980_3_Degree_GK_CM_117E","Xian_1980_3_Degree_GK_CM_120E","Xian_1980_3_Degree_GK_CM_123E","Xian_1980_3_Degree_GK_CM_126E","Xian_1980_3_Degree_GK_CM_129E","Xian_1980_3_Degree_GK_CM_132E","Xian_1980_3_Degree_GK_CM_135E","Finland_Zone_1","Finland_Zone_2","Finland_Zone_3","Finland_Zone_4","South_Yemen_GK_Zone_8","South_Yemen_GK_Zone_9","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_3","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_4","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_5","RT90_25_gon_W","Beijing_1954_3_Degree_GK_Zone_25","Beijing_1954_3_Degree_GK_Zone_26","Beijing_1954_3_Degree_GK_Zone_27","Beijing_1954_3_Degree_GK_Zone_28","Beijing_1954_3_Degree_GK_Zone_29","Beijing_1954_3_Degree_GK_Zone_30","Beijing_1954_3_Degree_GK_Zone_31","Beijing_1954_3_Degree_GK_Zone_32","Beijing_1954_3_Degree_GK_Zone_33","Beijing_1954_3_Degree_GK_Zone_34","Beijing_1954_3_Degree_GK_Zone_35","Beijing_1954_3_Degree_GK_Zone_36","Beijing_1954_3_Degree_GK_Zone_37","Beijing_1954_3_Degree_GK_Zone_38","Beijing_1954_3_Degree_GK_Zone_39","Beijing_1954_3_Degree_GK_Zone_40","Beijing_1954_3_Degree_GK_Zone_41","Beijing_1954_3_Degree_GK_Zone_42","Beijing_1954_3_Degree_GK_Zone_43","Beijing_1954_3_Degree_GK_Zone_44","Beijing_1954_3_Degree_GK_Zone_45","Beijing_1954_3_Degree_GK_CM_75E","Beijing_1954_3_Degree_GK_CM_78E","Beijing_1954_3_Degree_GK_CM_81E","Beijing_1954_3_Degree_GK_CM_84E","Beijing_1954_3_Degree_GK_CM_87E","Beijing_1954_3_Degree_GK_CM_90E","Beijing_1954_3_Degree_GK_CM_93E","Beijing_1954_3_Degree_GK_CM_96E","Beijing_1954_3_Degree_GK_CM_99E","Beijing_1954_3_Degree_GK_CM_102E","Beijing_1954_3_Degree_GK_CM_105E","Beijing_1954_3_Degree_GK_CM_108E","Beijing_1954_3_Degree_GK_CM_111E","Beijing_1954_3_Degree_GK_CM_114E","Beijing_1954_3_Degree_GK_CM_117E","Beijing_1954_3_Degree_GK_CM_120E","Beijing_1954_3_Degree_GK_CM_123E","Beijing_1954_3_Degree_GK_CM_126E","Beijing_1954_3_Degree_GK_CM_129E","Beijing_1954_3_Degree_GK_CM_132E","Beijing_1954_3_Degree_GK_CM_135E","JGD_2000_Japan_Zone_1","JGD_2000_Japan_Zone_2","JGD_2000_Japan_Zone_3","JGD_2000_Japan_Zone_4","JGD_2000_Japan_Zone_5","JGD_2000_Japan_Zone_6","JGD_2000_Japan_Zone_7","JGD_2000_Japan_Zone_8","JGD_2000_Japan_Zone_9","JGD_2000_Japan_Zone_10","JGD_2000_Japan_Zone_11","JGD_2000_Japan_Zone_12","JGD_2000_Japan_Zone_13","JGD_2000_Japan_Zone_14","JGD_2000_Japan_Zone_15","JGD_2000_Japan_Zone_16","JGD_2000_Japan_Zone_17","JGD_2000_Japan_Zone_18","JGD_2000_Japan_Zone_19","Albanian_1987_GK_Zone_4","Pulkovo_1942_3_Degree_GK_Zone_7","Pulkovo_1942_3_Degree_GK_Zone_8","Pulkovo_1942_3_Degree_GK_Zone_9","Pulkovo_1942_3_Degree_GK_Zone_10","Pulkovo_1942_3_Degree_GK_Zone_11","Pulkovo_1942_3_Degree_GK_Zone_12","Pulkovo_1942_3_Degree_GK_Zone_13","Pulkovo_1942_3_Degree_GK_Zone_14","Pulkovo_1942_3_Degree_GK_Zone_15","Pulkovo_1942_3_Degree_GK_Zone_16","Pulkovo_1942_3_Degree_GK_Zone_17","Pulkovo_1942_3_Degree_GK_Zone_18","Pulkovo_1942_3_Degree_GK_Zone_19","Pulkovo_1942_3_Degree_GK_Zone_20","Pulkovo_1942_3_Degree_GK_Zone_21","Pulkovo_1942_3_Degree_GK_Zone_22","Pulkovo_1942_3_Degree_GK_Zone_23","Pulkovo_1942_3_Degree_GK_Zone_24","Pulkovo_1942_3_Degree_GK_Zone_25","Pulkovo_1942_3_Degree_GK_Zone_26","Pulkovo_1942_3_Degree_GK_Zone_27","Pulkovo_1942_3_Degree_GK_Zone_28","Pulkovo_1942_3_Degree_GK_Zone_29","Pulkovo_1942_3_Degree_GK_Zone_30","Pulkovo_1942_3_Degree_GK_Zone_31","Pulkovo_1942_3_Degree_GK_Zone_32","Pulkovo_1942_3_Degree_GK_Zone_33","Samboja_UTM_Zone_50S","Pulkovo_1942_3_Degree_GK_Zone_34","Pulkovo_1942_3_Degree_GK_Zone_35","Pulkovo_1942_3_Degree_GK_Zone_36","Pulkovo_1942_3_Degree_GK_Zone_37","Pulkovo_1942_3_Degree_GK_Zone_38","Pulkovo_1942_3_Degree_GK_Zone_39","Pulkovo_1942_3_Degree_GK_Zone_40","Pulkovo_1942_3_Degree_GK_Zone_41","Pulkovo_1942_3_Degree_GK_Zone_42","Pulkovo_1942_3_Degree_GK_Zone_43","Pulkovo_1942_3_Degree_GK_Zone_44","Pulkovo_1942_3_Degree_GK_Zone_45","Pulkovo_1942_3_Degree_GK_Zone_46","Pulkovo_1942_3_Degree_GK_Zone_47","Pulkovo_1942_3_Degree_GK_Zone_48","Pulkovo_1942_3_Degree_GK_Zone_49","Pulkovo_1942_3_Degree_GK_Zone_50","Pulkovo_1942_3_Degree_GK_Zone_51","Pulkovo_1942_3_Degree_GK_Zone_52","Pulkovo_1942_3_Degree_GK_Zone_53","Pulkovo_1942_3_Degree_GK_Zone_54","Pulkovo_1942_3_Degree_GK_Zone_55","Pulkovo_1942_3_Degree_GK_Zone_56","Pulkovo_1942_3_Degree_GK_Zone_57","Pulkovo_1942_3_Degree_GK_Zone_58","Pulkovo_1942_3_Degree_GK_Zone_59","Pulkovo_1942_3_Degree_GK_Zone_60","Pulkovo_1942_3_Degree_GK_Zone_61","Pulkovo_1942_3_Degree_GK_Zone_62","Pulkovo_1942_3_Degree_GK_Zone_63","Pulkovo_1942_3_Degree_GK_Zone_64","Pulkovo_1942_3_Degree_GK_CM_21E","Pulkovo_1942_3_Degree_GK_CM_24E","Pulkovo_1942_3_Degree_GK_CM_27E","Pulkovo_1942_3_Degree_GK_CM_30E","Pulkovo_1942_3_Degree_GK_CM_33E","Pulkovo_1942_3_Degree_GK_CM_36E","Pulkovo_1942_3_Degree_GK_CM_39E","Pulkovo_1942_3_Degree_GK_CM_42E","Pulkovo_1942_3_Degree_GK_CM_45E","Pulkovo_1942_3_Degree_GK_CM_48E","Pulkovo_1942_3_Degree_GK_CM_51E","Pulkovo_1942_3_Degree_GK_CM_54E","Pulkovo_1942_3_Degree_GK_CM_57E","Pulkovo_1942_3_Degree_GK_CM_60E","Pulkovo_1942_3_Degree_GK_CM_63E","Pulkovo_1942_3_Degree_GK_CM_66E","Pulkovo_1942_3_Degree_GK_CM_69E","Pulkovo_1942_3_Degree_GK_CM_72E","LKS_1994_Lithuania_TM","Pulkovo_1942_3_Degree_GK_CM_75E","Pulkovo_1942_3_Degree_GK_CM_78E","Pulkovo_1942_3_Degree_GK_CM_81E","Pulkovo_1942_3_Degree_GK_CM_84E","Pulkovo_1942_3_Degree_GK_CM_87E","Pulkovo_1942_3_Degree_GK_CM_90E","Pulkovo_1942_3_Degree_GK_CM_93E","Pulkovo_1942_3_Degree_GK_CM_96E","Pulkovo_1942_3_Degree_GK_CM_99E","Pulkovo_1942_3_Degree_GK_CM_102E","Pulkovo_1942_3_Degree_GK_CM_105E","Pulkovo_1942_3_Degree_GK_CM_108E","Pulkovo_1942_3_Degree_GK_CM_111E","Pulkovo_1942_3_Degree_GK_CM_114E","Pulkovo_1942_3_Degree_GK_CM_117E","Pulkovo_1942_3_Degree_GK_CM_120E","Pulkovo_1942_3_Degree_GK_CM_123E","Pulkovo_1942_3_Degree_GK_CM_126E","Pulkovo_1942_3_Degree_GK_CM_129E","Pulkovo_1942_3_Degree_GK_CM_132E","Pulkovo_1942_3_Degree_GK_CM_135E","Pulkovo_1942_3_Degree_GK_CM_138E","Pulkovo_1942_3_Degree_GK_CM_141E","Pulkovo_1942_3_Degree_GK_CM_144E","Pulkovo_1942_3_Degree_GK_CM_147E","Pulkovo_1942_3_Degree_GK_CM_150E","Pulkovo_1942_3_Degree_GK_CM_153E","Pulkovo_1942_3_Degree_GK_CM_156E","Pulkovo_1942_3_Degree_GK_CM_159E","Pulkovo_1942_3_Degree_GK_CM_162E","Pulkovo_1942_3_Degree_GK_CM_165E","Pulkovo_1942_3_Degree_GK_CM_168E","Pulkovo_1942_3_Degree_GK_CM_171E","Pulkovo_1942_3_Degree_GK_CM_174E","Pulkovo_1942_3_Degree_GK_CM_177E","Pulkovo_1942_3_Degree_GK_CM_180E","Pulkovo_1942_3_Degree_GK_CM_177W","Pulkovo_1942_3_Degree_GK_CM_174W","Pulkovo_1942_3_Degree_GK_CM_171W","Pulkovo_1942_3_Degree_GK_CM_168W","Pulkovo_1995_3_Degree_GK_Zone_7","Pulkovo_1995_3_Degree_GK_Zone_8","Pulkovo_1995_3_Degree_GK_Zone_9","Pulkovo_1995_3_Degree_GK_Zone_10","Pulkovo_1995_3_Degree_GK_Zone_11","Pulkovo_1995_3_Degree_GK_Zone_12","Pulkovo_1995_3_Degree_GK_Zone_13","Pulkovo_1995_3_Degree_GK_Zone_14","Pulkovo_1995_3_Degree_GK_Zone_15","Pulkovo_1995_3_Degree_GK_Zone_16","Pulkovo_1995_3_Degree_GK_Zone_17","Pulkovo_1995_3_Degree_GK_Zone_18","Pulkovo_1995_3_Degree_GK_Zone_19","Pulkovo_1995_3_Degree_GK_Zone_20","Pulkovo_1995_3_Degree_GK_Zone_21","Pulkovo_1995_3_Degree_GK_Zone_22","Pulkovo_1995_3_Degree_GK_Zone_23","Pulkovo_1995_3_Degree_GK_Zone_24","Pulkovo_1995_3_Degree_GK_Zone_25","Pulkovo_1995_3_Degree_GK_Zone_26","Pulkovo_1995_3_Degree_GK_Zone_27","Pulkovo_1995_3_Degree_GK_Zone_28","Pulkovo_1995_3_Degree_GK_Zone_29","Pulkovo_1995_3_Degree_GK_Zone_30","Pulkovo_1995_3_Degree_GK_Zone_31","Pulkovo_1995_3_Degree_GK_Zone_32","Pulkovo_1995_3_Degree_GK_Zone_33","Pulkovo_1995_3_Degree_GK_Zone_34","Pulkovo_1995_3_Degree_GK_Zone_35","Pulkovo_1995_3_Degree_GK_Zone_36","Pulkovo_1995_3_Degree_GK_Zone_37","Pulkovo_1995_3_Degree_GK_Zone_38","Pulkovo_1995_3_Degree_GK_Zone_39","Pulkovo_1995_3_Degree_GK_Zone_40","Pulkovo_1995_3_Degree_GK_Zone_41","Pulkovo_1995_3_Degree_GK_Zone_42","Pulkovo_1995_3_Degree_GK_Zone_43","Pulkovo_1995_3_Degree_GK_Zone_44","Pulkovo_1995_3_Degree_GK_Zone_45","Pulkovo_1995_3_Degree_GK_Zone_46","Pulkovo_1995_3_Degree_GK_Zone_47","Pulkovo_1995_3_Degree_GK_Zone_48","Pulkovo_1995_3_Degree_GK_Zone_49","Pulkovo_1995_3_Degree_GK_Zone_50","Pulkovo_1995_3_Degree_GK_Zone_51","Pulkovo_1995_3_Degree_GK_Zone_52","Pulkovo_1995_3_Degree_GK_Zone_53","Pulkovo_1995_3_Degree_GK_Zone_54","Pulkovo_1995_3_Degree_GK_Zone_55","Pulkovo_1995_3_Degree_GK_Zone_56","Pulkovo_1995_3_Degree_GK_Zone_57","Pulkovo_1995_3_Degree_GK_Zone_58","Pulkovo_1995_3_Degree_GK_Zone_59","Pulkovo_1995_3_Degree_GK_Zone_60","Pulkovo_1995_3_Degree_GK_Zone_61","Pulkovo_1995_3_Degree_GK_Zone_62","Pulkovo_1995_3_Degree_GK_Zone_63","Pulkovo_1995_3_Degree_GK_Zone_64","Pulkovo_1995_3_Degree_GK_CM_21E","Pulkovo_1995_3_Degree_GK_CM_24E","Pulkovo_1995_3_Degree_GK_CM_27E","Pulkovo_1995_3_Degree_GK_CM_30E","Pulkovo_1995_3_Degree_GK_CM_33E","Pulkovo_1995_3_Degree_GK_CM_36E","Pulkovo_1995_3_Degree_GK_CM_39E","Pulkovo_1995_3_Degree_GK_CM_42E","Pulkovo_1995_3_Degree_GK_CM_45E","Pulkovo_1995_3_Degree_GK_CM_48E","Pulkovo_1995_3_Degree_GK_CM_51E","Pulkovo_1995_3_Degree_GK_CM_54E","Pulkovo_1995_3_Degree_GK_CM_57E","Pulkovo_1995_3_Degree_GK_CM_60E","Pulkovo_1995_3_Degree_GK_CM_63E","Pulkovo_1995_3_Degree_GK_CM_66E","Pulkovo_1995_3_Degree_GK_CM_69E","Pulkovo_1995_3_Degree_GK_CM_72E","Pulkovo_1995_3_Degree_GK_CM_75E","Pulkovo_1995_3_Degree_GK_CM_78E","Pulkovo_1995_3_Degree_GK_CM_81E","Pulkovo_1995_3_Degree_GK_CM_84E","Pulkovo_1995_3_Degree_GK_CM_87E","Pulkovo_1995_3_Degree_GK_CM_90E","Pulkovo_1995_3_Degree_GK_CM_93E","Pulkovo_1995_3_Degree_GK_CM_96E","Pulkovo_1995_3_Degree_GK_CM_99E","Pulkovo_1995_3_Degree_GK_CM_102E","Pulkovo_1995_3_Degree_GK_CM_105E","Pulkovo_1995_3_Degree_GK_CM_108E","Pulkovo_1995_3_Degree_GK_CM_111E","Pulkovo_1995_3_Degree_GK_CM_114E","Pulkovo_1995_3_Degree_GK_CM_117E","Pulkovo_1995_3_Degree_GK_CM_120E","Pulkovo_1995_3_Degree_GK_CM_123E","Pulkovo_1995_3_Degree_GK_CM_126E","Pulkovo_1995_3_Degree_GK_CM_129E","Tete_UTM_Zone_36S","Tete_UTM_Zone_37S","Pulkovo_1995_3_Degree_GK_CM_132E","Pulkovo_1995_3_Degree_GK_CM_135E","Pulkovo_1995_3_Degree_GK_CM_138E","Pulkovo_1995_3_Degree_GK_CM_141E","Pulkovo_1995_3_Degree_GK_CM_144E","Pulkovo_1995_3_Degree_GK_CM_147E","Pulkovo_1995_3_Degree_GK_CM_150E","Pulkovo_1995_3_Degree_GK_CM_153E","Pulkovo_1995_3_Degree_GK_CM_156E","Pulkovo_1995_3_Degree_GK_CM_159E","Pulkovo_1995_3_Degree_GK_CM_162E","Pulkovo_1995_3_Degree_GK_CM_165E","Pulkovo_1995_3_Degree_GK_CM_168E","Pulkovo_1995_3_Degree_GK_CM_171E","Pulkovo_1995_3_Degree_GK_CM_174E","Pulkovo_1995_3_Degree_GK_CM_177E","Pulkovo_1995_3_Degree_GK_CM_180E","Pulkovo_1995_3_Degree_GK_CM_177W","Pulkovo_1995_3_Degree_GK_CM_174W","Pulkovo_1995_3_Degree_GK_CM_171W","Pulkovo_1995_3_Degree_GK_CM_168W","NAD_1983_HARN_StatePlane_Alabama_East_FIPS_0101","NAD_1983_HARN_StatePlane_Alabama_West_FIPS_0102","NAD_1983_HARN_StatePlane_Arizona_East_FIPS_0201","NAD_1983_HARN_StatePlane_Arizona_Central_FIPS_0202","NAD_1983_HARN_StatePlane_Arizona_West_FIPS_0203","NAD_1983_HARN_StatePlane_Arkansas_North_FIPS_0301","NAD_1983_HARN_StatePlane_Arkansas_South_FIPS_0302","NAD_1983_HARN_StatePlane_California_I_FIPS_0401","NAD_1983_HARN_StatePlane_California_II_FIPS_0402","NAD_1983_HARN_StatePlane_California_III_FIPS_0403","NAD_1983_HARN_StatePlane_California_IV_FIPS_0404","NAD_1983_HARN_StatePlane_California_V_FIPS_0405","NAD_1983_HARN_StatePlane_California_VI_FIPS_0406","NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501","NAD_1983_HARN_StatePlane_Colorado_Central_FIPS_0502","NAD_1983_HARN_StatePlane_Colorado_South_FIPS_0503","NAD_1983_HARN_StatePlane_Connecticut_FIPS_0600","NAD_1983_HARN_StatePlane_Delaware_FIPS_0700","NAD_1983_HARN_StatePlane_Florida_East_FIPS_0901","NAD_1983_HARN_StatePlane_Florida_West_FIPS_0902","NAD_1983_HARN_StatePlane_Florida_North_FIPS_0903","NAD_1983_HARN_StatePlane_Georgia_East_FIPS_1001","NAD_1983_HARN_StatePlane_Georgia_West_FIPS_1002","NAD_1983_HARN_StatePlane_Hawaii_1_FIPS_5101","NAD_1983_HARN_StatePlane_Hawaii_2_FIPS_5102","NAD_1983_HARN_StatePlane_Hawaii_3_FIPS_5103","NAD_1983_HARN_StatePlane_Hawaii_4_FIPS_5104","NAD_1983_HARN_StatePlane_Hawaii_5_FIPS_5105","NAD_1983_HARN_StatePlane_Idaho_East_FIPS_1101","NAD_1983_HARN_StatePlane_Idaho_Central_FIPS_1102","NAD_1983_HARN_StatePlane_Idaho_West_FIPS_1103","NAD_1983_HARN_StatePlane_Illinois_East_FIPS_1201","NAD_1983_HARN_StatePlane_Illinois_West_FIPS_1202","NAD_1983_HARN_StatePlane_Indiana_East_FIPS_1301","NAD_1983_HARN_StatePlane_Indiana_West_FIPS_1302","NAD_1983_HARN_StatePlane_Iowa_North_FIPS_1401","NAD_1983_HARN_StatePlane_Iowa_South_FIPS_1402","NAD_1983_HARN_StatePlane_Kansas_North_FIPS_1501","NAD_1983_HARN_StatePlane_Kansas_South_FIPS_1502","NAD_1983_HARN_StatePlane_Kentucky_North_FIPS_1601","NAD_1983_HARN_StatePlane_Kentucky_South_FIPS_1602","NAD_1983_HARN_StatePlane_Louisiana_North_FIPS_1701","NAD_1983_HARN_StatePlane_Louisiana_South_FIPS_1702","NAD_1983_HARN_StatePlane_Maine_East_FIPS_1801","NAD_1983_HARN_StatePlane_Maine_West_FIPS_1802","NAD_1983_HARN_StatePlane_Maryland_FIPS_1900","NAD_1983_HARN_StatePlane_Massachusetts_Mainland_FIPS_2001","NAD_1983_HARN_StatePlane_Massachusetts_Island_FIPS_2002","NAD_1983_HARN_StatePlane_Michigan_North_FIPS_2111","NAD_1983_HARN_StatePlane_Michigan_Central_FIPS_2112","NAD_1983_HARN_StatePlane_Michigan_South_FIPS_2113","NAD_1983_HARN_StatePlane_Minnesota_North_FIPS_2201","NAD_1983_HARN_StatePlane_Minnesota_Central_FIPS_2202","NAD_1983_HARN_StatePlane_Minnesota_South_FIPS_2203","NAD_1983_HARN_StatePlane_Mississippi_East_FIPS_2301","NAD_1983_HARN_StatePlane_Mississippi_West_FIPS_2302","NAD_1983_HARN_StatePlane_Missouri_East_FIPS_2401","NAD_1983_HARN_StatePlane_Missouri_Central_FIPS_2402","NAD_1983_HARN_StatePlane_Missouri_West_FIPS_2403","NAD_1983_HARN_StatePlane_Montana_FIPS_2500","NAD_1983_HARN_StatePlane_Nebraska_FIPS_2600","NAD_1983_HARN_StatePlane_Nevada_East_FIPS_2701","NAD_1983_HARN_StatePlane_Nevada_Central_FIPS_2702","NAD_1983_HARN_StatePlane_Nevada_West_FIPS_2703","NAD_1983_HARN_StatePlane_New_Hampshire_FIPS_2800","NAD_1983_HARN_StatePlane_New_Jersey_FIPS_2900","NAD_1983_HARN_StatePlane_New_Mexico_East_FIPS_3001","NAD_1983_HARN_StatePlane_New_Mexico_Central_FIPS_3002","NAD_1983_HARN_StatePlane_New_Mexico_West_FIPS_3003","NAD_1983_HARN_StatePlane_New_York_East_FIPS_3101","NAD_1983_HARN_StatePlane_New_York_Central_FIPS_3102","NAD_1983_HARN_StatePlane_New_York_West_FIPS_3103","NAD_1983_HARN_StatePlane_New_York_Long_Island_FIPS_3104","NAD_1983_HARN_StatePlane_North_Dakota_North_FIPS_3301","NAD_1983_HARN_StatePlane_North_Dakota_South_FIPS_3302","NAD_1983_HARN_StatePlane_Ohio_North_FIPS_3401","NAD_1983_HARN_StatePlane_Ohio_South_FIPS_3402","NAD_1983_HARN_StatePlane_Oklahoma_North_FIPS_3501","NAD_1983_HARN_StatePlane_Oklahoma_South_FIPS_3502","NAD_1983_HARN_StatePlane_Oregon_North_FIPS_3601","NAD_1983_HARN_StatePlane_Oregon_South_FIPS_3602","NAD_1983_HARN_StatePlane_Rhode_Island_FIPS_3800","NAD_1983_HARN_StatePlane_South_Dakota_North_FIPS_4001","NAD_1983_HARN_StatePlane_South_Dakota_South_FIPS_4002","NAD_1983_HARN_StatePlane_Tennessee_FIPS_4100","NAD_1983_HARN_StatePlane_Texas_North_FIPS_4201","NAD_1983_HARN_StatePlane_Texas_North_Central_FIPS_4202","NAD_1983_HARN_StatePlane_Texas_Central_FIPS_4203","NAD_1983_HARN_StatePlane_Texas_South_Central_FIPS_4204","NAD_1983_HARN_StatePlane_Texas_South_FIPS_4205","NAD_1983_HARN_StatePlane_Utah_North_FIPS_4301","NAD_1983_HARN_StatePlane_Utah_Central_FIPS_4302","NAD_1983_HARN_StatePlane_Utah_South_FIPS_4303","NAD_1983_HARN_StatePlane_Vermont_FIPS_4400","NAD_1983_HARN_StatePlane_Virginia_North_FIPS_4501","NAD_1983_HARN_StatePlane_Virginia_South_FIPS_4502","NAD_1983_HARN_StatePlane_Washington_North_FIPS_4601","NAD_1983_HARN_StatePlane_Washington_South_FIPS_4602","NAD_1983_HARN_StatePlane_West_Virginia_North_FIPS_4701","NAD_1983_HARN_StatePlane_West_Virginia_South_FIPS_4702","NAD_1983_HARN_StatePlane_Wisconsin_North_FIPS_4801","NAD_1983_HARN_StatePlane_Wisconsin_Central_FIPS_4802","NAD_1983_HARN_StatePlane_Wisconsin_South_FIPS_4803","NAD_1983_HARN_StatePlane_Wyoming_East_FIPS_4901","NAD_1983_HARN_StatePlane_Wyoming_East_Central_FIPS_4902","NAD_1983_HARN_StatePlane_Wyoming_West_Central_FIPS_4903","NAD_1983_HARN_StatePlane_Wyoming_West_FIPS_4904","NAD_1983_HARN_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200","NAD_1983_HARN_StatePlane_Arizona_East_FIPS_0201_Feet_Intl","NAD_1983_HARN_StatePlane_Arizona_Central_FIPS_0202_Feet_Intl","NAD_1983_HARN_StatePlane_Arizona_West_FIPS_0203_Feet_Intl","NAD_1983_HARN_StatePlane_California_I_FIPS_0401_Feet","NAD_1983_HARN_StatePlane_California_II_FIPS_0402_Feet","NAD_1983_HARN_StatePlane_California_III_FIPS_0403_Feet","NAD_1983_HARN_StatePlane_California_IV_FIPS_0404_Feet","NAD_1983_HARN_StatePlane_California_V_FIPS_0405_Feet","NAD_1983_HARN_StatePlane_California_VI_FIPS_0406_Feet","NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501_Feet","NAD_1983_HARN_StatePlane_Colorado_Central_FIPS_0502_Feet","NAD_1983_HARN_StatePlane_Colorado_South_FIPS_0503_Feet","NAD_1983_HARN_StatePlane_Connecticut_FIPS_0600_Feet","NAD_1983_HARN_StatePlane_Delaware_FIPS_0700_Feet","NAD_1983_HARN_StatePlane_Florida_East_FIPS_0901_Feet","NAD_1983_HARN_StatePlane_Florida_West_FIPS_0902_Feet","NAD_1983_HARN_StatePlane_Florida_North_FIPS_0903_Feet","NAD_1983_HARN_StatePlane_Georgia_East_FIPS_1001_Feet","NAD_1983_HARN_StatePlane_Georgia_West_FIPS_1002_Feet","NAD_1983_HARN_StatePlane_Idaho_East_FIPS_1101_Feet","NAD_1983_HARN_StatePlane_Idaho_Central_FIPS_1102_Feet","NAD_1983_HARN_StatePlane_Idaho_West_FIPS_1103_Feet","NAD_1983_HARN_StatePlane_Kentucky_North_FIPS_1601_Feet","NAD_1983_HARN_StatePlane_Kentucky_South_FIPS_1602_Feet","NAD_1983_HARN_StatePlane_Maryland_FIPS_1900_Feet","NAD_1983_HARN_StatePlane_Massachusetts_Mainland_FIPS_2001_Feet","NAD_1983_HARN_StatePlane_Massachusetts_Island_FIPS_2002_Feet","NAD_1983_HARN_StatePlane_Michigan_North_FIPS_2111_Feet_Intl","NAD_1983_HARN_StatePlane_Michigan_Central_FIPS_2112_Feet_Intl","NAD_1983_HARN_StatePlane_Michigan_South_FIPS_2113_Feet_Intl","NAD_1983_HARN_StatePlane_Mississippi_East_FIPS_2301_Feet","NAD_1983_HARN_StatePlane_Mississippi_West_FIPS_2302_Feet","NAD_1983_HARN_StatePlane_Montana_FIPS_2500_Feet_Intl","NAD_1983_HARN_StatePlane_New_Mexico_East_FIPS_3001_Feet","NAD_1983_HARN_StatePlane_New_Mexico_Central_FIPS_3002_Feet","NAD_1983_HARN_StatePlane_New_Mexico_West_FIPS_3003_Feet","NAD_1983_HARN_StatePlane_New_York_East_FIPS_3101_Feet","NAD_1983_HARN_StatePlane_New_York_Central_FIPS_3102_Feet","NAD_1983_HARN_StatePlane_New_York_West_FIPS_3103_Feet","NAD_1983_HARN_StatePlane_New_York_Long_Island_FIPS_3104_Feet","NAD_1983_HARN_StatePlane_North_Dakota_North_FIPS_3301_Feet_Intl","NAD_1983_HARN_StatePlane_North_Dakota_South_FIPS_3302_Feet_Intl","NAD_1983_HARN_StatePlane_Oklahoma_North_FIPS_3501_Feet","NAD_1983_HARN_StatePlane_Oklahoma_South_FIPS_3502_Feet","NAD_1983_HARN_StatePlane_Oregon_North_FIPS_3601_Feet_Intl","NAD_1983_HARN_StatePlane_Oregon_South_FIPS_3602_Feet_Intl","NAD_1983_HARN_StatePlane_Tennessee_FIPS_4100_Feet","NAD_1983_HARN_StatePlane_Texas_North_FIPS_4201_Feet","NAD_1983_HARN_StatePlane_Texas_North_Central_FIPS_4202_Feet","NAD_1983_HARN_StatePlane_Texas_Central_FIPS_4203_Feet","NAD_1983_HARN_StatePlane_Texas_South_Central_FIPS_4204_Feet","NAD_1983_HARN_StatePlane_Texas_South_FIPS_4205_Feet","NAD_1983_HARN_StatePlane_Utah_North_FIPS_4301_Feet_Intl","NAD_1983_HARN_StatePlane_Utah_Central_FIPS_4302_Feet_Intl","NAD_1983_HARN_StatePlane_Utah_South_FIPS_4303_Feet_Intl","NAD_1983_HARN_StatePlane_Virginia_North_FIPS_4501_Feet","NAD_1983_HARN_StatePlane_Virginia_South_FIPS_4502_Feet","NAD_1983_HARN_StatePlane_Washington_North_FIPS_4601_Feet","NAD_1983_HARN_StatePlane_Washington_South_FIPS_4602_Feet","NAD_1983_HARN_StatePlane_Wisconsin_North_FIPS_4801_Feet","NAD_1983_HARN_StatePlane_Wisconsin_Central_FIPS_4802_Feet","NAD_1983_HARN_StatePlane_Wisconsin_South_FIPS_4803_Feet","Beduaram_TM_13_NE","QND_1995_Qatar_National_Grid","Gunung_Segara_UTM_Zone_50S","Gunung_Segara_Jakarta_NEIEZ","Pulkovo_1942_CS63_Zone_A1","Pulkovo_1942_CS63_Zone_A2","Pulkovo_1942_CS63_Zone_A3","Pulkovo_1942_CS63_Zone_A4","Pulkovo_1942_CS63_Zone_K2","Pulkovo_1942_CS63_Zone_K3","Pulkovo_1942_CS63_Zone_K4","Porto_Santo_1936_UTM_Zone_28N","Selvagem_Grande_1938_UTM_Zone_28N","NAD_1983_CSRS_MTM_2_SCoPQ","NAD_1983_CSRS_MTM_3","NAD_1983_CSRS_MTM_4","NAD_1983_CSRS_MTM_5","NAD_1983_CSRS_MTM_6","NAD_1983_CSRS_MTM_7","NAD_1983_CSRS_MTM_8","NAD_1983_CSRS_MTM_9","NAD_1983_CSRS_MTM_10","NAD_1983_CSRS_New_Brunswick_Stereographic","NAD_1983_CSRS_Prince_Edward_Island","NAD_1983_CSRS_UTM_Zone_11N","NAD_1983_CSRS_UTM_Zone_12N","NAD_1983_CSRS_UTM_Zone_13N","NAD_1983_CSRS_UTM_Zone_17N","NAD_1983_CSRS_UTM_Zone_18N","NAD_1983_CSRS_UTM_Zone_19N","NAD_1983_CSRS_UTM_Zone_20N","NAD_1983_CSRS_UTM_Zone_21N","NAD_1927_Alaska_Albers_Feet","NAD_1983_StatePlane_Indiana_East_FIPS_1301_Feet","NAD_1983_StatePlane_Indiana_West_FIPS_1302_Feet","NAD_1983_HARN_StatePlane_Indiana_East_FIPS_1301_Feet","NAD_1983_HARN_StatePlane_Indiana_West_FIPS_1302_Feet","Fort_Marigot_UTM_20N","Sainte_Anne_UTM_20N","CSG_1967_UTM_22N","RGFG_1995_UTM_22N","Fort_Desaix_UTM_20N","RGR_1992_UTM_40S","Tahiti_1952_UTM_6S","Tahaa_1954_UTM_5S","IGN72_Nuku_Hiva_UTM_7S","Kerguelen_Island_1949_UTM_42S","Combani_1950_UTM_38S","IGN56_Lifou_UTM_58S","IGN72_Grande_Terre_UTM_58S","RGNC_1991_Lambert_New_Caledonia","Petrels_1972_Terre_Adelie_Polar_Stereographic","Perroud_1950_Terre_Adelie_Polar_Stereographic","Saint_Pierre_et_Miquelon_1950_UTM_21N","MOP78_UTM_1S","NAD_1983_Oregon_Statewide_Lambert","NAD_1983_Oregon_Statewide_Lambert_Feet_Intl","NAD_1983_HARN_Oregon_Statewide_Lambert","NAD_1983_HARN_Oregon_Statewide_Lambert_Feet_Intl","IGN53_Mare_UTM_58S","ST84_Ile_des_Pins_UTM_58S","ST71_Belep_UTM_58S","NEA74_Noumea_UTM_58S","Grand_Comoros_UTM_38S","Gunung_Segara_NEIEZ","Batavia_NEIEZ","Makassar_NEIEZ","Monte_Mario_Italy_1","Monte_Mario_Italy_2","NAD_1983_BC_Environment_Albers","SWEREF99_TM","SWEREF99_12_00","SWEREF99_13_30","SWEREF99_15_00","SWEREF99_16_30","SWEREF99_18_00","SWEREF99_14_15","SWEREF99_15_45","SWEREF99_17_15","SWEREF99_18_45","SWEREF99_20_15","SWEREF99_21_45","SWEREF99_23_15","RT90_75_gon_V","RT90_5_gon_V","RT90_25_gon_V","RT90_0_gon","RT90_25_gon_O","RT90_5_gon_O","RT38_75_gon_V","RT38_5_gon_V","RT38_25_gon_V","RT38_0_gon","RT38_25_gon_O","RT38_5_gon_O","WGS_1984_Antarctic_Polar_Stereographic","WGS_1984_Australian_Antarctic_Polar_Stereographic","WGS_1984_Australian_Antarctic_Lambert","ETRS_1989_LCC","ETRS_1989_LAEA","Moznet_UTM_Zone_36S","Moznet_UTM_Zone_37S","ETRS_1989_ETRS-TM26","ETRS_1989_ETRS-TM27","ETRS_1989_ETRS-TM28","ETRS_1989_ETRS-TM29","ETRS_1989_ETRS-TM30","ETRS_1989_ETRS-TM31","ETRS_1989_ETRS-TM32","ETRS_1989_ETRS-TM33","ETRS_1989_ETRS-TM34","ETRS_1989_ETRS-TM35","ETRS_1989_ETRS-TM36","ETRS_1989_ETRS-TM37","ETRS_1989_ETRS-TM38","ETRS_1989_ETRS-TM39","Hjorsey_1955_UTM_Zone_26N","Hjorsey_1955_UTM_Zone_27N","Hjorsey_1955_UTM_Zone_28N","ISN_1993_Lambert_1993","Helle_1954_Jan_Mayen_Grid","LKS_1992_Latvia_TM","IGN72_Grande_Terre_UTM_58S","Porto_Santo_1995_UTM_Zone_28N","Azores_Oriental_1995_UTM_Zone_26N","Azores_Central_1995_UTM_Zone_26N","IGM_1995_UTM_Zone_32N","IGM_1995_UTM_Zone_33N","ED_1950_Jordan_TM","EUREF_FIN_TM35FIN","DHDN_Soldner_Berlin","NAD_1927_Wisconsin_TM","NAD_1983_Wisconsin_TM","NAD_1983_HARN_Wisconsin_TM","NAD_1983_Maine_2000_East_Zone","NAD_1983_Maine_2000_Central_Zone","NAD_1983_Maine_2000_West_Zone","NAD_1983_HARN_Maine_2000_East_Zone","NAD_1983_HARN_Maine_2000_Central_Zone","NAD_1983_HARN_Maine_2000_West_Zone","NAD_1983_Michigan_GeoRef_Meters","NAD_1983_HARN_Michigan_GeoRef_Meters","NAD_1927_Texas_Statewide_Mapping_System","NAD_1983_Texas_Statewide_Mapping_System","NAD_1983_Texas_Centric_Mapping_System_Lambert","NAD_1983_Texas_Centric_Mapping_System_Albers","NAD_1983_HARN_Texas_Centric_Mapping_System_Lambert","NAD_1983_HARN_Texas_Centric_Mapping_System_Albers","NAD_1983_Florida_GDL_Albers","NAD_1983_HARN_Florida_GDL_Albers","NAD_1983_StatePlane_Kentucky_FIPS_1600","NAD_1983_StatePlane_Kentucky_FIPS_1600_Feet","NAD_1983_HARN_StatePlane_Kentucky_FIPS_1600","NAD_1983_HARN_StatePlane_Kentucky_FIPS_1600_Feet","Tokyo_UTM_Zone_51N","Tokyo_UTM_Zone_52N","Tokyo_UTM_Zone_53N","Tokyo_UTM_Zone_54N","Tokyo_UTM_Zone_55N","JGD_2000_UTM_Zone_51N","JGD_2000_UTM_Zone_52N","JGD_2000_UTM_Zone_53N","JGD_2000_UTM_Zone_54N","JGD_2000_UTM_Zone_55N","Samoa_1962_Samoa_Lambert","Gulshan_303_Bangladesh_TM","GDA_1994_South_Australia_Lambert","ETRS_1989_Guernsey_Grid","ETRS_1989_Jersey_Transverse_Mercator","AGD_1966_VICGRID","GDA_1994_VICGRID94","GDA_1994_Geoscience_Australia_Lambert","GDA_1994_BCSG02","MAGNA_Colombia_Oeste_Oeste","MAGNA_Colombia_Oeste","MAGNA_Colombia_Bogota","MAGNA_Colombia_Este","MAGNA_Colombia_Este_Este","Douala_1948_AEF_West","Pulkovo_1942_Adj_1958_Poland_Zone_I","PRS_1992_Philippines_Zone_I","PRS_1992_Philippines_Zone_II","PRS_1992_Philippines_Zone_III","PRS_1992_Philippines_Zone_IV","PRS_1992_Philippines_Zone_V","ETRS_1989_ETRS-GK19FIN","ETRS_1989_ETRS-GK20FIN","ETRS_1989_ETRS-GK21FIN","ETRS_1989_ETRS-GK22FIN","ETRS_1989_ETRS-GK23FIN","ETRS_1989_ETRS-GK24FIN","ETRS_1989_ETRS-GK25FIN","ETRS_1989_ETRS-GK26FIN","ETRS_1989_ETRS-GK27FIN","ETRS_1989_ETRS-GK28FIN","ETRS_1989_ETRS-GK29FIN","ETRS_1989_ETRS-GK30FIN","ETRS_1989_ETRS-GK31FIN","Fiji_1956_UTM_Zone_60S","Fiji_1956_UTM_Zone_1S","Pulkovo_1942_3_Degree_GK_Zone_6","Pulkovo_1942_3_Degree_GK_CM_18E","Indian_1960_UTM_Zone_48N","Indian_1960_UTM_Zone_49N","Pulkovo_1995_3_Degree_GK_Zone_6","Pulkovo_1995_3_Degree_GK_CM_18E","NAD_1983_CSRS_BC_Environment_Albers","NAD_1983_CSRS_UTM_Zone_7N","NAD_1983_CSRS_UTM_Zone_8N","NAD_1983_CSRS_UTM_Zone_9N","NAD_1983_CSRS_UTM_Zone_10N","NAD_1983_CSRS_UTM_Zone_14N","NAD_1983_CSRS_UTM_Zone_15N","NAD_1983_CSRS_UTM_Zone_16N","NAD_1983_Ontario_MNR_Lambert","NAD_1983_CSRS_Ontario_MNR_Lambert","RGNC_1991_93_Lambert_New_Caledonia","ST87_Ouvea_UTM_58S","NEA74_Noumea_Lambert","NEA74_Noumea_Lambert_2","Kertau_RSO_RSO_Malaya_ChSears1922trunc","Kertau_RSO_RSO_Malaya","RGNC_1991-93_UTM_Zone_57S","RGNC_1991-93_UTM_Zone_58S","RGNC_1991-93_UTM_Zone_59S","IGN53_Mare_UTM_Zone_59S","NAD_1983_Great_Lakes_Basin_Albers","NAD_1983_Great_Lakes_and_St_Lawrence_Albers","Indian_1960_TM_106NE","LGD2006_Libya_TM","Greenland_1996_UTM_Zone_18N","Greenland_1996_UTM_Zone_19N","Greenland_1996_UTM_Zone_20N","Greenland_1996_UTM_Zone_21N","Greenland_1996_UTM_Zone_22N","Greenland_1996_UTM_Zone_23N","Greenland_1996_UTM_Zone_24N","Greenland_1996_UTM_Zone_25N","Greenland_1996_UTM_Zone_26N","Greenland_1996_UTM_Zone_27N","Greenland_1996_UTM_Zone_28N","Greenland_1996_UTM_Zone_29N","LGD2006_Libya_TM_Zone_5","LGD2006_Libya_TM_Zone_6","LGD2006_Libya_TM_Zone_7","LGD2006_Libya_TM_Zone_8","LGD2006_Libya_TM_Zone_9","LGD2006_Libya_TM_Zone_10","LGD2006_Libya_TM_Zone_11","LGD2006_Libya_TM_Zone_12","LGD2006_Libya_TM_Zone_13","LGD2006_UTM_Zone_32N","FD_1958_Iraq","LGD2006_UTM_Zone_33N","LGD2006_UTM_Zone_34N","LGD2006_UTM_Zone_35N","WGS_1984_USGS_Transantarctic_Mountains","Guam_1963_Yap_Islands","RGPF_UTM_Zone_5S","RGPF_UTM_Zone_6S","RGPF_UTM_Zone_7S","RGPF_UTM_Zone_8S","Estonian_Coordinate_System_of_1992","Estonia_1997_Estonia_National_Grid","IGN63_Hiva_Oa_UTM_Zone_7S","Fatu_Iva_1972_UTM_Zone_7S","Tahiti_1979_UTM_Zone_6S","Moorea_1987_UTM_Zone_6S","Maupiti_1983_UTM_Zone_5S","Nakhl-e_Ghanem_UTM_Zone_39N","GDA_1994_NSW_Lambert","NAD_1927_California_Teale_Albers","NAD_1983_California_Teale_Albers","NAD_1983_HARN_California_Teale_Albers","CSG_1967_UTM_Zone_21N","RGFG_1995_UTM_Zone_21N","Katanga_1955_Katanga_TM","Kasai_1953_Congo_TM_Zone_22","Kasai_1953_Congo_TM_Zone_24","IGC_1962_Congo_TM_Zone_12","IGC_1962_Congo_TM_Zone_14","IGC_1962_Congo_TM_Zone_16","IGC_1962_Congo_TM_Zone_18","IGC_1962_Congo_TM_Zone_20","IGC_1962_Congo_TM_Zone_22","IGC_1962_Congo_TM_Zone_24","IGC_1962_Congo_TM_Zone_26","IGC_1962_Congo_TM_Zone_28","IGC_1962_Congo_TM_Zone_30","Pulkovo_1942_Adj_1958_GUGiK-80","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_5","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_6","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_7","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_8","Pulkovo_1942_Adj_1958_GK_Zone_3","Pulkovo_1942_Adj_1958_GK_Zone_4","Pulkovo_1942_Adj_1958_GK_Zone_5","Kerguelen_Island_1949_UTM_42S","Le_Pouce_1934_Mauritius_Grid","NAD_1983_Alaska_Albers","IGCB_1955_Congo_TM_Zone_12","IGCB_1955_Congo_TM_Zone_14","IGCB_1955_Congo_TM_Zone_16","IGCB_1955_UTM_Zone_33S","Mauritania_1999_UTM_Zone_28N","Mauritania_1999_UTM_Zone_29N","Mauritania_1999_UTM_Zone_30N","LKS_1994_Lithuania_TM","NAD_1983_Statistics_Canada_Lambert","NAD_1983_CSRS_Statistics_Canada_Lambert","Pulkovo_1942_CS63_Zone_C0","Pulkovo_1942_CS63_Zone_C1","Pulkovo_1942_CS63_Zone_C2","Mhast_Onshore_UTM_Zone_32S","Mhast_Offshore_UTM_Zone_32S","Egypt_Gulf_of_Suez_S-650_TL_Red_Belt","Grand_Cayman_1959_UTM_Zone_17N","Little_Cayman_1961_UTM_Zone_17N","NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200","NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200_Feet","NAD_1983_HARN_StatePlane_South_Carolina_FIPS_3900","NAD_1983_HARN_StatePlane_South_Carolina_FIPS_3900_Feet_Intl","NAD_1983_HARN_StatePlane_Pennsylvania_North_FIPS_3701","NAD_1983_HARN_StatePlane_Pennsylvania_North_FIPS_3701_Feet","NAD_1983_HARN_StatePlane_Pennsylvania_South_FIPS_3702","NAD_1983_HARN_StatePlane_Pennsylvania_South_FIPS_3702_Feet","Hong_Kong_1963_Grid_System","IGN_Astro_1960_UTM_Zone_28N","IGN_Astro_1960_UTM_Zone_29N","IGN_Astro_1960_UTM_Zone_30N","NAD_1927_UTM_Zone_59N","NAD_1927_UTM_Zone_60N","NAD_1983_UTM_Zone_59N","NAD_1983_UTM_Zone_60N","FD_1954_UTM_Zone_29N","GDM_2000_MRSO_Peninsular_Malaysia","GDM_2000_BRSO_East_Malaysia","GDM_2000_State_Cassini_Johor","GDM_2000_State_Cassini_Negeri_Sembilan_and_Melaka","GDM_2000_State_Cassini_Pahang","GDM_2000_State_Cassini_Selangor","GDM_2000_State_Cassini_Terengganu","GDM_2000_State_Cassini_Pulau_Pinang_and_Seberang_Perai","GDM_2000_State_Cassini_Perlis","GDM_2000_State_Cassini_Perak","GDM_2000_State_Cassini_Kelantan","KKJ_Finland_Zone_0","KKJ_Finland_Zone_5","Pulkovo_1942_Caspian_Sea_Mercator","Pulkovo_1942_3_Degree_GK_Zone_60","Pulkovo_1995_3_Degree_GK_Zone_60","Karbala_1979_Polservice_UTM_Zone_37N","Karbala_1979_Polservice_UTM_Zone_38N","Karbala_1979_Polservice_UTM_Zone_39N","Nahrwan_1934_Iraq_Zone","WGS_1984_World_Mercator","PD/83_GK_Zone_3","PD/83_GK_Zone_4","RD/83_GK_Zone_4","RD/83_GK_Zone_5","NAD_1983_10TM_AEP_Forest","NAD_1983_10TM_AEP_Resource","NAD_1983_CSRS_10TM_AEP_Forest","NAD_1983_CSRS_10TM_AEP_Resource","NAD_1983_HARN_StatePlane_North_Carolina_FIPS_3200_Feet","VN_2000_UTM_Zone_48N","VN_2000_UTM_Zone_49N","Hong_Kong_1963_Grid_System","NSIDC_EASE_Grid_North","NSIDC_EASE_Grid_South","NSIDC_EASE_Grid_Global","NSIDC_Sea_Ice_Polar_Stereographic_North","NSIDC_Sea_Ice_Polar_Stereographic_South","WGS_1984_NSIDC_Sea_Ice_Polar_Stereographic_North","SVY21_Singapore_TM","WGS_1972_BE_South_China_Sea_Lambert","ETRS_1989_Austria_Lambert","NAD_1983_StatePlane_Iowa_North_FIPS_1401_Feet","NAD_1983_StatePlane_Iowa_South_FIPS_1402_Feet","NAD_1983_StatePlane_Kansas_North_FIPS_1501_Feet","NAD_1983_StatePlane_Kansas_South_FIPS_1502_Feet","NAD_1983_StatePlane_Nevada_East_FIPS_2701_Feet","NAD_1983_StatePlane_Nevada_Central_FIPS_2702_Feet","NAD_1983_StatePlane_Nevada_West_FIPS_2703_Feet","NAD_1983_StatePlane_New_Jersey_FIPS_2900_Feet","NAD_1983_HARN_StatePlane_Iowa_North_FIPS_1401_Feet","NAD_1983_HARN_StatePlane_Iowa_South_FIPS_1402_Feet","NAD_1983_HARN_StatePlane_Kansas_North_FIPS_1501_Feet","NAD_1983_HARN_StatePlane_Kansas_South_FIPS_1502_Feet","NAD_1983_HARN_StatePlane_Nevada_East_FIPS_2701_Feet","NAD_1983_HARN_StatePlane_Nevada_Central_FIPS_2702_Feet","NAD_1983_HARN_StatePlane_Nevada_West_FIPS_2703_Feet","NAD_1983_HARN_StatePlane_New_Jersey_FIPS_2900_Feet","NAD_1983_StatePlane_Arkansas_North_FIPS_0301_Feet","NAD_1983_StatePlane_Arkansas_South_FIPS_0302_Feet","NAD_1983_StatePlane_Illinois_East_FIPS_1201_Feet","NAD_1983_StatePlane_Illinois_West_FIPS_1202_Feet","NAD_1983_StatePlane_New_Hampshire_FIPS_2800_Feet","NAD_1983_StatePlane_Rhode_Island_FIPS_3800_Feet","PDO_1993_UTM_Zone_39N","PDO_1993_UTM_Zone_40N","NAD_1983_HARN_StatePlane_Arkansas_North_FIPS_0301_Feet","NAD_1983_HARN_StatePlane_Arkansas_South_FIPS_0302_Feet","NAD_1983_HARN_StatePlane_Illinois_East_FIPS_1201_Feet","NAD_1983_HARN_StatePlane_Illinois_West_FIPS_1202_Feet","NAD_1983_HARN_StatePlane_New_Hampshire_FIPS_2800_Feet","NAD_1983_HARN_StatePlane_Rhode_Island_FIPS_3800_Feet","Belge_Lambert_2005","JAD_2001_Jamaica_Grid","JAD_2001_UTM_Zone_17N","JAD_2001_UTM_Zone_18N","NAD_1983_StatePlane_Louisiana_North_FIPS_1701_Feet","NAD_1983_StatePlane_Louisiana_South_FIPS_1702_Feet","NAD_1983_StatePlane_Louisiana_Offshore_FIPS_1703_Feet","NAD_1983_StatePlane_South_Dakota_North_FIPS_4001_Feet","NAD_1983_StatePlane_South_Dakota_South_FIPS_4002_Feet","NAD_1983_HARN_StatePlane_Louisiana_North_FIPS_1701_Feet","NAD_1983_HARN_StatePlane_Louisiana_South_FIPS_1702_Feet","NAD_1983_HARN_StatePlane_South_Dakota_North_FIPS_4001_Feet","NAD_1983_HARN_StatePlane_South_Dakota_South_FIPS_4002_Feet","Fiji_1986_Fiji_Map_Grid","Dabola_1981_UTM_Zone_28N","Dabola_1981_UTM_Zone_29N","NAD_1983_Maine_2000_Central_Zone","NAD_1983_HARN_Maine_2000_Central_Zone","NAD_1983_NSRS2007_StatePlane_Alabama_East_FIPS_0101","NAD_1983_NSRS2007_StatePlane_Alabama_West_FIPS_0102","NAD_1983_NSRS2007_Alaska_Albers","NAD_1983_NSRS2007_StatePlane_Alaska_1_FIPS_5001","NAD_1983_NSRS2007_StatePlane_Alaska_2_FIPS_5002","NAD_1983_NSRS2007_StatePlane_Alaska_3_FIPS_5003","NAD_1983_NSRS2007_StatePlane_Alaska_4_FIPS_5004","NAD_1983_NSRS2007_StatePlane_Alaska_5_FIPS_5005","NAD_1983_NSRS2007_StatePlane_Alaska_6_FIPS_5006","NAD_1983_NSRS2007_StatePlane_Alaska_7_FIPS_5007","NAD_1983_NSRS2007_StatePlane_Alaska_8_FIPS_5008","NAD_1983_NSRS2007_StatePlane_Alaska_9_FIPS_5009","NAD_1983_NSRS2007_StatePlane_Alaska_10_FIPS_5010","NAD_1983_NSRS2007_StatePlane_Arizona_Central_FIPS_0202","NAD_1983_NSRS2007_StatePlane_Arizona_Central_FIPS_0202_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Arizona_East_FIPS_0201","NAD_1983_NSRS2007_StatePlane_Arizona_East_FIPS_0201_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Arizona_West_FIPS_0203","NAD_1983_NSRS2007_StatePlane_Arizona_West_FIPS_0203_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Arkansas_North_FIPS_0301","NAD_1983_NSRS2007_StatePlane_Arkansas_North_FIPS_0301_Ft_US","NAD_1983_NSRS2007_StatePlane_Arkansas_South_FIPS_0302","NAD_1983_NSRS2007_StatePlane_Arkansas_South_FIPS_0302_Ft_US","NAD_1983_NSRS2007_California_Teale_Albers","NAD_1983_NSRS2007_StatePlane_California_I_FIPS_0401","NAD_1983_NSRS2007_StatePlane_California_I_FIPS_0401_Ft_US","NAD_1983_NSRS2007_StatePlane_California_II_FIPS_0402","NAD_1983_NSRS2007_StatePlane_California_II_FIPS_0402_Ft_US","NAD_1983_NSRS2007_StatePlane_California_III_FIPS_0403","NAD_1983_NSRS2007_StatePlane_California_III_FIPS_0403_Ft_US","NAD_1983_NSRS2007_StatePlane_California_IV_FIPS_0404","NAD_1983_NSRS2007_StatePlane_California_IV_FIPS_0404_Ft_US","NAD_1983_NSRS2007_StatePlane_California_V_FIPS_0405","NAD_1983_NSRS2007_StatePlane_California_V_FIPS_0405_Ft_US","NAD_1983_NSRS2007_StatePlane_California_VI_FIPS_0406","NAD_1983_NSRS2007_StatePlane_California_VI_FIPS_0406_Ft_US","NAD_1983_NSRS2007_StatePlane_Colorado_Central_FIPS_0502","NAD_1983_NSRS2007_StatePlane_Colorado_Central_FIPS_0502_Ft_US","NAD_1983_NSRS2007_StatePlane_Colorado_North_FIPS_0501","NAD_1983_NSRS2007_StatePlane_Colorado_North_FIPS_0501_Ft_US","NAD_1983_NSRS2007_StatePlane_Colorado_South_FIPS_0503","NAD_1983_NSRS2007_StatePlane_Colorado_South_FIPS_0503_Ft_US","NAD_1983_NSRS2007_StatePlane_Connecticut_FIPS_0600","NAD_1983_NSRS2007_StatePlane_Connecticut_FIPS_0600_Ft_US","NAD_1983_NSRS2007_StatePlane_Delaware_FIPS_0700","NAD_1983_NSRS2007_StatePlane_Delaware_FIPS_0700_Ft_US","NAD_1983_NSRS2007_StatePlane_Florida_East_FIPS_0901","NAD_1983_NSRS2007_StatePlane_Florida_East_FIPS_0901_Ft_US","NAD_1983_NSRS2007_Florida_GDL_Albers","NAD_1983_NSRS2007_StatePlane_Florida_North_FIPS_0903","NAD_1983_NSRS2007_StatePlane_Florida_North_FIPS_0903_Ft_US","NAD_1983_NSRS2007_StatePlane_Florida_West_FIPS_0902","NAD_1983_NSRS2007_StatePlane_Florida_West_FIPS_0902_Ft_US","NAD_1983_NSRS2007_StatePlane_Georgia_East_FIPS_1001","NAD_1983_NSRS2007_StatePlane_Georgia_East_FIPS_1001_Ft_US","NAD_1983_NSRS2007_StatePlane_Georgia_West_FIPS_1002","NAD_1983_NSRS2007_StatePlane_Georgia_West_FIPS_1002_Ft_US","NAD_1983_NSRS2007_StatePlane_Idaho_Central_FIPS_1102","NAD_1983_NSRS2007_StatePlane_Idaho_Central_FIPS_1102_Ft_US","NAD_1983_NSRS2007_StatePlane_Idaho_East_FIPS_1101","NAD_1983_NSRS2007_StatePlane_Idaho_East_FIPS_1101_Ft_US","NAD_1983_NSRS2007_StatePlane_Idaho_West_FIPS_1103","NAD_1983_NSRS2007_StatePlane_Idaho_West_FIPS_1103_Ft_US","NAD_1983_NSRS2007_StatePlane_Illinois_East_FIPS_1201","NAD_1983_NSRS2007_StatePlane_Illinois_East_FIPS_1201_Ft_US","NAD_1983_NSRS2007_StatePlane_Illinois_West_FIPS_1202","NAD_1983_NSRS2007_StatePlane_Illinois_West_FIPS_1202_Ft_US","NAD_1983_NSRS2007_StatePlane_Indiana_East_FIPS_1301","NAD_1983_NSRS2007_StatePlane_Indiana_East_FIPS_1301_Ft_US","NAD_1983_NSRS2007_StatePlane_Indiana_West_FIPS_1302","NAD_1983_NSRS2007_StatePlane_Indiana_West_FIPS_1302_Ft_US","NAD_1983_NSRS2007_StatePlane_Iowa_North_FIPS_1401","NAD_1983_NSRS2007_StatePlane_Iowa_North_FIPS_1401_Ft_US","NAD_1983_NSRS2007_StatePlane_Iowa_South_FIPS_1402","NAD_1983_NSRS2007_StatePlane_Iowa_South_FIPS_1402_Ft_US","NAD_1983_NSRS2007_StatePlane_Kansas_North_FIPS_1501","NAD_1983_NSRS2007_StatePlane_Kansas_North_FIPS_1501_Ft_US","NAD_1983_NSRS2007_StatePlane_Kansas_South_FIPS_1502","NAD_1983_NSRS2007_StatePlane_Kansas_South_FIPS_1502_Ft_US","NAD_1983_NSRS2007_StatePlane_Kentucky_North_FIPS_1601","NAD_1983_NSRS2007_StatePlane_Kentucky_North_FIPS_1601_Ft_US","NAD_1983_NSRS2007_StatePlane_Kentucky_FIPS_1600","NAD_1983_NSRS2007_StatePlane_Kentucky_FIPS_1600_Ft_US","NAD_1983_NSRS2007_StatePlane_Kentucky_South_FIPS_1602","NAD_1983_NSRS2007_StatePlane_Kentucky_South_FIPS_1602_Ft_US","NAD_1983_NSRS2007_StatePlane_Louisiana_North_FIPS_1701","NAD_1983_NSRS2007_StatePlane_Louisiana_North_FIPS_1701_Ft_US","NAD_1983_NSRS2007_StatePlane_Louisiana_South_FIPS_1702","NAD_1983_NSRS2007_StatePlane_Louisiana_South_FIPS_1702_Ft_US","NAD_1983_NSRS2007_Maine_2000_Central_Zone","NAD_1983_NSRS2007_Maine_2000_East_Zone","NAD_1983_NSRS2007_Maine_2000_West_Zone","NAD_1983_NSRS2007_StatePlane_Maine_East_FIPS_1801","NAD_1983_NSRS2007_StatePlane_Maine_West_FIPS_1802","NAD_1983_NSRS2007_StatePlane_Maryland_FIPS_1900","NAD_1983_StatePlane_Utah_North_FIPS_4301_Feet","Old_Hawaiian_StatePlane_Hawaii_1_FIPS_5101","Old_Hawaiian_StatePlane_Hawaii_2_FIPS_5102","Old_Hawaiian_StatePlane_Hawaii_3_FIPS_5103","Old_Hawaiian_StatePlane_Hawaii_4_FIPS_5104","Old_Hawaiian_StatePlane_Hawaii_5_FIPS_5105","NAD_1983_StatePlane_Utah_Central_FIPS_4302_Feet","NAD_1983_StatePlane_Utah_South_FIPS_4303_Feet","NAD_1983_HARN_StatePlane_Utah_North_FIPS_4301_Feet","NAD_1983_HARN_StatePlane_Utah_Central_FIPS_4302_Feet","NAD_1983_HARN_StatePlane_Utah_South_FIPS_4303_Feet","WGS_1984_North_Pole_LAEA_Bering_Sea","WGS_1984_North_Pole_LAEA_Alaska","WGS_1984_North_Pole_LAEA_Canada","WGS_1984_North_Pole_LAEA_Atlantic","WGS_1984_North_Pole_LAEA_Europe","WGS_1984_North_Pole_LAEA_Russia","GDA_1994_Australia_Albers","NAD_1983_Yukon_Albers","NAD_1983_CSRS_Yukon_Albers","NAD_1983_Northwest_Territories_Lambert","NAD_1983_CSRS_Northwest_Territories_Lambert","NAD_1983_NSRS2007_StatePlane_Maryland_FIPS_1900_Ft_US","NAD_1983_NSRS2007_StatePlane_Massachusetts_Island_FIPS_2002","NAD_1983_NSRS2007_StatePlane_Massachusetts_Isl_FIPS_2002_FtUS","NAD_1983_NSRS2007_StatePlane_Massachusetts_Mainland_FIPS_2001","NAD_1983_NSRS2007_StatePlane_Massachusetts_Mnld_FIPS_2001_FtUS","NAD_1983_NSRS2007_StatePlane_Michigan_Central_FIPS_2112","NAD_1983_NSRS2007_StatePlane_Michigan_Central_FIPS_2112_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Michigan_North_FIPS_2111","NAD_1983_NSRS2007_StatePlane_Michigan_North_FIPS_2111_Ft_Intl","NAD_1983_NSRS2007_Michigan_GeoRef_Meters","NAD_1983_NSRS2007_StatePlane_Michigan_South_FIPS_2113","NAD_1983_NSRS2007_StatePlane_Michigan_South_FIPS_2113_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Minnesota_Central_FIPS_2202","NAD_1983_NSRS2007_StatePlane_Minnesota_North_FIPS_2201","NAD_1983_NSRS2007_StatePlane_Minnesota_South_FIPS_2203","NAD_1983_NSRS2007_StatePlane_Mississippi_East_FIPS_2301","NAD_1983_NSRS2007_StatePlane_Mississippi_East_FIPS_2301_Ft_US","NAD_1983_NSRS2007_StatePlane_Mississippi_West_FIPS_2302","NAD_1983_NSRS2007_StatePlane_Mississippi_West_FIPS_2302_Ft_US","NAD_1983_NSRS2007_StatePlane_Missouri_Central_FIPS_2402","NAD_1983_NSRS2007_StatePlane_Missouri_East_FIPS_2401","NAD_1983_NSRS2007_StatePlane_Missouri_West_FIPS_2403","NAD_1983_NSRS2007_StatePlane_Montana_FIPS_2500","NAD_1983_NSRS2007_StatePlane_Montana_FIPS_2500_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Nebraska_FIPS_2600","NAD_1983_NSRS2007_StatePlane_Nevada_Central_FIPS_2702","NAD_1983_NSRS2007_StatePlane_Nevada_Central_FIPS_2702_Ft_US","NAD_1983_NSRS2007_StatePlane_Nevada_East_FIPS_2701","NAD_1983_NSRS2007_StatePlane_Nevada_East_FIPS_2701_Ft_US","NAD_1983_NSRS2007_StatePlane_Nevada_West_FIPS_2703","NAD_1983_NSRS2007_StatePlane_Nevada_West_FIPS_2703_Ft_US","NAD_1983_NSRS2007_StatePlane_New_Hampshire_FIPS_2800","NAD_1983_NSRS2007_StatePlane_New_Hampshire_FIPS_2800_Ft_US","NAD_1983_NSRS2007_StatePlane_New_Jersey_FIPS_2900","NAD_1983_NSRS2007_StatePlane_New_Jersey_FIPS_2900_Ft_US","NAD_1983_NSRS2007_StatePlane_New_Mexico_Central_FIPS_3002","NAD_1983_NSRS2007_StatePlane_New_Mexico_Central_FIPS_3002_Ft_US","NAD_1983_NSRS2007_StatePlane_New_Mexico_East_FIPS_3001","NAD_1983_NSRS2007_StatePlane_New_Mexico_East_FIPS_3001_Ft_US","NAD_1983_NSRS2007_StatePlane_New_Mexico_West_FIPS_3003","NAD_1983_NSRS2007_StatePlane_New_Mexico_West_FIPS_3003_Ft_US","NAD_1983_NSRS2007_StatePlane_New_York_Central_FIPS_3102","NAD_1983_NSRS2007_StatePlane_New_York_Central_FIPS_3102_Ft_US","NAD_1983_NSRS2007_StatePlane_New_York_East_FIPS_3101","NAD_1983_NSRS2007_StatePlane_New_York_East_FIPS_3101_Ft_US","NAD_1983_NSRS2007_StatePlane_New_York_Long_Island_FIPS_3104","NAD_1983_NSRS2007_StatePlane_New_York_Long_Isl_FIPS_3104_Ft_US","NAD_1983_NSRS2007_StatePlane_New_York_West_FIPS_3103","NAD_1983_NSRS2007_StatePlane_New_York_West_FIPS_3103_Ft_US","NAD_1983_NSRS2007_StatePlane_North_Carolina_FIPS_3200","NAD_1983_NSRS2007_StatePlane_North_Carolina_FIPS_3200_Ft_US","NAD_1983_NSRS2007_StatePlane_North_Dakota_North_FIPS_3301","NAD_1983_NSRS2007_StatePlane_North_Dakota_North_FIPS_3301_FtI","NAD_1983_NSRS2007_StatePlane_North_Dakota_South_FIPS_3302","NAD_1983_NSRS2007_StatePlane_North_Dakota_South_FIPS_3302_FtI","NAD_1983_NSRS2007_StatePlane_Ohio_North_FIPS_3401","NAD_1983_NSRS2007_StatePlane_Ohio_South_FIPS_3402","NAD_1983_NSRS2007_StatePlane_Oklahoma_North_FIPS_3501","NAD_1983_NSRS2007_StatePlane_Oklahoma_North_FIPS_3501_Ft_US","NAD_1983_NSRS2007_StatePlane_Oklahoma_South_FIPS_3502","NAD_1983_NSRS2007_StatePlane_Oklahoma_South_FIPS_3502_Ft_US","NAD_1983_NSRS2007_Oregon_Statewide_Lambert","NAD_1983_NSRS2007_Oregon_Statewide_Lambert_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Oregon_North_FIPS_3601","NAD_1983_NSRS2007_StatePlane_Oregon_North_FIPS_3601_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Oregon_South_FIPS_3602","NAD_1983_NSRS2007_StatePlane_Oregon_South_FIPS_3602_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Pennsylvania_North_FIPS_3701","NAD_1983_NSRS2007_StatePlane_Pennsylvania_North_FIPS_3701_Ft_US","NAD_1983_NSRS2007_StatePlane_Pennsylvania_South_FIPS_3702","NAD_1983_NSRS2007_StatePlane_Pennsylvania_South_FIPS_3702_Ft_US","NAD_1983_NSRS2007_StatePlane_Rhode_Island_FIPS_3800","NAD_1983_NSRS2007_StatePlane_Rhode_Island_FIPS_3800_Ft_US","NAD_1983_NSRS2007_StatePlane_South_Carolina_FIPS_3900","NAD_1983_NSRS2007_StatePlane_South_Carolina_FIPS_3900_Ft_Intl","NAD_1983_NSRS2007_StatePlane_South_Dakota_North_FIPS_4001","NAD_1983_NSRS2007_StatePlane_South_Dakota_North_FIPS_4001_Ft_US","NAD_1983_NSRS2007_StatePlane_South_Dakota_South_FIPS_4002","NAD_1983_NSRS2007_StatePlane_South_Dakota_South_FIPS_4002_Ft_US","NAD_1983_NSRS2007_StatePlane_Tennessee_FIPS_4100","NAD_1983_NSRS2007_StatePlane_Tennessee_FIPS_4100_Ft_US","NAD_1983_NSRS2007_StatePlane_Texas_Central_FIPS_4203","NAD_1983_NSRS2007_StatePlane_Texas_Central_FIPS_4203_Ft_US","NAD_1983_NSRS2007_Texas_Centric_Mapping_System_Albers","NAD_1983_NSRS2007_Texas_Centric_Mapping_System_Lambert","NAD_1983_NSRS2007_StatePlane_Texas_North_FIPS_4201","NAD_1983_NSRS2007_StatePlane_Texas_North_FIPS_4201_Ft_US","NAD_1983_NSRS2007_StatePlane_Texas_North_Central_FIPS_4202","NAD_1983_NSRS2007_StatePlane_Texas_North_Central_FIPS_4202_FtUS","NAD_1983_NSRS2007_StatePlane_Texas_South_FIPS_4205","NAD_1983_NSRS2007_StatePlane_Texas_South_FIPS_4205_Ft_US","NAD_1983_NSRS2007_StatePlane_Texas_South_Central_FIPS_4204","NAD_1983_NSRS2007_StatePlane_Texas_South_Central_FIPS_4204_FtUS","NAD_1983_NSRS2007_StatePlane_Utah_Central_FIPS_4302","NAD_1983_NSRS2007_StatePlane_Utah_Central_FIPS_4302_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Utah_Central_FIPS_4302_Ft_US","NAD_1983_NSRS2007_StatePlane_Utah_North_FIPS_4301","NAD_1983_NSRS2007_StatePlane_Utah_North_FIPS_4301_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Utah_North_FIPS_4301_Ft_US","NAD_1983_NSRS2007_StatePlane_Utah_South_FIPS_4303","NAD_1983_NSRS2007_StatePlane_Utah_South_FIPS_4303_Ft_Intl","NAD_1983_NSRS2007_StatePlane_Utah_South_FIPS_4303_Ft_US","NAD_1983_NSRS2007_StatePlane_Vermont_FIPS_4400","NAD_1983_NSRS2007_StatePlane_Virginia_North_FIPS_4501","NAD_1983_NSRS2007_StatePlane_Virginia_North_FIPS_4501_Ft_US","NAD_1983_NSRS2007_StatePlane_Virginia_South_FIPS_4502","NAD_1983_NSRS2007_StatePlane_Virginia_South_FIPS_4502_Ft_US","NAD_1983_NSRS2007_StatePlane_Washington_North_FIPS_4601","NAD_1983_NSRS2007_StatePlane_Washington_North_FIPS_4601_Ft_US","NAD_1983_NSRS2007_StatePlane_Washington_South_FIPS_4602","NAD_1983_NSRS2007_StatePlane_Washington_South_FIPS_4602_Ft_US","NAD_1983_NSRS2007_StatePlane_West_Virginia_North_FIPS_4701","NAD_1983_NSRS2007_StatePlane_West_Virginia_South_FIPS_4702","NAD_1983_NSRS2007_StatePlane_Wisconsin_Central_FIPS_4802","NAD_1983_NSRS2007_StatePlane_Wisconsin_Central_FIPS_4802_Ft_US","NAD_1983_NSRS2007_StatePlane_Wisconsin_North_FIPS_4801","NAD_1983_NSRS2007_StatePlane_Wisconsin_North_FIPS_4801_Ft_US","NAD_1983_NSRS2007_StatePlane_Wisconsin_South_FIPS_4803","NAD_1983_NSRS2007_StatePlane_Wisconsin_South_FIPS_4803_Ft_US","NAD_1983_NSRS2007_Wisconsin_TM","NAD_1983_NSRS2007_StatePlane_Wyoming_East_FIPS_4901","NAD_1983_NSRS2007_StatePlane_Wyoming_East_Central_FIPS_4902","NAD_1983_NSRS2007_StatePlane_Wyoming_West_Central_FIPS_4903","NAD_1983_NSRS2007_StatePlane_Wyoming_West_FIPS_4904","NAD_1983_NSRS2007_UTM_Zone_59N","NAD_1983_NSRS2007_UTM_Zone_60N","NAD_1983_NSRS2007_UTM_Zone_1N","NAD_1983_NSRS2007_UTM_Zone_2N","NAD_1983_NSRS2007_UTM_Zone_3N","NAD_1983_NSRS2007_UTM_Zone_4N","NAD_1983_NSRS2007_UTM_Zone_5N","NAD_1983_NSRS2007_UTM_Zone_6N","NAD_1983_NSRS2007_UTM_Zone_7N","NAD_1983_NSRS2007_UTM_Zone_8N","NAD_1983_NSRS2007_UTM_Zone_9N","NAD_1983_NSRS2007_UTM_Zone_10N","NAD_1983_NSRS2007_UTM_Zone_11N","NAD_1983_NSRS2007_UTM_Zone_12N","NAD_1983_NSRS2007_UTM_Zone_13N","NAD_1983_NSRS2007_UTM_Zone_14N","NAD_1983_NSRS2007_UTM_Zone_15N","NAD_1983_NSRS2007_UTM_Zone_16N","NAD_1983_NSRS2007_UTM_Zone_17N","NAD_1983_NSRS2007_UTM_Zone_18N","NAD_1983_NSRS2007_UTM_Zone_19N","Reunion_1947_TM_Reunion","NAD_1983_NSRS2007_StatePlane_Ohio_North_FIPS_3401_Ft_US","NAD_1983_NSRS2007_StatePlane_Ohio_South_FIPS_3402_Ft_US","NAD_1983_NSRS2007_StatePlane_Wyoming_East_FIPS_4901_Ft_US","NAD_1983_NSRS2007_StatePlane_Wyoming_E_Central_FIPS_4902_Ft_US","NAD_1983_NSRS2007_StatePlane_Wyoming_W_Central_FIPS_4903_Ft_US","NAD_1983_NSRS2007_StatePlane_Wyoming_West_FIPS_4904_Ft_US","NAD_1983_StatePlane_Ohio_North_FIPS_3401_Feet","NAD_1983_StatePlane_Ohio_South_FIPS_3402_Feet","NAD_1983_StatePlane_Wyoming_East_FIPS_4901_Feet","NAD_1983_StatePlane_Wyoming_East_Central_FIPS_4902_Feet","NAD_1983_StatePlane_Wyoming_West_Central_FIPS_4903_Feet","NAD_1983_StatePlane_Wyoming_West_FIPS_4904_Feet","NAD_1983_HARN_UTM_Zone_10N","NAD_1983_HARN_UTM_Zone_11N","NAD_1983_HARN_UTM_Zone_12N","NAD_1983_HARN_UTM_Zone_13N","NAD_1983_HARN_UTM_Zone_14N","NAD_1983_HARN_UTM_Zone_15N","NAD_1983_HARN_UTM_Zone_16N","NAD_1983_HARN_UTM_Zone_17N","NAD_1983_HARN_UTM_Zone_18N","NAD_1983_HARN_UTM_Zone_19N","NAD_1983_HARN_UTM_Zone_4N","NAD_1983_HARN_UTM_Zone_5N","NAD_1983_HARN_StatePlane_Ohio_North_FIPS_3401_Feet","NAD_1983_HARN_StatePlane_Ohio_South_FIPS_3402_Feet","NAD_1983_HARN_StatePlane_Wyoming_East_FIPS_4901_Feet","NAD_1983_HARN_StatePlane_Wyoming_East_Central_FIPS_4902_Feet","NAD_1983_HARN_StatePlane_Wyoming_West_Central_FIPS_4903_Feet","NAD_1983_HARN_StatePlane_Wyoming_West_FIPS_4904_Feet","NAD_1983_StatePlane_Hawaii_3_FIPS_5103_Feet","NAD_1983_HARN_StatePlane_Hawaii_3_FIPS_5103_Feet","NAD_1983_CSRS_UTM_Zone_22N","WGS_1984_South_Georgia_Lambert","ETRS_1989_Portugal_TM06","NZGD_2000_Chatham_Island_Circuit","HTRS96_Croatia_TM","HTRS96_Croatia_LCC","HTRS96_UTM_Zone_33N","HTRS96_UTM_Zone_34N","Bermuda_1957_UTM_Zone_20N","Bermuda_2000_National_Grid","NAD_1927_3TM_111","NAD_1927_3TM_114","NAD_1927_3TM_117","NAD_1983_3TM_111","NAD_1983_3TM_114","NAD_1983_3TM_117","NAD_1983_CSRS_3TM_111","NAD_1983_CSRS_3TM_114","NAD_1983_CSRS_3TM_117","Pitcairn_2006_Pitcairn_TM_2006","Pitcairn_1967_UTM_Zone_9S","WGS_1984_Web_Mercator","NZGD_2000_Auckland_Islands_TM_2000","NZGD_2000_Campbell_Island_TM_2000","NZGD_2000_Antipodes_Islands_TM_2000","NZGD_2000_Raoul_Island_TM_2000","NZGD_2000_Chatham_Islands_TM_2000","Slovenia_1996_Slovene_National_Grid","NAD_1927_MTQ_Lambert","NAD_1983_MTQ_Lambert","NAD_1983_CSRS_MTQ_Lambert","NAD_1927_3TM_120","NAD_1983_3TM_120","NAD_1983_CSRS_3TM_120","Belge_Lambert_2008","NAD_1983_Mississippi_TM","NAD_1983_HARN_Mississippi_TM","NAD_1983_NSRS2007_Mississippi_TM","TWD_1997_TM_Penghu","TWD_1997_TM_Taiwan","TWD_1967_TM_Penghu","TWD_1967_TM_Taiwan","Hu_Tzu_Shan_UTM_Zone_51N","WGS_1984_PDC_Mercator","Pulkovo_1942_Adj_1958_GK_Zone_2","Pulkovo_1942_Adj_1983_GK_Zone_2","Pulkovo_1942_Adj_1983_GK_Zone_3","Pulkovo_1942_Adj_1983_GK_Zone_4","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_3","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_4","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_9","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_10","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_6","Pulkovo_1942_Adj_58_Stereo_70","SWEREF99_RT90_7.5_gon_V_emulation","SWEREF99_RT90_5_gon_V_emulation","SWEREF99_RT90_2.5_gon_V_emulation","SWEREF99_RT90_0_gon_emulation","SWEREF99_RT90_2.5_gon_O_emulation","SWEREF99_RT90_5_gon_O_emulation","NZGD_2000_NZ_Continental_Shelf_2000","RSRGD2000_DGLC2000","SWEREF99_County_ST74","WGS_1984_Web_Mercator_Auxiliary_Sphere","ETRS_1989_GK19FIN","ETRS_1989_GK20FIN","ETRS_1989_GK21FIN","ETRS_1989_GK22FIN","ETRS_1989_GK23FIN","ETRS_1989_GK24FIN","ETRS_1989_GK25FIN","ETRS_1989_GK26FIN","ETRS_1989_GK27FIN","ETRS_1989_GK28FIN","ETRS_1989_GK29FIN","ETRS_1989_GK30FIN","ETRS_1989_GK31FIN","IGRS_UTM_Zone_37N","IGRS_UTM_Zone_38N","IGRS_UTM_Zone_39N","ED_1950_Iraq_National_Grid","MGI_1901_Balkans_5","MGI_1901_Balkans_6","MGI_1901_Balkans_7","MGI_1901_Balkans_8","MGI_1901_Slovenia_Grid","MGI_1901_Slovene_National_Grid","Puerto_Rico_UTM_Zone_20N","RGF_1993_CC42","RGF_1993_CC43","RGF_1993_CC44","RGF_1993_CC45","RGF_1993_CC46","RGF_1993_CC47","RGF_1993_CC48","RGF_1993_CC49","RGF_1993_CC50","NAD_1983_Virginia_Lambert","NAD_1983_HARN_Virginia_Lambert","NAD_1983_NSRS2007_Virginia_Lambert","WGS_1984_EASE_Grid_North","WGS_1984_EASE_Grid_South","WGS_1984_EASE_Grid_Global","WGS_1984_NSIDC_Sea_Ice_Polar_Stereographic_South","NAD_1983_Canada_Atlas_Lambert","NAD_1983_CSRS_Canada_Atlas_Lambert","Katanga_1955_Katanga_Gauss_Zone_A","Katanga_1955_Katanga_Gauss_Zone_B","Katanga_1955_Katanga_Gauss_Zone_C","Katanga_1955_Katanga_Gauss_Zone_D","Puerto_Rico_StatePlane_Puerto_Rico_FIPS_5201","Puerto_Rico_StatePlane_Virgin_Islands_St_Croix_FIPS_5202","WGS_1984_Mercator_41","WGS_1984_Arctic_Polar_Stereographic","WGS_1984_IBCAO_Polar_Stereographic","WGS_1984_Dubai_Local_TM","MOLDREF99_Moldova_TM","WGS_1984_TMzn35N","WGS_1984_TMzn36N","RGRDC_2005_Congo_TM_Zone_12","RGRDC_2005_Congo_TM_Zone_14","RGRDC_2005_Congo_TM_Zone_16","RGRDC_2005_Congo_TM_Zone_18","RGRDC_2005_Congo_TM_Zone_20","RGRDC_2005_Congo_TM_Zone_22","RGRDC_2005_Congo_TM_Zone_24","RGRDC_2005_Congo_TM_Zone_26","RGRDC_2005_Congo_TM_Zone_28","RGRDC_2005_UTM_Zone_33S","RGRDC_2005_UTM_Zone_34S","RGRDC_2005_UTM_Zone_35S","Chua_UTM_Zone_23S","REGCAN95_UTM_Zone_27N","REGCAN95_UTM_Zone_28N","ETRS_1989_DKTM1","ETRS_1989_DKTM2","ETRS_1989_DKTM3","ETRS_1989_DKTM4","NAD_1983_BLM_Zone_59N","Kertau_1968_JOhor_Grid","Kertau_1968_Sembilan_and_Melaka_Grid","Kertau_1968_Pahang_Grid","Kertau_1968_Selangor_Grid","Kertau_1968_Terengganu_Grid","Kertau_1968_Pinang_Grid","Kertau_1968_Kedah_and_Perlis_Grid","Kertau_1968_Perak_Revised_Grid","Kertau_1968_Kelantan_Grid","NAD_1927_BLM_Zone_59N","NAD_1927_BLM_Zone_60N","NAD_1927_BLM_Zone_1N","NAD_1927_BLM_Zone_2N","NAD_1927_BLM_Zone_3N","NAD_1927_BLM_Zone_4N","NAD_1927_BLM_Zone_5N","NAD_1927_BLM_Zone_6N","NAD_1927_BLM_Zone_7N","NAD_1927_BLM_Zone_8N","NAD_1927_BLM_Zone_9N","NAD_1927_BLM_Zone_10N","NAD_1927_BLM_Zone_11N","NAD_1927_BLM_Zone_12N","NAD_1927_BLM_Zone_13N","NAD_1983_HARN_Guam_Map_Grid","Katanga_1955_Katanga_Lambert","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_7","NAD_1927_BLM_Zone_18N","NAD_1927_BLM_Zone_19N","NAD_1983_BLM_Zone_60N","NAD_1983_BLM_Zone_1N","NAD_1983_BLM_Zone_2N","NAD_1983_BLM_Zone_3N","NAD_1983_BLM_Zone_4N","NAD_1983_BLM_Zone_5N","NAD_1983_BLM_Zone_6N","NAD_1983_BLM_Zone_7N","NAD_1983_BLM_Zone_8N","NAD_1983_BLM_Zone_9N","NAD_1983_BLM_Zone_10N","NAD_1983_BLM_Zone_11N","NAD_1983_BLM_Zone_12N","NAD_1983_BLM_Zone_13N","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_8","NAD_1983_NSRS2007_StatePlane_Puerto_Rico_Virgin_Isls_FIPS_5200","NAD_1983_BLM_Zone_18N","NAD_1983_BLM_Zone_19N","NAD_1927_StatePlane_Pennsylvania_South_FIPS_3702","NAD_1927_StatePlane_New_York_Long_Island_FIPS_3104","NAD_1983_StatePlane_South_Dakota_North_FIPS_4001_Feet","WGS_1984_Australian_Centre_for_Remote_Sensing_Lambert","RGSPM_2006_UTM_Zone_21N","RGM_2004_UTM_Zone_38S","Cadastre_1997_UTM_Zone_38S","Mexican_Datum_1993_UTM_Zone_11N","Mexican_Datum_1993_UTM_Zone_12N","Mexican_Datum_1993_UTM_Zone_13N","Mexican_Datum_1993_UTM_Zone_14N","Mexican_Datum_1993_UTM_Zone_15N","Mexican_Datum_1993_UTM_Zone_16N","CGCS2000_GK_Zone_13","CGCS2000_GK_Zone_14","CGCS2000_GK_Zone_15","CGCS2000_GK_Zone_16","CGCS2000_GK_Zone_17","CGCS2000_GK_Zone_18","CGCS2000_GK_Zone_19","CGCS2000_GK_Zone_20","CGCS2000_GK_Zone_21","CGCS2000_GK_Zone_22","CGCS2000_GK_Zone_23","CGCS2000_GK_CM_75E","CGCS2000_GK_CM_81E","CGCS2000_GK_CM_87E","CGCS2000_GK_CM_93E","CGCS2000_GK_CM_99E","CGCS2000_GK_CM_105E","CGCS2000_GK_CM_111E","CGCS2000_GK_CM_117E","CGCS2000_GK_CM_123E","CGCS2000_GK_CM_129E","CGCS2000_GK_CM_135E","CGCS2000_3_Degree_GK_Zone_25","CGCS2000_3_Degree_GK_Zone_26","CGCS2000_3_Degree_GK_Zone_27","CGCS2000_3_Degree_GK_Zone_28","CGCS2000_3_Degree_GK_Zone_29","CGCS2000_3_Degree_GK_Zone_30","CGCS2000_3_Degree_GK_Zone_31","CGCS2000_3_Degree_GK_Zone_32","CGCS2000_3_Degree_GK_Zone_33","CGCS2000_3_Degree_GK_Zone_34","CGCS2000_3_Degree_GK_Zone_35","CGCS2000_3_Degree_GK_Zone_36","CGCS2000_3_Degree_GK_Zone_37","CGCS2000_3_Degree_GK_Zone_38","CGCS2000_3_Degree_GK_Zone_39","CGCS2000_3_Degree_GK_Zone_40","CGCS2000_3_Degree_GK_Zone_41","CGCS2000_3_Degree_GK_Zone_42","CGCS2000_3_Degree_GK_Zone_43","CGCS2000_3_Degree_GK_Zone_44","CGCS2000_3_Degree_GK_Zone_45","CGCS2000_3_Degree_GK_CM_75E","CGCS2000_3_Degree_GK_CM_78E","CGCS2000_3_Degree_GK_CM_81E","CGCS2000_3_Degree_GK_CM_84E","CGCS2000_3_Degree_GK_CM_87E","CGCS2000_3_Degree_GK_CM_90E","CGCS2000_3_Degree_GK_CM_93E","CGCS2000_3_Degree_GK_CM_96E","CGCS2000_3_Degree_GK_CM_99E","CGCS2000_3_Degree_GK_CM_102E","CGCS2000_3_Degree_GK_CM_105E","CGCS2000_3_Degree_GK_CM_108E","CGCS2000_3_Degree_GK_CM_111E","CGCS2000_3_Degree_GK_CM_114E","CGCS2000_3_Degree_GK_CM_117E","CGCS2000_3_Degree_GK_CM_120E","CGCS2000_3_Degree_GK_CM_123E","CGCS2000_3_Degree_GK_CM_126E","CGCS2000_3_Degree_GK_CM_129E","CGCS2000_3_Degree_GK_CM_132E","CGCS2000_3_Degree_GK_CM_135E","RRAF_1991_UTM_20N","New_Beijing_Gauss_Kruger_Zone_13","New_Beijing_Gauss_Kruger_Zone_14","New_Beijing_Gauss_Kruger_Zone_15","New_Beijing_Gauss_Kruger_Zone_16","New_Beijing_Gauss_Kruger_Zone_17","New_Beijing_Gauss_Kruger_Zone_18","New_Beijing_Gauss_Kruger_Zone_19","New_Beijing_Gauss_Kruger_Zone_20","New_Beijing_Gauss_Kruger_Zone_21","New_Beijing_Gauss_Kruger_Zone_22","New_Beijing_Gauss_Kruger_Zone_23","New_Beijing_Gauss_Kruger_CM_75E","New_Beijing_Gauss_Kruger_CM_81E","New_Beijing_Gauss_Kruger_CM_87E","New_Beijing_Gauss_Kruger_CM_93E","New_Beijing_Gauss_Kruger_CM_99E","New_Beijing_Gauss_Kruger_CM_105E","New_Beijing_Gauss_Kruger_CM_111E","New_Beijing_Gauss_Kruger_CM_117E","New_Beijing_Gauss_Kruger_CM_123E","New_Beijing_Gauss_Kruger_CM_129E","New_Beijing_Gauss_Kruger_CM_135E","ETRS_1989_UTM_Zone_N32","New_Beijing_3_Degree_Gauss_Kruger_Zone_25","New_Beijing_3_Degree_Gauss_Kruger_Zone_26","New_Beijing_3_Degree_Gauss_Kruger_Zone_27","New_Beijing_3_Degree_Gauss_Kruger_Zone_28","New_Beijing_3_Degree_Gauss_Kruger_Zone_29","New_Beijing_3_Degree_Gauss_Kruger_Zone_30","New_Beijing_3_Degree_Gauss_Kruger_Zone_31","New_Beijing_3_Degree_Gauss_Kruger_Zone_32","New_Beijing_3_Degree_Gauss_Kruger_Zone_33","New_Beijing_3_Degree_Gauss_Kruger_Zone_34","New_Beijing_3_Degree_Gauss_Kruger_Zone_35","New_Beijing_3_Degree_Gauss_Kruger_Zone_36","New_Beijing_3_Degree_Gauss_Kruger_Zone_37","New_Beijing_3_Degree_Gauss_Kruger_Zone_38","New_Beijing_3_Degree_Gauss_Kruger_Zone_39","New_Beijing_3_Degree_Gauss_Kruger_Zone_40","New_Beijing_3_Degree_Gauss_Kruger_Zone_41","New_Beijing_3_Degree_Gauss_Kruger_Zone_42","New_Beijing_3_Degree_Gauss_Kruger_Zone_43","New_Beijing_3_Degree_Gauss_Kruger_Zone_44","New_Beijing_3_Degree_Gauss_Kruger_Zone_45","New_Beijing_3_Degree_Gauss_Kruger_CM_75E","New_Beijing_3_Degree_Gauss_Kruger_CM_78E","New_Beijing_3_Degree_Gauss_Kruger_CM_81E","New_Beijing_3_Degree_Gauss_Kruger_CM_84E","New_Beijing_3_Degree_Gauss_Kruger_CM_87E","New_Beijing_3_Degree_Gauss_Kruger_CM_90E","New_Beijing_3_Degree_Gauss_Kruger_CM_93E","New_Beijing_3_Degree_Gauss_Kruger_CM_96E","New_Beijing_3_Degree_Gauss_Kruger_CM_99E","New_Beijing_3_Degree_Gauss_Kruger_CM_102E","New_Beijing_3_Degree_Gauss_Kruger_CM_105E","New_Beijing_3_Degree_Gauss_Kruger_CM_108E","New_Beijing_3_Degree_Gauss_Kruger_CM_111E","New_Beijing_3_Degree_Gauss_Kruger_CM_114E","New_Beijing_3_Degree_Gauss_Kruger_CM_117E","New_Beijing_3_Degree_Gauss_Kruger_CM_120E","New_Beijing_3_Degree_Gauss_Kruger_CM_123E","New_Beijing_3_Degree_Gauss_Kruger_CM_126E","New_Beijing_3_Degree_Gauss_Kruger_CM_129E","New_Beijing_3_Degree_Gauss_Kruger_CM_135E","WGS_1984_Cape_Verde_Grid","ETRS_1989_LCC_Germany_N-E","PTRA08_UTM_Zone_25N","PTRA08_UTM_Zone_26N","PTRA08_UTM_Zone_28N","Lisbon_Portuguese_Grid_New","ETRS_1989_TM35FIN_NE","NAD_1927_Contiguous_USA_Albers","NAD_1983_Contiguous_USA_Albers","NAD_1983_HARN_Contiguous_USA_Albers","NAD_1983_NSRS2007_Contiguous_USA_Albers","ETRS_1989_NTM_Zone_5","ETRS_1989_NTM_Zone_6","ETRS_1989_NTM_Zone_7","ETRS_1989_NTM_Zone_8","ETRS_1989_NTM_Zone_9","ETRS_1989_NTM_Zone_10","ETRS_1989_NTM_Zone_11","ETRS_1989_NTM_Zone_12","ETRS_1989_NTM_Zone_13","ETRS_1989_NTM_Zone_14","ETRS_1989_NTM_Zone_15","ETRS_1989_NTM_Zone_16","ETRS_1989_NTM_Zone_17","ETRS_1989_NTM_Zone_18","ETRS_1989_NTM_Zone_19","ETRS_1989_NTM_Zone_20","ETRS_1989_NTM_Zone_21","ETRS_1989_NTM_Zone_22","ETRS_1989_NTM_Zone_23","ETRS_1989_NTM_Zone_24","ETRS_1989_NTM_Zone_25","ETRS_1989_NTM_Zone_26","ETRS_1989_NTM_Zone_27","ETRS_1989_NTM_Zone_28","ETRS_1989_NTM_Zone_29","ETRS_1989_NTM_Zone_30","Korean_1985_Korea_East_Sea_Belt","Korean_1985_Korea_Central_Belt_Jeju","Korean_1985_Modified_Korea_West_Belt","Korean_1985_Modified_Korea_Central_Belt","Korean_1985_Modified_Korea_Central_Belt_Jeju","Korean_1985_Modified_Korea_East_Belt","Korean_1985_Modified_Korea_East_Sea_Belt","Korean_1985_Korea_Unified_Coordinate_System","Korea_2000_Korea_Unified_Coordinate_System","Korea_2000_Korea_West_Belt","Korea_2000_Korea_Central_Belt","Korea_2000_Korea_Central_Belt_Jeju","Korea_2000_Korea_East_Belt","Korea_2000_Korea_East_Sea_Belt","Korea_2000_Korea_West_Belt_2010","Korea_2000_Korea_Central_Belt_2010","Korea_2000_Korea_East_Belt_2010","Korea_2000_Korea_East_Sea_Belt_2010","S-JTSK_Ferro_Krovak_East_North","WGS_1984_UTM_Gabon_TM","Kandawala_Sri_Lanka_Grid","SLD99_Sri_Lanka_Grid_1999","ETRS_1989_LCC_Germany_E-N","GDBD2009_GEORSO","TUREF_TM27","TUREF_TM30","TUREF_TM33","TUREF_TM36","TUREF_TM39","TUREF_TM42","TUREF_TM45","DRUKREF_03_Bhutan_National_Grid","TUREF_3_Degree_GK_Zone_9","TUREF_3_Degree_GK_Zone_10","TUREF_3_Degree_GK_Zone_11","TUREF_3_Degree_GK_Zone_12","TUREF_3_Degree_GK_Zone_13","TUREF_3_Degree_GK_Zone_14","TUREF_3_Degree_GK_Zone_15","DRUKREF_03_Bumthang_TM","DRUKREF_03_Chhukha_TM","DRUKREF_03_Dagana_TM","DRUKREF_03_Gasa_TM","DRUKREF_03_Ha_TM","DRUKREF_03_Lhuentse_TM","DRUKREF_03_Mongar_TM","DRUKREF_03_Paro_TM","DRUKREF_03_Pemagatshel_TM","DRUKREF_03_Punakha_TM","DRUKREF_03_Samdrup_Jongkhar_TM","DRUKREF_03_Samtse_TM","DRUKREF_03_Sarpang_TM","DRUKREF_03_Thimphu_TM","DRUKREF_03_Trashigang_TM","DRUKREF_03_Trongsa_TM","DRUKREF_03_Tsirang_TM","DRUKREF_03_Wangdue_Phodrang_TM","DRUKREF_03_Yangtse_TM","DRUKREF_03_Zhemgang_TM","ETRS_1989_FAROE_TM","NAD_1983_Teranet_Ontario_Lambert","NAD_1983_CSRS_Teranet_Ontario_Lambert","ISN_2004_Lambert_2004","Gunung_Segara_Jakarta_NEIEZ","Batavia_Jakarta_NEIEZ","Makassar_Jakarta_NEIEZ","Aratu_UTM_Zone_25S","POSGAR_2007_Argentina_Zone_1","POSGAR_2007_Argentina_Zone_2","POSGAR_2007_Argentina_Zone_3","POSGAR_2007_Argentina_Zone_4","POSGAR_2007_Argentina_Zone_5","POSGAR_2007_Argentina_Zone_6","POSGAR_2007_Argentina_Zone_7","MARGEN_UTM_Zone_20S","MARGEN_UTM_Zone_19S","MARGEN_UTM_Zone_21S","SIRGAS-Chile_UTM_Zone_19S","SIRGAS-Chile_UTM_Zone_18S","CRTM05","SIRGAS-ROU98_UTM_Zone_21S","SIRGAS-ROU98_UTM_Zone_22S","Peru96_UTM_Zone_18S","Peru96_UTM_Zone_17S","Peru96_UTM_Zone_19S","SIRGAS_2000_UTM_Zone_26S","Ocotepeque_1935_Costa_Rica_Norte","Ocotepeque_1935_Costa_Rica_Sur","Ocotepeque_1935_Guatemala_Sur","Ocotepeque_1935_El_Salvador_Lambert","Ocotepeque_1935_Nicaragua_Norte","Ocotepeque_1935_Nicaragua_Sur","SAD_1969_UTM_Zone_17N","Panama-Colon_1911_Panama_Lambert","Panama-Colon_1911_Panama_Polyconic","RSRGD2000_MSLC2000","RSRGD2000_BCLC2000","RSRGD2000_PCLC2000","RSRGD2000_RSPS2000","RGAF09_UTM_Zone_20N","S-JTSK_Krovak","S-JTSK_Krovak_East_North","Chatham_Island_1971_Map_Grid","Chatham_Islands_1979_Map_Grid","DHDN_3_Degree_Gauss_Zone_1","WGS_1984_UTM_Gabon_TM_2011","SAD_1969_96_Brazil_Polyconic","SAD_1969_96_UTM_Zone_21S","SAD_1969_96_UTM_Zone_22S","SAD_1969_96_UTM_Zone_23S","SAD_1969_96_UTM_Zone_24S","SAD_1969_96_UTM_Zone_25S","Corrego_Alegre_1961_UTM_Zone_21S","Corrego_Alegre_1961_UTM_Zone_22S","Corrego_Alegre_1961_UTM_Zone_23S","Corrego_Alegre_1961_UTM_Zone_24S","PNG94_PNGMG94_Zone_54","PNG94_PNGMG94_Zone_55","PNG94_PNGMG94_Zone_56","Ocotepeque_1935_Guatemala_Norte","Ukraine_2000_GK_Zone_4","Ukraine_2000_GK_Zone_5","Ukraine_2000_GK_Zone_6","Ukraine_2000_GK_Zone_7","Ukraine_2000_GK_CM_21E","Ukraine_2000_GK_CM_27E","Ukraine_2000_GK_CM_33E","Ukraine_2000_GK_CM_39E","Ukraine_2000_3_Degree_GK_Zone_7","Ukraine_2000_3_Degree_GK_Zone_8","Ukraine_2000_3_Degree_GK_Zone_9","Ukraine_2000_3_Degree_GK_Zone_10","Ukraine_2000_3_Degree_GK_Zone_11","Ukraine_2000_3_Degree_GK_Zone_12","Ukraine_2000_3_Degree_GK_Zone_13","Ukraine_2000_3_Degree_GK_CM_21E","Ukraine_2000_3_Degree_GK_CM_24E","Ukraine_2000_3_Degree_GK_CM_27E","Ukraine_2000_3_Degree_GK_CM_30E","Ukraine_2000_3_Degree_GK_CM_33E","Ukraine_2000_3_Degree_GK_CM_36E","Ukraine_2000_3_Degree_GK_CM_39E","NAD_1927_New_Brunswick_Stereographic","Sibun_Gorge_1922_Colony_Grid","FEH2010_Fehmarnbelt_TM","NAD_1927_StatePlane_Michigan_East_Old_FIPS_2101","NAD_1927_StatePlane_Michigan_Central_Old_FIPS_2102","NAD_1927_StatePlane_Michigan_West_Old_FIPS_2103","ED_1950_TM_6_NE","Moznet_UTM_Zone_38S","Pulkovo_1942_Adj_1958_GK_Zone_2_E-N","PTRA08_LCC_Europe","PTRA08_LAEA_Europe","REGCAN95_LCC_Europe","REGCAN95_LAEA_Europe","TUREF_LAEA_Europe","TUREF_LCC_Europe","ISN_2004_LAEA_Europe","ISN_2004_LCC_Europe","SIRGAS_2000_Brazil_Mercator","ED_1950_Southern_Permian_Basin_Lambert","RGR_1992_UTM_39S","NAD_1983_StatePlane_Vermont_FIPS_4400_Feet","ETRS_1989_UTM_Zone_31N_zE-N","ETRS_1989_UTM_Zone_33N_zE-N","ETRS_1989_UTM_Zone_31N_N-zE","ETRS_1989_UTM_Zone_32N_N-zE","ETRS_1989_UTM_Zone_33N_N-zE","NAD_1983_HARN_StatePlane_Vermont_FIPS_4400_Ft_US","NAD_1983_NSRS2007_StatePlane_Vermont_FIPS_4400_Ft_US","Monte_Mario_TM_Emilia-Romagna","Pulkovo_1942_Adj_1958_GK_Zone_3_E-N","Pulkovo_1942_Adj_1983_GK_Zone_2_E-N","Pulkovo_1942_Adj_1983_GK_Zone_3_E-N","PD/83_3_Degree_GK_Zone_3_E-N","PD/83_3_Degree_GK_Zone_4_E-N","RD/83_3_Degree_GK_Zone_4_E-N","RD/83_3_Degree_GK_Zone_5_E-N","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_3_E-N","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_4_E-N","Pulkovo_1942_Adj_1958_3_Degree_GK_Zone_5_E-N","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_3_E-N","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_4_E-N","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_5_E-N","DHDN_3_Degree_GK_Zone_2_E-N","DHDN_3_Degree_GK_Zone_3_E-N","DHDN_3_Degree_GK_Zone_4_E-N","DHDN_3_Degree_GK_Zone_5_E-N","DHDN_3_Degree_GK_Zone_1_E-N","DB_REF_3-Degree_GK_Zone_2_(E-N)","DB_REF_3-Degree_GK_Zone_3_(E-N)","DB_REF_3-Degree_GK_Zone_4_(E-N)","DB_REF_3-Degree_GK_Zone_5_(E-N)","NZGD_2000_UTM_Zone_1S","AGD_1966_ACT_Standard_Grid","Yemen_NGN_1996_UTM_Zone_37N","Yemen_NGN_1996_UTM_Zone_40N","Peru96_UTM_Zone_17S","WGS_1984_TM_12_SE","RGRDC_2005_Congo_TM_Zone_30","SAD_1969_96_UTM_Zone_22S","SAD_1969_96_UTM_Zone_18S","SAD_1969_96_UTM_Zone_19S","SAD_1969_96_UTM_Zone_20S","Cadastre_1997_UTM_Zone_38S","SIRGAS_2000_Brazil_Polyconic","TGD2005_Tonga_Map_Grid","JAXA_Snow_Depth_Polar_Stereographic_North","WGS_1984_EPSG_Arctic_Regional_zone_A1","WGS_1984_EPSG_Arctic_Regional_zone_A2","WGS_1984_EPSG_Arctic_Regional_zone_A3","WGS_1984_EPSG_Arctic_Regional_zone_A4","WGS_1984_EPSG_Arctic_Regional_zone_A5","WGS_1984_EPSG_Arctic_Regional_zone_B1","WGS_1984_EPSG_Arctic_Regional_zone_B2","WGS_1984_EPSG_Arctic_Regional_zone_B3","WGS_1984_EPSG_Arctic_Regional_zone_B4","WGS_1984_EPSG_Arctic_Regional_zone_B5","WGS_1984_EPSG_Arctic_Regional_zone_C1","WGS_1984_EPSG_Arctic_Regional_zone_C2","WGS_1984_EPSG_Arctic_Regional_zone_C3","WGS_1984_EPSG_Arctic_Regional_zone_C4","WGS_1984_EPSG_Arctic_Regional_zone_C5","WGS_1984_EPSG_Alaska_Polar_Stereographic","WGS_1984_EPSG_Canada_Polar_Stereographic","WGS_1984_EPSG_Greenland_Polar_Stereographic","WGS_1984_EPSG_Norway_Polar_Stereographic","WGS_1984_EPSG_Russia_Polar_Stereographic","GR96_EPSG_Arctic_zone_1-25","GR96_EPSG_Arctic_zone_2-18","GR96_EPSG_Arctic_zone_2-20","GR96_EPSG_Arctic_zone_3-29","GR96_EPSG_Arctic_zone_3-31","GR96_EPSG_Arctic_zone_3-33","GR96_EPSG_Arctic_zone_4-20","GR96_EPSG_Arctic_zone_4-22","GR96_EPSG_Arctic_zone_4-24","GR96_EPSG_Arctic_zone_5-41","GR96_EPSG_Arctic_zone_5-43","GR96_EPSG_Arctic_zone_5-45","GR96_EPSG_Arctic_zone_6-26","GR96_EPSG_Arctic_zone_6-28","GR96_EPSG_Arctic_zone_6-30","GR96_EPSG_Arctic_zone_7-11","GR96_EPSG_Arctic_zone_7-13","GR96_EPSG_Arctic_zone_8-20","GR96_EPSG_Arctic_zone_8-22","ETRS_1989_EPSG_Arctic_zone_2-22","ETRS_1989_EPSG_Arctic_zone_3-11","ETRS_1989_EPSG_Arctic_zone_4-26","ETRS_1989_EPSG_Arctic_zone_4-28","ETRS_1989_EPSG_Arctic_zone_5-11","ETRS_1989_EPSG_Arctic_zone_5-13","WGS_1984_EPSG_Arctic_zone_2-24","WGS_1984_EPSG_Arctic_zone_2-26","WGS_1984_EPSG_Arctic_zone_3-13","WGS_1984_EPSG_Arctic_zone_3-15","WGS_1984_EPSG_Arctic_zone_3-17","WGS_1984_EPSG_Arctic_zone_3-19","WGS_1984_EPSG_Arctic_zone_4-30","WGS_1984_EPSG_Arctic_zone_4-32","WGS_1984_EPSG_Arctic_zone_4-34","WGS_1984_EPSG_Arctic_zone_4-36","WGS_1984_EPSG_Arctic_zone_4-38","WGS_1984_EPSG_Arctic_zone_4-40","WGS_1984_EPSG_Arctic_zone_5-15","WGS_1984_EPSG_Arctic_zone_5-17","WGS_1984_EPSG_Arctic_zone_5-19","WGS_1984_EPSG_Arctic_zone_5-21","WGS_1984_EPSG_Arctic_zone_5-23","WGS_1984_EPSG_Arctic_zone_5-25","WGS_1984_EPSG_Arctic_zone_5-27","NAD_1983_NSRS2007_EPSG_Arctic_zone_5-29","NAD_1983_NSRS2007_EPSG_Arctic_zone_5-31","NAD_1983_NSRS2007_EPSG_Arctic_zone_6-14","NAD_1983_NSRS2007_EPSG_Arctic_zone_6-16","NAD_1983_CSRS_EPSG_Arctic_zone_1-23","NAD_1983_CSRS_EPSG_Arctic_zone_2-14","NAD_1983_CSRS_EPSG_Arctic_zone_2-16","NAD_1983_CSRS_EPSG_Arctic_zone_3-25","NAD_1983_CSRS_EPSG_Arctic_zone_3-27","NAD_1983_CSRS_EPSG_Arctic_zone_3-29","NAD_1983_CSRS_EPSG_Arctic_zone_4-14","NAD_1983_CSRS_EPSG_Arctic_zone_4-16","NAD_1983_CSRS_EPSG_Arctic_zone_4-18","NAD_1983_CSRS_EPSG_Arctic_zone_5-33","NAD_1983_CSRS_EPSG_Arctic_zone_5-35","NAD_1983_CSRS_EPSG_Arctic_zone_5-37","NAD_1983_CSRS_EPSG_Arctic_zone_5-39","NAD_1983_CSRS_EPSG_Arctic_zone_6-18","NAD_1983_CSRS_EPSG_Arctic_zone_6-20","NAD_1983_CSRS_EPSG_Arctic_zone_6-22","NAD_1983_CSRS_EPSG_Arctic_zone_6-24","WGS_1984_EPSG_Arctic_zone_1-27","WGS_1984_EPSG_Arctic_zone_1-29","WGS_1984_EPSG_Arctic_zone_1-31","WGS_1984_EPSG_Arctic_zone_1-21","WGS_1984_EPSG_Arctic_zone_2-28","WGS_1984_EPSG_Arctic_zone_2-10","WGS_1984_EPSG_Arctic_zone_2-12","WGS_1984_EPSG_Arctic_zone_3-21","WGS_1984_EPSG_Arctic_zone_3-23","WGS_1984_EPSG_Arctic_zone_4-12","ETRS_1989_EPSG_Arctic_zone_5-47","Grand_Cayman_National_Grid_1959","Sister_Islands_National_Grid_1961","Cayman_Islands_National_Grid_2011","Macedonian_State_Coordinate_System","SIRGAS_2000_UTM_Zone_23N","SIRGAS_2000_UTM_Zone_24N","MAGNA_Arauca_2007","MAGNA_Armenia_Quindio_2006","MAGNA_Barranquilla_Atlantico_1997","MAGNA_Bogota_DC_2005","MAGNA_Bucaramanga_Santander_2008","MAGNA_Cali_Valle_del_Cauca_2009","MAGNA_Cartagena_Bolivar_2005","MAGNA_Cucuta_Norte_de_Santander_2011","MAGNA_Florencia_Caqueta_2007","MAGNA_Ibague_Tolima_2007","MAGNA_Inirida_Guainia_2008","MAGNA_Leticia_Amazonas_1994","MAGNA_Manizales_Caldas_2011","MAGNA_Medellin_Antioquia_2010","MAGNA_Mitu_Vaupes_2011","MAGNA_Mocoa_Putumayo_2011","MAGNA_Monteria_Cordoba_2006","MAGNA_Neiva_Huila_2006","MAGNA_Pasto_Narino_2008","MAGNA_Pereira_Risaralda_2007","MAGNA_Popayan_Cauca_2006","MAGNA_Puerto_Carreno_Vichada_2011","MAGNA_Quibdo_Choco_2011","MAGNA_Riohacha_La_Guajira_2006","MAGNA_San_Andres_2007","MAGNA_San_Jose_del_Guaviare_2011","MAGNA_Santa_Marta_Magdalena_2007","MAGNA_Sucre_2006","MAGNA_Tunja_Boyaca_1997","MAGNA_Valledupar_Cesar_2011","MAGNA_Villavicencio_Meta_2011","MAGNA_Yopal_Casanare_2006","Macedonia_State_Coordinate_System_zone_7","NAD_1983_2011_UTM_Zone_59N","NAD_1983_2011_UTM_Zone_60N","NAD_1983_2011_UTM_Zone_1N","NAD_1983_2011_UTM_Zone_2N","NAD_1983_2011_UTM_Zone_3N","NAD_1983_2011_UTM_Zone_4N","NAD_1983_2011_UTM_Zone_5N","NAD_1983_2011_UTM_Zone_6N","NAD_1983_2011_UTM_Zone_7N","NAD_1983_2011_UTM_Zone_8N","NAD_1983_2011_UTM_Zone_9N","NAD_1983_2011_UTM_Zone_10N","NAD_1983_2011_UTM_Zone_11N","NAD_1983_2011_UTM_Zone_12N","NAD_1983_2011_UTM_Zone_13N","NAD_1983_2011_UTM_Zone_14N","NAD_1983_2011_UTM_Zone_15N","NAD_1983_2011_UTM_Zone_16N","NAD_1983_2011_UTM_Zone_17N","NAD_1983_2011_UTM_Zone_18N","NAD_1983_2011_UTM_Zone_19N","NAD_1983_2011_Contiguous_USA_Albers","NAD_1983_2011_EPSG_Arctic_zone_5-29","NAD_1983_2011_EPSG_Arctic_zone_5-31","NAD_1983_2011_EPSG_Arctic_zone_6-14","NAD_1983_2011_EPSG_Arctic_zone_6-16","NAD_1983_2011_StatePlane_Alabama_East_FIPS_0101","NAD_1983_2011_StatePlane_Alabama_West_FIPS_0102","Mexico_ITRF92_LCC","Mexico_ITRF2008_UTM_Zone_11N","Mexico_ITRF2008_UTM_Zone_12N","Mexico_ITRF2008_UTM_Zone_13N","Mexico_ITRF2008_UTM_Zone_14N","Mexico_ITRF2008_UTM_Zone_15N","Mexico_ITRF2008_UTM_Zone_16N","Mexico_ITRF2008_LCC","Ukraine_2000_TM_Zone_7","Ukraine_2000_TM_Zone_8","Ukraine_2000_TM_Zone_9","Ukraine_2000_TM_Zone_10","Ukraine_2000_TM_Zone_11","Ukraine_2000_TM_Zone_12","Ukraine_2000_TM_Zone_13","Cayman_Islands_National_Grid_2011","NAD_1983_2011_Alaska_Albers","NAD_1983_2011_StatePlane_Alaska_1_FIPS_5001","NAD_1983_2011_StatePlane_Alaska_2_FIPS_5002","NAD_1983_2011_StatePlane_Alaska_3_FIPS_5003","NAD_1983_2011_StatePlane_Alaska_4_FIPS_5004","NAD_1983_2011_StatePlane_Alaska_5_FIPS_5005","NAD_1983_2011_StatePlane_Alaska_6_FIPS_5006","NAD_1983_2011_StatePlane_Alaska_7_FIPS_5007","NAD_1983_2011_StatePlane_Alaska_8_FIPS_5008","NAD_1983_2011_StatePlane_Alaska_9_FIPS_5009","NAD_1983_2011_StatePlane_Alaska_10_FIPS_5010","NAD_1983_2011_StatePlane_Arizona_Central_FIPS_0202","NAD_1983_2011_StatePlane_Arizona_Central_FIPS_0202_Ft_Intl","NAD_1983_2011_StatePlane_Arizona_East_FIPS_0201","NAD_1983_2011_StatePlane_Arizona_East_FIPS_0201_Ft_Intl","NAD_1983_2011_StatePlane_Arizona_West_FIPS_0203","NAD_1983_2011_StatePlane_Arizona_West_FIPS_0203_Ft_Intl","NAD_1983_2011_StatePlane_Arkansas_North_FIPS_0301","NAD_1983_2011_StatePlane_Arkansas_North_FIPS_0301_Ft_US","NAD_1983_2011_StatePlane_Arkansas_South_FIPS_0302","NAD_1983_2011_StatePlane_Arkansas_South_FIPS_0302_Ft_US","NAD_1983_2011_California_Teale_Albers","NAD_1983_2011_StatePlane_California_I_FIPS_0401","NAD_1983_2011_StatePlane_California_I_FIPS_0401_Ft_US","NAD_1983_2011_StatePlane_California_II_FIPS_0402","NAD_1983_2011_StatePlane_California_II_FIPS_0402_Ft_US","NAD_1983_2011_StatePlane_California_III_FIPS_0403","NAD_1983_2011_StatePlane_California_III_FIPS_0403_Ft_US","NAD_1983_2011_StatePlane_California_IV_FIPS_0404","NAD_1983_2011_StatePlane_California_IV_FIPS_0404_Ft_US","NAD_1983_2011_StatePlane_California_V_FIPS_0405","NAD_1983_2011_StatePlane_California_V_FIPS_0405_Ft_US","NAD_1983_2011_StatePlane_California_VI_FIPS_0406","NAD_1983_2011_StatePlane_California_VI_FIPS_0406_Ft_US","NAD_1983_2011_StatePlane_Colorado_Central_FIPS_0502","NAD_1983_2011_StatePlane_Colorado_Central_FIPS_0502_Ft_US","NAD_1983_2011_StatePlane_Colorado_North_FIPS_0501","NAD_1983_2011_StatePlane_Colorado_North_FIPS_0501_Ft_US","NAD_1983_2011_StatePlane_Colorado_South_FIPS_0503","NAD_1983_2011_StatePlane_Colorado_South_FIPS_0503_Ft_US","NAD_1983_2011_StatePlane_Connecticut_FIPS_0600","NAD_1983_2011_StatePlane_Connecticut_FIPS_0600_Ft_US","NAD_1983_2011_StatePlane_Delaware_FIPS_0700","NAD_1983_2011_StatePlane_Delaware_FIPS_0700_Ft_US","NAD_1983_2011_StatePlane_Florida_East_FIPS_0901","NAD_1983_2011_StatePlane_Florida_East_FIPS_0901_Ft_US","NAD_1983_2011_Florida_GDL_Albers","NAD_1983_2011_StatePlane_Florida_North_FIPS_0903","NAD_1983_2011_StatePlane_Florida_North_FIPS_0903_Ft_US","NAD_1983_2011_StatePlane_Florida_West_FIPS_0902","NAD_1983_2011_StatePlane_Florida_West_FIPS_0902_Ft_US","NAD_1983_2011_StatePlane_Georgia_East_FIPS_1001","NAD_1983_2011_StatePlane_Georgia_East_FIPS_1001_Ft_US","NAD_1983_2011_StatePlane_Georgia_West_FIPS_1002","NAD_1983_2011_StatePlane_Georgia_West_FIPS_1002_Ft_US","NAD_1983_2011_StatePlane_Idaho_Central_FIPS_1102","NAD_1983_2011_StatePlane_Idaho_Central_FIPS_1102_Ft_US","NAD_1983_2011_StatePlane_Idaho_East_FIPS_1101","NAD_1983_2011_StatePlane_Idaho_East_FIPS_1101_Ft_US","NAD_1983_2011_StatePlane_Idaho_West_FIPS_1103","NAD_1983_2011_StatePlane_Idaho_West_FIPS_1103_Ft_US","NAD_1983_2011_StatePlane_Illinois_East_FIPS_1201","NAD_1983_2011_StatePlane_Illinois_East_FIPS_1201_Ft_US","NAD_1983_2011_StatePlane_Illinois_West_FIPS_1202","NAD_1983_2011_StatePlane_Illinois_West_FIPS_1202_Ft_US","NAD_1983_2011_StatePlane_Indiana_East_FIPS_1301","NAD_1983_2011_StatePlane_Indiana_East_FIPS_1301_Ft_US","NAD_1983_2011_StatePlane_Indiana_West_FIPS_1302","NAD_1983_2011_StatePlane_Indiana_West_FIPS_1302_Ft_US","NAD_1983_2011_StatePlane_Iowa_North_FIPS_1401","NAD_1983_2011_StatePlane_Iowa_North_FIPS_1401_Ft_US","NAD_1983_2011_StatePlane_Iowa_South_FIPS_1402","NAD_1983_2011_StatePlane_Iowa_South_FIPS_1402_Ft_US","NAD_1983_2011_StatePlane_Kansas_North_FIPS_1501","NAD_1983_2011_StatePlane_Kansas_North_FIPS_1501_Ft_US","NAD_1983_2011_StatePlane_Kansas_South_FIPS_1502","NAD_1983_2011_StatePlane_Kansas_South_FIPS_1502_Ft_US","NAD_1983_2011_StatePlane_Kentucky_North_FIPS_1601","NAD_1983_2011_StatePlane_Kentucky_North_FIPS_1601_Ft_US","NAD_1983_2011_StatePlane_Kentucky_FIPS_1600","NAD_1983_2011_StatePlane_Kentucky_FIPS_1600_Ft_US","NAD_1983_2011_StatePlane_Kentucky_South_FIPS_1602","NAD_1983_2011_StatePlane_Kentucky_South_FIPS_1602_Ft_US","NAD_1983_2011_StatePlane_Louisiana_North_FIPS_1701","NAD_1983_2011_StatePlane_Louisiana_North_FIPS_1701_Ft_US","NAD_1983_2011_StatePlane_Louisiana_South_FIPS_1702","NAD_1983_2011_StatePlane_Louisiana_South_FIPS_1702_Ft_US","NAD_1983_2011_Maine_2000_Central_Zone","NAD_1983_2011_Maine_2000_East_Zone","NAD_1983_2011_Maine_2000_West_Zone","NAD_1983_2011_StatePlane_Maine_East_FIPS_1801","NAD_1983_2011_StatePlane_Maine_East_FIPS_1801_Ft_US","NAD_1983_2011_StatePlane_Maine_West_FIPS_1802","NAD_1983_2011_StatePlane_Maine_West_FIPS_1802_Ft_US","NAD_1983_2011_StatePlane_Maryland_FIPS_1900","NAD_1983_2011_StatePlane_Maryland_FIPS_1900_Ft_US","NAD_1983_2011_StatePlane_Massachusetts_Island_FIPS_2002","NAD_1983_2011_StatePlane_Massachusetts_Isl_FIPS_2002_FtUS","NAD_1983_2011_StatePlane_Massachusetts_Mainland_FIPS_2001","NAD_1983_2011_StatePlane_Massachusetts_Mnld_FIPS_2001_FtUS","NAD_1983_2011_StatePlane_Michigan_Central_FIPS_2112","NAD_1983_2011_StatePlane_Michigan_Central_FIPS_2112_Ft_Intl","NAD_1983_2011_StatePlane_Michigan_North_FIPS_2111","NAD_1983_2011_StatePlane_Michigan_North_FIPS_2111_Ft_Intl","NAD_1983_2011_Michigan_GeoRef_Meters","NAD_1983_2011_StatePlane_Michigan_South_FIPS_2113","NAD_1983_2011_StatePlane_Michigan_South_FIPS_2113_Ft_Intl","NAD_1983_2011_StatePlane_Minnesota_Central_FIPS_2202","NAD_1983_2011_StatePlane_Minnesota_Central_FIPS_2202_Ft_US","NAD_1983_2011_StatePlane_Minnesota_North_FIPS_2201","NAD_1983_2011_StatePlane_Minnesota_North_FIPS_2201_Ft_US","NAD_1983_2011_StatePlane_Minnesota_South_FIPS_2203","NAD_1983_2011_StatePlane_Minnesota_South_FIPS_2203_Ft_US","NAD_1983_2011_StatePlane_Mississippi_East_FIPS_2301","NAD_1983_2011_StatePlane_Mississippi_East_FIPS_2301_Ft_US","NAD_1983_2011_Mississippi_TM","NAD_1983_2011_StatePlane_Mississippi_West_FIPS_2302","NAD_1983_2011_StatePlane_Mississippi_West_FIPS_2302_Ft_US","NAD_1983_2011_StatePlane_Missouri_Central_FIPS_2402","NAD_1983_2011_StatePlane_Missouri_East_FIPS_2401","NAD_1983_2011_StatePlane_Missouri_West_FIPS_2403","NAD_1983_2011_StatePlane_Montana_FIPS_2500","NAD_1983_2011_StatePlane_Montana_FIPS_2500_Ft_Intl","NAD_1983_2011_StatePlane_Nebraska_FIPS_2600","NAD_1983_2011_StatePlane_Nevada_Central_FIPS_2702","NAD_1983_2011_StatePlane_Nevada_Central_FIPS_2702_Ft_US","NAD_1983_2011_StatePlane_Nevada_East_FIPS_2701","NAD_1983_2011_StatePlane_Nevada_East_FIPS_2701_Ft_US","NAD_1983_2011_StatePlane_Nevada_West_FIPS_2703","NAD_1983_2011_StatePlane_Nevada_West_FIPS_2703_Ft_US","NAD_1983_2011_StatePlane_New_Hampshire_FIPS_2800","NAD_1983_2011_StatePlane_New_Hampshire_FIPS_2800_Ft_US","NAD_1983_2011_StatePlane_New_Jersey_FIPS_2900","NAD_1983_2011_StatePlane_New_Jersey_FIPS_2900_Ft_US","NAD_1983_2011_StatePlane_New_Mexico_Central_FIPS_3002","NAD_1983_2011_StatePlane_New_Mexico_Central_FIPS_3002_Ft_US","NAD_1983_2011_StatePlane_New_Mexico_East_FIPS_3001","NAD_1983_2011_StatePlane_New_Mexico_East_FIPS_3001_Ft_US","NAD_1983_2011_StatePlane_New_Mexico_West_FIPS_3003","NAD_1983_2011_StatePlane_New_Mexico_West_FIPS_3003_Ft_US","NAD_1983_2011_StatePlane_New_York_Central_FIPS_3102","NAD_1983_2011_StatePlane_New_York_Central_FIPS_3102_Ft_US","NAD_1983_2011_StatePlane_New_York_East_FIPS_3101","NAD_1983_2011_StatePlane_New_York_East_FIPS_3101_Ft_US","NAD_1983_2011_StatePlane_New_York_Long_Island_FIPS_3104","NAD_1983_2011_StatePlane_New_York_Long_Isl_FIPS_3104_Ft_US","NAD_1983_2011_StatePlane_New_York_West_FIPS_3103","NAD_1983_2011_StatePlane_New_York_West_FIPS_3103_Ft_US","NAD_1983_2011_StatePlane_North_Carolina_FIPS_3200","NAD_1983_2011_StatePlane_North_Carolina_FIPS_3200_Ft_US","NAD_1983_2011_StatePlane_North_Dakota_North_FIPS_3301","NAD_1983_2011_StatePlane_North_Dakota_North_FIPS_3301_FtI","NAD_1983_2011_StatePlane_North_Dakota_South_FIPS_3302","NAD_1983_2011_StatePlane_North_Dakota_South_FIPS_3302_FtI","NAD_1983_2011_StatePlane_Ohio_North_FIPS_3401","NAD_1983_2011_StatePlane_Ohio_North_FIPS_3401_Ft_US","NAD_1983_2011_StatePlane_Ohio_South_FIPS_3402","NAD_1983_2011_StatePlane_Ohio_South_FIPS_3402_Ft_US","NAD_1983_2011_StatePlane_Oklahoma_North_FIPS_3501","NAD_1983_2011_StatePlane_Oklahoma_North_FIPS_3501_Ft_US","NAD_1983_2011_StatePlane_Oklahoma_South_FIPS_3502","NAD_1983_2011_StatePlane_Oklahoma_South_FIPS_3502_Ft_US","NAD_1983_2011_Oregon_Statewide_Lambert","NAD_1983_2011_Oregon_Statewide_Lambert_Ft_Intl","NAD_1983_2011_StatePlane_Oregon_North_FIPS_3601","NAD_1983_2011_StatePlane_Oregon_North_FIPS_3601_Ft_Intl","NAD_1983_2011_StatePlane_Oregon_South_FIPS_3602","NAD_1983_2011_StatePlane_Oregon_South_FIPS_3602_Ft_Intl","NAD_1983_2011_StatePlane_Pennsylvania_North_FIPS_3701","NAD_1983_2011_StatePlane_Pennsylvania_North_FIPS_3701_Ft_US","NAD_1983_2011_StatePlane_Pennsylvania_South_FIPS_3702","NAD_1983_2011_StatePlane_Pennsylvania_South_FIPS_3702_Ft_US","NAD_1983_2011_StatePlane_Puerto_Rico_Virgin_Isls_FIPS_5200","NAD_1983_2011_StatePlane_Rhode_Island_FIPS_3800","NAD_1983_2011_StatePlane_Rhode_Island_FIPS_3800_Ft_US","NAD_1983_2011_StatePlane_South_Carolina_FIPS_3900","NAD_1983_2011_StatePlane_South_Carolina_FIPS_3900_Ft_Intl","NAD_1983_2011_StatePlane_South_Dakota_North_FIPS_4001","NAD_1983_2011_StatePlane_South_Dakota_North_FIPS_4001_Ft_US","NAD_1983_2011_StatePlane_South_Dakota_South_FIPS_4002","NAD_1983_2011_StatePlane_South_Dakota_South_FIPS_4002_Ft_US","NAD_1983_2011_StatePlane_Tennessee_FIPS_4100","NAD_1983_2011_StatePlane_Tennessee_FIPS_4100_Ft_US","NAD_1983_2011_StatePlane_Texas_Central_FIPS_4203","NAD_1983_2011_StatePlane_Texas_Central_FIPS_4203_Ft_US","NAD_1983_2011_Texas_Centric_Mapping_System_Albers","NAD_1983_2011_Texas_Centric_Mapping_System_Lambert","NAD_1983_2011_StatePlane_Texas_North_FIPS_4201","NAD_1983_2011_StatePlane_Texas_North_FIPS_4201_Ft_US","NAD_1983_2011_StatePlane_Texas_North_Central_FIPS_4202","NAD_1983_2011_StatePlane_Texas_North_Central_FIPS_4202_FtUS","NAD_1983_2011_StatePlane_Texas_South_FIPS_4205","NAD_1983_2011_StatePlane_Texas_South_FIPS_4205_Ft_US","NAD_1983_2011_StatePlane_Texas_South_Central_FIPS_4204","NAD_1983_2011_StatePlane_Texas_South_Central_FIPS_4204_FtUS","NAD_1983_2011_StatePlane_Vermont_FIPS_4400","NAD_1983_2011_StatePlane_Vermont_FIPS_4400_Ft_US","NAD_1983_2011_Virginia_Lambert","NAD_1983_2011_StatePlane_Virginia_North_FIPS_4501","NAD_1983_2011_StatePlane_Virginia_North_FIPS_4501_Ft_US","NAD_1983_2011_StatePlane_Virginia_South_FIPS_4502","NAD_1983_2011_StatePlane_Virginia_South_FIPS_4502_Ft_US","NAD_1983_2011_StatePlane_Washington_North_FIPS_4601","NAD_1983_2011_StatePlane_Washington_North_FIPS_4601_Ft_US","NAD_1983_2011_StatePlane_Washington_South_FIPS_4602","NAD_1983_2011_StatePlane_Washington_South_FIPS_4602_Ft_US","NAD_1983_2011_StatePlane_West_Virginia_North_FIPS_4701","NAD_1983_2011_StatePlane_West_Virginia_North_FIPS_4701_FtUS","NAD_1983_2011_StatePlane_West_Virginia_South_FIPS_4702","NAD_1983_2011_StatePlane_West_Virginia_South_FIPS_4702_FtUS","NAD_1983_2011_StatePlane_Wisconsin_Central_FIPS_4802_Ft_US","NAD_1983_2011_StatePlane_Wisconsin_North_FIPS_4801","NAD_1983_2011_StatePlane_Wisconsin_North_FIPS_4801_Ft_US","NAD_1983_2011_StatePlane_Wisconsin_South_FIPS_4803","NAD_1983_2011_StatePlane_Wisconsin_South_FIPS_4803_Ft_US","NAD_1983_2011_Wisconsin_TM","NAD_1983_2011_StatePlane_Wyoming_East_FIPS_4901","NAD_1983_2011_StatePlane_Wyoming_East_FIPS_4901_Ft_US","NAD_1983_2011_StatePlane_Wyoming_East_Central_FIPS_4902","NAD_1983_2011_StatePlane_Wyoming_E_Central_FIPS_4902_Ft_US","NAD_1983_2011_StatePlane_Wyoming_West_FIPS_4904","NAD_1983_2011_StatePlane_Wyoming_West_FIPS_4904_Ft_US","NAD_1983_2011_StatePlane_Wyoming_West_Central_FIPS_4903","NAD_1983_2011_StatePlane_Wyoming_W_Central_FIPS_4903_Ft_US","NAD_1983_2011_StatePlane_Utah_Central_FIPS_4302","NAD_1983_2011_StatePlane_Utah_North_FIPS_4301","NAD_1983_2011_StatePlane_Utah_South_FIPS_4303","NAD_1983_CSRS_Quebec_Lambert","NAD_1983_Quebec_Albers","NAD_1983_CSRS_Quebec_Albers","NAD_1983_2011_StatePlane_Utah_Central_FIPS_4302_Ft_US","NAD_1983_2011_StatePlane_Utah_North_FIPS_4301_Ft_US","NAD_1983_2011_StatePlane_Utah_South_FIPS_4303_Ft_US","NAD_1983_PA11_StatePlane_Hawaii_1_FIPS_5101","NAD_1983_PA11_StatePlane_Hawaii_2_FIPS_5102","NAD_1983_PA11_StatePlane_Hawaii_3_FIPS_5103","NAD_1983_PA11_StatePlane_Hawaii_4_FIPS_5104","NAD_1983_PA11_StatePlane_Hawaii_5_FIPS_5105","NAD_1983_PA11_StatePlane_Hawaii_3_FIPS_5103_Feet","NAD_1983_PA11_UTM_Zone_4N","NAD_1983_PA11_UTM_Zone_5N","NAD_1983_PA11_UTM_Zone_2S","NAD_1983_MA11_Guam_Map_Grid","Karbala_1979_Iraq_National_Grid","JGD_2011_Japan_Zone_1","JGD_2011_Japan_Zone_2","JGD_2011_Japan_Zone_3","JGD_2011_Japan_Zone_4","JGD_2011_Japan_Zone_5","JGD_2011_Japan_Zone_6","JGD_2011_Japan_Zone_7","JGD_2011_Japan_Zone_8","JGD_2011_Japan_Zone_9","JGD_2011_Japan_Zone_10","JGD_2011_Japan_Zone_11","JGD_2011_Japan_Zone_12","JGD_2011_Japan_Zone_13","JGD_2011_Japan_Zone_14","JGD_2011_Japan_Zone_15","JGD_2011_Japan_Zone_16","JGD_2011_Japan_Zone_17","JGD_2011_Japan_Zone_18","JGD_2011_Japan_Zone_19","JGD_2011_UTM_Zone_51N","JGD_2011_UTM_Zone_52N","JGD_2011_UTM_Zone_53N","JGD_2011_UTM_Zone_54N","JGD_2011_UTM_Zone_55N","WGS_1984_TM_60_SW","RDN2008_TM32","RDN2008_TM33","RDN2008_TM34","WGS_1984_CIG92","GDA_1994_CIG94","WGS_1984_CKIG92","GDA_1994_CKIG94","GDA_1994_MGA_zone_41","GDA_1994_MGA_zone_42","GDA_1994_MGA_zone_43","GDA_1994_MGA_zone_44","GDA_1994_MGA_Zone_46","GDA_1994_MGA_Zone_47","GDA_1994_MGA_Zone_59","NAD_1983_CORS96_Oregon_Statewide_Lambert","NAD_1983_CORS96_Oregon_Statewide_Lambert_Ft_Intl","ETRS_1989_Albania_2010","RDN2008_Italy_zone","RDN2008_Zone_12","NAD_1983_2011_StatePlane_Wisconsin_Central_FIPS_4802","NAD_1983_2011_StatePlane_Nebraska_FIPS_2600_Ft_US","NAD_1983_CORS96_StatePlane_Oregon_North_FIPS_3601","NAD_1983_CORS96_StatePlane_Oregon_North_FIPS_3601_Ft_Intl","NAD_1983_CORS96_StatePlane_Oregon_South_FIPS_3602","NAD_1983_CORS96_StatePlane_Oregon_South_FIPS_3602_Ft_Intl","South_East_Island_1943_UTM_Zone_40N","NAD_1983_Kansas_LCC","NAD_1983_Kansas_LCC_ftUS","NAD_1983_2011_Kansas_LCC","NAD_1983_2011_Kansas_LCC_ftUS","WGS_1984_EASE-Grid_2.0_North","WGS_1984_EASE-Grid_2.0_South","WGS_1984_EASE-Grid_2.0_Global","Pulkovo_1995_GK_Zone_2","Pulkovo_1995_GK_Zone_3","Pulkovo_1995_GK_Zone_4","Pulkovo_1995_GK_Zone_5","Pulkovo_1995_GK_Zone_6","Pulkovo_1995_GK_Zone_7","Pulkovo_1995_GK_Zone_8","Pulkovo_1995_GK_Zone_9","Pulkovo_1995_GK_Zone_10","Pulkovo_1995_GK_Zone_11","Pulkovo_1995_GK_Zone_12","Pulkovo_1995_GK_Zone_13","Pulkovo_1995_GK_Zone_14","Pulkovo_1995_GK_Zone_15","Pulkovo_1995_GK_Zone_16","Pulkovo_1995_GK_Zone_17","Pulkovo_1995_GK_Zone_18","Pulkovo_1995_GK_Zone_19","Pulkovo_1995_GK_Zone_20","Pulkovo_1995_GK_Zone_21","Pulkovo_1995_GK_Zone_22","Pulkovo_1995_GK_Zone_23","Pulkovo_1995_GK_Zone_24","Pulkovo_1995_GK_Zone_25","Pulkovo_1995_GK_Zone_26","Pulkovo_1995_GK_Zone_27","Pulkovo_1995_GK_Zone_28","Pulkovo_1995_GK_Zone_29","Pulkovo_1995_GK_Zone_30","Pulkovo_1995_GK_Zone_31","Pulkovo_1995_GK_Zone_32","Pulkovo_1995_GK_Zone_2N","Pulkovo_1995_GK_Zone_3N","Pulkovo_1995_GK_Zone_4N","Pulkovo_1995_GK_Zone_5N","Pulkovo_1995_GK_Zone_6N","Pulkovo_1995_GK_Zone_7N","Pulkovo_1995_GK_Zone_8N","Pulkovo_1995_GK_Zone_9N","Pulkovo_1995_GK_Zone_10N","Pulkovo_1995_GK_Zone_11N","Pulkovo_1995_GK_Zone_12N","Pulkovo_1995_GK_Zone_13N","Pulkovo_1995_GK_Zone_14N","Pulkovo_1995_GK_Zone_15N","Pulkovo_1995_GK_Zone_16N","Pulkovo_1995_GK_Zone_17N","Pulkovo_1995_GK_Zone_18N","Pulkovo_1995_GK_Zone_19N","Pulkovo_1995_GK_Zone_20N","Pulkovo_1995_GK_Zone_21N","Pulkovo_1995_GK_Zone_22N","Pulkovo_1995_GK_Zone_23N","Pulkovo_1995_GK_Zone_24N","Pulkovo_1995_GK_Zone_25N","Pulkovo_1995_GK_Zone_26N","Pulkovo_1995_GK_Zone_27N","Pulkovo_1995_GK_Zone_28N","Pulkovo_1995_GK_Zone_29N","Pulkovo_1995_GK_Zone_30N","Pulkovo_1995_GK_Zone_31N","Pulkovo_1995_GK_Zone_32N","Adindan_UTM_Zone_35N","Adindan_UTM_Zone_36N","Adindan_UTM_Zone_37N","Adindan_UTM_Zone_38N","AGD_1966_AMG_Zone_48","AGD_1966_AMG_Zone_49","AGD_1966_AMG_Zone_50","AGD_1966_AMG_Zone_51","AGD_1966_AMG_Zone_52","AGD_1966_AMG_Zone_53","AGD_1966_AMG_Zone_54","AGD_1966_AMG_Zone_55","AGD_1966_AMG_Zone_56","AGD_1966_AMG_Zone_57","AGD_1966_AMG_Zone_58","AGD_1984_AMG_Zone_48","AGD_1984_AMG_Zone_49","AGD_1984_AMG_Zone_50","AGD_1984_AMG_Zone_51","AGD_1984_AMG_Zone_52","AGD_1984_AMG_Zone_53","AGD_1984_AMG_Zone_54","AGD_1984_AMG_Zone_55","AGD_1984_AMG_Zone_56","AGD_1984_AMG_Zone_57","AGD_1984_AMG_Zone_58","Ain_el_Abd_UTM_Zone_36N","Ain_el_Abd_UTM_Zone_37N","Ain_el_Abd_UTM_Zone_38N","Ain_el_Abd_UTM_Zone_39N","Ain_el_Abd_UTM_Zone_40N","Bahrain_State_Grid","Afgooye_UTM_Zone_38N","Afgooye_UTM_Zone_39N","Portuguese_National_Grid","Lisbon_Lisbon_Portuguese_Grid","Aratu_UTM_Zone_22S","Aratu_UTM_Zone_23S","Aratu_UTM_Zone_24S","Arc_1950_UTM_Zone_34S","Arc_1950_UTM_Zone_35S","Arc_1950_UTM_Zone_36S","Arc_1960_UTM_Zone_35S","Arc_1960_UTM_Zone_36S","Arc_1960_UTM_Zone_37S","Arc_1960_UTM_Zone_35N","Arc_1960_UTM_Zone_36N","Arc_1960_UTM_Zone_37N","Batavia_UTM_Zone_48S","Batavia_UTM_Zone_49S","Batavia_UTM_Zone_50S","Barbados_1938_British_West_Indies_Grid","Barbados_1938_Barbados_Grid","Beijing_1954_GK_Zone_13","Beijing_1954_GK_Zone_14","Beijing_1954_GK_Zone_15","Beijing_1954_GK_Zone_16","Beijing_1954_GK_Zone_17","Beijing_1954_GK_Zone_18","Beijing_1954_GK_Zone_19","Beijing_1954_GK_Zone_20","Beijing_1954_GK_Zone_21","Beijing_1954_GK_Zone_22","Beijing_1954_GK_Zone_23","Beijing_1954_GK_Zone_13N","Beijing_1954_GK_Zone_14N","Beijing_1954_GK_Zone_15N","Beijing_1954_GK_Zone_16N","Beijing_1954_GK_Zone_17N","Beijing_1954_GK_Zone_18N","Beijing_1954_GK_Zone_19N","Beijing_1954_GK_Zone_20N","Beijing_1954_GK_Zone_21N","Beijing_1954_GK_Zone_22N","Beijing_1954_GK_Zone_23N","Belge_Lambert_1950","Bern_1898_Bern_LV03C","CH1903_LV03","CH1903_LV03C-G","Bogota_UTM_Zone_17N","Bogota_UTM_Zone_18N","Colombia_West_Zone","Colombia_Bogota_Zone","Colombia_East_Central_Zone","Colombia_East_Zone","Colombia_West_Zone","Colombia_Bogota_Zone","Colombia_East_Central_Zone","Colombia_East_Zone","Camacupa_UTM_Zone_32S","Camacupa_UTM_Zone_33S","Camacupa_TM_11_30_SE","Camacupa_TM_12_SE","POSGAR_1998_Argentina_Zone_1","POSGAR_1998_Argentina_Zone_2","POSGAR_1998_Argentina_Zone_3","POSGAR_1998_Argentina_Zone_4","POSGAR_1998_Argentina_Zone_5","POSGAR_1998_Argentina_Zone_6","POSGAR_1998_Argentina_Zone_7","POSGAR_1994_Argentina_Zone_1","POSGAR_1994_Argentina_Zone_2","POSGAR_1994_Argentina_Zone_3","POSGAR_1994_Argentina_Zone_4","POSGAR_1994_Argentina_Zone_5","POSGAR_1994_Argentina_Zone_6","POSGAR_1994_Argentina_Zone_7","Argentina_Zone_1","Argentina_Zone_2","Argentina_Zone_3","Argentina_Zone_4","Argentina_Zone_5","Argentina_Zone_6","Argentina_Zone_7","Cape_UTM_Zone_34S","Cape_UTM_Zone_35S","Cape_UTM_Zone_36S","Carthage_UTM_Zone_32N","Nord_Tunisie","Sud_Tunisie","Corrego_Alegre_UTM_Zone_21S","Corrego_Alegre_UTM_Zone_22S","Corrego_Alegre_UTM_Zone_23S","Corrego_Alegre_UTM_Zone_24S","Corrego_Alegre_UTM_Zone_25S","Deir_ez_Zor_Levant_Zone","Deir_ez_Zor_Syria_Lambert","Deir_ez_Zor_Levant_Stereographic","Douala_UTM_Zone_32N","Egypt_Blue_Belt","Egypt_Red_Belt","Egypt_Purple_Belt","Egypt_Extended_Purple_Belt","ED_1950_UTM_Zone_28N","ED_1950_UTM_Zone_29N","ED_1950_UTM_Zone_30N","ED_1950_UTM_Zone_31N","ED_1950_UTM_Zone_32N","ED_1950_UTM_Zone_33N","ED_1950_UTM_Zone_34N","ED_1950_UTM_Zone_35N","ED_1950_UTM_Zone_36N","ED_1950_UTM_Zone_37N","ED_1950_UTM_Zone_38N","ED_1950_TM_0_N","ED_1950_TM_5_NE","Fahud_UTM_Zone_39N","Fahud_UTM_Zone_40N","Garoua_UTM_Zone_33N","Hungarian_1972_Egyseges_Orszagos_Vetuleti","DGN_1995_Indonesia_TM-3_Zone_46.2","DGN_1995_Indonesia_TM-3_Zone_47.1","DGN_1995_Indonesia_TM-3_Zone_47.2","DGN_1995_Indonesia_TM-3_Zone_48.1","DGN_1995_Indonesia_TM-3_Zone_48.2","DGN_1995_Indonesia_TM-3_Zone_49.1","DGN_1995_Indonesia_TM-3_Zone_49.2","DGN_1995_Indonesia_TM-3_Zone_50.1","DGN_1995_Indonesia_TM-3_Zone_50.2","DGN_1995_Indonesia_TM-3_Zone_51.1","DGN_1995_Indonesia_TM-3_Zone_51.2","DGN_1995_Indonesia_TM-3_Zone_52.1","DGN_1995_Indonesia_TM-3_Zone_52.2","DGN_1995_Indonesia_TM-3_Zone_53.1","DGN_1995_Indonesia_TM-3_Zone_53.2","DGN_1995_Indonesia_TM-3_Zone_54.1","Indonesian_1974_UTM_Zone_46N","Indonesian_1974_UTM_Zone_47N","Indonesian_1974_UTM_Zone_48N","Indonesian_1974_UTM_Zone_49N","Indonesian_1974_UTM_Zone_50N","Indonesian_1974_UTM_Zone_51N","Indonesian_1974_UTM_Zone_52N","Indonesian_1974_UTM_Zone_53N","DGN_1995_UTM_Zone_46N","DGN_1995_UTM_Zone_47N","DGN_1995_UTM_Zone_48N","DGN_1995_UTM_Zone_49N","DGN_1995_UTM_Zone_50N","DGN_1995_UTM_Zone_51N","DGN_1995_UTM_Zone_52N","DGN_1995_UTM_Zone_47S","DGN_1995_UTM_Zone_48S","DGN_1995_UTM_Zone_49S","DGN_1995_UTM_Zone_50S","DGN_1995_UTM_Zone_51S","DGN_1995_UTM_Zone_52S","DGN_1995_UTM_Zone_53S","DGN_1995_UTM_Zone_54S","Indonesian_1974_UTM_Zone_46S","Indonesian_1974_UTM_Zone_47S","Indonesian_1974_UTM_Zone_48S","Indonesian_1974_UTM_Zone_49S","Indonesian_1974_UTM_Zone_50S","Indonesian_1974_UTM_Zone_51S","Indonesian_1974_UTM_Zone_52S","Indonesian_1974_UTM_Zone_53S","Indonesian_1974_UTM_Zone_54S","Indian_1954_UTM_Zone_46N","Indian_1954_UTM_Zone_47N","Indian_1954_UTM_Zone_48N","Indian_1975_UTM_Zone_47N","Indian_1975_UTM_Zone_48N","Jamaica_1875_Old_Grid","Jamaica_Grid","Kalianpur_1937_UTM_Zone_45N","Kalianpur_1937_UTM_Zone_46N","Kalianpur_1962_UTM_Zone_41N","Kalianpur_1962_UTM_Zone_42N","Kalianpur_1962_UTM_Zone_43N","Kalianpur_1975_UTM_Zone_42N","Kalianpur_1975_UTM_Zone_43N","Kalianpur_1975_UTM_Zone_44N","Kalianpur_1975_UTM_Zone_45N","Kalianpur_1975_UTM_Zone_46N","Kalianpur_1975_UTM_Zone_47N","Kalianpur_1880_India_Zone_0","Kalianpur_1880_India_Zone_I","Kalianpur_1880_India_Zone_IIa","Kalianpur_1880_India_Zone_III","Kalianpur_1880_India_Zone_IV","Kalianpur_1937_India_Zone_IIb","Kalianpur_1962_India_Zone_I","Kalianpur_1962_India_Zone_IIa","Kalianpur_1975_India_Zone_I","Kalianpur_1975_India_Zone_IIa","Kalianpur_1975_India_Zone_IIb","Kalianpur_1975_India_Zone_III","Kalianpur_1880_India_Zone_IIb","Kalianpur_1975_India_Zone_IV","Kertau_Singapore_Grid","Kertau_UTM_Zone_47N","Kertau_UTM_Zone_48N","Kertau_RSO_Malaya_Chains","KOC_Lambert","La_Canoa_UTM_Zone_18N","La_Canoa_UTM_Zone_19N","La_Canoa_UTM_Zone_20N","La_Canoa_UTM_Zone_21N","PSAD_1956_UTM_Zone_17N","PSAD_1956_UTM_Zone_18N","PSAD_1956_UTM_Zone_19N","PSAD_1956_UTM_Zone_20N","PSAD_1956_UTM_Zone_21N","PSAD_1956_UTM_Zone_17S","PSAD_1956_UTM_Zone_18S","PSAD_1956_UTM_Zone_19S","PSAD_1956_UTM_Zone_20S","PSAD_1956_UTM_Zone_21S","PSAD_1956_UTM_Zone_22S","Peru_West_Zone","Peru_Central_Zone","Peru_East_Zone","Ghana_Metre_Grid","Lome_UTM_Zone_31N","Philippines_Zone_I","Philippines_Zone_II","Philippines_Zone_III","Philippines_Zone_IV","Philippines_Zone_V","ETRS_1989_UTM_Zone_28N","ETRS_1989_UTM_Zone_29N","ETRS_1989_UTM_Zone_30N","ETRS_1989_UTM_Zone_31N","ETRS_1989_UTM_Zone_32N","ETRS_1989_UTM_Zone_33N","ETRS_1989_UTM_Zone_34N","ETRS_1989_UTM_Zone_35N","ETRS_1989_UTM_Zone_36N","ETRS_1989_UTM_Zone_37N","ETRS_1989_UTM_Zone_38N","ETRS_1989_TM_Baltic_1993","Malongo_1987_UTM_Zone_32S","Nord_Maroc","Sud_Maroc","Sahara","Merchich_Sahara_Nord","Merchich_Sahara_Sud","Massawa_UTM_Zone_37N","Minna_UTM_Zone_31N","Minna_UTM_Zone_32N","Nigeria_West_Belt","Nigeria_Mid_Belt","Nigeria_East_Belt","Mhast_UTM_Zone_32S","Monte_Mario_Rome_Italy_1","Monte_Mario_Rome_Italy_2","Mporaloko_UTM_Zone_32N","Mporaloko_UTM_Zone_32S","NAD_1927_UTM_Zone_1N","NAD_1927_UTM_Zone_2N","NAD_1927_UTM_Zone_3N","NAD_1927_UTM_Zone_4N","NAD_1927_UTM_Zone_5N","NAD_1927_UTM_Zone_6N","NAD_1927_UTM_Zone_7N","NAD_1927_UTM_Zone_8N","NAD_1927_UTM_Zone_9N","NAD_1927_UTM_Zone_10N","NAD_1927_UTM_Zone_11N","NAD_1927_UTM_Zone_12N","NAD_1927_UTM_Zone_13N","NAD_1927_UTM_Zone_14N","NAD_1927_UTM_Zone_15N","NAD_1927_UTM_Zone_16N","NAD_1927_UTM_Zone_17N","NAD_1927_UTM_Zone_18N","NAD_1927_UTM_Zone_19N","NAD_1927_UTM_Zone_20N","NAD_1927_UTM_Zone_21N","NAD_1927_UTM_Zone_22N","NAD_1927_StatePlane_Alabama_East_FIPS_0101","NAD_1927_StatePlane_Alabama_West_FIPS_0102","NAD_1927_StatePlane_Alaska_1_FIPS_5001","NAD_1927_StatePlane_Alaska_2_FIPS_5002","NAD_1927_StatePlane_Alaska_3_FIPS_5003","NAD_1927_StatePlane_Alaska_4_FIPS_5004","NAD_1927_StatePlane_Alaska_5_FIPS_5005","NAD_1927_StatePlane_Alaska_6_FIPS_5006","NAD_1927_StatePlane_Alaska_7_FIPS_5007","NAD_1927_StatePlane_Alaska_8_FIPS_5008","NAD_1927_StatePlane_Alaska_9_FIPS_5009","NAD_1927_StatePlane_Alaska_10_FIPS_5010","NAD_1927_StatePlane_California_I_FIPS_0401","NAD_1927_StatePlane_California_II_FIPS_0402","NAD_1927_StatePlane_California_III_FIPS_0403","NAD_1927_StatePlane_California_IV_FIPS_0404","NAD_1927_StatePlane_California_V_FIPS_0405","NAD_1927_StatePlane_California_VI_FIPS_0406","NAD_1927_StatePlane_California_VII_FIPS_0407","NAD_1927_StatePlane_Arizona_East_FIPS_0201","NAD_1927_StatePlane_Arizona_Central_FIPS_0202","NAD_1927_StatePlane_Arizona_West_FIPS_0203","NAD_1927_StatePlane_Arkansas_North_FIPS_0301","NAD_1927_StatePlane_Arkansas_South_FIPS_0302","NAD_1927_StatePlane_Colorado_North_FIPS_0501","NAD_1927_StatePlane_Colorado_Central_FIPS_0502","NAD_1927_StatePlane_Colorado_South_FIPS_0503","NAD_1927_StatePlane_Connecticut_FIPS_0600","NAD_1927_StatePlane_Delaware_FIPS_0700","NAD_1927_StatePlane_Florida_East_FIPS_0901","NAD_1927_StatePlane_Florida_West_FIPS_0902","NAD_1927_StatePlane_Florida_North_FIPS_0903","NAD_1927_StatePlane_Hawaii_1_FIPS_5101","NAD_1927_StatePlane_Hawaii_2_FIPS_5102","NAD_1927_StatePlane_Hawaii_3_FIPS_5103","NAD_1927_StatePlane_Hawaii_4_FIPS_5104","NAD_1927_StatePlane_Hawaii_5_FIPS_5105","NAD_1927_StatePlane_Georgia_East_FIPS_1001","NAD_1927_StatePlane_Georgia_West_FIPS_1002","NAD_1927_StatePlane_Idaho_East_FIPS_1101","NAD_1927_StatePlane_Idaho_Central_FIPS_1102","NAD_1927_StatePlane_Idaho_West_FIPS_1103","NAD_1927_StatePlane_Illinois_East_FIPS_1201","NAD_1927_StatePlane_Illinois_West_FIPS_1202","NAD_1927_StatePlane_Indiana_East_FIPS_1301","NAD_1927_StatePlane_Indiana_West_FIPS_1302","NAD_1927_StatePlane_Iowa_North_FIPS_1401","NAD_1927_StatePlane_Iowa_South_FIPS_1402","NAD_1927_StatePlane_Kansas_North_FIPS_1501","NAD_1927_StatePlane_Kansas_South_FIPS_1502","NAD_1927_StatePlane_Kentucky_North_FIPS_1601","NAD_1927_StatePlane_Kentucky_South_FIPS_1602","NAD_1927_StatePlane_Louisiana_North_FIPS_1701","NAD_1927_StatePlane_Louisiana_South_FIPS_1702","NAD_1927_StatePlane_Maine_East_FIPS_1801","NAD_1927_StatePlane_Maine_West_FIPS_1802","NAD_1927_StatePlane_Maryland_FIPS_1900","NAD_1927_StatePlane_Massachusetts_Mainland_FIPS_2001","NAD_1927_StatePlane_Massachusetts_Island_FIPS_2002","NAD_1927_StatePlane_Michigan_North_FIPS_2111","NAD_1927_StatePlane_Michigan_Central_FIPS_2112","NAD_1927_StatePlane_Michigan_South_FIPS_2113","NAD_1927_StatePlane_Minnesota_North_FIPS_2201","NAD_1927_StatePlane_Minnesota_Central_FIPS_2202","NAD_1927_StatePlane_Minnesota_South_FIPS_2203","NAD_1927_StatePlane_Mississippi_East_FIPS_2301","NAD_1927_StatePlane_Mississippi_West_FIPS_2302","NAD_1927_StatePlane_Missouri_East_FIPS_2401","NAD_1927_StatePlane_Missouri_Central_FIPS_2402","NAD_1927_StatePlane_Missouri_West_FIPS_2403","NAD_1927_StatePlane_California_VII_FIPS_0407","NAD_Michigan_StatePlane_Michigan_East_Old_FIPS_2101","NAD_Michigan_StatePlane_Michigan_Central_Old_FIPS_2102","NAD_Michigan_StatePlane_Michigan_West_Old_FIPS_2103","NAD_Michigan_StatePlane_Michigan_North_FIPS_2111","NAD_Michigan_StatePlane_Michigan_Central_FIPS_2112","NAD_Michigan_StatePlane_Michigan_South_FIPS_2113","NAD_1983_StatePlane_Maine_East_FIPS_1801_Feet","NAD_1983_StatePlane_Maine_West_FIPS_1802_Feet","NAD_1983_StatePlane_Minnesota_North_FIPS_2201_Feet","NAD_1983_StatePlane_Minnesota_Central_FIPS_2202_Feet","NAD_1983_StatePlane_Minnesota_South_FIPS_2203_Feet","NAD_1983_StatePlane_Nebraska_FIPS_2600_Feet","NAD_1983_StatePlane_West_Virginia_North_FIPS_4701_Feet","NAD_1983_StatePlane_West_Virginia_South_FIPS_4702_Feet","NAD_1983_HARN_StatePlane_Maine_East_FIPS_1801_Feet","NAD_1983_HARN_StatePlane_Maine_West_FIPS_1802_Feet","NAD_1983_HARN_StatePlane_Minnesota_North_FIPS_2201_Feet","NAD_1983_HARN_StatePlane_Minnesota_Central_FIPS_2202_Feet","NAD_1983_HARN_StatePlane_Minnesota_South_FIPS_2203_Feet","NAD_1983_HARN_StatePlane_Nebraska_FIPS_2600_Feet","NAD_1983_HARN_StatePlane_West_Virginia_North_FIPS_4701_Feet","NAD_1983_HARN_StatePlane_West_Virginia_South_FIPS_4702_Feet","NAD_1983_NSRS2007_StatePlane_Maine_East_FIPS_1801_Ft_US","NAD_1983_NSRS2007_StatePlane_Maine_West_FIPS_1802_Ft_US","NAD_1983_NSRS2007_StatePlane_Minnesota_North_FIPS_2201_Ft_US","NAD_1983_NSRS2007_StatePlane_Minnesota_Central_FIPS_2202_Ft_US","NAD_1983_NSRS2007_StatePlane_Minnesota_South_FIPS_2203_Ft_US","NAD_1983_NSRS2007_StatePlane_Nebraska_FIPS_2600_Ft_US","NAD_1983_NSRS2007_StatePlane_West_Virginia_North_FIPS_4701_FtUS","NAD_1983_NSRS2007_StatePlane_West_Virginia_South_FIPS_4702_FtUS","NAD_1983_CSRS_MTM_11","NAD_1983_CSRS_MTM_12","NAD_1983_CSRS_MTM_13","NAD_1983_CSRS_MTM_14","NAD_1983_CSRS_MTM_15","NAD_1983_CSRS_MTM_16","NAD_1983_CSRS_MTM_17","NAD_1983_CSRS_MTM_1","NAD_1983_CSRS_MTM_2","NAD_1983_UTM_Zone_1N","NAD_1983_UTM_Zone_2N","NAD_1983_UTM_Zone_3N","NAD_1983_UTM_Zone_4N","NAD_1983_UTM_Zone_5N","NAD_1983_UTM_Zone_6N","NAD_1983_UTM_Zone_7N","NAD_1983_UTM_Zone_8N","NAD_1983_UTM_Zone_9N","NAD_1983_UTM_Zone_10N","NAD_1983_UTM_Zone_11N","NAD_1983_UTM_Zone_12N","NAD_1983_UTM_Zone_13N","NAD_1983_UTM_Zone_14N","NAD_1983_UTM_Zone_15N","NAD_1983_UTM_Zone_16N","NAD_1983_UTM_Zone_17N","NAD_1983_UTM_Zone_18N","NAD_1983_UTM_Zone_19N","NAD_1983_UTM_Zone_20N","NAD_1983_UTM_Zone_21N","NAD_1983_UTM_Zone_22N","NAD_1983_UTM_Zone_23N","NAD_1983_StatePlane_Alabama_East_FIPS_0101","NAD_1983_StatePlane_Alabama_West_FIPS_0102","NAD_1983_StatePlane_Alaska_1_FIPS_5001","NAD_1983_StatePlane_Alaska_2_FIPS_5002","NAD_1983_StatePlane_Alaska_3_FIPS_5003","NAD_1983_StatePlane_Alaska_4_FIPS_5004","NAD_1983_StatePlane_Alaska_5_FIPS_5005","NAD_1983_StatePlane_Alaska_6_FIPS_5006","NAD_1983_StatePlane_Alaska_7_FIPS_5007","NAD_1983_StatePlane_Alaska_8_FIPS_5008","NAD_1983_StatePlane_Alaska_9_FIPS_5009","NAD_1983_StatePlane_Alaska_10_FIPS_5010","NAD_1983_StatePlane_California_I_FIPS_0401","NAD_1983_StatePlane_California_II_FIPS_0402","NAD_1983_StatePlane_California_III_FIPS_0403","NAD_1983_StatePlane_California_IV_FIPS_0404","NAD_1983_StatePlane_California_V_FIPS_0405","NAD_1983_StatePlane_California_VI_FIPS_0406","NAD_1983_StatePlane_Arizona_East_FIPS_0201","NAD_1983_StatePlane_Arizona_Central_FIPS_0202","NAD_1983_StatePlane_Arizona_West_FIPS_0203","NAD_1983_StatePlane_Arkansas_North_FIPS_0301","NAD_1983_StatePlane_Arkansas_South_FIPS_0302","NAD_1983_StatePlane_Colorado_North_FIPS_0501","NAD_1983_StatePlane_Colorado_Central_FIPS_0502","NAD_1983_StatePlane_Colorado_South_FIPS_0503","NAD_1983_StatePlane_Connecticut_FIPS_0600","NAD_1983_StatePlane_Delaware_FIPS_0700","NAD_1983_StatePlane_Florida_East_FIPS_0901","NAD_1983_StatePlane_Florida_West_FIPS_0902","NAD_1983_StatePlane_Florida_North_FIPS_0903","NAD_1983_StatePlane_Hawaii_1_FIPS_5101","NAD_1983_StatePlane_Hawaii_2_FIPS_5102","NAD_1983_StatePlane_Hawaii_3_FIPS_5103","NAD_1983_StatePlane_Hawaii_4_FIPS_5104","NAD_1983_StatePlane_Hawaii_5_FIPS_5105","NAD_1983_StatePlane_Georgia_East_FIPS_1001","NAD_1983_StatePlane_Georgia_West_FIPS_1002","NAD_1983_StatePlane_Idaho_East_FIPS_1101","NAD_1983_StatePlane_Idaho_Central_FIPS_1102","NAD_1983_StatePlane_Idaho_West_FIPS_1103","NAD_1983_StatePlane_Illinois_East_FIPS_1201","NAD_1983_StatePlane_Illinois_West_FIPS_1202","NAD_1983_StatePlane_Indiana_East_FIPS_1301","NAD_1983_StatePlane_Indiana_West_FIPS_1302","NAD_1983_StatePlane_Iowa_North_FIPS_1401","NAD_1983_StatePlane_Iowa_South_FIPS_1402","NAD_1983_StatePlane_Kansas_North_FIPS_1501","NAD_1983_StatePlane_Kansas_South_FIPS_1502","NAD_1983_StatePlane_Kentucky_North_FIPS_1601","NAD_1983_StatePlane_Kentucky_South_FIPS_1602","NAD_1983_StatePlane_Louisiana_North_FIPS_1701","NAD_1983_StatePlane_Louisiana_South_FIPS_1702","NAD_1983_StatePlane_Maine_East_FIPS_1801","NAD_1983_StatePlane_Maine_West_FIPS_1802","NAD_1983_StatePlane_Maryland_FIPS_1900","NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001","NAD_1983_StatePlane_Massachusetts_Island_FIPS_2002","NAD_1983_StatePlane_Michigan_North_FIPS_2111","NAD_1983_StatePlane_Michigan_Central_FIPS_2112","NAD_1983_StatePlane_Michigan_South_FIPS_2113","NAD_1983_StatePlane_Minnesota_North_FIPS_2201","NAD_1983_StatePlane_Minnesota_Central_FIPS_2202","NAD_1983_StatePlane_Minnesota_South_FIPS_2203","NAD_1983_StatePlane_Mississippi_East_FIPS_2301","NAD_1983_StatePlane_Mississippi_West_FIPS_2302","NAD_1983_StatePlane_Missouri_East_FIPS_2401","NAD_1983_StatePlane_Missouri_Central_FIPS_2402","NAD_1983_StatePlane_Missouri_West_FIPS_2403","Nahrwan_1967_UTM_Zone_37N","Nahrwan_1967_UTM_Zone_38N","Nahrwan_1967_UTM_Zone_39N","Nahrwan_1967_UTM_Zone_40N","Naparima_1972_UTM_Zone_20N","GD_1949_New_Zealand_Map_Grid","NZGD_1949_Mount_Eden_Circuit","NZGD_1949_Bay_of_Plenty_Circuit","NZGD_1949_Poverty_Bay_Circuit","NZGD_1949_Hawkes_Bay_Circuit","NZGD_1949_Taranaki_Circuit","NZGD_1949_Tuhirangi_Circuit","NZGD_1949_Wanganui_Circuit","NZGD_1949_Wairarapa_Circuit","NZGD_1949_Wellington_Circuit","NZGD_1949_Collingwood_Circuit","NZGD_1949_Nelson_Circuit","NZGD_1949_Karamea_Circuit","NZGD_1949_Buller_Circuit","NZGD_1949_Grey_Circuit","NZGD_1949_Amuri_Circuit","NZGD_1949_Marlborough_Circuit","NZGD_1949_Hokitika_Circuit","NZGD_1949_Okarito_Circuit","NZGD_1949_Jacksons_Bay_Circuit","NZGD_1949_Mount_Pleasant_Circuit","NZGD_1949_Gawler_Circuit","NZGD_1949_Timaru_Circuit","NZGD_1949_Lindis_Peak_Circuit","NZGD_1949_Mount_Nicholas_Circuit","NZGD_1949_Mount_York_Circuit","NZGD_1949_Observation_Point_Circuit","NZGD_1949_North_Taieri_Circuit","NZGD_1949_Bluff_Circuit","NZGD_1949_UTM_Zone_58S","NZGD_1949_UTM_Zone_59S","NZGD_1949_UTM_Zone_60S","New_Zealand_North_Island","New_Zealand_South_Island","NGO_1948_Oslo_Norway_Zone_1","NGO_1948_Oslo_Norway_Zone_2","NGO_1948_Oslo_Norway_Zone_3","NGO_1948_Oslo_Norway_Zone_4","NGO_1948_Oslo_Norway_Zone_5","NGO_1948_Oslo_Norway_Zone_6","NGO_1948_Oslo_Norway_Zone_7","NGO_1948_Oslo_Norway_Zone_8","Datum_73_UTM_Zone_29N","Datum_73_Modified_Portuguese_Grid","Datum_73_Modified_Portuguese_Grid","Nord_de_Guerre","NTF_Paris_Lambert_Nord_France","NTF_Paris_Lambert_Centre_France","NTF_Paris_Lambert_Sud_France","NTF_Paris_Lambert_Corse","NTF_Paris_Lambert_Zone_I","NTF_Paris_Lambert_Zone_II","NTF_Paris_Lambert_Zone_III","NTF_Paris_Lambert_Zone_IV","NTF_Paris_France_I","NTF_Paris_France_II","NTF_Paris_France_III","NTF_Paris_France_IV","NTF_Paris_Nord_France","NTF_Paris_Centre_France","NTF_Paris_Sud_France","NTF_Paris_Corse","British_National_Grid","Palestine_1923_Palestine_Grid","Palestine_1923_Palestine_Belt","Palestine_1923_Israel_CS_Grid","Pointe_Noire_UTM_Zone_32S","GDA_1994_MGA_Zone_48","GDA_1994_MGA_Zone_49","GDA_1994_MGA_Zone_50","GDA_1994_MGA_Zone_51","GDA_1994_MGA_Zone_52","GDA_1994_MGA_Zone_53","GDA_1994_MGA_Zone_54","GDA_1994_MGA_Zone_55","GDA_1994_MGA_Zone_56","GDA_1994_MGA_Zone_57","GDA_1994_MGA_Zone_58","Pulkovo_1942_GK_Zone_2","Pulkovo_1942_GK_Zone_3","Pulkovo_1942_GK_Zone_4","Pulkovo_1942_GK_Zone_5","Pulkovo_1942_GK_Zone_6","Pulkovo_1942_GK_Zone_7","Pulkovo_1942_GK_Zone_8","Pulkovo_1942_GK_Zone_9","Pulkovo_1942_GK_Zone_10","Pulkovo_1942_GK_Zone_11","Pulkovo_1942_GK_Zone_12","Pulkovo_1942_GK_Zone_13","Pulkovo_1942_GK_Zone_14","Pulkovo_1942_GK_Zone_15","Pulkovo_1942_GK_Zone_16","Pulkovo_1942_GK_Zone_17","Pulkovo_1942_GK_Zone_18","Pulkovo_1942_GK_Zone_19","Pulkovo_1942_GK_Zone_20","Pulkovo_1942_GK_Zone_21","Pulkovo_1942_GK_Zone_22","Pulkovo_1942_GK_Zone_23","Pulkovo_1942_GK_Zone_24","Pulkovo_1942_GK_Zone_25","Pulkovo_1942_GK_Zone_26","Pulkovo_1942_GK_Zone_27","Pulkovo_1942_GK_Zone_28","Pulkovo_1942_GK_Zone_29","Pulkovo_1942_GK_Zone_30","Pulkovo_1942_GK_Zone_31","Pulkovo_1942_GK_Zone_32","Pulkovo_1942_GK_Zone_2N","Pulkovo_1942_GK_Zone_3N","Pulkovo_1942_GK_Zone_4N","Pulkovo_1942_GK_Zone_5N","Pulkovo_1942_GK_Zone_6N","Pulkovo_1942_GK_Zone_7N","Pulkovo_1942_GK_Zone_8N","Pulkovo_1942_GK_Zone_9N","Pulkovo_1942_GK_Zone_10N","Pulkovo_1942_GK_Zone_11N","Pulkovo_1942_GK_Zone_12N","Pulkovo_1942_GK_Zone_13N","Pulkovo_1942_GK_Zone_14N","Pulkovo_1942_GK_Zone_15N","Pulkovo_1942_GK_Zone_16N","Pulkovo_1942_GK_Zone_17N","Pulkovo_1942_GK_Zone_18N","Pulkovo_1942_GK_Zone_19N","Pulkovo_1942_GK_Zone_20N","Pulkovo_1942_GK_Zone_21N","Pulkovo_1942_GK_Zone_22N","Pulkovo_1942_GK_Zone_23N","Pulkovo_1942_GK_Zone_24N","Pulkovo_1942_GK_Zone_25N","Pulkovo_1942_GK_Zone_26N","Pulkovo_1942_GK_Zone_27N","Pulkovo_1942_GK_Zone_28N","Pulkovo_1942_GK_Zone_29N","Pulkovo_1942_GK_Zone_30N","Pulkovo_1942_GK_Zone_31N","Pulkovo_1942_GK_Zone_32N","Qatar_National_Grid","RD_Old","RD_New","SAD_1969_Brazil_Polyconic","SAD_1969_Brazil_Polyconic","SAD_1969_UTM_Zone_18N","SAD_1969_UTM_Zone_19N","SAD_1969_UTM_Zone_20N","SAD_1969_UTM_Zone_21N","SAD_1969_UTM_Zone_22N","SAD_1969_UTM_Zone_18N","SAD_1969_UTM_Zone_19N","SAD_1969_UTM_Zone_20N","SAD_1969_UTM_Zone_21N","SAD_1969_UTM_Zone_22N","SAD_1969_UTM_Zone_17S","SAD_1969_UTM_Zone_18S","SAD_1969_UTM_Zone_19S","SAD_1969_UTM_Zone_20S","SAD_1969_UTM_Zone_21S","SAD_1969_UTM_Zone_22S","SAD_1969_UTM_Zone_23S","SAD_1969_UTM_Zone_24S","SAD_1969_UTM_Zone_25S","SAD_1969_UTM_Zone_17S","SAD_1969_UTM_Zone_18S","SAD_1969_UTM_Zone_19S","SAD_1969_UTM_Zone_20S","SAD_1969_UTM_Zone_21S","SAD_1969_UTM_Zone_22S","SAD_1969_UTM_Zone_23S","SAD_1969_UTM_Zone_24S","SAD_1969_UTM_Zone_25S","Sapper_Hill_1943_UTM_Zone_20S","Sapper_Hill_1943_UTM_Zone_21S","Schwarzeck_UTM_Zone_33S","Sudan_UTM_Zone_35N","Sudan_UTM_Zone_36N","Tananarive_1925_Paris_Laborde_Grid","Tananarive_1925_UTM_Zone_38S","Tananarive_1925_UTM_Zone_39S","Timbalai_1948_UTM_Zone_49N","Timbalai_1948_UTM_Zone_50N","Timbalai_1948_RSO_Borneo_Chains","Timbalai_1948_RSO_Borneo_Feet","Timbalai_1948_RSO_Borneo_Meters","TM65_Irish_Grid","OSNI_1952_Irish_National_Grid","TM65_Irish_Grid","TM75_Irish_Grid","Japan_Zone_1","Japan_Zone_2","Japan_Zone_3","Japan_Zone_4","Japan_Zone_5","Japan_Zone_6","Japan_Zone_7","Japan_Zone_8","Japan_Zone_9","Japan_Zone_10","Japan_Zone_11","Japan_Zone_12","Japan_Zone_13","Japan_Zone_14","Japan_Zone_15","Japan_Zone_16","Japan_Zone_17","Japan_Zone_18","Japan_Zone_19","Trinidad_1903_Trinidad_Grid","TC_1948_UTM_Zone_39N","TC_1948_UTM_Zone_40N","Nord_Algerie_Ancienne","Sud_Algerie_Ancienne","Voirol_1879_Nord_Algerie_Ancienne","Voirol_1879_Sud_Algerie_Ancienne","Nord_Algerie","Sud_Algerie","Nord_Sahara_1959_UTM_Zone_29N","Nord_Sahara_1959_UTM_Zone_30N","Nord_Sahara_1959_UTM_Zone_31N","Nord_Sahara_1959_UTM_Zone_32N","Nord_Sahara_1959_Voirol_Unifie_Nord","Nord_Sahara_1959_Voirol_Unifie_Sud","Swedish_National_Grid","Yoff_1972_UTM_Zone_28N","Zanderij_1972_UTM_Zone_21N","Zanderij_TM_54_NW","Zanderij_Suriname_Old_TM","Zanderij_Suriname_TM","MGI_Ferro_Austria_GK_West","MGI_Ferro_Austria_GK_Central","MGI_Ferro_Austria_GK_East","MGI_Austria_GK_West","MGI_Austria_GK_Central","MGI_Austria_GK_East","MGI_Austria_GK_M28","MGI_Austria_GK_M31","MGI_Austria_GK_M34","MGI_3_Degree_Gauss_Zone_5","MGI_3_Degree_Gauss_Zone_6","MGI_3_Degree_Gauss_Zone_7","MGI_3_Degree_Gauss_Zone_8","MGI_Balkans_5","MGI_Balkans_6","MGI_Balkans_7","MGI_Balkans_8","MGI_Balkans_8","Austria_West_Zone","Austria_Central_Zone","Austria_East_Zone","MGI_M28","MGI_M31","MGI_M34","MGI_Austria_Lambert","MGI_Ferro_M28","MGI_Ferro_M31","MGI_Ferro_M34","Austria_West_Zone","Austria_Central_Zone","Austria_East_Zone","MGI_M28","MGI_M31","MGI_M34","MGI_Austria_Lambert","Belge_Lambert_1972","DHDN_3_Degree_Gauss_Zone_1","DHDN_3_Degree_Gauss_Zone_2","DHDN_3_Degree_Gauss_Zone_3","DHDN_3_Degree_Gauss_Zone_4","DHDN_3_Degree_Gauss_Zone_5","DHDN_3_Degree_Gauss_Zone_2","DHDN_3_Degree_Gauss_Zone_3","DHDN_3_Degree_Gauss_Zone_4","DHDN_3_Degree_Gauss_Zone_5","Germany_Zone_1","Germany_Zone_2","Germany_Zone_3","Germany_Zone_4","Germany_Zone_5","Conakry_1905_UTM_Zone_28N","Conakry_1905_UTM_Zone_29N","Stereo_33","Stereo_70","NGN_UTM_Zone_38N","NGN_UTM_Zone_39N","KUDAMS_KTM","SIRGAS_UTM_Zone_17N","SIRGAS_UTM_Zone_18N","SIRGAS_UTM_Zone_19N","SIRGAS_UTM_Zone_20N","SIRGAS_UTM_Zone_21N","SIRGAS_UTM_Zone_22N","SIRGAS_2000_UTM_Zone_11N","SIRGAS_2000_UTM_Zone_12N","SIRGAS_2000_UTM_Zone_13N","SIRGAS_2000_UTM_Zone_14N","SIRGAS_2000_UTM_Zone_15N","SIRGAS_2000_UTM_Zone_16N","SIRGAS_2000_UTM_Zone_17N","SIRGAS_2000_UTM_Zone_18N","SIRGAS_2000_UTM_Zone_19N","SIRGAS_2000_UTM_Zone_20N","SIRGAS_2000_UTM_Zone_21N","SIRGAS_2000_UTM_Zone_22N","SIRGAS_2000_UTM_Zone_17S","SIRGAS_2000_UTM_Zone_18S","SIRGAS_2000_UTM_Zone_19S","SIRGAS_2000_UTM_Zone_20S","SIRGAS_2000_UTM_Zone_21S","SIRGAS_2000_UTM_Zone_22S","SIRGAS_2000_UTM_Zone_23S","SIRGAS_2000_UTM_Zone_24S","SIRGAS_2000_UTM_Zone_25S","SIRGAS_UTM_Zone_17N","SIRGAS_UTM_Zone_18N","SIRGAS_UTM_Zone_19N","SIRGAS_UTM_Zone_20N","SIRGAS_UTM_Zone_21N","SIRGAS_UTM_Zone_22N","SIRGAS_UTM_Zone_17S","SIRGAS_UTM_Zone_18S","SIRGAS_UTM_Zone_19S","SIRGAS_UTM_Zone_20S","SIRGAS_UTM_Zone_21S","SIRGAS_UTM_Zone_22S","SIRGAS_UTM_Zone_23S","SIRGAS_UTM_Zone_24S","SIRGAS_UTM_Zone_25S","NAD_1927_StatePlane_Montana_North_FIPS_2501","NAD_1927_StatePlane_Montana_Central_FIPS_2502","NAD_1927_StatePlane_Montana_South_FIPS_2503","NAD_1927_StatePlane_Nebraska_North_FIPS_2601","NAD_1927_StatePlane_Nebraska_South_FIPS_2602","NAD_1927_StatePlane_Nevada_East_FIPS_2701","NAD_1927_StatePlane_Nevada_Central_FIPS_2702","NAD_1927_StatePlane_Nevada_West_FIPS_2703","NAD_1927_StatePlane_New_Hampshire_FIPS_2800","NAD_1927_StatePlane_New_Jersey_FIPS_2900","NAD_1927_StatePlane_New_Mexico_East_FIPS_3001","NAD_1927_StatePlane_New_Mexico_Central_FIPS_3002","NAD_1927_StatePlane_New_Mexico_West_FIPS_3003","NAD_1927_StatePlane_New_York_East_FIPS_3101","NAD_1927_StatePlane_New_York_Central_FIPS_3102","NAD_1927_StatePlane_New_York_West_FIPS_3103","NAD_1927_StatePlane_New_York_Long_Island_FIPS_3104","NAD_1927_StatePlane_North_Carolina_FIPS_3200","NAD_1927_StatePlane_North_Dakota_North_FIPS_3301","NAD_1927_StatePlane_North_Dakota_South_FIPS_3302","NAD_1927_StatePlane_Ohio_North_FIPS_3401","NAD_1927_StatePlane_Ohio_South_FIPS_3402","NAD_1927_StatePlane_Oklahoma_North_FIPS_3501","NAD_1927_StatePlane_Oklahoma_South_FIPS_3502","NAD_1927_StatePlane_Oregon_North_FIPS_3601","NAD_1927_StatePlane_Oregon_South_FIPS_3602","NAD_1927_StatePlane_Pennsylvania_North_FIPS_3701","NAD_1927_StatePlane_Pennsylvania_South_FIPS_3702","NAD_1927_StatePlane_Rhode_Island_FIPS_3800","NAD_1927_StatePlane_South_Carolina_North_FIPS_3901","NAD_1927_StatePlane_South_Carolina_South_FIPS_3902","NAD_1927_StatePlane_South_Dakota_North_FIPS_4001","NAD_1927_StatePlane_South_Dakota_South_FIPS_4002","NAD_1927_StatePlane_Tennessee_FIPS_4100","NAD_1927_StatePlane_Texas_North_FIPS_4201","NAD_1927_StatePlane_Texas_North_Central_FIPS_4202","NAD_1927_StatePlane_Texas_Central_FIPS_4203","NAD_1927_StatePlane_Texas_South_Central_FIPS_4204","NAD_1927_StatePlane_Texas_South_FIPS_4205","NAD_1927_StatePlane_Utah_North_FIPS_4301","NAD_1927_StatePlane_Utah_Central_FIPS_4302","NAD_1927_StatePlane_Utah_South_FIPS_4303","NAD_1927_StatePlane_Vermont_FIPS_4400","NAD_1927_StatePlane_Virginia_North_FIPS_4501","NAD_1927_StatePlane_Virginia_South_FIPS_4502","NAD_1927_StatePlane_Washington_North_FIPS_4601","NAD_1927_StatePlane_Washington_South_FIPS_4602","NAD_1927_StatePlane_West_Virginia_North_FIPS_4701","NAD_1927_StatePlane_West_Virginia_South_FIPS_4702","NAD_1927_StatePlane_Wisconsin_North_FIPS_4801","NAD_1927_StatePlane_Wisconsin_Central_FIPS_4802","NAD_1927_StatePlane_Wisconsin_South_FIPS_4803","NAD_1927_StatePlane_Wyoming_East_FIPS_4901","NAD_1927_StatePlane_Wyoming_East_Central_FIPS_4902","NAD_1927_StatePlane_Wyoming_West_Central_FIPS_4903","NAD_1927_StatePlane_Wyoming_West_FIPS_4904","NAD_1927_StatePlane_Puerto_Rico_FIPS_5201","NAD_1927_StatePlane_Virgin_Islands_St_Croix_FIPS_5202","NAD_1927_Guatemala_Norte","NAD_1927_Guatemala_Sur","NAD_1927_BLM_Zone_14N","NAD_1927_BLM_Zone_15N","NAD_1927_BLM_Zone_16N","NAD_1927_BLM_Zone_17N","NAD_1927_BLM_Zone_14N","NAD_1927_BLM_Zone_15N","NAD_1927_BLM_Zone_16N","NAD_1927_BLM_Zone_17N","NAD_1927_MTM_1","NAD_1927_MTM_2","NAD_1927_MTM_3","NAD_1927_MTM_4","NAD_1927_MTM_5","NAD_1927_MTM_6","NAD_1927_Quebec_Lambert","NAD_1927_StatePlane_Louisiana_Offshore_FIPS_1703","NAD_1983_StatePlane_Montana_FIPS_2500","NAD_1983_StatePlane_Nebraska_FIPS_2600","NAD_1983_StatePlane_Nevada_East_FIPS_2701","NAD_1983_StatePlane_Nevada_Central_FIPS_2702","NAD_1983_StatePlane_Nevada_West_FIPS_2703","NAD_1983_StatePlane_New_Hampshire_FIPS_2800","NAD_1983_StatePlane_New_Jersey_FIPS_2900","NAD_1983_StatePlane_New_Mexico_East_FIPS_3001","NAD_1983_StatePlane_New_Mexico_Central_FIPS_3002","NAD_1983_StatePlane_New_Mexico_West_FIPS_3003","NAD_1983_StatePlane_New_York_East_FIPS_3101","NAD_1983_StatePlane_New_York_Central_FIPS_3102","NAD_1983_StatePlane_New_York_West_FIPS_3103","NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104","NAD_1983_StatePlane_North_Carolina_FIPS_3200","NAD_1983_StatePlane_North_Dakota_North_FIPS_3301","NAD_1983_StatePlane_North_Dakota_South_FIPS_3302","NAD_1983_StatePlane_Ohio_North_FIPS_3401","NAD_1983_StatePlane_Ohio_South_FIPS_3402","NAD_1983_StatePlane_Oklahoma_North_FIPS_3501","NAD_1983_StatePlane_Oklahoma_South_FIPS_3502","NAD_1983_StatePlane_Oregon_North_FIPS_3601","NAD_1983_StatePlane_Oregon_South_FIPS_3602","NAD_1983_StatePlane_Pennsylvania_North_FIPS_3701","NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702","NAD_1983_StatePlane_Rhode_Island_FIPS_3800","NAD_1983_StatePlane_South_Carolina_FIPS_3900","NAD_1983_StatePlane_South_Dakota_North_FIPS_4001","NAD_1983_StatePlane_South_Dakota_South_FIPS_4002","NAD_1983_StatePlane_Tennessee_FIPS_4100","NAD_1983_StatePlane_Texas_North_FIPS_4201","NAD_1983_StatePlane_Texas_North_Central_FIPS_4202","NAD_1983_StatePlane_Texas_Central_FIPS_4203","NAD_1983_StatePlane_Texas_South_Central_FIPS_4204","NAD_1983_StatePlane_Texas_South_FIPS_4205","NAD_1983_StatePlane_Utah_North_FIPS_4301","NAD_1983_StatePlane_Utah_Central_FIPS_4302","NAD_1983_StatePlane_Utah_South_FIPS_4303","NAD_1983_StatePlane_Vermont_FIPS_4400","NAD_1983_StatePlane_Virginia_North_FIPS_4501","NAD_1983_StatePlane_Virginia_South_FIPS_4502","NAD_1983_StatePlane_Washington_North_FIPS_4601","NAD_1983_StatePlane_Washington_South_FIPS_4602","NAD_1983_StatePlane_West_Virginia_North_FIPS_4701","NAD_1983_StatePlane_West_Virginia_South_FIPS_4702","NAD_1983_StatePlane_Wisconsin_North_FIPS_4801","NAD_1983_StatePlane_Wisconsin_Central_FIPS_4802","NAD_1983_StatePlane_Wisconsin_South_FIPS_4803","NAD_1983_StatePlane_Wyoming_East_FIPS_4901","NAD_1983_StatePlane_Wyoming_East_Central_FIPS_4902","NAD_1983_StatePlane_Wyoming_West_Central_FIPS_4903","NAD_1983_StatePlane_Wyoming_West_FIPS_4904","NAD_1983_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200","NAD_1983_BLM_Zone_14N_ftUS","NAD_1983_BLM_Zone_15N_ftUS","NAD_1983_BLM_Zone_16N_ftUS","NAD_1983_BLM_Zone_17N_ftUS","NAD_1983_MTM_2_SCoPQ","NAD_1983_MTM_1","NAD_1983_MTM_2","NAD_1983_MTM_3","NAD_1983_MTM_4","NAD_1983_MTM_5","NAD_1983_MTM_6","NAD_1983_MTM_7","NAD_1983_MTM_8","NAD_1983_MTM_9","NAD_1983_MTM_10","NAD_1983_MTM_11","NAD_1983_MTM_12","NAD_1983_MTM_13","NAD_1983_MTM_14","NAD_1983_MTM_15","NAD_1983_MTM_16","NAD_1983_MTM_17","NAD_1983_Quebec_Lambert","NAD_1983_StatePlane_Louisiana_Offshore_FIPS_1703","WGS_1972_UTM_Zone_1N","WGS_1972_UTM_Zone_2N","WGS_1972_UTM_Zone_3N","WGS_1972_UTM_Zone_4N","WGS_1972_UTM_Zone_5N","WGS_1972_UTM_Zone_6N","WGS_1972_UTM_Zone_7N","WGS_1972_UTM_Zone_8N","WGS_1972_UTM_Zone_9N","WGS_1972_UTM_Zone_10N","WGS_1972_UTM_Zone_11N","WGS_1972_UTM_Zone_12N","WGS_1972_UTM_Zone_13N","WGS_1972_UTM_Zone_14N","WGS_1972_UTM_Zone_15N","WGS_1972_UTM_Zone_16N","WGS_1972_UTM_Zone_17N","WGS_1972_UTM_Zone_18N","WGS_1972_UTM_Zone_19N","WGS_1972_UTM_Zone_20N","WGS_1972_UTM_Zone_21N","WGS_1972_UTM_Zone_22N","WGS_1972_UTM_Zone_23N","WGS_1972_UTM_Zone_24N","WGS_1972_UTM_Zone_25N","WGS_1972_UTM_Zone_26N","WGS_1972_UTM_Zone_27N","WGS_1972_UTM_Zone_28N","WGS_1972_UTM_Zone_29N","WGS_1972_UTM_Zone_30N","WGS_1972_UTM_Zone_31N","WGS_1972_UTM_Zone_32N","WGS_1972_UTM_Zone_33N","WGS_1972_UTM_Zone_34N","WGS_1972_UTM_Zone_35N","WGS_1972_UTM_Zone_36N","WGS_1972_UTM_Zone_37N","WGS_1972_UTM_Zone_38N","WGS_1972_UTM_Zone_39N","WGS_1972_UTM_Zone_40N","WGS_1972_UTM_Zone_41N","WGS_1972_UTM_Zone_42N","WGS_1972_UTM_Zone_43N","WGS_1972_UTM_Zone_44N","WGS_1972_UTM_Zone_45N","WGS_1972_UTM_Zone_46N","WGS_1972_UTM_Zone_47N","WGS_1972_UTM_Zone_48N","WGS_1972_UTM_Zone_49N","WGS_1972_UTM_Zone_50N","WGS_1972_UTM_Zone_51N","WGS_1972_UTM_Zone_52N","WGS_1972_UTM_Zone_53N","WGS_1972_UTM_Zone_54N","WGS_1972_UTM_Zone_55N","WGS_1972_UTM_Zone_56N","WGS_1972_UTM_Zone_57N","WGS_1972_UTM_Zone_58N","WGS_1972_UTM_Zone_59N","WGS_1972_UTM_Zone_60N","WGS_1972_UTM_Zone_1S","WGS_1972_UTM_Zone_2S","WGS_1972_UTM_Zone_3S","WGS_1972_UTM_Zone_4S","WGS_1972_UTM_Zone_5S","WGS_1972_UTM_Zone_6S","WGS_1972_UTM_Zone_7S","WGS_1972_UTM_Zone_8S","WGS_1972_UTM_Zone_9S","WGS_1972_UTM_Zone_10S","WGS_1972_UTM_Zone_11S","WGS_1972_UTM_Zone_12S","WGS_1972_UTM_Zone_13S","WGS_1972_UTM_Zone_14S","WGS_1972_UTM_Zone_15S","WGS_1972_UTM_Zone_16S","WGS_1972_UTM_Zone_17S","WGS_1972_UTM_Zone_18S","WGS_1972_UTM_Zone_19S","WGS_1972_UTM_Zone_20S","WGS_1972_UTM_Zone_21S","WGS_1972_UTM_Zone_22S","WGS_1972_UTM_Zone_23S","WGS_1972_UTM_Zone_24S","WGS_1972_UTM_Zone_25S","WGS_1972_UTM_Zone_26S","WGS_1972_UTM_Zone_27S","WGS_1972_UTM_Zone_28S","WGS_1972_UTM_Zone_29S","WGS_1972_UTM_Zone_30S","WGS_1972_UTM_Zone_31S","WGS_1972_UTM_Zone_32S","WGS_1972_UTM_Zone_33S","WGS_1972_UTM_Zone_34S","WGS_1972_UTM_Zone_35S","WGS_1972_UTM_Zone_36S","WGS_1972_UTM_Zone_37S","WGS_1972_UTM_Zone_38S","WGS_1972_UTM_Zone_39S","WGS_1972_UTM_Zone_40S","WGS_1972_UTM_Zone_41S","WGS_1972_UTM_Zone_42S","WGS_1972_UTM_Zone_43S","WGS_1972_UTM_Zone_44S","WGS_1972_UTM_Zone_45S","WGS_1972_UTM_Zone_46S","WGS_1972_UTM_Zone_47S","WGS_1972_UTM_Zone_48S","WGS_1972_UTM_Zone_49S","WGS_1972_UTM_Zone_50S","WGS_1972_UTM_Zone_51S","WGS_1972_UTM_Zone_52S","WGS_1972_UTM_Zone_53S","WGS_1972_UTM_Zone_54S","WGS_1972_UTM_Zone_55S","WGS_1972_UTM_Zone_56S","WGS_1972_UTM_Zone_57S","WGS_1972_UTM_Zone_58S","WGS_1972_UTM_Zone_59S","WGS_1972_UTM_Zone_60S","WGS_1984_UTM_Zone_1N","WGS_1984_UTM_Zone_2N","WGS_1984_UTM_Zone_3N","WGS_1984_UTM_Zone_4N","WGS_1984_UTM_Zone_5N","WGS_1984_UTM_Zone_6N","WGS_1984_UTM_Zone_7N","WGS_1984_UTM_Zone_8N","WGS_1984_UTM_Zone_9N","WGS_1984_UTM_Zone_10N","WGS_1984_UTM_Zone_11N","WGS_1984_UTM_Zone_12N","WGS_1984_UTM_Zone_13N","WGS_1984_UTM_Zone_14N","WGS_1984_UTM_Zone_15N","WGS_1984_UTM_Zone_16N","WGS_1984_UTM_Zone_17N","WGS_1984_UTM_Zone_18N","WGS_1984_UTM_Zone_19N","WGS_1984_UTM_Zone_20N","WGS_1984_UTM_Zone_21N","WGS_1984_UTM_Zone_22N","WGS_1984_UTM_Zone_23N","WGS_1984_UTM_Zone_24N","WGS_1984_UTM_Zone_25N","WGS_1984_UTM_Zone_26N","WGS_1984_UTM_Zone_27N","WGS_1984_UTM_Zone_28N","WGS_1984_UTM_Zone_29N","WGS_1984_UTM_Zone_30N","WGS_1984_UTM_Zone_31N","WGS_1984_UTM_Zone_32N","WGS_1984_UTM_Zone_33N","WGS_1984_UTM_Zone_34N","WGS_1984_UTM_Zone_35N","WGS_1984_UTM_Zone_36N","WGS_1984_UTM_Zone_37N","WGS_1984_UTM_Zone_38N","WGS_1984_UTM_Zone_39N","WGS_1984_UTM_Zone_40N","WGS_1984_UTM_Zone_41N","WGS_1984_UTM_Zone_42N","WGS_1984_UTM_Zone_43N","WGS_1984_UTM_Zone_44N","WGS_1984_UTM_Zone_45N","WGS_1984_UTM_Zone_46N","WGS_1984_UTM_Zone_47N","WGS_1984_UTM_Zone_48N","WGS_1984_UTM_Zone_49N","WGS_1984_UTM_Zone_50N","WGS_1984_UTM_Zone_51N","WGS_1984_UTM_Zone_52N","WGS_1984_UTM_Zone_53N","WGS_1984_UTM_Zone_54N","WGS_1984_UTM_Zone_55N","WGS_1984_UTM_Zone_56N","WGS_1984_UTM_Zone_57N","WGS_1984_UTM_Zone_58N","WGS_1984_UTM_Zone_59N","WGS_1984_UTM_Zone_60N","UPS_North","WGS_1984_Plate_Carree","WGS_1984_BLM_Zone_14N_ftUS","WGS_1984_BLM_Zone_15N_ftUS","WGS_1984_BLM_Zone_16N_ftUS","WGS_1984_BLM_Zone_17N_ftUS","WGS_1984_UTM_Zone_1S","WGS_1984_UTM_Zone_2S","WGS_1984_UTM_Zone_3S","WGS_1984_UTM_Zone_4S","WGS_1984_UTM_Zone_5S","WGS_1984_UTM_Zone_6S","WGS_1984_UTM_Zone_7S","WGS_1984_UTM_Zone_8S","WGS_1984_UTM_Zone_9S","WGS_1984_UTM_Zone_10S","WGS_1984_UTM_Zone_11S","WGS_1984_UTM_Zone_12S","WGS_1984_UTM_Zone_13S","WGS_1984_UTM_Zone_14S","WGS_1984_UTM_Zone_15S","WGS_1984_UTM_Zone_16S","WGS_1984_UTM_Zone_17S","WGS_1984_UTM_Zone_18S","WGS_1984_UTM_Zone_19S","WGS_1984_UTM_Zone_20S","WGS_1984_UTM_Zone_21S","WGS_1984_UTM_Zone_22S","WGS_1984_UTM_Zone_23S","WGS_1984_UTM_Zone_24S","WGS_1984_UTM_Zone_25S","WGS_1984_UTM_Zone_26S","WGS_1984_UTM_Zone_27S","WGS_1984_UTM_Zone_28S","WGS_1984_UTM_Zone_29S","WGS_1984_UTM_Zone_30S","WGS_1984_UTM_Zone_31S","WGS_1984_UTM_Zone_32S","WGS_1984_UTM_Zone_33S","WGS_1984_UTM_Zone_34S","WGS_1984_UTM_Zone_35S","WGS_1984_UTM_Zone_36S","WGS_1984_UTM_Zone_37S","WGS_1984_UTM_Zone_38S","WGS_1984_UTM_Zone_39S","WGS_1984_UTM_Zone_40S","WGS_1984_UTM_Zone_41S","WGS_1984_UTM_Zone_42S","WGS_1984_UTM_Zone_43S","WGS_1984_UTM_Zone_44S","WGS_1984_UTM_Zone_45S","WGS_1984_UTM_Zone_46S","WGS_1984_UTM_Zone_47S","WGS_1984_UTM_Zone_48S","WGS_1984_UTM_Zone_49S","WGS_1984_UTM_Zone_50S","WGS_1984_UTM_Zone_51S","WGS_1984_UTM_Zone_52S","WGS_1984_UTM_Zone_53S","WGS_1984_UTM_Zone_54S","WGS_1984_UTM_Zone_55S","WGS_1984_UTM_Zone_56S","WGS_1984_UTM_Zone_57S","WGS_1984_UTM_Zone_58S","WGS_1984_UTM_Zone_59S","WGS_1984_UTM_Zone_60S","UPS_South","WGS_1984_TM_36_SE","Sphere_Plate_Carree","Sphere_Equidistant_Cylindrical","Sphere_Miller_Cylindrical","Sphere_Mercator","Sphere_Sinusoidal","Sphere_Mollweide","Sphere_Eckert_VI","Sphere_Eckert_V","Sphere_Eckert_IV","Sphere_Eckert_III","Sphere_Eckert_II","Sphere_Eckert_I","Sphere_Gall_Stereographic","Sphere_Behrmann","Sphere_Winkel_I","Sphere_Winkel_II","Sphere_Polyconic","Sphere_Quartic_Authalic","Sphere_Loximuthal","Sphere_Bonne","Sphere_Hotine","Sphere_Stereographic","Sphere_Equidistant_Conic","Sphere_Cassini","Sphere_Van_der_Grinten_I","Sphere_Robinson","Sphere_Two_Point_Equidistant","Sphere_Azimuthal_Equidistant","Sphere_Cylindrical_Equal_Area","Sphere_Winkel_Tripel_NGS","Sphere_Aitoff","Sphere_Hammer_Aitoff","Sphere_Flat_Polar_Quartic","Sphere_Craster_Parabolic","Sphere_Times","Sphere_Vertical_Perspective","World_Plate_Carree","World_Equidistant_Cylindrical","World_Miller_Cylindrical","World_Mercator","World_Sinusoidal","World_Mollweide","World_Eckert_VI","World_Eckert_V","World_Eckert_IV","World_Eckert_III","World_Eckert_II","World_Eckert_I","World_Gall_Stereographic","World_Behrmann","World_Winkel_I","World_Winkel_II","World_Polyconic","World_Quartic_Authalic","World_Loximuthal","World_Bonne","World_Hotine","World_Stereographic","World_Equidistant_Conic","World_Cassini","World_Van_der_Grinten_I","World_Robinson","World_Two_Point_Equidistant","World_Azimuthal_Equidistant","World_Cylindrical_Equal_Area","World_Winkel_Tripel_NGS","World_Aitoff","World_Hammer_Aitoff","World_Flat_Polar_Quartic","World_Craster_Parabolic","World_Times","World_Vertical_Perspective","World_Fuller","World_Cube","World_Goode_Homolosine_Land","World_Goode_Homolosine_Ocean","NAD_1927_StatePlane_Guam_FIPS_5400","American_Samoa_1962_StatePlane_American_Samoa_FIPS_5300","NAD_1983_StatePlane_Guam_FIPS_5400","NAD_1983_StatePlane_Kentucky_FIPS_1600","Canada_Albers_Equal_Area_Conic","Canada_Lambert_Conformal_Conic","USA_Contiguous_Albers_Equal_Area_Conic","USA_Contiguous_Lambert_Conformal_Conic","USA_Contiguous_Equidistant_Conic","NAD_1983_Alaska_Albers","Hawaii_Albers_Equal_Area_Conic","North_America_Albers_Equal_Area_Conic","North_America_Lambert_Conformal_Conic","North_America_Equidistant_Conic","Africa_Sinusoidal","Asia_Lambert_Conformal_Conic","Europe_Albers_Equal_Area_Conic","Europe_Lambert_Conformal_Conic","South_America_Lambert_Conformal_Conic","North_Pole_Azimuthal_Equidistant","North_Pole_Lambert_Azimuthal_Equal_Area","North_Pole_Stereographic","South_Pole_Azimuthal_Equidistant","South_Pole_Lambert_Azimuthal_Equal_Area","South_Pole_Stereographic","Africa_Albers_Equal_Area_Conic","Africa_Equidistant_Conic","Africa_Lambert_Conformal_Conic","Asia_North_Albers_Equal_Area_Conic","Asia_North_Equidistant_Conic","Asia_North_Lambert_Conformal_Conic","Asia_South_Albers_Equal_Area_Conic","Asia_South_Equidistant_Conic","Asia_South_Lambert_Conformal_Conic","Europe_Equidistant_Conic","South_America_Equidistant_Conic","South_America_Albers_Equal_Area_Conic","North_Pole_Gnomonic","North_Pole_Orthographic","South_Pole_Gnomonic","South_Pole_Orthographic","The_World_From_Space","USA_Contiguous_Albers_Equal_Area_Conic_USGS_version","Korean_1985_Korea_Unified_Coordinate_System","COB_NAD83_2007","NAD_1983_USFS_R9_Albers","NAD_1983_CORS96_UTM_Zone_20N","NAD_1983_NSRS2007_UTM_Zone_20N","NAD_1983_2011_UTM_Zone_20N","NAD_1983_2011_UTM_Zone_59N","NAD_1983_2011_UTM_Zone_60N","NAD_1983_2011_UTM_Zone_1N","NAD_1983_2011_UTM_Zone_2N","NAD_1983_2011_UTM_Zone_3N","NAD_1983_2011_UTM_Zone_4N","NAD_1983_2011_UTM_Zone_5N","NAD_1983_2011_UTM_Zone_6N","NAD_1983_2011_UTM_Zone_7N","NAD_1983_2011_UTM_Zone_8N","NAD_1983_2011_UTM_Zone_9N","NAD_1983_2011_UTM_Zone_10N","NAD_1983_2011_UTM_Zone_11N","NAD_1983_2011_UTM_Zone_12N","D48_Slovenia_TM","Everest_Modified_1969_RSO_Malaya_Meters","Kertau_RSO_Malaya_Meters","Kandawala_Ceylon_Belt_Meters","Kandawala_Ceylon_Belt_Indian_Yards_1937","S-JTSK_Krovak","S-JTSK_Ferro_Krovak_East_North","S-JTSK_Krovak_East_North","EMEP_50_Kilometer_Grid","EMEP_150_Kilometer_Grid","Guernsey_Grid","AGD_1966_ACT_Grid_AGC_Zone","AGD_1966_ISG_54_2","AGD_1966_ISG_54_3","AGD_1966_ISG_55_1","AGD_1966_ISG_55_2","AGD_1966_ISG_55_3","AGD_1966_ISG_56_1","AGD_1966_ISG_56_2","AGD_1966_ISG_56_3","Korea_2000_Korea_Unified_Coordinate_System","Korea_2000_Korea_West_Belt_2010","Korea_2000_Korea_Central_Belt_2010","Korea_2000_Korea_East_Belt_2010","Korea_2000_Korea_East_Sea_Belt_2010","Korean_1985_Modified_Korea_West_Belt","Korean_1985_Modified_Korea_Central_Belt","Korean_1985_Modified_Korea_Central_Belt_Jeju","Korean_1985_Modified_Korea_East_Belt","Korean_1985_Modified_Korea_East_Sea_Belt","Bermuda_2000_National_Grid","Monte_Mario_Italy_1","Monte_Mario_Italy_2","Roma_1940_Gauss_Boaga_Est","Roma_1940_Gauss_Boaga_Ovest","JAD_2001_Jamaica_Grid","Bab_South_Palau_Azimuthal_Equidistant","ETRS_1989_UTM_Zone_26N","ETRS_1989_UTM_Zone_27N","ETRS_1989_UTM_Zone_39N","WGS_1984_Web_Mercator_Auxiliary_Sphere","NGO_1948_Norway_Zone_1","NGO_1948_Norway_Zone_2","NGO_1948_Norway_Zone_3","NGO_1948_Norway_Zone_4","NGO_1948_Norway_Zone_5","NGO_1948_Norway_Zone_6","NGO_1948_Norway_Zone_7","NGO_1948_Norway_Zone_8","ETRS_1989_Slovenia_TM","RGF_1993_Lambert_93","Chatham_Islands_1979_Map_Grid","NZGD_2000_Chatham_Island_Circuit","WGS_1984_Web_Mercator","Old_Hawaiian_UTM_Zone_4N","Old_Hawaiian_UTM_Zone_5N","American_Samoa_1962_UTM_Zone_2S","NAD_1927_Alaska_Albers_Meters","NAD_1927_Georgia_Statewide_Albers","NAD_1927_Texas_Statewide_Mapping_System","NAD_1927_Michigan_GeoRef_Feet_US","NAD_1983_Michigan_GeoRef_Feet_US","NAD_1927_Michigan_GeoRef_Meters","NAD_1983_Michigan_GeoRef_Meters","NAD_1927_UTM_Zone_1N","NAD_1927_UTM_Zone_2N","NAD_1927_UTM_Zone_59N","NAD_1927_UTM_Zone_60N","NAD_1983_UTM_Zone_1N","NAD_1983_UTM_Zone_2N","NAD_1983_UTM_Zone_59N","NAD_1983_UTM_Zone_60N","NGO_1948_UTM_Zone_32N","NGO_1948_UTM_Zone_33N","NGO_1948_UTM_Zone_34N","NGO_1948_UTM_Zone_35N","NGO_1948_Baerum_Kommune","NGO_1948_Bergenhalvoen","NGO_1948_Oslo_Kommune","EUREF_FIN_TM35FIN","Hong_Kong_1980_Grid","Hong_Kong_1980_UTM_Zone_49N","Hong_Kong_1980_UTM_Zone_50N","QND_1995_UTM_39N","Merchich_Degree_UTM_Zone_28N","JGD_2000_UTM_Zone_51N","JGD_2000_UTM_Zone_52N","JGD_2000_UTM_Zone_53N","JGD_2000_UTM_Zone_54N","JGD_2000_UTM_Zone_55N","JGD_2000_UTM_Zone_56N","Tokyo_UTM_Zone_51N","Tokyo_UTM_Zone_52N","Tokyo_UTM_Zone_53N","Tokyo_UTM_Zone_54N","Tokyo_UTM_Zone_55N","Tokyo_UTM_Zone_56N","ETRS_1989_Kosovo_Grid","Jordan_JTM","Observatorio_Meteorologico_1965_Macau_Grid","Datum_73_Hayford_Gauss_IGeoE","Datum_73_Hayford_Gauss_IPCC","Graciosa_Base_SW_1948_UTM_Zone_26N","Lisboa_Bessel_Bonne","Lisboa_Hayford_Gauss_IGeoE","Lisboa_Hayford_Gauss_IPCC","Observatorio_Meteorologico_1939_UTM_Zone_25N","Porto_Santo_1936_UTM_Zone_28N","Sao_Braz_UTM_Zone_26N","Selvagem_Grande_1938_UTM_Zone_28N","AGD_1966_VICGRID","GDA_1994_VICGRID94","GDA_1994_South_Australia_Lambert","ETRS_1989_UWPP_1992","ETRS_1989_UWPP_2000_PAS_5","ETRS_1989_UWPP_2000_PAS_6","ETRS_1989_UWPP_2000_PAS_7","ETRS_1989_UWPP_2000_PAS_8","NAD_1927_10TM_AEP_Forest","NAD_1927_10TM_AEP_Resource","NAD_1927_3TM_111","NAD_1927_3TM_114","NAD_1927_3TM_117","NAD_1927_3TM_120","NAD_1983_10TM_AEP_Forest","NAD_1983_10TM_AEP_Resource","NAD_1983_3TM_111","NAD_1983_3TM_114","NAD_1983_3TM_117","NAD_1983_3TM_120","NAD_1983_BC_Environment_Albers","Nord_Maroc_Degree","Sud_Maroc_Degree","Sahara_Degree","UWPP_1992","UWPP_2000_PAS_5","UWPP_2000_PAS_6","UWPP_2000_PAS_7","UWPP_2000_PAS_8","Belge_Lambert_2008","NAD_1983_HARN_UTM_Zone_2S","NAD_1983_HARN_Guam_Map_Grid","NAD_1983_HARN_UTM_Zone_4N","NAD_1983_HARN_UTM_Zone_5N","Ain_el_Abd_1970_Aramco_Lambert_2","NAD_1983_HARN_UTM_Zone_11N","NAD_1983_HARN_UTM_Zone_12N","NAD_1983_HARN_UTM_Zone_13N","NAD_1983_HARN_Maine_2000_East_Zone","NAD_1983_HARN_Maine_2000_Central_Zone","NAD_1983_HARN_Maine_2000_West_Zone","NAD_1983_HARN_UTM_Zone_18N","NAD_1983_WyLAM","NAD_1983_UTM_Zone_58N","WGS_1984_Cape_Verde_Grid","WGS_1984_Canada_Atlas_LCC","GDA_1994_Perth_Coastal_Grid_1994","NAD_1983_NSRS2007_Wisconsin_TM_US_Ft","NAD_1983_USFS_R6_Albers","NAD_1983_Wisconsin_TM_US_Ft","NAD_1983_HARN_Wisconsin_TM_US_Ft","Ocotepeque_1935_Costa_Rica_Lambert_Norte","Ocotepeque_1935_Costa_Rica_Lambert_Sur","WGS_1984_Costa_Rica_TM_90","MONREF_1997_UTM_Zone_46N","MONREF_1997_UTM_Zone_47N","MONREF_1997_UTM_Zone_48N","MONREF_1997_UTM_Zone_49N","MONREF_1997_UTM_Zone_50N","NAD_1983_HARN_StatePlane_Alabama_East_FIPS_0101","NAD_1983_HARN_StatePlane_Alabama_West_FIPS_0102","Colombia_West_West_Zone","Bogota_Ciudad_Bogota","MAGNA_Ciudad_Bogota","NAD_1983_CSRS_UTM_Zone_14N","NAD_1983_CSRS_UTM_Zone_15N","NAD_1983_CSRS_UTM_Zone_16N","Pohnpei_Az_Eq_1971","Saipan_Az_Eq_1969","Guam_Geodetic_Triangulation_Network_1963","Guam_Geodetic_Network_1993","NAD_1983_HARN_StatePlane_California_I_FIPS_0401","NAD_1983_HARN_StatePlane_California_II_FIPS_0402","NAD_1983_HARN_StatePlane_California_III_FIPS_0403","NAD_1983_HARN_StatePlane_California_IV_FIPS_0404","NAD_1983_HARN_StatePlane_California_V_FIPS_0405","NAD_1983_HARN_StatePlane_California_VI_FIPS_0406","NAD_1983_CORS96_Alaska_Albers","NAD_1983_HARN_StatePlane_Arizona_East_FIPS_0201","NAD_1983_HARN_StatePlane_Arizona_Central_FIPS_0202","NAD_1983_HARN_StatePlane_Arizona_West_FIPS_0203","NAD_1983_HARN_StatePlane_Arkansas_North_FIPS_0301","NAD_1983_HARN_StatePlane_Arkansas_South_FIPS_0302","NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501","NAD_1983_HARN_StatePlane_Colorado_Central_FIPS_0502","NAD_1983_HARN_StatePlane_Colorado_South_FIPS_0503","NAD_1983_HARN_StatePlane_Connecticut_FIPS_0600","NAD_1983_HARN_StatePlane_Delaware_FIPS_0700","NAD_1983_HARN_StatePlane_Florida_East_FIPS_0901","NAD_1983_HARN_StatePlane_Florida_West_FIPS_0902","NAD_1983_HARN_StatePlane_Florida_North_FIPS_0903","NAD_1983_HARN_StatePlane_Hawaii_1_FIPS_5101","NAD_1983_HARN_StatePlane_Hawaii_2_FIPS_5102","NAD_1983_HARN_StatePlane_Hawaii_3_FIPS_5103","NAD_1983_HARN_StatePlane_Hawaii_4_FIPS_5104","NAD_1983_HARN_StatePlane_Hawaii_5_FIPS_5105","NAD_1983_HARN_StatePlane_Georgia_East_FIPS_1001","NAD_1983_HARN_StatePlane_Georgia_West_FIPS_1002","NAD_1983_HARN_StatePlane_Idaho_East_FIPS_1101","NAD_1983_HARN_StatePlane_Idaho_Central_FIPS_1102","NAD_1983_HARN_StatePlane_Idaho_West_FIPS_1103","NAD_1983_HARN_StatePlane_Illinois_East_FIPS_1201","NAD_1983_HARN_StatePlane_Illinois_West_FIPS_1202","NAD_1983_HARN_StatePlane_Indiana_East_FIPS_1301","NAD_1983_HARN_StatePlane_Indiana_West_FIPS_1302","NAD_1983_HARN_StatePlane_Iowa_North_FIPS_1401","NAD_1983_HARN_StatePlane_Iowa_South_FIPS_1402","NAD_1983_HARN_StatePlane_Kansas_North_FIPS_1501","NAD_1983_HARN_StatePlane_Kansas_South_FIPS_1502","NAD_1983_HARN_StatePlane_Kentucky_North_FIPS_1601","NAD_1983_HARN_StatePlane_Kentucky_South_FIPS_1602","NAD_1983_HARN_StatePlane_Louisiana_North_FIPS_1701","NAD_1983_HARN_StatePlane_Louisiana_South_FIPS_1702","NAD_1983_HARN_StatePlane_Maine_East_FIPS_1801","NAD_1983_HARN_StatePlane_Maine_West_FIPS_1802","NAD_1983_HARN_StatePlane_Maryland_FIPS_1900","NAD_1983_HARN_StatePlane_Massachusetts_Mainland_FIPS_2001","NAD_1983_HARN_StatePlane_Massachusetts_Island_FIPS_2002","NAD_1983_HARN_StatePlane_Michigan_North_FIPS_2111","NAD_1983_HARN_StatePlane_Michigan_Central_FIPS_2112","NAD_1983_HARN_StatePlane_Michigan_South_FIPS_2113","NAD_1983_HARN_StatePlane_Minnesota_North_FIPS_2201","NAD_1983_HARN_StatePlane_Minnesota_Central_FIPS_2202","NAD_1983_HARN_StatePlane_Minnesota_South_FIPS_2203","NAD_1983_HARN_StatePlane_Mississippi_East_FIPS_2301","NAD_1983_HARN_StatePlane_Mississippi_West_FIPS_2302","NAD_1983_HARN_StatePlane_Missouri_East_FIPS_2401","NAD_1983_HARN_StatePlane_Missouri_Central_FIPS_2402","NAD_1983_HARN_StatePlane_Missouri_West_FIPS_2403","Berghaus_Star_AAG","NAD_1983_HARN_StatePlane_Montana_FIPS_2500","NAD_1983_HARN_StatePlane_Nebraska_FIPS_2600","CRTM05","Nepal_Nagarkot_TM","NAD_1983_HARN_StatePlane_Nevada_East_FIPS_2701","NAD_1983_HARN_StatePlane_Nevada_Central_FIPS_2702","NAD_1983_HARN_StatePlane_Nevada_West_FIPS_2703","NAD_1983_HARN_StatePlane_New_Hampshire_FIPS_2800","NAD_1983_HARN_StatePlane_New_Jersey_FIPS_2900","NAD_1983_HARN_StatePlane_New_Mexico_East_FIPS_3001","NAD_1983_HARN_StatePlane_New_Mexico_Central_FIPS_3002","NAD_1983_HARN_StatePlane_New_Mexico_West_FIPS_3003","NAD_1983_HARN_StatePlane_New_York_East_FIPS_3101","NAD_1983_HARN_StatePlane_New_York_Central_FIPS_3102","NAD_1983_HARN_StatePlane_New_York_West_FIPS_3103","NAD_1983_HARN_StatePlane_New_York_Long_Island_FIPS_3104","CGRS_1993_LTM","NAD_1983_HARN_StatePlane_North_Dakota_North_FIPS_3301","NAD_1983_HARN_StatePlane_North_Dakota_South_FIPS_3302","NAD_1983_HARN_StatePlane_Ohio_North_FIPS_3401","NAD_1983_HARN_StatePlane_Ohio_South_FIPS_3402","NAD_1983_HARN_StatePlane_Oklahoma_North_FIPS_3501","NAD_1983_HARN_StatePlane_Oklahoma_South_FIPS_3502","NAD_1983_HARN_StatePlane_Oregon_North_FIPS_3601","NAD_1983_HARN_StatePlane_Oregon_South_FIPS_3602","ETRS_1989_UTM_Zone_32N_7stellen","ETRS_1989_UTM_Zone_32N_8stellen","NAD_1983_HARN_StatePlane_Rhode_Island_FIPS_3800","PTRA08_UTM_Zone_25N","PTRA08_UTM_Zone_26N","PTRA08_UTM_Zone_28N","NAD_1983_HARN_StatePlane_South_Dakota_North_FIPS_4001","NAD_1983_HARN_StatePlane_South_Dakota_South_FIPS_4002","NAD_1983_HARN_StatePlane_Tennessee_FIPS_4100","NAD_1983_HARN_StatePlane_Texas_North_FIPS_4201","NAD_1983_HARN_StatePlane_Texas_North_Central_FIPS_4202","NAD_1983_HARN_StatePlane_Texas_Central_FIPS_4203","NAD_1983_HARN_StatePlane_Texas_South_Central_FIPS_4204","NAD_1983_HARN_StatePlane_Texas_South_FIPS_4205","NAD_1983_HARN_StatePlane_Utah_North_FIPS_4301","NAD_1983_HARN_StatePlane_Utah_Central_FIPS_4302","NAD_1983_HARN_StatePlane_Utah_South_FIPS_4303","NAD_1983_HARN_StatePlane_Vermont_FIPS_4400","NAD_1983_HARN_StatePlane_Virginia_North_FIPS_4501","NAD_1983_HARN_StatePlane_Virginia_South_FIPS_4502","NAD_1983_HARN_StatePlane_Washington_North_FIPS_4601","NAD_1983_HARN_StatePlane_Washington_South_FIPS_4602","NAD_1983_HARN_StatePlane_West_Virginia_North_FIPS_4701","NAD_1983_HARN_StatePlane_West_Virginia_South_FIPS_4702","NAD_1983_HARN_StatePlane_Wisconsin_North_FIPS_4801","NAD_1983_HARN_StatePlane_Wisconsin_Central_FIPS_4802","NAD_1983_HARN_StatePlane_Wisconsin_South_FIPS_4803","NAD_1983_HARN_StatePlane_Wyoming_East_FIPS_4901","NAD_1983_HARN_StatePlane_Wyoming_East_Central_FIPS_4902","NAD_1983_HARN_StatePlane_Wyoming_West_Central_FIPS_4903","NAD_1983_HARN_StatePlane_Wyoming_West_FIPS_4904","ETRS_1989_UTM_Zone_33N_7stellen","ETRS_1989_UTM_Zone_33N_8stellen","NAD_1983_HARN_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200","ETRS_1989_UTM_Zone_N32","NAD_1983_HARN_StatePlane_Kentucky_FIPS_1600","NAD_1983_CORS96_UTM_Zone_59N","NAD_1983_CORS96_UTM_Zone_60N","NAD_1983_CORS96_StatePlane_Alaska_1_FIPS_5001","NAD_1983_CORS96_StatePlane_Alaska_2_FIPS_5002","NAD_1983_CORS96_StatePlane_Alaska_3_FIPS_5003","NAD_1983_CORS96_StatePlane_Alaska_4_FIPS_5004","NAD_1983_CORS96_StatePlane_Alaska_5_FIPS_5005","NAD_1983_CORS96_StatePlane_Alaska_6_FIPS_5006","NAD_1983_CORS96_StatePlane_Alaska_7_FIPS_5007","NAD_1983_CORS96_StatePlane_Alaska_8_FIPS_5008","NAD_1983_CORS96_StatePlane_Alaska_9_FIPS_5009","NAD_1983_CORS96_StatePlane_Alaska_10_FIPS_5010","NAD_1983_CORS96_StatePlane_Oregon_North_FIPS_3601","NAD_1983_CORS96_StatePlane_Oregon_South_FIPS_3602","NAD_1983_CORS96_StatePlane_Oregon_North_FIPS_3601_Ft_Intl","NAD_1983_CORS96_StatePlane_Oregon_South_FIPS_3602_Ft_Intl","NAD_1983_CORS96_Oregon_Statewide_Lambert","NAD_1983_CORS96_Oregon_Statewide_Lambert_Ft_Intl","NAD_1983_2011_UTM_Zone_13N","NAD_1983_2011_UTM_Zone_14N","NAD_1983_2011_UTM_Zone_15N","NAD_1983_2011_UTM_Zone_16N","NAD_1983_2011_UTM_Zone_17N","NAD_1983_2011_UTM_Zone_18N","NAD_1983_2011_UTM_Zone_19N","NAD_1983_Fargo_Ground_Coordinate_System","NAD_1983_HARN_Fargo_Ground_Coordinate_System","NAD_1983_2011_Fargo_Ground_Coordinate_System","NAD_1983_2011_StatePlane_Alaska_4_FIPS_5004_Feet","NAD_1983_2011_StatePlane_Alaska_5_FIPS_5005_Feet","NAD_1983_2011_StatePlane_Alaska_6_FIPS_5006_Feet","NAD_1983_2011_StatePlane_Alaska_7_FIPS_5007_Feet","NAD_1983_2011_StatePlane_Alaska_8_FIPS_5008_Feet","NAD_1983_2011_StatePlane_Alaska_9_FIPS_5009_Feet","NAD_1983_2011_StatePlane_Alaska_10_FIPS_5010_Feet","NAD_1983_CORS96_UTM_Zone_1N","NAD_1983_CORS96_UTM_Zone_2N","NAD_1983_CORS96_UTM_Zone_3N","NAD_1983_CORS96_UTM_Zone_4N","NAD_1983_CORS96_UTM_Zone_5N","NAD_1983_CORS96_UTM_Zone_6N","NAD_1983_CORS96_UTM_Zone_7N","NAD_1983_CORS96_UTM_Zone_8N","NAD_1983_CORS96_UTM_Zone_9N","NAD_1983_CORS96_UTM_Zone_10N","NAD_1983_CORS96_UTM_Zone_11N","NAD_1983_CORS96_UTM_Zone_12N","NAD_1983_CORS96_UTM_Zone_13N","NAD_1983_CORS96_UTM_Zone_14N","NAD_1983_CORS96_UTM_Zone_15N","NAD_1983_CORS96_UTM_Zone_16N","NAD_1983_CORS96_UTM_Zone_17N","NAD_1983_CORS96_UTM_Zone_18N","NAD_1983_CORS96_UTM_Zone_19N","ISN_2004_Lambert_2004","WGS_1984_ARC_System_Zone_01","WGS_1984_ARC_System_Zone_02","WGS_1984_ARC_System_Zone_03","WGS_1984_ARC_System_Zone_04","WGS_1984_ARC_System_Zone_05","WGS_1984_ARC_System_Zone_06","WGS_1984_ARC_System_Zone_07","WGS_1984_ARC_System_Zone_08","WGS_1984_ARC_System_Zone_09","WGS_1984_ARC_System_Zone_10","WGS_1984_ARC_System_Zone_11","WGS_1984_ARC_System_Zone_12","WGS_1984_ARC_System_Zone_13","WGS_1984_ARC_System_Zone_14","WGS_1984_ARC_System_Zone_15","WGS_1984_ARC_System_Zone_16","WGS_1984_ARC_System_Zone_17","WGS_1984_ARC_System_Zone_18","WGS_1984_Australian_Centre_for_Remote_Sensing_Lambert","LKS_1992_Latvia_TM_0","TWD_1967_TM_Taiwan","TWD_1967_TM_Penghu","TWD_1997_TM_Taiwan","TWD_1997_TM_Penghu","NAD_1983_2011_StatePlane_Alaska_1_FIPS_5001_Feet","NAD_1983_2011_StatePlane_Alaska_2_FIPS_5002_Feet","NAD_1983_2011_StatePlane_Alaska_3_FIPS_5003_Feet","Macao_2008_Macau_Grid","NAD_1983_MA11_UTM_Zone_55N","NGO_1948_Oslo_Baerum_Kommune","NGO_1948_Oslo_Bergenhalvoen","NGO_1948_Oslo_Oslo_Kommune","Luzon_1911_UTM_Zone_50N","Luzon_1911_UTM_Zone_51N","Luzon_1911_UTM_Zone_52N","PRS_1992_UTM_Zone_50N","PRS_1992_UTM_Zone_51N","PRS_1992_UTM_Zone_52N","NAD_1983_Idaho-Ada_County","HJAIA_AirportGrid_2Mar10","NAD_1983_HARN_StatePlane_Hawaii_1_FIPS_5101_Feet","NAD_1983_HARN_StatePlane_Hawaii_2_FIPS_5102_Feet","NAD_1983_HARN_StatePlane_Hawaii_3_FIPS_5103_Feet","NAD_1983_HARN_StatePlane_Hawaii_4_FIPS_5104_Feet","NAD_1983_HARN_StatePlane_Hawaii_5_FIPS_5105_Feet","NAD_1983_HARN_StatePlane_Minnesota_North_FIPS_2201_Feet","NAD_1983_HARN_StatePlane_Minnesota_Central_FIPS_2202_Feet","NAD_1983_HARN_StatePlane_Minnesota_South_FIPS_2203_Feet","NAD_1983_HARN_Mississippi_TM","Cape_Lo15","Cape_Lo17","Cape_Lo19","Cape_Lo21","Cape_Lo23","Cape_Lo25","Cape_Lo27","Cape_Lo29","Cape_Lo31","Cape_Lo33","Hartebeesthoek94_Lo15","Hartebeesthoek94_Lo17","Hartebeesthoek94_Lo19","Hartebeesthoek94_Lo21","Hartebeesthoek94_Lo23","Hartebeesthoek94_Lo25","Hartebeesthoek94_Lo27","Hartebeesthoek94_Lo29","Hartebeesthoek94_Lo31","Hartebeesthoek94_Lo33","GDBD2009_GEORSO","Nord_Algerie_Ancienne_Degree","Sud_Algerie_Ancienne_Degree","NAD_1983_PA11_UTM_Zone_4N","NAD_1983_PA11_UTM_Zone_5N","NAD_1983_MA11_Guam_Map_Grid","NAD_1983_PA11_UTM_Zone_2S","OCRS_Baker_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Bend-Burns_NAD_1983_CORS96_LCC_Feet_Intl","OCRS_Bend-Klamath_Falls_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Bend-Redmond-Prineville_NAD_1983_CORS96_LCC_Feet_Intl","OCRS_Canyonville-Grants_Pass_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Columbia_River_East_NAD_1983_CORS96_LCC_Feet_Intl","OCRS_Columbia_River_West_NAD_1983_CORS96_OM_Feet_Intl","OCRS_Cottage_Grove-Canyonville_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Dufur-Madras_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Eugene_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Grants_Pass-Ashland_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Gresham-Warm_Springs_NAD_1983_CORS96_TM_Feet_Intl","OCRS_La_Grande_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Ontario_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Oregon_Coast_NAD_1983_CORS96_OM_Feet_Intl","OCRS_Pendleton-La_Grande_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Pendleton_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Portland_NAD_1983_CORS96_LCC_Feet_Intl","OCRS_Salem_NAD_1983_CORS96_TM_Feet_Intl","OCRS_Santiam_Pass_NAD_1983_CORS96_TM_Feet_Intl","NAD_1983_PA11_StatePlane_Hawaii_1_FIPS_5101","NAD_1983_PA11_StatePlane_Hawaii_2_FIPS_5102","NAD_1983_PA11_StatePlane_Hawaii_3_FIPS_5103","NAD_1983_PA11_StatePlane_Hawaii_4_FIPS_5104","NAD_1983_PA11_StatePlane_Hawaii_5_FIPS_5105","NAD_1983_PA11_StatePlane_Hawaii_1_FIPS_5101_Feet","NAD_1983_PA11_StatePlane_Hawaii_2_FIPS_5102_Feet","NAD_1983_PA11_StatePlane_Hawaii_3_FIPS_5103_Feet","NAD_1983_PA11_StatePlane_Hawaii_4_FIPS_5104_Feet","NAD_1983_PA11_StatePlane_Hawaii_5_FIPS_5105_Feet","OCRS_Baker_NAD_1983_CORS96_TM_Meters","OCRS_Bend-Burns_NAD_1983_CORS96_LCC_Meters","OCRS_Bend-Klamath_Falls_NAD_1983_CORS96_TM_Meters","OCRS_Bend-Redmond-Prineville_NAD_1983_CORS96_LCC_Meters","OCRS_Canyonville-Grants_Pass_NAD_1983_CORS96_TM_Meters","OCRS_Columbia_River_East_NAD_1983_CORS96_LCC_Meters","OCRS_Columbia_River_West_NAD_1983_CORS96_OM_Meters","OCRS_Cottage_Grove-Canyonville_NAD_1983_CORS96_TM_Meters","OCRS_Dufur-Madras_NAD_1983_CORS96_TM_Meters","OCRS_Eugene_NAD_1983_CORS96_TM_Meters","OCRS_Grants_Pass-Ashland_NAD_1983_CORS96_TM_Meters","OCRS_Gresham-Warm_Springs_NAD_1983_CORS96_TM_Meters","OCRS_La_Grande_NAD_1983_CORS96_TM_Meters","OCRS_Ontario_NAD_1983_CORS96_TM_Meters","OCRS_Oregon_Coast_NAD_1983_CORS96_OM_Meters","OCRS_Pendleton-La_Grande_NAD_1983_CORS96_TM_Meters","OCRS_Pendleton_NAD_1983_CORS96_TM_Meters","OCRS_Portland_NAD_1983_CORS96_LCC_Meters","OCRS_Salem_NAD_1983_CORS96_TM_Meters","OCRS_Santiam_Pass_NAD_1983_CORS96_TM_Meters","ED_1950_Turkey_9","ED_1950_Turkey_10","ED_1950_Turkey_11","ED_1950_Turkey_12","ED_1950_Turkey_13","ED_1950_Turkey_14","ED_1950_Turkey_15","Kyrg-06_TM_Zone_1","Kyrg-06_TM_Zone_2","Kyrg-06_TM_Zone_3","Kyrg-06_TM_Zone_4","Kyrg-06_TM_Zone_5","WGS_1984_Complex_UTM_Zone_20N","WGS_1984_Complex_UTM_Zone_21N","WGS_1984_Complex_UTM_Zone_22N","WGS_1984_Complex_UTM_Zone_23N","WGS_1984_Complex_UTM_Zone_24N","WGS_1984_Complex_UTM_Zone_25N","WGS_1984_Complex_UTM_Zone_26N","WGS_1984_Complex_UTM_Zone_27N","WGS_1984_Complex_UTM_Zone_28N","WGS_1984_Complex_UTM_Zone_29N","WGS_1984_Complex_UTM_Zone_30N","NTF_France_I_degrees","NTF_France_II_degrees","NTF_France_III_degrees","NTF_France_IV_degrees","NTF_Lambert_Zone_I","NTF_Lambert_Zone_II","NTF_Lambert_Zone_III","NTF_Lambert_Zone_IV","Panhandle_Energy_Albers","Tananarive_1925_Laborde_Grid","Nord_Algerie_Degree","Sud_Algerie_Degree","JGD_2011_UTM_Zone_51N","JGD_2011_UTM_Zone_52N","JGD_2011_UTM_Zone_53N","JGD_2011_UTM_Zone_54N","JGD_2011_UTM_Zone_55N","JGD_2011_UTM_Zone_56N","WGS_1984_California_Teale_Albers_FtUS","NAD_1983_California_Teale_Albers_FtUS","NAD_1983_Texas_Centric_Mapping_System_Albers","NAD_1983_Texas_Centric_Mapping_System_Lambert","NAD_1983_Texas_Statewide_Mapping_System","NAD_1983_Georgia_Statewide_Lambert","NAD_1983_Idaho_TM","NAD_1983_Maine_2000_East_Zone","NAD_1983_Maine_2000_Central_Zone","NAD_1983_Maine_2000_West_Zone","NAD_1983_Mississippi_TM","JGD_2011_Japan_Zone_1","JGD_2011_Japan_Zone_2","JGD_2011_Japan_Zone_3","JGD_2011_Japan_Zone_4","JGD_2011_Japan_Zone_5","JGD_2011_Japan_Zone_6","JGD_2011_Japan_Zone_7","JGD_2011_Japan_Zone_8","JGD_2011_Japan_Zone_9","JGD_2011_Japan_Zone_10","JGD_2011_Japan_Zone_11","JGD_2011_Japan_Zone_12","JGD_2011_Japan_Zone_13","JGD_2011_Japan_Zone_14","JGD_2011_Japan_Zone_15","JGD_2011_Japan_Zone_16","JGD_2011_Japan_Zone_17","JGD_2011_Japan_Zone_18","JGD_2011_Japan_Zone_19","NAD_1983_StatePlane_Alabama_East_FIPS_0101_Feet","NAD_1983_StatePlane_Alabama_West_FIPS_0102_Feet","NAD_1983_StatePlane_Alaska_1_FIPS_5001_Feet","NAD_1983_StatePlane_Alaska_2_FIPS_5002_Feet","NAD_1983_StatePlane_Alaska_3_FIPS_5003_Feet","NAD_1983_StatePlane_Alaska_4_FIPS_5004_Feet","NAD_1983_StatePlane_Alaska_5_FIPS_5005_Feet","NAD_1983_StatePlane_Alaska_6_FIPS_5006_Feet","NAD_1983_StatePlane_Alaska_7_FIPS_5007_Feet","NAD_1983_StatePlane_Alaska_8_FIPS_5008_Feet","NAD_1983_StatePlane_Alaska_9_FIPS_5009_Feet","NAD_1983_StatePlane_Alaska_10_FIPS_5010_Feet","NAD_1983_StatePlane_California_I_FIPS_0401_Feet","NAD_1983_StatePlane_California_II_FIPS_0402_Feet","NAD_1983_StatePlane_California_III_FIPS_0403_Feet","NAD_1983_StatePlane_California_IV_FIPS_0404_Feet","NAD_1983_StatePlane_California_V_FIPS_0405_Feet","NAD_1983_StatePlane_California_VI_FIPS_0406_Feet","NAD_1983_NSRS2007_StatePlane_Puerto_Rico_Virgin_Isls_FIPS_5200","NAD_1983_StatePlane_Arizona_East_FIPS_0201_Feet","NAD_1983_StatePlane_Arizona_Central_FIPS_0202_Feet","NAD_1983_StatePlane_Arizona_West_FIPS_0203_Feet","NAD_1983_StatePlane_Arkansas_North_FIPS_0301_Feet","NAD_1983_StatePlane_Arkansas_South_FIPS_0302_Feet","NAD_1983_StatePlane_Colorado_North_FIPS_0501_Feet","NAD_1983_StatePlane_Colorado_Central_FIPS_0502_Feet","NAD_1983_StatePlane_Colorado_South_FIPS_0503_Feet","NAD_1983_StatePlane_Connecticut_FIPS_0600_Feet","NAD_1983_StatePlane_Delaware_FIPS_0700_Feet","NAD_1983_StatePlane_Florida_East_FIPS_0901_Feet","NAD_1983_StatePlane_Florida_West_FIPS_0902_Feet","NAD_1983_StatePlane_Florida_North_FIPS_0903_Feet","NAD_1983_StatePlane_Hawaii_1_FIPS_5101_Feet","NAD_1983_StatePlane_Hawaii_2_FIPS_5102_Feet","NAD_1983_StatePlane_Hawaii_3_FIPS_5103_Feet","NAD_1983_StatePlane_Hawaii_4_FIPS_5104_Feet","NAD_1983_StatePlane_Hawaii_5_FIPS_5105_Feet","NAD_1983_StatePlane_Georgia_East_FIPS_1001_Feet","NAD_1983_StatePlane_Georgia_West_FIPS_1002_Feet","NAD_1983_StatePlane_Idaho_East_FIPS_1101_Feet","NAD_1983_StatePlane_Idaho_Central_FIPS_1102_Feet","NAD_1983_StatePlane_Idaho_West_FIPS_1103_Feet","NAD_1983_StatePlane_Illinois_East_FIPS_1201_Feet","NAD_1983_StatePlane_Illinois_West_FIPS_1202_Feet","NAD_1983_StatePlane_Indiana_East_FIPS_1301_Feet","NAD_1983_StatePlane_Indiana_West_FIPS_1302_Feet","NAD_1983_StatePlane_Iowa_North_FIPS_1401_Feet","NAD_1983_StatePlane_Iowa_South_FIPS_1402_Feet","NAD_1983_StatePlane_Kansas_North_FIPS_1501_Feet","NAD_1983_StatePlane_Kansas_South_FIPS_1502_Feet","NAD_1983_StatePlane_Kentucky_North_FIPS_1601_Feet","NAD_1983_StatePlane_Kentucky_South_FIPS_1602_Feet","NAD_1983_StatePlane_Louisiana_North_FIPS_1701_Feet","NAD_1983_StatePlane_Louisiana_South_FIPS_1702_Feet","NAD_1983_StatePlane_Maine_East_FIPS_1801_Feet","NAD_1983_StatePlane_Maine_West_FIPS_1802_Feet","NAD_1983_StatePlane_Maryland_FIPS_1900_Feet","NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001_Feet","NAD_1983_StatePlane_Massachusetts_Island_FIPS_2002_Feet","NAD_1983_StatePlane_Michigan_North_FIPS_2111_Feet","NAD_1983_StatePlane_Michigan_Central_FIPS_2112_Feet","NAD_1983_StatePlane_Michigan_South_FIPS_2113_Feet","NAD_1983_StatePlane_Minnesota_North_FIPS_2201_Feet","NAD_1983_StatePlane_Minnesota_Central_FIPS_2202_Feet","NAD_1983_StatePlane_Minnesota_South_FIPS_2203_Feet","NAD_1983_StatePlane_Mississippi_East_FIPS_2301_Feet","NAD_1983_StatePlane_Mississippi_West_FIPS_2302_Feet","NAD_1983_StatePlane_Missouri_East_FIPS_2401_Feet","NAD_1983_StatePlane_Missouri_Central_FIPS_2402_Feet","NAD_1983_StatePlane_Missouri_West_FIPS_2403_Feet","NAD_1927_StatePlane_California_V_Ventura","NAD_1983_StatePlane_Montana_FIPS_2500_Feet","NAD_1983_PACP00_UTM_Zone_4N","NAD_1983_PACP00_UTM_Zone_5N","NAD_1983_PACP00_UTM_Zone_2S","NAD_1983_StatePlane_Nebraska_FIPS_2600_Feet","NAD_1983_Nebraska_Lancaster_County_FtUS","Palestine_1923_Palestine_Grid_TM","NAD_1983_StatePlane_Nevada_East_FIPS_2701_Feet","NAD_1983_StatePlane_Nevada_Central_FIPS_2702_Feet","NAD_1983_StatePlane_Nevada_West_FIPS_2703_Feet","NAD_1983_StatePlane_New_Hampshire_FIPS_2800_Feet","NAD_1983_StatePlane_New_Jersey_FIPS_2900_Feet","NAD_1983_StatePlane_New_Mexico_East_FIPS_3001_Feet","NAD_1983_StatePlane_New_Mexico_Central_FIPS_3002_Feet","NAD_1983_StatePlane_New_Mexico_West_FIPS_3003_Feet","NAD_1983_StatePlane_New_York_East_FIPS_3101_Feet","NAD_1983_StatePlane_New_York_Central_FIPS_3102_Feet","NAD_1983_StatePlane_New_York_West_FIPS_3103_Feet","NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104_Feet","NAD_1983_StatePlane_North_Carolina_FIPS_3200_Feet","NAD_1983_StatePlane_North_Dakota_North_FIPS_3301_Feet","NAD_1983_StatePlane_North_Dakota_South_FIPS_3302_Feet","NAD_1983_StatePlane_Ohio_North_FIPS_3401_Feet","NAD_1983_StatePlane_Ohio_South_FIPS_3402_Feet","NAD_1983_StatePlane_Oklahoma_North_FIPS_3501_Feet","NAD_1983_StatePlane_Oklahoma_South_FIPS_3502_Feet","NAD_1983_StatePlane_Oregon_North_FIPS_3601_Feet","NAD_1983_StatePlane_Oregon_South_FIPS_3602_Feet","NAD_1983_StatePlane_Pennsylvania_North_FIPS_3701_Feet","NAD_1983_StatePlane_Pennsylvania_South_FIPS_3702_Feet","NAD_1983_StatePlane_Rhode_Island_FIPS_3800_Feet","NAD_1983_StatePlane_South_Carolina_FIPS_3900_Feet","NAD_1983_StatePlane_South_Dakota_North_FIPS_4001_Feet","NAD_1983_StatePlane_South_Dakota_South_FIPS_4002_Feet","NAD_1983_StatePlane_Tennessee_FIPS_4100_Feet","NAD_1983_StatePlane_Texas_North_FIPS_4201_Feet","NAD_1983_StatePlane_Texas_North_Central_FIPS_4202_Feet","NAD_1983_StatePlane_Texas_Central_FIPS_4203_Feet","NAD_1983_StatePlane_Texas_South_Central_FIPS_4204_Feet","NAD_1983_StatePlane_Texas_South_FIPS_4205_Feet","NAD_1983_StatePlane_Utah_North_FIPS_4301_Feet","NAD_1983_StatePlane_Utah_Central_FIPS_4302_Feet","NAD_1983_StatePlane_Utah_South_FIPS_4303_Feet","NAD_1983_StatePlane_Vermont_FIPS_4400_Feet","NAD_1983_StatePlane_Virginia_North_FIPS_4501_Feet","NAD_1983_StatePlane_Virginia_South_FIPS_4502_Feet","NAD_1983_StatePlane_Washington_North_FIPS_4601_Feet","NAD_1983_StatePlane_Washington_South_FIPS_4602_Feet","NAD_1983_StatePlane_West_Virginia_North_FIPS_4701_Feet","NAD_1983_StatePlane_West_Virginia_South_FIPS_4702_Feet","NAD_1983_StatePlane_Wisconsin_North_FIPS_4801_Feet","NAD_1983_StatePlane_Wisconsin_Central_FIPS_4802_Feet","NAD_1983_StatePlane_Wisconsin_South_FIPS_4803_Feet","NAD_1983_StatePlane_Wyoming_East_FIPS_4901_Feet","NAD_1983_StatePlane_Wyoming_East_Central_FIPS_4902_Feet","NAD_1983_StatePlane_Wyoming_West_Central_FIPS_4903_Feet","NAD_1983_StatePlane_Wyoming_West_FIPS_4904_Feet","NAD_1983_StatePlane_Puerto_Rico_Virgin_Islands_FIPS_5200_Feet","Katanga_1955_Katanga_Lambert","NAD_1983_StatePlane_Kentucky_FIPS_1600_Feet","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_7","Pulkovo_1942_Adj_1983_3_Degree_GK_Zone_8","NAD_1983_StatePlane_Guam_FIPS_5400_Feet","MAGNA_Leticia_Amazonas_1994","MAGNA_Medellin_Antioquia_2010","MAGNA_Arauca_2007","MAGNA_Barranquilla_Atlantico_1997","MAGNA_Bogota_DC_2005","MAGNA_Cartagena_Bolivar_2005","MAGNA_Tunja_Boyaca_1997","MAGNA_Manizales_Caldas_2011","MAGNA_Florencia_Caqueta_2007","MAGNA_Yopal_Casanare_2006","MAGNA_Popayan_Cauca_2006","MAGNA_Valledupar_Cesar_2011","MAGNA_Quibdo_Choco_2011","MAGNA_Monteria_Cordoba_2006","MAGNA_Inirida_Guainia_2008","MAGNA_San_Jose_del_Guaviare_2011","MAGNA_Neiva_Huila_2006","MAGNA_Riohacha_La_Guajira_2006","MAGNA_Santa_Marta_Magdalena_2007","MAGNA_Villavicencio_Meta_2011","MAGNA_Pasto_Narino_2008","MAGNA_Cucuta_Norte_de_Santander_2011","MAGNA_Mocoa_Putumayo_2011","MAGNA_Armenia_Quindio_2006","MAGNA_Pereira_Risaralda_2007","MAGNA_San_Andres_2007","MAGNA_Bucaramanga_Santander_2008","MAGNA_Sucre_2006","MAGNA_Ibague_Tolima_2007","MAGNA_Cali_Valle_del_Cauca_2009","MAGNA_Mitu_Vaupes_2011","MAGNA_Puerto_Carreno_Vichada_2011","NAD_1983_2011_California_Teale_Albers","NAD_1983_2011_Mississippi_TM","NAD_1983_2011_Contiguous_USA_Albers","NAD_1983_2011_Alaska_Albers","NAD_1983_2011_Florida_GDL_Albers","NAD_1983_2011_Michigan_GeoRef_Meters","NAD_1983_2011_Oregon_Statewide_Lambert","NAD_1983_2011_Oregon_Statewide_Lambert_Ft_Intl","NAD_1983_2011_Texas_Centric_Mapping_System_Albers","NAD_1983_2011_Texas_Centric_Mapping_System_Lambert","NAD_1983_2011_Wisconsin_TM","NAD_1983_2011_Wisconsin_TM_US_Ft","NAD_1983_2011_StatePlane_Alabama_East_FIPS_0101","NAD_1983_2011_StatePlane_Alabama_West_FIPS_0102","NAD_1983_2011_StatePlane_Alaska_1_FIPS_5001","NAD_1983_2011_StatePlane_Alaska_2_FIPS_5002","NAD_1983_2011_StatePlane_Alaska_3_FIPS_5003","NAD_1983_2011_StatePlane_Alaska_4_FIPS_5004","NAD_1983_2011_StatePlane_Alaska_5_FIPS_5005","NAD_1983_2011_StatePlane_Alaska_6_FIPS_5006","NAD_1983_2011_StatePlane_Alaska_7_FIPS_5007","NAD_1983_2011_StatePlane_Alaska_8_FIPS_5008","NAD_1983_2011_StatePlane_Alaska_9_FIPS_5009","NAD_1983_2011_StatePlane_Alaska_10_FIPS_5010","NAD_1983_2011_StatePlane_Arizona_East_FIPS_0201","NAD_1983_2011_StatePlane_Arizona_Central_FIPS_0202","NAD_1983_2011_StatePlane_Arizona_West_FIPS_0203","NAD_1983_2011_StatePlane_Arizona_East_FIPS_0201_Ft_Intl","NAD_1983_2011_StatePlane_Arizona_Central_FIPS_0202_Ft_Intl","NAD_1983_2011_StatePlane_Arizona_West_FIPS_0203_Ft_Intl","NAD_1983_2011_StatePlane_Arkansas_North_FIPS_0301","NAD_1983_2011_StatePlane_Arkansas_South_FIPS_0302","NAD_1983_2011_StatePlane_Arkansas_North_FIPS_0301_Ft_US","NAD_1983_2011_StatePlane_Arkansas_South_FIPS_0302_Ft_US","NAD_1983_2011_StatePlane_California_I_FIPS_0401","NAD_1983_2011_StatePlane_California_II_FIPS_0402","NAD_1983_2011_StatePlane_California_III_FIPS_0403","NAD_1983_2011_StatePlane_California_IV_FIPS_0404","NAD_1983_2011_StatePlane_California_V_FIPS_0405","NAD_1983_2011_StatePlane_California_VI_FIPS_0406","NAD_1983_2011_StatePlane_California_I_FIPS_0401_Ft_US","NAD_1983_2011_StatePlane_California_II_FIPS_0402_Ft_US","NAD_1983_2011_StatePlane_California_III_FIPS_0403_Ft_US","NAD_1983_2011_StatePlane_California_IV_FIPS_0404_Ft_US","NAD_1983_2011_StatePlane_California_V_FIPS_0405_Ft_US","NAD_1983_2011_StatePlane_California_VI_FIPS_0406_Ft_US","NAD_1983_2011_StatePlane_Colorado_North_FIPS_0501","NAD_1983_2011_StatePlane_Colorado_Central_FIPS_0502","NAD_1983_2011_StatePlane_Colorado_South_FIPS_0503","NAD_1983_2011_StatePlane_Colorado_North_FIPS_0501_Ft_US","NAD_1983_2011_StatePlane_Colorado_Central_FIPS_0502_Ft_US","NAD_1983_2011_StatePlane_Colorado_South_FIPS_0503_Ft_US","NAD_1983_2011_StatePlane_Connecticut_FIPS_0600","NAD_1983_2011_StatePlane_Connecticut_FIPS_0600_Ft_US","NAD_1983_2011_StatePlane_Delaware_FIPS_0700","NAD_1983_2011_StatePlane_Delaware_FIPS_0700_Ft_US","NAD_1983_2011_StatePlane_Florida_East_FIPS_0901","NAD_1983_2011_StatePlane_Florida_West_FIPS_0902","NAD_1983_2011_StatePlane_Florida_North_FIPS_0903","NAD_1983_2011_StatePlane_Florida_East_FIPS_0901_Ft_US","NAD_1983_2011_StatePlane_Florida_West_FIPS_0902_Ft_US","NAD_1983_2011_StatePlane_Florida_North_FIPS_0903_Ft_US","NAD_1983_2011_StatePlane_Georgia_East_FIPS_1001","NAD_1983_2011_StatePlane_Georgia_West_FIPS_1002","NAD_1983_2011_StatePlane_Georgia_East_FIPS_1001_Ft_US","NAD_1983_2011_StatePlane_Georgia_West_FIPS_1002_Ft_US","NAD_1983_2011_StatePlane_Idaho_East_FIPS_1101","NAD_1983_2011_StatePlane_Idaho_Central_FIPS_1102","NAD_1983_2011_StatePlane_Idaho_West_FIPS_1103","NAD_1983_2011_StatePlane_Idaho_East_FIPS_1101_Ft_US","NAD_1983_2011_StatePlane_Idaho_Central_FIPS_1102_Ft_US","NAD_1983_2011_StatePlane_Idaho_West_FIPS_1103_Ft_US","NAD_1983_2011_StatePlane_Illinois_East_FIPS_1201","NAD_1983_2011_StatePlane_Illinois_West_FIPS_1202","NAD_1983_2011_StatePlane_Illinois_East_FIPS_1201_Ft_US","NAD_1983_2011_StatePlane_Illinois_West_FIPS_1202_Ft_US","NAD_1983_2011_StatePlane_Indiana_East_FIPS_1301","NAD_1983_2011_StatePlane_Indiana_West_FIPS_1302","NAD_1983_2011_StatePlane_Indiana_East_FIPS_1301_Ft_US","NAD_1983_2011_StatePlane_Indiana_West_FIPS_1302_Ft_US","NAD_1983_2011_StatePlane_Iowa_North_FIPS_1401","NAD_1983_2011_StatePlane_Iowa_South_FIPS_1402","NAD_1983_2011_StatePlane_Iowa_North_FIPS_1401_Ft_US","NAD_1983_2011_StatePlane_Iowa_South_FIPS_1402_Ft_US","NAD_1983_2011_StatePlane_Kansas_North_FIPS_1501","NAD_1983_2011_StatePlane_Kansas_South_FIPS_1502","NAD_1983_2011_StatePlane_Kansas_North_FIPS_1501_Ft_US","NAD_1983_2011_StatePlane_Kansas_South_FIPS_1502_Ft_US","NAD_1983_2011_StatePlane_Kentucky_North_FIPS_1601","NAD_1983_2011_StatePlane_Kentucky_North_FIPS_1601_Ft_US","NAD_1983_2011_StatePlane_Kentucky_FIPS_1600","NAD_1983_2011_StatePlane_Kentucky_FIPS_1600_Ft_US","NAD_1983_2011_StatePlane_Kentucky_South_FIPS_1602","NAD_1983_2011_StatePlane_Kentucky_South_FIPS_1602_Ft_US","NAD_1983_2011_StatePlane_Louisiana_North_FIPS_1701","NAD_1983_2011_StatePlane_Louisiana_South_FIPS_1702","NAD_1983_2011_StatePlane_Louisiana_North_FIPS_1701_Ft_US","NAD_1983_2011_StatePlane_Louisiana_South_FIPS_1702_Ft_US","NAD_1983_2011_StatePlane_Maine_East_FIPS_1801","NAD_1983_2011_StatePlane_Maine_West_FIPS_1802","NAD_1983_2011_StatePlane_Maine_East_FIPS_1801_Ft_US","NAD_1983_2011_StatePlane_Maine_West_FIPS_1802_Ft_US","NAD_1983_2011_Maine_2000_East_Zone","NAD_1983_2011_Maine_2000_Central_Zone","NAD_1983_2011_Maine_2000_West_Zone","NAD_1983_2011_StatePlane_Maryland_FIPS_1900","NAD_1983_2011_StatePlane_Maryland_FIPS_1900_Ft_US","NAD_1983_2011_StatePlane_Massachusetts_Mainland_FIPS_2001","NAD_1983_2011_StatePlane_Massachusetts_Island_FIPS_2002","NAD_1983_2011_StatePlane_Massachusetts_Mnld_FIPS_2001_FtUS","NAD_1983_2011_StatePlane_Massachusetts_Isl_FIPS_2002_FtUS","NAD_1983_2011_StatePlane_Michigan_North_FIPS_2111","NAD_1983_2011_StatePlane_Michigan_Central_FIPS_2112","NAD_1983_2011_StatePlane_Michigan_South_FIPS_2113","NAD_1983_2011_StatePlane_Michigan_North_FIPS_2111_Ft_Intl","NAD_1983_2011_StatePlane_Michigan_Central_FIPS_2112_Ft_Intl","NAD_1983_2011_StatePlane_Michigan_South_FIPS_2113_Ft_Intl","NAD_1983_2011_StatePlane_Minnesota_North_FIPS_2201","NAD_1983_2011_StatePlane_Minnesota_Central_FIPS_2202","NAD_1983_2011_StatePlane_Minnesota_South_FIPS_2203","NAD_1983_2011_StatePlane_Minnesota_North_FIPS_2201_Ft_US","NAD_1983_2011_StatePlane_Minnesota_Central_FIPS_2202_Ft_US","NAD_1983_2011_StatePlane_Minnesota_South_FIPS_2203_Ft_US","NAD_1983_2011_StatePlane_Mississippi_East_FIPS_2301","NAD_1983_2011_StatePlane_Mississippi_West_FIPS_2302","NAD_1983_2011_StatePlane_Mississippi_East_FIPS_2301_Ft_US","NAD_1983_2011_StatePlane_Mississippi_West_FIPS_2302_Ft_US","NAD_1983_2011_StatePlane_Missouri_East_FIPS_2401","NAD_1983_2011_StatePlane_Missouri_Central_FIPS_2402","NAD_1983_2011_StatePlane_Missouri_West_FIPS_2403","NAD_1983_2011_StatePlane_Montana_FIPS_2500","NAD_1983_2011_StatePlane_Montana_FIPS_2500_Ft_Intl","NAD_1983_2011_StatePlane_Nebraska_FIPS_2600","NAD_1983_2011_StatePlane_Nebraska_FIPS_2600_Ft_US","NAD_1983_2011_StatePlane_Nevada_East_FIPS_2701","NAD_1983_2011_StatePlane_Nevada_Central_FIPS_2702","NAD_1983_2011_StatePlane_Nevada_West_FIPS_2703","NAD_1983_2011_StatePlane_Nevada_East_FIPS_2701_Ft_US","NAD_1983_2011_StatePlane_Nevada_Central_FIPS_2702_Ft_US","NAD_1983_2011_StatePlane_Nevada_West_FIPS_2703_Ft_US","NAD_1983_2011_StatePlane_New_Hampshire_FIPS_2800","NAD_1983_2011_StatePlane_New_Hampshire_FIPS_2800_Ft_US","NAD_1983_2011_StatePlane_New_Jersey_FIPS_2900","NAD_1983_2011_StatePlane_New_Jersey_FIPS_2900_Ft_US","NAD_1983_2011_StatePlane_New_Mexico_East_FIPS_3001","NAD_1983_2011_StatePlane_New_Mexico_Central_FIPS_3002","NAD_1983_2011_StatePlane_New_Mexico_West_FIPS_3003","NAD_1983_2011_StatePlane_New_Mexico_East_FIPS_3001_Ft_US","NAD_1983_2011_StatePlane_New_Mexico_Central_FIPS_3002_Ft_US","NAD_1983_2011_StatePlane_New_Mexico_West_FIPS_3003_Ft_US","NAD_1983_2011_StatePlane_New_York_East_FIPS_3101","NAD_1983_2011_StatePlane_New_York_Central_FIPS_3102","NAD_1983_2011_StatePlane_New_York_West_FIPS_3103","NAD_1983_2011_StatePlane_New_York_Long_Island_FIPS_3104","NAD_1983_2011_StatePlane_New_York_East_FIPS_3101_Ft_US","NAD_1983_2011_StatePlane_New_York_Central_FIPS_3102_Ft_US","NAD_1983_2011_StatePlane_New_York_West_FIPS_3103_Ft_US","NAD_1983_2011_StatePlane_New_York_Long_Isl_FIPS_3104_Ft_US","NAD_1983_2011_StatePlane_North_Carolina_FIPS_3200","NAD_1983_2011_StatePlane_North_Carolina_FIPS_3200_Ft_US","NAD_1983_2011_StatePlane_North_Dakota_North_FIPS_3301","NAD_1983_2011_StatePlane_North_Dakota_South_FIPS_3302","NAD_1983_2011_StatePlane_North_Dakota_North_FIPS_3301_FtI","NAD_1983_2011_StatePlane_North_Dakota_South_FIPS_3302_FtI","NAD_1983_2011_StatePlane_Ohio_North_FIPS_3401","NAD_1983_2011_StatePlane_Ohio_South_FIPS_3402","NAD_1983_2011_StatePlane_Ohio_North_FIPS_3401_Ft_US","NAD_1983_2011_StatePlane_Ohio_South_FIPS_3402_Ft_US","NAD_1983_2011_StatePlane_Oklahoma_North_FIPS_3501","NAD_1983_2011_StatePlane_Oklahoma_South_FIPS_3502","NAD_1983_2011_StatePlane_Oklahoma_North_FIPS_3501_Ft_US","NAD_1983_2011_StatePlane_Oklahoma_South_FIPS_3502_Ft_US","NAD_1983_2011_StatePlane_Oregon_North_FIPS_3601","NAD_1983_2011_StatePlane_Oregon_South_FIPS_3602","NAD_1983_2011_StatePlane_Oregon_North_FIPS_3601_Ft_Intl","NAD_1983_2011_StatePlane_Oregon_South_FIPS_3602_Ft_Intl","NAD_1983_2011_StatePlane_Pennsylvania_North_FIPS_3701","NAD_1983_2011_StatePlane_Pennsylvania_North_FIPS_3701_Ft_US","NAD_1983_2011_StatePlane_Pennsylvania_South_FIPS_3702","NAD_1983_2011_StatePlane_Pennsylvania_South_FIPS_3702_Ft_US","NAD_1983_2011_StatePlane_Rhode_Island_FIPS_3800","NAD_1983_2011_StatePlane_Rhode_Island_FIPS_3800_Ft_US","NAD_1983_2011_StatePlane_South_Carolina_FIPS_3900","NAD_1983_2011_StatePlane_South_Carolina_FIPS_3900_Ft_Intl","NAD_1983_2011_StatePlane_South_Dakota_North_FIPS_4001","NAD_1983_2011_StatePlane_South_Dakota_South_FIPS_4002","NAD_1983_2011_StatePlane_South_Dakota_North_FIPS_4001_Ft_US","NAD_1983_2011_StatePlane_South_Dakota_South_FIPS_4002_Ft_US","NAD_1983_2011_StatePlane_Tennessee_FIPS_4100","NAD_1983_2011_StatePlane_Tennessee_FIPS_4100_Ft_US","NAD_1983_2011_StatePlane_Texas_North_FIPS_4201","NAD_1983_2011_StatePlane_Texas_North_Central_FIPS_4202","NAD_1983_2011_StatePlane_Texas_Central_FIPS_4203","NAD_1983_2011_StatePlane_Texas_South_Central_FIPS_4204","NAD_1983_2011_StatePlane_Texas_South_FIPS_4205","NAD_1983_2011_StatePlane_Texas_North_FIPS_4201_Ft_US","NAD_1983_2011_StatePlane_Texas_North_Central_FIPS_4202_FtUS","NAD_1983_2011_StatePlane_Texas_Central_FIPS_4203_Ft_US","NAD_1983_2011_StatePlane_Texas_South_Central_FIPS_4204_FtUS","NAD_1983_2011_StatePlane_Texas_South_FIPS_4205_Ft_US","NAD_1983_2011_StatePlane_Utah_North_FIPS_4301","NAD_1983_2011_StatePlane_Utah_Central_FIPS_4302","NAD_1983_2011_StatePlane_Utah_South_FIPS_4303","NAD_1983_2011_StatePlane_Utah_North_FIPS_4301_Ft_Intl","NAD_1983_2011_StatePlane_Utah_Central_FIPS_4302_Ft_Intl","NAD_1983_2011_StatePlane_Utah_South_FIPS_4303_Ft_Intl","NAD_1983_2011_StatePlane_Utah_North_FIPS_4301_Ft_US","NAD_1983_2011_StatePlane_Utah_Central_FIPS_4302_Ft_US","NAD_1983_2011_StatePlane_Utah_South_FIPS_4303_Ft_US","NAD_1983_2011_StatePlane_Vermont_FIPS_4400","NAD_1983_2011_StatePlane_Vermont_FIPS_4400_Ft_US","NAD_1983_2011_StatePlane_Virginia_North_FIPS_4501","NAD_1983_2011_StatePlane_Virginia_South_FIPS_4502","NAD_1983_2011_StatePlane_Virginia_North_FIPS_4501_Ft_US","NAD_1983_2011_StatePlane_Virginia_South_FIPS_4502_Ft_US","NAD_1983_2011_StatePlane_Washington_North_FIPS_4601","NAD_1983_2011_StatePlane_Washington_South_FIPS_4602","NAD_1983_2011_StatePlane_Washington_North_FIPS_4601_Ft_US","NAD_1983_2011_StatePlane_Washington_South_FIPS_4602_Ft_US","NAD_1983_2011_StatePlane_West_Virginia_North_FIPS_4701","NAD_1983_2011_StatePlane_West_Virginia_South_FIPS_4702","NAD_1983_2011_StatePlane_West_Virginia_North_FIPS_4701_FtUS","NAD_1983_2011_StatePlane_West_Virginia_South_FIPS_4702_FtUS","NAD_1983_2011_StatePlane_Wisconsin_North_FIPS_4801","NAD_1983_2011_StatePlane_Wisconsin_Central_FIPS_4802","NAD_1983_2011_StatePlane_Wisconsin_South_FIPS_4803","NAD_1983_2011_StatePlane_Wisconsin_North_FIPS_4801_Ft_US","NAD_1983_2011_StatePlane_Wisconsin_Central_FIPS_4802_Ft_US","NAD_1983_2011_StatePlane_Wisconsin_South_FIPS_4803_Ft_US","NAD_1983_2011_StatePlane_Wyoming_East_FIPS_4901","NAD_1983_2011_StatePlane_Wyoming_East_Central_FIPS_4902","NAD_1983_2011_StatePlane_Wyoming_West_Central_FIPS_4903","NAD_1983_2011_StatePlane_Wyoming_West_FIPS_4904","NAD_1983_2011_StatePlane_Wyoming_East_FIPS_4901_Ft_US","NAD_1983_2011_StatePlane_Wyoming_E_Central_FIPS_4902_Ft_US","NAD_1983_2011_StatePlane_Wyoming_W_Central_FIPS_4903_Ft_US","NAD_1983_2011_StatePlane_Wyoming_West_FIPS_4904_Ft_US","NAD_1983_2011_StatePlane_Puerto_Rico_Virgin_Isls_FIPS_5200","RGRDC_2005_Congo_TM_Zone_12","RGRDC_2005_Congo_TM_Zone_14","RGRDC_2005_Congo_TM_Zone_16","RGRDC_2005_Congo_TM_Zone_18","RGRDC_2005_Congo_TM_Zone_20","RGRDC_2005_Congo_TM_Zone_22","RGRDC_2005_Congo_TM_Zone_24","RGRDC_2005_Congo_TM_Zone_26","RGRDC_2005_Congo_TM_Zone_28","RGRDC_2005_UTM_Zone_33S","RGRDC_2005_UTM_Zone_34S","RGRDC_2005_UTM_Zone_35S","Chua_UTM_Zone_23S","REGCAN95_UTM_Zone_27N","REGCAN95_UTM_Zone_28N","ETRS_1989_DKTM1","ETRS_1989_DKTM2","ETRS_1989_DKTM3","ETRS_1989_DKTM4","NAD_1983_CORS96_StatePlane_Alabama_East_FIPS_0101","NAD_1983_CORS96_StatePlane_Alabama_West_FIPS_0102","NAD_1983_CORS96_StatePlane_Arizona_East_FIPS_0201","NAD_1983_CORS96_StatePlane_Arizona_Central_FIPS_0202","NAD_1983_CORS96_StatePlane_Arizona_West_FIPS_0203","NAD_1983_CORS96_StatePlane_Arizona_East_FIPS_0201_Ft_Intl","NAD_1983_CORS96_StatePlane_Arizona_Central_FIPS_0202_Ft_Intl","NAD_1983_CORS96_StatePlane_Arizona_West_FIPS_0203_Ft_Intl","NAD_1983_CORS96_StatePlane_Arkansas_North_FIPS_0301","NAD_1983_CORS96_StatePlane_Arkansas_South_FIPS_0302","NAD_1983_CORS96_StatePlane_Arkansas_North_FIPS_0301_Ft_US","NAD_1983_CORS96_StatePlane_Arkansas_South_FIPS_0302_Ft_US","NAD_1983_CORS96_StatePlane_California_I_FIPS_0401","NAD_1983_CORS96_StatePlane_California_II_FIPS_0402","NAD_1983_CORS96_StatePlane_California_III_FIPS_0403","NAD_1983_CORS96_StatePlane_California_IV_FIPS_0404","NAD_1983_CORS96_StatePlane_California_V_FIPS_0405","NAD_1983_CORS96_StatePlane_California_VI_FIPS_0406","NAD_1983_CORS96_StatePlane_California_I_FIPS_0401_Ft_US","NAD_1983_CORS96_StatePlane_California_II_FIPS_0402_Ft_US","NAD_1983_CORS96_StatePlane_California_III_FIPS_0403_Ft_US","NAD_1983_CORS96_StatePlane_California_IV_FIPS_0404_Ft_US","NAD_1983_CORS96_StatePlane_California_V_FIPS_0405_Ft_US","NAD_1983_CORS96_StatePlane_California_VI_FIPS_0406_Ft_US","NAD_1983_CORS96_StatePlane_Colorado_North_FIPS_0501","NAD_1983_CORS96_StatePlane_Colorado_Central_FIPS_0502","NAD_1983_CORS96_StatePlane_Colorado_South_FIPS_0503","NAD_1983_CORS96_StatePlane_Colorado_North_FIPS_0501_Ft_US","NAD_1983_CORS96_StatePlane_Colorado_Central_FIPS_0502_Ft_US","NAD_1983_CORS96_StatePlane_Colorado_South_FIPS_0503_Ft_US","NAD_1983_CORS96_StatePlane_Connecticut_FIPS_0600","NAD_1983_CORS96_StatePlane_Connecticut_FIPS_0600_Ft_US","NAD_1983_CORS96_StatePlane_Delaware_FIPS_0700","NAD_1983_CORS96_StatePlane_Delaware_FIPS_0700_Ft_US","NAD_1983_CORS96_StatePlane_Florida_East_FIPS_0901","NAD_1983_CORS96_StatePlane_Florida_West_FIPS_0902","NAD_1983_CORS96_StatePlane_Florida_North_FIPS_0903","NAD_1983_CORS96_StatePlane_Florida_East_FIPS_0901_Ft_US","NAD_1983_CORS96_StatePlane_Florida_West_FIPS_0902_Ft_US","NAD_1983_CORS96_StatePlane_Florida_North_FIPS_0903_Ft_US","NAD_1983_CORS96_StatePlane_Georgia_East_FIPS_1001","NAD_1983_CORS96_StatePlane_Georgia_West_FIPS_1002","NAD_1983_CORS96_StatePlane_Georgia_East_FIPS_1001_Ft_US","NAD_1983_CORS96_StatePlane_Georgia_West_FIPS_1002_Ft_US","NAD_1983_CORS96_StatePlane_Idaho_East_FIPS_1101","NAD_1983_CORS96_StatePlane_Idaho_Central_FIPS_1102","NAD_1983_CORS96_StatePlane_Idaho_West_FIPS_1103","NAD_1983_CORS96_StatePlane_Idaho_East_FIPS_1101_Ft_US","NAD_1983_CORS96_StatePlane_Idaho_Central_FIPS_1102_Ft_US","NAD_1983_CORS96_StatePlane_Idaho_West_FIPS_1103_Ft_US","NAD_1983_CORS96_StatePlane_Illinois_East_FIPS_1201","NAD_1983_CORS96_StatePlane_Illinois_West_FIPS_1202","NAD_1983_CORS96_StatePlane_Illinois_East_FIPS_1201_Ft_US","NAD_1983_CORS96_StatePlane_Illinois_West_FIPS_1202_Ft_US","NAD_1983_CORS96_StatePlane_Indiana_East_FIPS_1301","NAD_1983_CORS96_StatePlane_Indiana_West_FIPS_1302","NAD_1983_CORS96_StatePlane_Indiana_East_FIPS_1301_Ft_US","NAD_1983_CORS96_StatePlane_Indiana_West_FIPS_1302_Ft_US","NAD_1983_CORS96_StatePlane_Iowa_North_FIPS_1401","NAD_1983_CORS96_StatePlane_Iowa_South_FIPS_1402","NAD_1983_CORS96_StatePlane_Iowa_North_FIPS_1401_Ft_US","NAD_1983_CORS96_StatePlane_Iowa_South_FIPS_1402_Ft_US","NAD_1983_CORS96_StatePlane_Kansas_North_FIPS_1501","NAD_1983_CORS96_StatePlane_Kansas_South_FIPS_1502","NAD_1983_CORS96_StatePlane_Kansas_North_FIPS_1501_Ft_US","NAD_1983_CORS96_StatePlane_Kansas_South_FIPS_1502_Ft_US","NAD_1983_CORS96_StatePlane_Kentucky_North_FIPS_1601","NAD_1983_CORS96_StatePlane_Kentucky_North_FIPS_1601_Ft_US","NAD_1983_CORS96_StatePlane_Kentucky_FIPS_1600","NAD_1983_CORS96_StatePlane_Kentucky_FIPS_1600_Ft_US","NAD_1983_CORS96_StatePlane_Kentucky_South_FIPS_1602","NAD_1983_CORS96_StatePlane_Kentucky_South_FIPS_1602_Ft_US","NAD_1983_CORS96_StatePlane_Louisiana_North_FIPS_1701","NAD_1983_CORS96_StatePlane_Louisiana_South_FIPS_1702","NAD_1983_CORS96_StatePlane_Louisiana_North_FIPS_1701_Ft_US","NAD_1983_CORS96_StatePlane_Louisiana_South_FIPS_1702_Ft_US","NAD_1983_CORS96_StatePlane_Maine_East_FIPS_1801","NAD_1983_CORS96_StatePlane_Maine_West_FIPS_1802","NAD_1983_CORS96_StatePlane_Maine_East_FIPS_1801_Ft_US","NAD_1983_CORS96_StatePlane_Maine_West_FIPS_1802_Ft_US","NAD_1983_HARN_WISCRS_Adams_County_Meters","NAD_1983_HARN_WISCRS_Ashland_County_Meters","NAD_1983_HARN_WISCRS_Barron_County_Meters","NAD_1983_HARN_WISCRS_Bayfield_County_Meters","NAD_1983_HARN_WISCRS_Brown_County_Meters","NAD_1983_HARN_WISCRS_Buffalo_County_Meters","NAD_1983_HARN_WISCRS_Burnett_County_Meters","NAD_1983_HARN_WISCRS_Calumet_County_Meters","NAD_1983_HARN_WISCRS_Chippewa_County_Meters","NAD_1983_HARN_WISCRS_Clark_County_Meters","NAD_1983_HARN_WISCRS_Columbia_County_Meters","NAD_1983_HARN_WISCRS_Crawford_County_Meters","NAD_1983_HARN_WISCRS_Dane_County_Meters","NAD_1983_HARN_WISCRS_Dodge_County_Meters","NAD_1983_HARN_WISCRS_Door_County_Meters","NAD_1983_HARN_WISCRS_Douglas_County_Meters","NAD_1983_HARN_WISCRS_Dunn_County_Meters","NAD_1983_HARN_WISCRS_EauClaire_County_Meters","NAD_1983_HARN_WISCRS_Florence_County_Meters","NAD_1983_HARN_WISCRS_Fond_du_Lac_County_Meters","NAD_1983_HARN_WISCRS_Forest_County_Meters","NAD_1983_HARN_WISCRS_Grant_County_Meters","NAD_1983_HARN_WISCRS_Green_County_Meters","NAD_1983_HARN_WISCRS_GreenLake_County_Meters","NAD_1983_HARN_WISCRS_Iowa_County_Meters","NAD_1983_HARN_WISCRS_Iron_County_Meters","NAD_1983_HARN_WISCRS_Jackson_County_Meters","NAD_1983_HARN_WISCRS_Jefferson_County_Meters","NAD_1983_HARN_WISCRS_Juneau_County_Meters","NAD_1983_HARN_WISCRS_Kenosha_County_Meters","NAD_1983_HARN_WISCRS_Kewaunee_County_Meters","NAD_1983_HARN_WISCRS_LaCrosse_County_Meters","NAD_1983_HARN_WISCRS_Lafayette_County_Meters","NAD_1983_HARN_WISCRS_Langlade_County_Meters","NAD_1983_HARN_WISCRS_Lincoln_County_Meters","NAD_1983_HARN_WISCRS_Manitowoc_County_Meters","NAD_1983_HARN_WISCRS_Marathon_County_Meters","NAD_1983_HARN_WISCRS_Marinette_County_Meters","NAD_1983_HARN_WISCRS_Marquette_County_Meters","NAD_1983_HARN_WISCRS_Menominee_County_Meters","NAD_1983_HARN_WISCRS_Milwaukee_County_Meters","NAD_1983_HARN_WISCRS_Monroe_County_Meters","NAD_1983_HARN_WISCRS_Oconto_County_Meters","NAD_1983_HARN_WISCRS_Oneida_County_Meters","NAD_1983_HARN_WISCRS_Outagamie_County_Meters","NAD_1983_HARN_WISCRS_Ozaukee_County_Meters","NAD_1983_HARN_WISCRS_Pepin_County_Meters","NAD_1983_HARN_WISCRS_Pierce_County_Meters","NAD_1983_HARN_WISCRS_Polk_County_Meters","NAD_1983_HARN_WISCRS_Portage_County_Meters","NAD_1983_HARN_WISCRS_Price_County_Meters","NAD_1983_HARN_WISCRS_Racine_County_Meters","NAD_1983_HARN_WISCRS_Richland_County_Meters","NAD_1983_HARN_WISCRS_Rock_County_Meters","NAD_1983_HARN_WISCRS_Rusk_County_Meters","NAD_1983_HARN_WISCRS_Sauk_County_Meters","NAD_1983_HARN_WISCRS_Sawyer_County_Meters","NAD_1983_HARN_WISCRS_Shawano_County_Meters","NAD_1983_HARN_WISCRS_Sheboygan_County_Meters","NAD_1983_HARN_WISCRS_St_Croix_County_Meters","NAD_1983_HARN_WISCRS_Taylor_County_Meters","NAD_1983_HARN_WISCRS_Trempealeau_County_Meters","NAD_1983_HARN_WISCRS_Vernon_County_Meters","NAD_1983_HARN_WISCRS_Vilas_County_Meters","NAD_1983_HARN_WISCRS_Walworth_County_Meters","NAD_1983_HARN_WISCRS_Washburn_County_Meters","NAD_1983_HARN_WISCRS_Washington_County_Meters","NAD_1983_HARN_WISCRS_Waukesha_County_Meters","NAD_1983_HARN_WISCRS_Waupaca_County_Meters","NAD_1983_HARN_WISCRS_Waushara_County_Meters","NAD_1983_HARN_WISCRS_Winnebago_County_Meters","NAD_1983_HARN_WISCRS_Wood_County_Meters","NAD_1983_CORS96_Maine_2000_East_Zone","NAD_1983_CORS96_Maine_2000_Central_Zone","NAD_1983_CORS96_Maine_2000_West_Zone","NAD_1983_CORS96_StatePlane_Maryland_FIPS_1900","NAD_1983_CORS96_StatePlane_Maryland_FIPS_1900_Ft_US","NAD_1983_CORS96_StatePlane_Massachusetts_Mainland_FIPS_2001","NAD_1983_CORS96_StatePlane_Massachusetts_Island_FIPS_2002","NAD_1983_CORS96_StatePlane_Massachusetts_Mnld_FIPS_2001_FtUS","NAD_1983_CORS96_StatePlane_Massachusetts_Isl_FIPS_2002_FtUS","NAD_1983_CORS96_StatePlane_Michigan_North_FIPS_2111","NAD_1983_CORS96_StatePlane_Michigan_Central_FIPS_2112","NAD_1983_CORS96_StatePlane_Michigan_South_FIPS_2113","NAD_1983_CORS96_StatePlane_Michigan_North_FIPS_2111_Ft_Intl","NAD_1983_CORS96_StatePlane_Michigan_Central_FIPS_2112_Ft_Intl","NAD_1983_CORS96_StatePlane_Michigan_South_FIPS_2113_Ft_Intl","NAD_1983_CORS96_StatePlane_Minnesota_North_FIPS_2201","NAD_1983_CORS96_StatePlane_Minnesota_Central_FIPS_2202","NAD_1983_CORS96_StatePlane_Minnesota_South_FIPS_2203","NAD_1983_CORS96_StatePlane_Minnesota_North_FIPS_2201_Ft_US","NAD_1983_CORS96_StatePlane_Minnesota_Central_FIPS_2202_Ft_US","NAD_1983_CORS96_StatePlane_Minnesota_South_FIPS_2203_Ft_US","NAD_1983_CORS96_StatePlane_Mississippi_East_FIPS_2301","NAD_1983_CORS96_StatePlane_Mississippi_West_FIPS_2302","NAD_1983_CORS96_StatePlane_Mississippi_East_FIPS_2301_Ft_US","NAD_1983_CORS96_StatePlane_Mississippi_West_FIPS_2302_Ft_US","NAD_1983_CORS96_StatePlane_Missouri_East_FIPS_2401","NAD_1983_CORS96_StatePlane_Missouri_Central_FIPS_2402","NAD_1983_CORS96_StatePlane_Missouri_West_FIPS_2403","NAD_1983_HARN_WISCRS_Adams_County_Feet","NAD_1983_HARN_WISCRS_Ashland_County_Feet","NAD_1983_HARN_WISCRS_Barron_County_Feet","NAD_1983_HARN_WISCRS_Bayfield_County_Feet","NAD_1983_HARN_WISCRS_Brown_County_Feet","NAD_1983_HARN_WISCRS_Buffalo_County_Feet","NAD_1983_HARN_WISCRS_Burnett_County_Feet","NAD_1983_HARN_WISCRS_Calumet_County_Feet","NAD_1983_HARN_WISCRS_Chippewa_County_Feet","NAD_1983_HARN_WISCRS_Clark_County_Feet","NAD_1983_HARN_WISCRS_Columbia_County_Feet","NAD_1983_HARN_WISCRS_Crawford_County_Feet","NAD_1983_HARN_WISCRS_Dane_County_Feet","NAD_1983_HARN_WISCRS_Dodge_County_Feet","NAD_1983_HARN_WISCRS_Door_County_Feet","NAD_1983_HARN_WISCRS_Douglas_County_Feet","NAD_1983_HARN_WISCRS_Dunn_County_Feet","NAD_1983_HARN_WISCRS_EauClaire_County_Feet","NAD_1983_HARN_WISCRS_Florence_County_Feet","NAD_1983_HARN_WISCRS_Fond_du_Lac_County_Feet","NAD_1983_HARN_WISCRS_Forest_County_Feet","NAD_1983_HARN_WISCRS_Grant_County_Feet","NAD_1983_HARN_WISCRS_Green_County_Feet","NAD_1983_HARN_WISCRS_GreenLake_County_Feet","NAD_1983_HARN_WISCRS_Iowa_County_Feet","NAD_1983_HARN_WISCRS_Iron_County_Feet","NAD_1983_HARN_WISCRS_Jackson_County_Feet","NAD_1983_HARN_WISCRS_Jefferson_County_Feet","NAD_1983_HARN_WISCRS_Juneau_County_Feet","NAD_1983_HARN_WISCRS_Kenosha_County_Feet","NAD_1983_HARN_WISCRS_Kewaunee_County_Feet","NAD_1983_HARN_WISCRS_LaCrosse_County_Feet","NAD_1983_HARN_WISCRS_Lafayette_County_Feet","NAD_1983_HARN_WISCRS_Langlade_County_Feet","NAD_1983_HARN_WISCRS_Lincoln_County_Feet","NAD_1983_HARN_WISCRS_Manitowoc_County_Feet","NAD_1983_HARN_WISCRS_Marathon_County_Feet","NAD_1983_HARN_WISCRS_Marinette_County_Feet","NAD_1983_HARN_WISCRS_Marquette_County_Feet","NAD_1983_HARN_WISCRS_Menominee_County_Feet","NAD_1983_HARN_WISCRS_Milwaukee_County_Feet","NAD_1983_HARN_WISCRS_Monroe_County_Feet","NAD_1983_HARN_WISCRS_Oconto_County_Feet","NAD_1983_HARN_WISCRS_Oneida_County_Feet","NAD_1983_HARN_WISCRS_Outagamie_County_Feet","NAD_1983_HARN_WISCRS_Ozaukee_County_Feet","NAD_1983_HARN_WISCRS_Pepin_County_Feet","NAD_1983_HARN_WISCRS_Pierce_County_Feet","NAD_1983_HARN_WISCRS_Polk_County_Feet","NAD_1983_HARN_WISCRS_Portage_County_Feet","NAD_1983_HARN_WISCRS_Price_County_Feet","NAD_1983_HARN_WISCRS_Racine_County_Feet","NAD_1983_HARN_WISCRS_Richland_County_Feet","NAD_1983_HARN_WISCRS_Rock_County_Feet","NAD_1983_HARN_WISCRS_Rusk_County_Feet","NAD_1983_HARN_WISCRS_Sauk_County_Feet","NAD_1983_HARN_WISCRS_Sawyer_County_Feet","NAD_1983_HARN_WISCRS_Shawano_County_Feet","NAD_1983_HARN_WISCRS_Sheboygan_County_Feet","NAD_1983_HARN_WISCRS_St_Croix_County_Feet","NAD_1983_HARN_WISCRS_Taylor_County_Feet","NAD_1983_HARN_WISCRS_Trempealeau_County_Feet","NAD_1983_HARN_WISCRS_Vernon_County_Feet","NAD_1983_HARN_WISCRS_Vilas_County_Feet","NAD_1983_HARN_WISCRS_Walworth_County_Feet","NAD_1983_HARN_WISCRS_Washburn_County_Feet","NAD_1983_HARN_WISCRS_Washington_County_Feet","NAD_1983_HARN_WISCRS_Waukesha_County_Feet","NAD_1983_HARN_WISCRS_Waupaca_County_Feet","NAD_1983_HARN_WISCRS_Waushara_County_Feet","NAD_1983_HARN_WISCRS_Winnebago_County_Feet","NAD_1983_HARN_WISCRS_Wood_County_Feet","NAD_1983_CORS96_StatePlane_Montana_FIPS_2500","NAD_1983_CORS96_StatePlane_Montana_FIPS_2500_Ft_Intl","NAD_1983_CORS96_StatePlane_Nebraska_FIPS_2600","NAD_1983_CORS96_StatePlane_Nebraska_FIPS_2600_Ft_US","NAD_1983_CORS96_StatePlane_Nevada_East_FIPS_2701","NAD_1983_CORS96_StatePlane_Nevada_Central_FIPS_2702","NAD_1983_CORS96_StatePlane_Nevada_West_FIPS_2703","NAD_1983_CORS96_StatePlane_Nevada_East_FIPS_2701_Ft_US","NAD_1983_CORS96_StatePlane_Nevada_Central_FIPS_2702_Ft_US","NAD_1983_CORS96_StatePlane_Nevada_West_FIPS_2703_Ft_US","NAD_1983_CORS96_StatePlane_New_Hampshire_FIPS_2800","NAD_1983_CORS96_StatePlane_New_Hampshire_FIPS_2800_Ft_US","NAD_1983_CORS96_StatePlane_New_Jersey_FIPS_2900","NAD_1983_CORS96_StatePlane_New_Jersey_FIPS_2900_Ft_US","NAD_1983_CORS96_StatePlane_New_Mexico_East_FIPS_3001","NAD_1983_CORS96_StatePlane_New_Mexico_Central_FIPS_3002","NAD_1983_CORS96_StatePlane_New_Mexico_West_FIPS_3003","NAD_1983_CORS96_StatePlane_New_Mexico_East_FIPS_3001_Ft_US","NAD_1983_CORS96_StatePlane_New_Mexico_Central_FIPS_3002_Ft_US","NAD_1983_CORS96_StatePlane_New_Mexico_West_FIPS_3003_Ft_US","NAD_1983_CORS96_StatePlane_New_York_East_FIPS_3101","NAD_1983_CORS96_StatePlane_New_York_Central_FIPS_3102","NAD_1983_CORS96_StatePlane_New_York_West_FIPS_3103","NAD_1983_CORS96_StatePlane_New_York_Long_Island_FIPS_3104","NAD_1983_CORS96_StatePlane_New_York_East_FIPS_3101_Ft_US","NAD_1983_CORS96_StatePlane_New_York_Central_FIPS_3102_Ft_US","NAD_1983_CORS96_StatePlane_New_York_West_FIPS_3103_Ft_US","NAD_1983_CORS96_StatePlane_New_York_Long_Isl_FIPS_3104_Ft_US","NAD_1983_CORS96_StatePlane_North_Carolina_FIPS_3200","NAD_1983_CORS96_StatePlane_North_Carolina_FIPS_3200_Ft_US","NAD_1983_CORS96_StatePlane_North_Dakota_North_FIPS_3301","NAD_1983_CORS96_StatePlane_North_Dakota_South_FIPS_3302","NAD_1983_CORS96_StatePlane_North_Dakota_North_FIPS_3301_FtI","NAD_1983_CORS96_StatePlane_North_Dakota_South_FIPS_3302_FtI","NAD_1983_CORS96_StatePlane_Ohio_North_FIPS_3401","NAD_1983_CORS96_StatePlane_Ohio_South_FIPS_3402","NAD_1983_CORS96_StatePlane_Ohio_North_FIPS_3401_Ft_US","NAD_1983_CORS96_StatePlane_Ohio_South_FIPS_3402_Ft_US","NAD_1983_CORS96_StatePlane_Oklahoma_North_FIPS_3501","NAD_1983_CORS96_StatePlane_Oklahoma_South_FIPS_3502","NAD_1983_CORS96_StatePlane_Oklahoma_North_FIPS_3501_Ft_US","NAD_1983_CORS96_StatePlane_Oklahoma_South_FIPS_3502_Ft_US","NAD_1983_CORS96_StatePlane_Pennsylvania_North_FIPS_3701","NAD_1983_CORS96_StatePlane_Pennsylvania_North_FIPS_3701_Ft_US","NAD_1983_CORS96_StatePlane_Pennsylvania_South_FIPS_3702","NAD_1983_CORS96_StatePlane_Pennsylvania_South_FIPS_3702_Ft_US","NAD_1983_CORS96_StatePlane_Rhode_Island_FIPS_3800","NAD_1983_CORS96_StatePlane_Rhode_Island_FIPS_3800_Ft_US","NAD_1983_CORS96_StatePlane_South_Carolina_FIPS_3900","NAD_1983_CORS96_StatePlane_South_Carolina_FIPS_3900_Ft_Intl","NAD_1983_CORS96_StatePlane_South_Dakota_North_FIPS_4001","NAD_1983_CORS96_StatePlane_South_Dakota_South_FIPS_4002","NAD_1983_CORS96_StatePlane_South_Dakota_North_FIPS_4001_Ft_US","NAD_1983_CORS96_StatePlane_South_Dakota_South_FIPS_4002_Ft_US","NAD_1983_CORS96_StatePlane_Tennessee_FIPS_4100","NAD_1983_CORS96_StatePlane_Tennessee_FIPS_4100_Ft_US","ETRF_1989_UTM_Zone_28N","ETRF_1989_UTM_Zone_29N","ETRF_1989_UTM_Zone_30N","ETRF_1989_UTM_Zone_31N","ETRF_1989_UTM_Zone_32N","ETRF_1989_UTM_Zone_33N","ETRF_1989_UTM_Zone_34N","ETRF_1989_UTM_Zone_35N","ETRF_1989_UTM_Zone_36N","ETRF_1989_UTM_Zone_37N","ETRF_1989_UTM_Zone_38N","NAD_1983_CORS96_StatePlane_Texas_North_FIPS_4201","NAD_1983_CORS96_StatePlane_Texas_North_Central_FIPS_4202","NAD_1983_CORS96_StatePlane_Texas_Central_FIPS_4203","NAD_1983_CORS96_StatePlane_Texas_South_Central_FIPS_4204","NAD_1983_CORS96_StatePlane_Texas_South_FIPS_4205","NAD_1983_CORS96_StatePlane_Texas_North_FIPS_4201_Ft_US","NAD_1983_CORS96_StatePlane_Texas_North_Central_FIPS_4202_FtUS","NAD_1983_CORS96_StatePlane_Texas_Central_FIPS_4203_Ft_US","NAD_1983_CORS96_StatePlane_Texas_South_Central_FIPS_4204_FtUS","NAD_1983_CORS96_StatePlane_Texas_South_FIPS_4205_Ft_US","NAD_1983_CORS96_StatePlane_Utah_North_FIPS_4301","NAD_1983_CORS96_StatePlane_Utah_Central_FIPS_4302","NAD_1983_CORS96_StatePlane_Utah_South_FIPS_4303","NAD_1983_CORS96_StatePlane_Utah_North_FIPS_4301_Ft_Intl","NAD_1983_CORS96_StatePlane_Utah_Central_FIPS_4302_Ft_Intl","NAD_1983_CORS96_StatePlane_Utah_South_FIPS_4303_Ft_Intl","NAD_1983_CORS96_StatePlane_Utah_North_FIPS_4301_Ft_US","NAD_1983_CORS96_StatePlane_Utah_Central_FIPS_4302_Ft_US","NAD_1983_CORS96_StatePlane_Utah_South_FIPS_4303_Ft_US","NAD_1983_CORS96_StatePlane_Vermont_FIPS_4400","NAD_1983_CORS96_StatePlane_Virginia_North_FIPS_4501","NAD_1983_CORS96_StatePlane_Virginia_South_FIPS_4502","NAD_1983_CORS96_StatePlane_Virginia_North_FIPS_4501_Ft_US","NAD_1983_CORS96_StatePlane_Virginia_South_FIPS_4502_Ft_US","NAD_1983_CORS96_StatePlane_Washington_North_FIPS_4601","NAD_1983_CORS96_StatePlane_Washington_South_FIPS_4602","NAD_1983_CORS96_StatePlane_Washington_North_FIPS_4601_Ft_US","NAD_1983_CORS96_StatePlane_Washington_South_FIPS_4602_Ft_US","NAD_1983_CORS96_StatePlane_West_Virginia_North_FIPS_4701","NAD_1983_CORS96_StatePlane_West_Virginia_South_FIPS_4702","NAD_1983_CORS96_StatePlane_West_Virginia_North_FIPS_4701_FtUS","NAD_1983_CORS96_StatePlane_West_Virginia_South_FIPS_4702_FtUS","NAD_1983_CORS96_StatePlane_Wisconsin_North_FIPS_4801","NAD_1983_CORS96_StatePlane_Wisconsin_Central_FIPS_4802","NAD_1983_CORS96_StatePlane_Wisconsin_South_FIPS_4803","NAD_1983_CORS96_StatePlane_Wisconsin_North_FIPS_4801_Ft_US","NAD_1983_CORS96_StatePlane_Wisconsin_Central_FIPS_4802_Ft_US","NAD_1983_CORS96_StatePlane_Wisconsin_South_FIPS_4803_Ft_US","NAD_1983_CORS96_StatePlane_Wyoming_East_FIPS_4901","NAD_1983_CORS96_StatePlane_Wyoming_East_Central_FIPS_4902","NAD_1983_CORS96_StatePlane_Wyoming_West_Central_FIPS_4903","NAD_1983_CORS96_StatePlane_Wyoming_West_FIPS_4904","NAD_1983_CORS96_StatePlane_Wyoming_East_FIPS_4901_Ft_US","NAD_1983_CORS96_StatePlane_Wyoming_E_Central_FIPS_4902_Ft_US","NAD_1983_CORS96_StatePlane_Wyoming_W_Central_FIPS_4903_Ft_US","ETRF_1989_TM_Baltic_1993","NAD_1983_CORS96_StatePlane_Wyoming_West_FIPS_4904_Ft_US","NAD_1983_HARN_Adj_MN_Aitkin_Meters","NAD_1983_HARN_Adj_MN_Clay_Meters","NAD_1983_HARN_Adj_MN_Clearwater_Meters","NAD_1983_HARN_Adj_MN_Hubbard_Meters","NAD_1983_HARN_Adj_MN_Lake_Meters","NAD_1983_HARN_Adj_MN_Mille_Lacs_Meters","NAD_1983_HARN_Adj_MN_Washington_Meters","NAD_1983_HARN_Adj_MN_Wilkin_Meters","NAD_1983_HARN_Adj_MN_Anoka_Meters","NAD_1983_HARN_Adj_MN_Becker_Meters","NAD_1983_HARN_Adj_MN_Beltrami_North_Meters","NAD_1983_HARN_Adj_MN_Beltrami_South_Meters","NAD_1983_HARN_Adj_MN_Benton_Meters","NAD_1983_HARN_Adj_MN_Big_Stone_Meters","NAD_1983_HARN_Adj_MN_Blue_Earth_Meters","NAD_1983_HARN_Adj_MN_Brown_Meters","NAD_1983_HARN_Adj_MN_Carlton_Meters","NAD_1983_HARN_Adj_MN_Carver_Meters","NAD_1983_HARN_Adj_MN_Cass_North_Meters","NAD_1983_HARN_Adj_MN_Cass_South_Meters","NAD_1983_HARN_Adj_MN_Chippewa_Meters","NAD_1983_HARN_Adj_MN_Chisago_Meters","NAD_1983_HARN_Adj_MN_Cook_North_Meters","NAD_1983_HARN_Adj_MN_Cook_South_Meters","NAD_1983_HARN_Adj_MN_Cottonwood_Meters","NAD_1983_HARN_Adj_MN_Crow_Wing_Meters","NAD_1983_HARN_Adj_MN_Dakota_Meters","NAD_1983_HARN_Adj_MN_Dodge_Meters","NAD_1983_HARN_Adj_MN_Douglas_Meters","NAD_1983_HARN_Adj_MN_Faribault_Meters","NAD_1983_HARN_Adj_MN_Fillmore_Meters","NAD_1983_HARN_Adj_MN_Freeborn_Meters","NAD_1983_HARN_Adj_MN_Goodhue_Meters","NAD_1983_HARN_Adj_MN_Grant_Meters","NAD_1983_HARN_Adj_MN_Hennepin_Meters","NAD_1983_HARN_Adj_MN_Houston_Meters","NAD_1983_HARN_Adj_MN_Isanti_Meters","NAD_1983_HARN_Adj_MN_Itasca_North_Meters","NAD_1983_HARN_Adj_MN_Itasca_South_Meters","NAD_1983_HARN_Adj_MN_Jackson_Meters","NAD_1983_HARN_Adj_MN_Kanabec_Meters","NAD_1983_HARN_Adj_MN_Kandiyohi_Meters","NAD_1983_HARN_Adj_MN_Kittson_Meters","NAD_1983_HARN_Adj_MN_Koochiching_Meters","NAD_1983_HARN_Adj_MN_Lac_Qui_Parle_Meters","NAD_1983_HARN_Adj_MN_Lake_of_the_Woods_North_Meters","NAD_1983_HARN_Adj_MN_Lake_of_the_Woods_South_Meters","NAD_1983_HARN_Adj_MN_Le_Sueur_Meters","NAD_1983_HARN_Adj_MN_Lincoln_Meters","NAD_1983_HARN_Adj_MN_Lyon_Meters","NAD_1983_HARN_Adj_MN_McLeod_Meters","NAD_1983_HARN_Adj_MN_Mahnomen_Meters","NAD_1983_HARN_Adj_MN_Marshall_Meters","NAD_1983_HARN_Adj_MN_Martin_Meters","NAD_1983_HARN_Adj_MN_Meeker_Meters","NAD_1983_HARN_Adj_MN_Morrison_Meters","NAD_1983_HARN_Adj_MN_Mower_Meters","NAD_1983_HARN_Adj_MN_Murray_Meters","NAD_1983_HARN_Adj_MN_Nicollet_Meters","NAD_1983_HARN_Adj_MN_Nobles_Meters","NAD_1983_HARN_Adj_MN_Norman_Meters","NAD_1983_HARN_Adj_MN_Olmsted_Meters","NAD_1983_HARN_Adj_MN_Ottertail_Meters","NAD_1983_HARN_Adj_MN_Pennington_Meters","NAD_1983_HARN_Adj_MN_Pine_Meters","NAD_1983_HARN_Adj_MN_Pipestone_Meters","NAD_1983_HARN_Adj_MN_Polk_Meters","NAD_1983_HARN_Adj_MN_Pope_Meters","NAD_1983_HARN_Adj_MN_Ramsey_Meters","NAD_1983_HARN_Adj_MN_Red_Lake_Meters","NAD_1983_HARN_Adj_MN_Redwood_Meters","NAD_1983_HARN_Adj_MN_Renville_Meters","NAD_1983_HARN_Adj_MN_Rice_Meters","NAD_1983_HARN_Adj_MN_Rock_Meters","NAD_1983_HARN_Adj_MN_Roseau_Meters","NAD_1983_HARN_Adj_MN_St_Louis_North_Meters","NAD_1983_HARN_Adj_MN_St_Louis_Central_Meters","NAD_1983_HARN_Adj_MN_St_Louis_South_Meters","NAD_1983_HARN_Adj_MN_Scott_Meters","NAD_1983_HARN_Adj_MN_Sherburne_Meters","NAD_1983_HARN_Adj_MN_Sibley_Meters","NAD_1983_HARN_Adj_MN_Stearns_Meters","NAD_1983_HARN_Adj_MN_Steele_Meters","NAD_1983_HARN_Adj_MN_Stevens_Meters","NAD_1983_HARN_Adj_MN_Swift_Meters","NAD_1983_HARN_Adj_MN_Todd_Meters","NAD_1983_HARN_Adj_MN_Traverse_Meters","NAD_1983_HARN_Adj_MN_Wabasha_Meters","NAD_1983_HARN_Adj_MN_Wadena_Meters","NAD_1983_HARN_Adj_MN_Waseca_Meters","NAD_1983_HARN_Adj_MN_Watonwan_Meters","NAD_1983_HARN_Adj_MN_Winona_Meters","NAD_1983_HARN_Adj_MN_Wright_Meters","NAD_1983_HARN_Adj_MN_Yellow_Medicine_Meters","NAD_1983_HARN_Adj_MN_St_Louis_CS96_Meters","NAD_1983_HARN_Adj_MN_St_Louis_CS96_Feet","NAD_1983_HARN_Adj_MN_Aitkin_Feet","NAD_1983_HARN_Adj_MN_Clay_Feet","NAD_1983_HARN_Adj_MN_Clearwater_Feet","NAD_1983_HARN_Adj_MN_Hubbard_Feet","NAD_1983_HARN_Adj_MN_Lake_Feet","NAD_1983_HARN_Adj_MN_Mille_Lacs_Feet","NAD_1983_HARN_Adj_MN_Washington_Feet","NAD_1983_HARN_Adj_MN_Wilkin_Feet","NAD_1983_HARN_Adj_MN_Anoka_Feet","NAD_1983_HARN_Adj_MN_Becker_Feet","NAD_1983_HARN_Adj_MN_Beltrami_North_Feet","NAD_1983_HARN_Adj_MN_Beltrami_South_Feet","NAD_1983_HARN_Adj_MN_Benton_Feet","NAD_1983_HARN_Adj_MN_Big_Stone_Feet","NAD_1983_HARN_Adj_MN_Blue_Earth_Feet","NAD_1983_HARN_Adj_MN_Brown_Feet","NAD_1983_HARN_Adj_MN_Carlton_Feet","NAD_1983_HARN_Adj_MN_Carver_Feet","NAD_1983_HARN_Adj_MN_Cass_North_Feet","NAD_1983_HARN_Adj_MN_Cass_South_Feet","NAD_1983_HARN_Adj_MN_Chippewa_Feet","NAD_1983_HARN_Adj_MN_Chisago_Feet","NAD_1983_HARN_Adj_MN_Cook_North_Feet","NAD_1983_HARN_Adj_MN_Cook_South_Feet","NAD_1983_HARN_Adj_MN_Cottonwood_Feet","NAD_1983_HARN_Adj_MN_Crow_Wing_Feet","NAD_1983_HARN_Adj_MN_Dakota_Feet","NAD_1983_HARN_Adj_MN_Dodge_Feet","NAD_1983_HARN_Adj_MN_Douglas_Feet","NAD_1983_HARN_Adj_MN_Faribault_Feet","NAD_1983_HARN_Adj_MN_Fillmore_Feet","NAD_1983_HARN_Adj_MN_Freeborn_Feet","NAD_1983_HARN_Adj_MN_Goodhue_Feet","NAD_1983_HARN_Adj_MN_Grant_Feet","NAD_1983_HARN_Adj_MN_Hennepin_Feet","NAD_1983_HARN_Adj_MN_Houston_Feet","NAD_1983_HARN_Adj_MN_Isanti_Feet","NAD_1983_HARN_Adj_MN_Itasca_North_Feet","NAD_1983_HARN_Adj_MN_Itasca_South_Feet","NAD_1983_HARN_Adj_MN_Jackson_Feet","NAD_1983_HARN_Adj_MN_Kanabec_Feet","NAD_1983_HARN_Adj_MN_Kandiyohi_Feet","NAD_1983_HARN_Adj_MN_Kittson_Feet","NAD_1983_HARN_Adj_MN_Koochiching_Feet","NAD_1983_HARN_Adj_MN_Lac_Qui_Parle_Feet","NAD_1983_HARN_Adj_MN_Lake_of_the_Woods_North_Feet","NAD_1983_HARN_Adj_MN_Lake_of_the_Woods_South_Feet","NAD_1983_HARN_Adj_MN_Le_Sueur_Feet","NAD_1983_HARN_Adj_MN_Lincoln_Feet","NAD_1983_HARN_Adj_MN_Lyon_Feet","NAD_1983_HARN_Adj_MN_McLeod_Feet","NAD_1983_HARN_Adj_MN_Mahnomen_Feet","NAD_1983_HARN_Adj_MN_Marshall_Feet","NAD_1983_HARN_Adj_MN_Martin_Feet","NAD_1983_HARN_Adj_MN_Meeker_Feet","NAD_1983_HARN_Adj_MN_Morrison_Feet","NAD_1983_HARN_Adj_MN_Mower_Feet","NAD_1983_HARN_Adj_MN_Murray_Feet","NAD_1983_HARN_Adj_MN_Nicollet_Feet","NAD_1983_HARN_Adj_MN_Nobles_Feet","NAD_1983_HARN_Adj_MN_Norman_Feet","NAD_1983_HARN_Adj_MN_Olmsted_Feet","NAD_1983_HARN_Adj_MN_Ottertail_Feet","NAD_1983_HARN_Adj_MN_Pennington_Feet","NAD_1983_HARN_Adj_MN_Pine_Feet","NAD_1983_HARN_Adj_MN_Pipestone_Feet","NAD_1983_HARN_Adj_MN_Polk_Feet","NAD_1983_HARN_Adj_MN_Pope_Feet","NAD_1983_HARN_Adj_MN_Ramsey_Feet","NAD_1983_HARN_Adj_MN_Red_Lake_Feet","NAD_1983_HARN_Adj_MN_Redwood_Feet","NAD_1983_HARN_Adj_MN_Renville_Feet","NAD_1983_HARN_Adj_MN_Rice_Feet","NAD_1983_HARN_Adj_MN_Rock_Feet","NAD_1983_HARN_Adj_MN_Roseau_Feet","NAD_1983_HARN_Adj_MN_St_Louis_North_Feet","NAD_1983_HARN_Adj_MN_St_Louis_Central_Feet","NAD_1983_HARN_Adj_MN_St_Louis_South_Feet","NAD_1983_HARN_Adj_MN_Scott_Feet","NAD_1983_HARN_Adj_MN_Sherburne_Feet","NAD_1983_HARN_Adj_MN_Sibley_Feet","NAD_1983_HARN_Adj_MN_Stearns_Feet","NAD_1983_HARN_Adj_MN_Steele_Feet","NAD_1983_HARN_Adj_MN_Stevens_Feet","NAD_1983_HARN_Adj_MN_Swift_Feet","NAD_1983_HARN_Adj_MN_Todd_Feet","NAD_1983_HARN_Adj_MN_Traverse_Feet","NAD_1983_HARN_Adj_MN_Wabasha_Feet","NAD_1983_HARN_Adj_MN_Wadena_Feet","NAD_1983_HARN_Adj_MN_Waseca_Feet","NAD_1983_HARN_Adj_MN_Watonwan_Feet","NAD_1983_HARN_Adj_MN_Winona_Feet","NAD_1983_HARN_Adj_MN_Wright_Feet","NAD_1983_HARN_Adj_MN_Yellow_Medicine_Feet","Mexican_Datum_1993_UTM_Zone_11N","Mexican_Datum_1993_UTM_Zone_12N","Mexican_Datum_1993_UTM_Zone_13N","Mexican_Datum_1993_UTM_Zone_14N","Mexican_Datum_1993_UTM_Zone_15N","Mexican_Datum_1993_UTM_Zone_16N","NAD_1983_HARN_Adj_WI_Adams_Meters","NAD_1983_HARN_Adj_WI_Ashland_Meters","NAD_1983_HARN_Adj_WI_Barron_Meters","NAD_1983_HARN_Adj_WI_Brown_Meters","NAD_1983_HARN_Adj_WI_Buffalo_Meters","NAD_1983_HARN_Adj_WI_Calumet_Meters","NAD_1983_HARN_Adj_WI_Clark_Meters","NAD_1983_HARN_Adj_WI_Dodge_Meters","NAD_1983_HARN_Adj_WI_Door_Meters","NAD_1983_HARN_Adj_WI_Douglas_Meters","NAD_1983_HARN_Adj_WI_Dunn_Meters","NAD_1983_HARN_Adj_WI_Florence_Meters","NAD_1983_HARN_Adj_WI_Fond_du_Lac_Meters","NAD_1983_HARN_Adj_WI_Forest_Meters","NAD_1983_HARN_Adj_WI_Grant_Meters","NAD_1983_HARN_Adj_WI_Iowa_Meters","NAD_1983_HARN_Adj_WI_Iron_Meters","NAD_1983_HARN_Adj_WI_Jefferson_Meters","NAD_1983_HARN_Adj_WI_Juneau_Meters","NAD_1983_HARN_Adj_WI_Kenosha_Meters","NAD_1983_HARN_Adj_WI_Kewaunee_Meters","NAD_1983_HARN_Adj_WI_LaCrosse_Meters","NAD_1983_HARN_Adj_WI_Lincoln_Meters","NAD_1983_HARN_Adj_WI_Manitowoc_Meters","NAD_1983_HARN_Adj_WI_Marinette_Meters","NAD_1983_HARN_Adj_WI_Menominee_Meters","NAD_1983_HARN_Adj_WI_Milwaukee_Meters","NAD_1983_HARN_Adj_WI_Oconto_Meters","NAD_1983_HARN_Adj_WI_Outagamie_Meters","NAD_1983_HARN_Adj_WI_Ozaukee_Meters","NAD_1983_HARN_Adj_WI_Polk_Meters","NAD_1983_HARN_Adj_WI_Price_Meters","NAD_1983_HARN_Adj_WI_Racine_Meters","NAD_1983_HARN_Adj_WI_Rock_Meters","NAD_1983_HARN_Adj_WI_Rusk_Meters","NAD_1983_HARN_Adj_WI_St_Croix_Meters","NAD_1983_HARN_Adj_WI_Sauk_Meters","NAD_1983_HARN_Adj_WI_Shawano_Meters","NAD_1983_HARN_Adj_WI_Sheboygan_Meters","NAD_1983_HARN_Adj_WI_Trempealeau_Meters","NAD_1983_HARN_Adj_WI_Washington_Meters","NAD_1983_HARN_Adj_WI_Waukesha_Meters","NAD_1983_HARN_Adj_WI_Waupaca_Meters","NAD_1983_HARN_Adj_WI_Winnebago_Meters","NAD_1983_HARN_Adj_WI_Bayfield_Meters","NAD_1983_HARN_Adj_WI_Burnett_Meters","NAD_1983_HARN_Adj_WI_Chippewa_Meters","NAD_1983_HARN_Adj_WI_Columbia_Meters","NAD_1983_HARN_Adj_WI_Crawford_Meters","NAD_1983_HARN_Adj_WI_Dane_Meters","NAD_1983_HARN_Adj_WI_EauClaire_Meters","NAD_1983_HARN_Adj_WI_Green_Meters","NAD_1983_HARN_Adj_WI_GreenLake_Meters","NAD_1983_HARN_Adj_WI_Jackson_Meters","NAD_1983_HARN_Adj_WI_Lafayette_Meters","NAD_1983_HARN_Adj_WI_Langlade_Meters","NAD_1983_HARN_Adj_WI_Marathon_Meters","NAD_1983_HARN_Adj_WI_Marquette_Meters","NAD_1983_HARN_Adj_WI_Monroe_Meters","NAD_1983_HARN_Adj_WI_Oneida_Meters","NAD_1983_HARN_Adj_WI_Pepin_Meters","NAD_1983_HARN_Adj_WI_Pierce_Meters","NAD_1983_HARN_Adj_WI_Portage_Meters","NAD_1983_HARN_Adj_WI_Richland_Meters","NAD_1983_HARN_Adj_WI_Sawyer_Meters","NAD_1983_HARN_Adj_WI_Taylor_Meters","NAD_1983_HARN_Adj_WI_Vernon_Meters","NAD_1983_HARN_Adj_WI_Vilas_Meters","NAD_1983_HARN_Adj_WI_Walworth_Meters","NAD_1983_HARN_Adj_WI_Washburn_Meters","NAD_1983_HARN_Adj_WI_Waushara_Meters","NAD_1983_HARN_Adj_WI_Wood_Meters","NAD_1983_HARN_Adj_WI_Adams_Feet","NAD_1983_HARN_Adj_WI_Ashland_Feet","NAD_1983_HARN_Adj_WI_Barron_Feet","NAD_1983_HARN_Adj_WI_Brown_Feet","NAD_1983_HARN_Adj_WI_Buffalo_Feet","NAD_1983_HARN_Adj_WI_Calumet_Feet","NAD_1983_HARN_Adj_WI_Clark_Feet","NAD_1983_HARN_Adj_WI_Dodge_Feet","NAD_1983_HARN_Adj_WI_Door_Feet","NAD_1983_HARN_Adj_WI_Douglas_Feet","NAD_1983_HARN_Adj_WI_Dunn_Feet","NAD_1983_HARN_Adj_WI_Florence_Feet","NAD_1983_HARN_Adj_WI_Fond_du_Lac_Feet","NAD_1983_HARN_Adj_WI_Forest_Feet","NAD_1983_HARN_Adj_WI_Grant_Feet","NAD_1983_HARN_Adj_WI_Iowa_Feet","NAD_1983_HARN_Adj_WI_Iron_Feet","NAD_1983_HARN_Adj_WI_Jefferson_Feet","NAD_1983_HARN_Adj_WI_Juneau_Feet","NAD_1983_HARN_Adj_WI_Kenosha_Feet","NAD_1983_HARN_Adj_WI_Kewaunee_Feet","NAD_1983_HARN_Adj_WI_LaCrosse_Feet","NAD_1983_HARN_Adj_WI_Lincoln_Feet","NAD_1983_HARN_Adj_WI_Manitowoc_Feet","NAD_1983_HARN_Adj_WI_Marinette_Feet","NAD_1983_HARN_Adj_WI_Menominee_Feet","NAD_1983_HARN_Adj_WI_Milwaukee_Feet","NAD_1983_HARN_Adj_WI_Oconto_Feet","NAD_1983_HARN_Adj_WI_Outagamie_Feet","NAD_1983_HARN_Adj_WI_Ozaukee_Feet","NAD_1983_HARN_Adj_WI_Polk_Feet","NAD_1983_HARN_Adj_WI_Price_Feet","NAD_1983_HARN_Adj_WI_Racine_Feet","NAD_1983_HARN_Adj_WI_Rock_Feet","NAD_1983_HARN_Adj_WI_Rusk_Feet","NAD_1983_HARN_Adj_WI_St_Croix_Feet","NAD_1983_HARN_Adj_WI_Sauk_Feet","NAD_1983_HARN_Adj_WI_Shawano_Feet","NAD_1983_HARN_Adj_WI_Sheboygan_Feet","NAD_1983_HARN_Adj_WI_Trempealeau_Feet","NAD_1983_HARN_Adj_WI_Washington_Feet","NAD_1983_HARN_Adj_WI_Waukesha_Feet","NAD_1983_HARN_Adj_WI_Waupaca_Feet","NAD_1983_HARN_Adj_WI_Winnebago_Feet","NAD_1983_HARN_Adj_WI_Bayfield_Feet","NAD_1983_HARN_Adj_WI_Burnett_Feet","NAD_1983_HARN_Adj_WI_Chippewa_Feet","NAD_1983_HARN_Adj_WI_Columbia_Feet","NAD_1983_HARN_Adj_WI_Crawford_Feet","NAD_1983_HARN_Adj_WI_Dane_Feet","NAD_1983_HARN_Adj_WI_EauClaire_Feet","NAD_1983_HARN_Adj_WI_Green_Feet","NAD_1983_HARN_Adj_WI_GreenLake_Feet","NAD_1983_HARN_Adj_WI_Jackson_Feet","NAD_1983_HARN_Adj_WI_Lafayette_Feet","NAD_1983_HARN_Adj_WI_Langlade_Feet","NAD_1983_HARN_Adj_WI_Marathon_Feet","NAD_1983_HARN_Adj_WI_Marquette_Feet","NAD_1983_HARN_Adj_WI_Monroe_Feet","NAD_1983_HARN_Adj_WI_Oneida_Feet","NAD_1983_HARN_Adj_WI_Pepin_Feet","NAD_1983_HARN_Adj_WI_Pierce_Feet","NAD_1983_HARN_Adj_WI_Portage_Feet","NAD_1983_HARN_Adj_WI_Richland_Feet","NAD_1983_HARN_Adj_WI_Sawyer_Feet","NAD_1983_HARN_Adj_WI_Taylor_Feet","NAD_1983_HARN_Adj_WI_Vernon_Feet","NAD_1983_HARN_Adj_WI_Vilas_Feet","NAD_1983_HARN_Adj_WI_Walworth_Feet","NAD_1983_HARN_Adj_WI_Washburn_Feet","NAD_1983_HARN_Adj_WI_Waushara_Feet","NAD_1983_HARN_Adj_WI_Wood_Feet","GDA2020","GDA2020_GA_LCC","GDA2020_MGA_Zone_46","GDA2020_MGA_Zone_47","GDA2020_MGA_Zone_48","GDA2020_MGA_Zone_49","GDA2020_MGA_Zone_50","GDA2020_MGA_Zone_51","GDA2020_MGA_Zone_52","GDA2020_MGA_Zone_53","GDA2020_MGA_Zone_54","GDA2020_MGA_Zone_55","GDA2020_MGA_Zone_56","GDA2020_MGA_Zone_57","GDA2020_MGA_Zone_58","GDA2020_MGA_Zone_59"]\r\n}',
"url:esri/dijit/Search/templates/Search.html":'\x3cdiv role\x3d"presentation" class\x3d"${theme}"\x3e\r\n  \x3cdiv role\x3d"presentation" class\x3d"${css.searchGroup}" data-dojo-attach-point\x3d"containerNode"\x3e\r\n    \x3cdiv data-dojo-attach-point\x3d"expandNode" class\x3d"${css.searchExpandContainer}"\x3e\r\n      \x3cdiv class\x3d"${css.searchAnimateContainer}"\x3e\r\n        \x3cdiv role\x3d"button" title\x3d"${_i18n.widgets.Search.main.searchIn}" id\x3d"${id}_menu_button" class\x3d"${css.searchBtn} ${css.searchToggle}" tabindex\x3d"0" data-dojo-attach-point\x3d"sourcesBtnNode"\x3e\r\n          \x3cspan aria-hidden\x3d"true" role\x3d"presentation" class\x3d"${css.searchToggleIcon}"\x3e\x3c/span\x3e\x3cspan class\x3d"${css.searchSourceName}" data-dojo-attach-point\x3d"sourceNameNode"\x3e\x3c/span\x3e\r\n        \x3c/div\x3e\r\n        \x3cdiv class\x3d"${css.searchInputGroup}"\x3e\r\n          \x3cform data-dojo-attach-point\x3d"formNode"\x3e\r\n            \x3cinput maxlength\x3d"${maxLength}" autocomplete\x3d"off" type\x3d"text" tabindex\x3d"0" class\x3d"${css.searchInput}" value\x3d"${value}" aria-haspopup\x3d"true" id\x3d"${id}_input" data-dojo-attach-point\x3d"inputNode" role\x3d"textbox"\x3e\r\n          \x3c/form\x3e\r\n          \x3cdiv role\x3d"button" class\x3d"${css.searchClear}" tabindex\x3d"0" data-dojo-attach-point\x3d"clearNode"\x3e\x3cspan aria-hidden\x3d"true" class\x3d"${css.searchClearIcon}"\x3e\x3c/span\x3e\x3cspan aria-hidden\x3d"true" class\x3d"${css.searchSpinner}"\x3e\x3c/span\x3e\r\n          \x3c/div\x3e\r\n          \x3cdiv data-dojo-attach-point\x3d"suggestionsNode" class\x3d"${css.searchMenu} ${css.suggestionsMenu}"\x3e\x3c/div\x3e\r\n        \x3c/div\x3e\r\n      \x3c/div\x3e\r\n    \x3c/div\x3e\r\n    \x3cdiv role\x3d"button" title\x3d"${_i18n.widgets.Search.main.searchButtonTitle}" class\x3d"${css.searchBtn} ${css.searchSubmit}" tabindex\x3d"0" data-dojo-attach-point\x3d"submitNode"\x3e\r\n      \x3cspan aria-hidden\x3d"true" role\x3d"presentation" class\x3d"${css.searchIcon}"\x3e\x3c/span\x3e\r\n      \x3cspan class\x3d"${css.searchButtonText}"\x3e${_i18n.widgets.Search.main.searchButtonTitle}\x3c/span\x3e\r\n    \x3c/div\x3e\r\n    \x3cdiv data-dojo-attach-point\x3d"sourcesNode" class\x3d"${css.searchMenu} ${css.sourcesMenu}"\x3e\x3c/div\x3e\r\n    \x3cdiv data-dojo-attach-point\x3d"noResultsMenuNode" class\x3d"${css.searchMenu} ${css.searchNoResultsMenu}"\x3e\x3c/div\x3e\r\n    \x3cdiv class\x3d"${css.searchClearFloat}"\x3e\x3c/div\x3e\r\n  \x3c/div\x3e\r\n\x3c/div\x3e',
"url:widgets/Search/Widget.html":'\x3cdiv\x3e\r\n\t\x3cdiv data-dojo-attach-point\x3d"searchNode" class\x3d"search-node"\x3e\x3c/div\x3e\r\n\t\x3cdiv data-dojo-attach-point\x3d"searchResultsNode" class\x3d"searchResults arcgisSearch"\x3e\x3c/div\x3e\r\n\x3c/div\x3e',"url:widgets/Search/css/style.css":".jimu-widget-search{min-height: 32px;}.jimu-widget-search .search-node.default-width-for-openAtStart{width: 274px;}.jimu-widget-search .result-item-selected{background: #eee;}.jimu-widget-search .arcgisSearch .searchBtn{padding: 6px;}.jimu-widget-search .arcgisSearch .searchBtn:hover,.jimu-widget-search .arcgisSearch .searchBtn:focus {background-color: #485566; color: white;}.jimu-widget-search .arcgisSearch .searchGroup .searchInputGroup .searchInput{width: auto;}.jimu-widget-search.use-absolute .arcgisSearch .searchToggle{float: left;}.jimu-rtl .jimu-widget-search.use-absolute .arcgisSearch .searchToggle{float: right;}.jimu-widget-search.use-absolute .arcgisSearch .searchInputGroup{position: absolute; top: 0; width: auto; left: 34px; right: 34px;}.jimu-widget-search.use-absolute .arcgisSearch .searchInputGroup form{overflow: hidden; z-index: 0; position: relative;}.jimu-widget-search.use-absolute .arcgisSearch .searchInputGroup .searchClear{z-index: 0;}.jimu-widget-search.use-absolute .arcgisSearch .searchExpandContainer{float: none;}.jimu-widget-search.use-absolute .arcgisSearch .searchSubmit{float: right;}.jimu-rtl .jimu-widget-search.use-absolute .arcgisSearch .searchSubmit{float: left;}.jimu-widget-search .arcgisSearch .show-all-results{position: absolute; height: 25px; color: #686868; line-height: 25px; display: none; width: 237px; margin: auto; background-color: #fff; padding: 0 12px; cursor: pointer;}.jimu-widget-search .arcgisSearch .searchMenu{border-radius: 0; color: #686868; font-size: 12px; padding: 0; top: 33px;}.jimu-widget-search .arcgisSearch .searchMenu.suggestionsMenu.show{display: block !important;}.jimu-widget-search .arcgisSearch .searchMenu li.active{background-color: #d9dde0; color: #686868; font-size: 14px;}.jimu-widget-search .arcgisSearch .searchMenu li{padding: 0 12px; line-height: 25px;}.jimu-widget-search .arcgisSearch .searchMenu li:hover,.jimu-widget-search .arcgisSearch .searchMenu li:focus {background-color: #eee;}.jimu-widget-search .arcgisSearch .searchMenu .menuHeader{background-color: #d9dde0; color: #686868; font-size: 14px; min-height: 30px; padding: 0 12px; line-height: 30px;}",
"url:widgets/Splash/Widget.html":'\x3cdiv class\x3d"jimu-widget-splash-desktop" data-dojo-attach-point\x3d"splashDesktop"\x3e\r\n  \x3cdiv class\x3d"overlay" data-dojo-attach-point\x3d"overlayNode"\x3e\x3c/div\x3e\r\n  \x3cdiv class\x3d"envelope buried" data-dojo-attach-point\x3d"envelopeNode"\x3e\r\n    \x3cdiv class\x3d"splash-container splash-bg" data-dojo-attach-point\x3d"splashContainerBackground"\x3e\x3c/div\x3e\r\n    \x3cdiv class\x3d"splash-container" data-dojo-attach-point\x3d"splashContainerNode"\x3e\r\n      \x3cdiv class\x3d"custom-content" data-dojo-attach-point\x3d"customContentNode" tabindex\x3d"0" role\x3d"document" style\x3d"font-family: \'Verdana\',\'Avenir Light\'"\x3e\x3c/div\x3e\r\n      \x3cdiv class\x3d"footer" data-dojo-attach-point\x3d"footerNode"\x3e\r\n        \x3cdiv class\x3d"confirmcheck-container" data-dojo-attach-point\x3d"confirmCheckContainer"\x3e\r\n          \x3cdiv data-dojo-attach-point\x3d"confirmCheck"\x3e\x3c/div\x3e\r\n        \x3c/div\x3e\r\n        \x3cbutton class\x3d"jimu-btn jimu-float-trailing" data-dojo-attach-point\x3d"okNode" data-dojo-attach-event\x3d"onclick:onOkClick, onkeydown:onOkKeydown" tabindex\x3d"0"\x3e\x3c/button\x3e\r\n      \x3c/div\x3e\r\n    \x3c/div\x3e\r\n  \x3c/div\x3e\r\n\x3c/div\x3e',
"url:widgets/Splash/css/style.css":".jimu-widget-splash{position: absolute !important; top: 0 !important; bottom: 0 !important; left: 0 !important; right: 0 !important; margin: auto !important; z-index: 130 !important;}.jimu-widget-splash .jimu-loading-shelter{z-index: 131;}.jimu-widget-splash .buried{visibility: hidden;}.jimu-widget-splash .overlay{top: 0; left: 0; width: 100%; height: 100%; position: absolute; background-color:rgba(0,0,0,0.5);}.jimu-widget-splash-desktop .splash-container .jimu-checkbox,.jimu-widget-splash-mobile .splash-container .jimu-checkbox{font-size: 14px; color: #fff; overflow: auto; max-height: 50px; min-height: 25px; margin-top: 20px; margin-bottom: 10px; display: block;}.jimu-widget-splash-desktop .splash-container .jimu-checkbox .label,.jimu-widget-splash-mobile .splash-container .jimu-checkbox .label{white-space: normal; text-indent: 5px; margin-left: 5px; color: #fff; float: none !important; display: inline; vertical-align: middle;}.jimu-rtl .jimu-widget-splash-desktop .splash-container .jimu-checkbox .label,.jimu-rtl .jimu-widget-splash-mobile .splash-container .jimu-checkbox .label{margin-left: auto; margin-right: 5px;}.jimu-widget-splash-desktop .envelope{}.jimu-widget-splash-desktop .envelope,.jimu-widget-splash-mobile .envelope{position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none;}.jimu-widget-splash-desktop .splash-container .jimu-btn,.jimu-widget-splash-mobile .splash-container .jimu-btn{height: 33px; padding: 0; width: 60px; line-height: 33px;}.jimu-rtl .jimu-widget-splash-desktop .splash-container .jimu-btn,.jimu-rtl .jimu-widget-splash-mobile .splash-container .jimu-btn{left: 0; right: auto;}.jimu-widget-splash-desktop .splash-container .enable-btn,.jimu-widget-splash-mobile .splash-container .enable-btn{background-color: #518dca;}.jimu-widget-splash-desktop .splash-container .disable-btn,.jimu-widget-splash-mobile .splash-container .disable-btn{background-color: #a0acbf !important; color: rgb(255, 255, 255) !important;}.jimu-widget-splash-desktop .splash-container .jimu-checkbox .checkbox,.jimu-widget-splash-mobile .splash-container .jimu-checkbox .checkbox{background-color: #fff;}.jimu-widget-splash-desktop .envelope{border: 1px solid rgba(255,255,255,0.3);}.jimu-widget-splash-desktop .splash-container,.jimu-widget-splash-desktop .splash-bg{position: absolute; display: inline-block; margin: auto; top: 0; left: 0; bottom: 0; right: 0; overflow:auto;}.jimu-widget-splash-desktop .splash-container{z-index: 1; overflow: hidden;}.jimu-widget-splash .norepeat{background: no-repeat;}.jimu-widget-splash .fill {background-size: cover !important;}.jimu-widget-splash .fit {background-size: contain !important;}.jimu-widget-splash .stretch {background-size: 100% 100% !important;}.jimu-widget-splash .center {background-size: initial !important;}.jimu-widget-splash .tile {background-size: initial !important;}.jimu-widget-splash-desktop .splash-bg{z-index: 0;}.jimu-widget-splash-desktop .custom-content{margin: 20px; color: #fff; overflow-x: hidden; overflow-y: auto;}.jimu-widget-splash-desktop .splash-container .footer{position: absolute; bottom: 10px; width: 100%;}.jimu-widget-splash .footer .confirmcheck-container{margin: 0 20px;}.jimu-widget-splash .footer .confirmcheck-container .jimu-checkbox .checkbox{margin: 2px;}.jimu-widget-splash .footer .confirmcheck-container .jimu-checkbox .dijitCheckBoxFocused{box-shadow: 0 0 0px 2px rgba(136, 176, 245, 1);}.jimu-widget-splash .footer .jimu-btn {margin: 0 20px 2px 20px;}.jimu-widget-splash .footer .jimu-btn:focus {box-shadow: 0 0 0px 2px rgba(136, 176, 245, 1);}",
"*now":function(I){I(['dojo/i18n!*preload*dynamic-modules/nls/commonWidgets*["ar","bs","ca","cs","da","de","en","el","es","et","fi","fr","he","hr","hu","id","it","ja","ko","lt","lv","nb","nl","pl","pt-br","pt-pt","ro","ru","sk","sl","sr","sv","th","tr","zh-cn","uk","vi","zh-hk","zh-tw","ROOT"]'])},"*noref":1}});define([],1);