@arcgis/core 4.34.0-next.74 → 4.34.0-next.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/PopupTemplate.js +1 -1
- package/applications/Components/QuantityFormatter.js +1 -1
- package/arcade/Pixel.js +5 -0
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/009556f323e58271bc7a.js +1 -0
- package/assets/esri/core/workers/chunks/{11acefc48c0354e675df.js → 0309d008e50e55c7ff1d.js} +1 -1
- package/assets/esri/core/workers/chunks/{dd447dfc50ee7f511b84.js → 19c1f1431c0b2f4525a2.js} +1 -1
- package/assets/esri/core/workers/chunks/{7219ceab0b6fae2e69b6.js → 280af3640f8e93c1024e.js} +2 -2
- package/assets/esri/core/workers/chunks/{5a476e6743902e35f81a.js.LICENSE.txt → 280af3640f8e93c1024e.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{e3ad0a390387c5847aca.js → 356c96fad88558be9054.js} +1 -1
- package/assets/esri/core/workers/chunks/{ada8e07ff12bc5d4a1d9.js → 37ff19a9c5c99bd4e7c7.js} +1 -1
- package/assets/esri/core/workers/chunks/{d12f373fcf5848ddcd8a.js → 3f523bc8551e712c9bd4.js} +1 -1
- package/assets/esri/core/workers/chunks/{5b7e5ec6aea1f7f9b005.js → 3fecfe4f8ca2a5fd7360.js} +1 -1
- package/assets/esri/core/workers/chunks/{78b33c6d73824085c6d1.js → 48449abe795cb7a831eb.js} +1 -1
- package/assets/esri/core/workers/chunks/541bffd61006d0e36166.js +1 -0
- package/assets/esri/core/workers/chunks/{f4e9640306f64b1af7a3.js → 65ec21d29e8563fdbc55.js} +1 -1
- package/assets/esri/core/workers/chunks/67d9cfe02613cb73ee37.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{fb669a2e50ca7aacac25.js → 71fef0a33b7ed9456e47.js} +1 -1
- package/assets/esri/core/workers/chunks/7430c462c350fdd26349.js +1 -0
- package/assets/esri/core/workers/chunks/{ff3fe5c97a98c8cab4ac.js → 7a23b127f551bf13ef54.js} +2 -2
- package/assets/esri/core/workers/chunks/{ff3fe5c97a98c8cab4ac.js.LICENSE.txt → 7a23b127f551bf13ef54.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{9c00c2263e52ad51c2a2.js → 8e428b0f33ef4688415e.js} +1 -1
- package/assets/esri/core/workers/chunks/{d682dd49bb9ee7f48f93.js → 9304c3cdf732745577fd.js} +1 -1
- package/assets/esri/core/workers/chunks/93b2e0a300b2758a1ca4.js +1 -0
- package/assets/esri/core/workers/chunks/{8d642b34d40edfe02d8e.js → 9c64b78c5c9b35b31d98.js} +2 -2
- package/assets/esri/core/workers/chunks/{8d642b34d40edfe02d8e.js.LICENSE.txt → 9c64b78c5c9b35b31d98.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{6dc62c170e9583222df2.js → a25b75de1bca1dd21941.js} +1 -1
- package/assets/esri/core/workers/chunks/a6533bab3b2fbc1e2a47.js +1 -0
- package/assets/esri/core/workers/chunks/{5c53deb45bc142219c76.js → b15ff6c9ef2de8a49853.js} +2 -2
- package/assets/esri/core/workers/chunks/{5c53deb45bc142219c76.js.LICENSE.txt → b15ff6c9ef2de8a49853.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/bccecd678faff927ac76.js +1 -0
- package/assets/esri/core/workers/chunks/{ce1f4508487298ab57b6.js → bd2dc1282c49125ede89.js} +1 -1
- package/assets/esri/core/workers/chunks/{f542bdc994a5ea3aa9d1.js → c38360d912f256519e06.js} +1 -1
- package/assets/esri/core/workers/chunks/cd1869e183001266c4c1.js +2 -0
- package/assets/esri/core/workers/chunks/{626c18c1bbc50b3b16b2.js.LICENSE.txt → cd1869e183001266c4c1.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{90321feb56f3a84f6e58.js → d153b29c542c37ae1636.js} +2 -2
- package/assets/esri/core/workers/chunks/{90321feb56f3a84f6e58.js.LICENSE.txt → d153b29c542c37ae1636.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/d55c55d39a253630d228.js +1 -0
- package/assets/esri/core/workers/chunks/{49f7a5523462aebf90fc.js → d66cdb9bb494da19696b.js} +2 -2
- package/assets/esri/core/workers/chunks/{49f7a5523462aebf90fc.js.LICENSE.txt → d66cdb9bb494da19696b.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/ed773dab5965e42a2879.js +2 -0
- package/assets/esri/core/workers/chunks/{7219ceab0b6fae2e69b6.js.LICENSE.txt → ed773dab5965e42a2879.js.LICENSE.txt} +1 -1
- package/assets/esri/images/portal/xrexperience16.png +0 -0
- package/chunks/Fog.glsl.js +6 -6
- package/chunks/GlowComposition.glsl.js +31 -12
- package/chunks/LineMarker.glsl.js +37 -36
- package/chunks/RibbonLine.glsl.js +83 -83
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/core/quantityFormatUtils.js +1 -1
- package/core/unitFormatUtils.js +1 -1
- package/core/unitUtils.js +1 -1
- package/form/FormTemplate.js +1 -1
- package/geometry/support/curves/circleUtils.js +1 -1
- package/geometry/support/curves/circularArcUtils.js +1 -1
- package/geometry/support/curves/closestPointOnCurve.js +1 -1
- package/geometry/support/curves/curveExtent.js +1 -1
- package/geometry/support/curves/lineUtils.js +5 -0
- package/interfaces.d.ts +270 -18
- package/kernel.js +1 -1
- package/layers/ImageryLayer.js +1 -1
- package/layers/ImageryTileLayer.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/package.json +2 -2
- package/portal/PortalItem.js +1 -1
- package/renderers/ClassBreaksRenderer.js +1 -1
- package/renderers/DictionaryRenderer.js +1 -1
- package/renderers/DotDensityRenderer.js +1 -1
- package/renderers/HeatmapRenderer.js +1 -1
- package/renderers/PieChartRenderer.js +1 -1
- package/renderers/UniqueValueRenderer.js +1 -1
- package/renderers/mixins/VisualVariablesMixin.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/loadArcade.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/CIMSymbol.js +1 -1
- package/symbols/support/FeatureExpressionInfo.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
- package/views/3d/analysis/Slice/ResizeManipulator.js +1 -1
- package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
- package/views/3d/analysis/Slice/ShiftManipulator.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
- package/views/3d/state/SurfaceCollisionConstraint.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/SurfaceCollisionCorrectionController.js +1 -1
- package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
- package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
- package/views/3d/support/flow/FlowWorker.js +1 -1
- package/views/3d/support/flow/geometryUtils.js +1 -1
- package/views/3d/support/flow/loadUtils.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +23 -13
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +36 -23
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +11 -11
- package/views/3d/webgl-engine/core/shaderLibrary/util/NoPerspective.glsl.js +5 -0
- package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowPresets.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/GroundView.js +1 -1
- package/views/interactive/snapping/allLayerSnapping.js +1 -1
- package/views/layers/ImageryLayerView.js +1 -1
- package/views/support/LayerViewManager.js +1 -1
- package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/assets/esri/core/workers/chunks/5a476e6743902e35f81a.js +0 -2
- package/assets/esri/core/workers/chunks/5a95688651d7e8b7101d.js +0 -1
- package/assets/esri/core/workers/chunks/626c18c1bbc50b3b16b2.js +0 -2
- package/assets/esri/core/workers/chunks/6da298da2ec09cced0b5.js +0 -1
- package/assets/esri/core/workers/chunks/8b1d2bbb2b2eb1830921.js +0 -1
- package/assets/esri/core/workers/chunks/a2f4b6d8da93f106852c.js +0 -1
- package/assets/esri/core/workers/chunks/d305ca524837c5dc81c8.js +0 -1
- package/assets/esri/core/workers/chunks/e6f2ac738df16fb5e13a.js +0 -1
- package/assets/esri/core/workers/chunks/e8d25d4ca9b335883f34.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3417],{18768:(e,t,i)=>{i.d(t,{b:()=>l});var r=i(31635),s=i(53966),n=i(10107),o=(i(44208),i(87811),i(40608)),a=i(60694);const l=e=>{const t=e;let i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,a.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,a.Jf)(e,s.A.getLogger(this)))}};return(0,r.Cg)([(0,n.MZ)()],i.prototype,"title",null),(0,r.Cg)([(0,n.MZ)({type:String})],i.prototype,"url",null),i=(0,r.Cg)([(0,o.$)("esri.layers.mixins.ArcGISService")],i),i}},24212:(e,t,i)=>{function r(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?l:u}(e).mode}(null==e||(e.hasZ??!1),t)}function s(e,t,i){return i&&i.mode!==t?`${e} only support ${t} elevation mode`:null}function n(e,t,i){return i?.mode===t?`${e} do not support ${t} elevation mode`:null}function o(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function a(e,t){t&&e.warn(".elevationInfo=",t)}i.d(t,{$7:()=>n,B:()=>s,XF:()=>a,tW:()=>o,w7:()=>r}),i(83047),i(16271);const l={mode:"absolute-height",offset:0},u={mode:"on-the-ground",offset:null}},27647:(e,t,i)=>{function r(e,t){return e?t?4:3:t?3:2}function s(e,t,i,s){if(!t?.lengths.length)return null;e.lengths.length&&(e.lengths.length=0),e.coords.length&&(e.coords.length=0);const a=e.coords,l=[],u=i?[Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY]:[Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY],{lengths:p,coords:c}=t,m=r(i,s);let d=0;for(const e of p){const t=n(u,c,d,e,i,s);t&&l.push(t),d+=e*m}if(l.sort((e,t)=>{let r=e[2]-t[2];return 0===r&&i&&(r=e[4]-t[4]),r}),l.length){let e=6*l[0][2];a[0]=l[0][0]/e,a[1]=l[0][1]/e,i&&(e=6*l[0][4],a[2]=0!==e?l[0][3]/e:0),(a[0]<u[0]||a[0]>u[1]||a[1]<u[2]||a[1]>u[3]||i&&(a[2]<u[4]||a[2]>u[5]))&&(a.length=0)}if(!a.length){const e=t.lengths[0]?o(c,0,p[0],i,s):null;if(!e)return null;a[0]=e[0],a[1]=e[1],i&&e.length>2&&(a[2]=e[2])}return e}function n(e,t,i,s,n,o){const a=r(n,o);let l=i,u=i+a,p=0,c=0,m=0,d=0,h=0;for(let i=0,r=s-1;i<r;i++,l+=a,u+=a){const i=t[l],r=t[l+1],s=t[l+2],o=t[u],a=t[u+1],y=t[u+2];let g=i*a-o*r;d+=g,p+=(i+o)*g,c+=(r+a)*g,n&&(g=i*y-o*s,m+=(s+y)*g,h+=g),i<e[0]&&(e[0]=i),i>e[1]&&(e[1]=i),r<e[2]&&(e[2]=r),r>e[3]&&(e[3]=r),n&&(s<e[4]&&(e[4]=s),s>e[5]&&(e[5]=s))}if(d>0&&(d*=-1),h>0&&(h*=-1),!d)return null;const y=[p,c,.5*d];return n&&(y[3]=m,y[4]=.5*h),y}function o(e,t,i,s,n){const o=r(s,n);let c=t,m=t+o,d=0,h=0,y=0,g=0;for(let t=0,r=i-1;t<r;t++,c+=o,m+=o){const t=e[c],i=e[c+1],r=e[c+2],n=e[m],o=e[m+1],f=e[m+2],w=s?l(t,i,r,n,o,f):a(t,i,n,o);if(w)if(d+=w,s){const e=p(t,i,r,n,o,f);h+=w*e[0],y+=w*e[1],g+=w*e[2]}else{const e=u(t,i,n,o);h+=w*e[0],y+=w*e[1]}}return d>0?s?[h/d,y/d,g/d]:[h/d,y/d]:i>0?s?[e[t],e[t+1],e[t+2]]:[e[t],e[t+1]]:null}function a(e,t,i,r){const s=i-e,n=r-t;return Math.sqrt(s*s+n*n)}function l(e,t,i,r,s,n){const o=r-e,a=s-t,l=n-i;return Math.sqrt(o*o+a*a+l*l)}function u(e,t,i,r){return[e+.5*(i-e),t+.5*(r-t)]}function p(e,t,i,r,s,n){return[e+.5*(r-e),t+.5*(s-t),i+.5*(n-i)]}i.d(t,{Q:()=>s})},33446:(e,t,i)=>{i.d(t,{C:()=>o,m:()=>n});var r=i(49186),s=i(74887);async function n(e,t,i){let n;try{n=await createImageBitmap(e)}catch(e){throw new r.A("request:server",`Unable to load ${t}`,{url:t,error:e})}return(0,s.Te)(i),n}async function o(e,t,i,n,o){let a;try{a=await createImageBitmap(e)}catch(e){throw new r.A("request:server",`Unable to load tile ${t}/${i}/${n}`,{error:e,level:t,row:i,col:n})}return(0,s.Te)(o),a}},42729:(e,t,i)=>{i.r(t),i.d(t,{default:()=>ui});var r=i(31635),s=i(37838),n=i(69540),o=i(49186),a=i(53966),l=i(92071),u=i(74887),p=i(10107),c=(i(44208),i(87811),i(40608)),m=i(43937),d=i(89808),h=i(99959);const y=Symbol("isImageryGraphicOrigin");var g;class f extends h.A{get[(g=y,d.Q)](){return this.layer}constructor(e){super(),this[g]=!0,this.type="imagery",this.layer=e}get id(){return this.layer.id}}var w=i(4146),v=i(52106),R=i(78888),C=i(51447),b=i(4718),S=i(36708),I=i(84952),F=i(56507),M=i(36005),x=i(5443),A=i(39829),D=i(16930),T=i(21325),N=i(10873),P=i(45617),O=i(25482),Z=i(22796),j=i(16019);const _={StretchFunction:{arguments:{ComputeGamma:{isDataset:!1,isPublic:!1,name:"ComputeGamma",type:"RasterFunctionVariable",value:!1},DRA:{isDataset:!1,isPublic:!1,name:"DRA",type:"RasterFunctionVariable",value:!1},EstimateStatsHistogram:{isDataset:!1,isPublic:!1,name:"EstimateStatsHistogram",type:"RasterFunctionVariable",value:!1},Gamma:{displayName:"Gamma",isDataset:!1,isPublic:!1,name:"Gamma",type:"RasterFunctionVariable"},Histograms:{isDataset:!1,isPublic:!1,name:"Histograms",type:"RasterFunctionVariable"},Max:{isDataset:!1,isPublic:!1,name:"Max",type:"RasterFunctionVariable",value:255},MaxPercent:{isDataset:!1,isPublic:!1,name:"MaxPercent",type:"RasterFunctionVariable",value:.5},Min:{isDataset:!1,isPublic:!1,name:"Min",type:"RasterFunctionVariable",value:0},MinPercent:{isDataset:!1,isPublic:!1,name:"MinPercent",type:"RasterFunctionVariable",value:.25},NumberOfStandardDeviations:{isDataset:!1,isPublic:!1,name:"NumberOfStandardDeviation",type:"RasterFunctionVariable",value:2},Raster:{isDataset:!0,isPublic:!1,name:"Raster",type:"RasterFunctionVariable"},SigmoidStrengthLevel:{isDataset:!1,isPublic:!1,name:"SigmoidStrengthLevel",type:"RasterFunctionVariable",value:2},Statistics:{isDataset:!1,isPublic:!1,name:"Statistics",type:"RasterFunctionVariable"},StretchType:{isDataset:!1,isPublic:!1,name:"StretchType",type:"RasterFunctionVariable",value:0},type:"StretchFunctionArguments",UseGamma:{isDataset:!1,isPublic:!1,name:"UseGamma",type:"RasterFunctionVariable",value:!1}},description:"Enhances an image by adjusting the range of values displayed. This does not alter the underlying pixel values. If a pixel has a value outside of the specified range, it will appear as either the minimum or maximum value.",function:{description:"Enhances an image by adjusting the range of values displayed. This does not alter the underlying pixel values. If a pixel has a value outside of the specified range, it will appear as either the minimum or maximum value.",name:"Stretch",pixelType:"UNKNOWN",type:"StretchFunction"},functionType:0,name:"Stretch",thumbnail:""},RemapFunction:{name:"Remap",description:"Changes pixel values by assigning new values to ranges of pixel values or using an external table.",function:{type:"RemapFunction",pixelType:"UNKNOWN",name:"Remap",description:"Changes pixel values by assigning new values to ranges of pixel values or using an external table."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},UseTable:{name:"UseTable",isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},InputRanges:{name:"InputRanges",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable",displayName:"Input Ranges"},OutputValues:{name:"OutputValues",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable",displayName:"Output Values"},NoDataRanges:{name:"NoDataRanges",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable",displayName:"NoData Ranges"},Table:{name:"Table",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},InputField:{name:"InputField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},OutputField:{name:"OutputField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},InputMaxField:{name:"InputMaxField",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},RemapTableType:{name:"RemapTableType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},AllowUnmatched:{name:"AllowUnmatched",isPublic:!1,isDataset:!1,value:!0,type:"RasterFunctionVariable"},type:"RemapFunctionArguments"},functionType:0,thumbnail:""},ColormapFunction:{name:"Colormap",description:"Changes pixel values to display the raster data as either a grayscale or a red, green, blue (RGB) image, based on a colormap or a color ramp.",function:{type:"ColormapFunction",pixelType:"UNKNOWN",name:"Colormap",description:"Changes pixel values to display the raster data as either a grayscale or a red, green, blue (RGB) image, based on a colormap or a color ramp."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ColorSchemeType:{name:"ColorSchemeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},Colormap:{name:"Colormap",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},ColormapName:{name:"ColormapName",isPublic:!1,isDataset:!1,value:"Gray",type:"RasterFunctionVariable"},ColorRamp:{name:"ColorRamp",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},type:"ColormapFunctionArguments"},functionType:0,thumbnail:""},ShadedReliefFunction:{name:"Shaded Relief",description:"Creates a multiband, color coded, 3D representation of the surface, with the sun's relative position taken into account for shading the image.",function:{type:"ShadedReliefFunction",pixelType:"UNKNOWN",name:"Shaded Relief",description:"Creates a multiband, color coded, 3D representation of the surface, with the sun's relative position taken into account for shading the image."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ColorSchemeType:{name:"ColorSchemeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ColorRamp:{name:"ColorRamp",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},HillshadeType:{name:"HillshadeType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},Colormap:{name:"Colormap",isPublic:!1,isDataset:!1,type:"RasterFunctionVariable"},Azimuth:{name:"Azimuth",isPublic:!1,isDataset:!1,value:315,type:"RasterFunctionVariable"},Altitude:{name:"Altitude",isPublic:!1,isDataset:!1,value:45,type:"RasterFunctionVariable"},SlopeType:{name:"SlopeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ZFactor:{name:"ZFactor",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},PSPower:{name:"PSPower",isPublic:!1,isDataset:!1,value:.664,type:"RasterFunctionVariable"},PSZFactor:{name:"PSZFactor",isPublic:!1,isDataset:!1,value:.024,type:"RasterFunctionVariable"},RemoveEdgeEffect:{name:"RemoveEdgeEffect",isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},type:"ShadedReliefFunctionArguments"},functionType:0,thumbnail:""},HillshadeFunction:{name:"Hillshade",description:"Creates a 3D representation of the surface, with the sun's relative position taken into account for shading the image",function:{type:"HillshadeFunction",pixelType:"UNKNOWN",name:"Hillshade",description:"Creates a 3D representation of the surface, with the sun's relative position taken into account for shading the image"},arguments:{DEM:{name:"DEM",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},HillshadeType:{name:"HillshadeType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},Azimuth:{name:"Azimuth",isPublic:!1,isDataset:!1,value:315,type:"RasterFunctionVariable"},Altitude:{name:"Altitude",isPublic:!1,isDataset:!1,value:45,type:"RasterFunctionVariable"},SlopeType:{name:"SlopeType",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},ZFactor:{name:"ZFactor",isPublic:!1,isDataset:!1,value:1,type:"RasterFunctionVariable"},PSPower:{name:"PSPower",isPublic:!1,isDataset:!1,value:.664,type:"RasterFunctionVariable"},PSZFactor:{name:"PSZFactor",isPublic:!1,isDataset:!1,value:.024,type:"RasterFunctionVariable"},RemoveEdgeEffect:{name:"RemoveEdgeEffect",isPublic:!1,isDataset:!1,value:!1,type:"RasterFunctionVariable"},type:"HillshadeFunctionArguments"},functionType:0,thumbnail:""},ResampleFunction:{name:"Resample",description:"Changes the cell size of a raster.",function:{type:"ResampleFunction",pixelType:"UNKNOWN",name:"Resample",description:"Changes the cell size of a raster."},arguments:{Raster:{name:"Raster",isPublic:!1,isDataset:!0,type:"RasterFunctionVariable"},ResamplingType:{name:"ResamplingType",isPublic:!1,isDataset:!1,value:0,type:"RasterFunctionVariable"},InputCellSize:{name:"InputCellsize",isPublic:!1,isDataset:!1,value:{x:0,y:0},type:"RasterFunctionVariable"},OutputCellSize:{name:"OutputCellsize",isPublic:!1,isDataset:!1,value:{x:0,y:0},type:"RasterFunctionVariable"},type:"ResampleFunctionArguments"},functionType:0,thumbnail:""}};var V=i(67369),q=i(70274),E=i(48940);const J=new Set(["u1","u2","u4","u8","s8","u16","s16"]),G={simple_scalar:"Simple Scalar",wind_barb:"Wind Barb",single_arrow:"Single Arrow",beaufort_kn:"Beaufort Wind (Knots)",beaufort_m:"Beaufort Wind (MetersPerSecond)",ocean_current_m:"Ocean Current (MetersPerSecond)",ocean_current_kn:"Ocean Current (Knots)"},L=new Set(["raster-stretch","unique-value","class-breaks","raster-shaded-relief","vector-field","raster-colormap"]);function $(e){return L.has(e.type)}function z(e,t){if(!e||!t)return(0,b.o8)(e||t);const i=(0,b.o8)(e);if(i.functionDefinition&&t.rasterFunctionDefinition){const e=t.rasterFunctionDefinition;(e.thumbnail||e.thumbnailEx)&&(e.thumbnail=e.thumbnailEx=void 0),U(i.functionDefinition.arguments,t),i.rasterFunctionDefinition=i.functionDefinition.toJSON()}else"none"!==t.functionName?.toLowerCase()&&(Q(i.functionArguments).Raster=t);return i}function U(e,t){for(const i in e)"raster"===i.toLowerCase()&&("RasterFunctionVariable"===e[i].type?(e[i]=t.rasterFunctionDefinition,e[i].type="RasterFunctionTemplate"):"RasterFunctionTemplate"===e[i].type&&U(e[i].arguments,t))}function B(e){const t=(0,b.o8)(_[e.functionName+"Function"]),i=e.functionArguments;for(const e in i)"raster"===e.toLowerCase()?(t.arguments[e]=B(i[e]),t.arguments[e].type="RasterFunctionTemplate"):"colormap"===e.toLowerCase()?(t.arguments[e].value=X(i[e]),t.arguments.ColorSchemeType.value=0):t.arguments[e].value=i[e];return t}function Q(e){const t=e?.Raster??e?.raster;return t&&"esri.layers.support.RasterFunction"===t.declaredClass?Q(t.functionArguments):e}const k={none:0,standardDeviation:3,histogramEqualization:4,minMax:5,percentClip:6,sigmoid:9};function H(e,t){const i=J.has(t)?(0,j.hP)(t):null;return i&&e.push([Math.floor(i[0]-1),0,0,0],[Math.ceil(i[1]+1),0,0,0]),e}function K(e){if(null==e)return;const{fields:t}=e,i=t?.find(e=>e?.name&&"value"===e.name.toLowerCase());return i?.name}function W(e){return"polygon-3d"===e.symbol?.type?e.symbol.symbolLayers?.find(e=>"fill"===e.type)?.material?.color:e.symbol?.color}function X(e){const t=[],i=[];return e.forEach(e=>{t.push(e[0]),i.push((0,V.vL)([...e.slice(1),255]))}),{type:"RasterColormap",values:t,colors:i}}var Y=i(85675),ee=i(13868);let te=class extends O.o{constructor(){super(...arguments),this.layer=null,this.requestRawData=!1,this.compression=void 0,this.lercVersion=2}get adjustAspectRatio(){return this.layer.adjustAspectRatio}writeAdjustAspectRatio(e,t,i){this.layer.version<10.3||(t[i]=e)}get bandIds(){return this.layer.bandIds}get compressionQuality(){return this.layer.compressionQuality}writeCompressionQuality(e,t,i){this.format&&this.format.toLowerCase().includes("jpg")&&null!=e&&(t[i]=e)}get compressionTolerance(){return this.layer.compressionTolerance}writeCompressionTolerance(e,t,i){"lerc"===this.format&&null!=e&&(t[i]=e)}get format(){return this.requestRawData||"vector-field"===this.layer.renderer?.type?"lerc":this.layer.format}get interpolation(){return this.layer.interpolation}get noData(){return this.layer.noData}get noDataInterpretation(){return this.layer.noDataInterpretation}get pixelType(){const{layer:e}=this;return e.pixelType!==e.serviceRasterInfo.pixelType?e.pixelType:void 0}writeLercVersion(e,t,i){"lerc"===this.format&&this.layer.version>=10.5&&(t[i]=e)}get version(){const e=this.layer;return e.commitProperty("bandIds"),e.commitProperty("format"),e.commitProperty("compressionQuality"),e.commitProperty("compressionTolerance"),e.commitProperty("interpolation"),e.commitProperty("noData"),e.commitProperty("noDataInterpretation"),e.commitProperty("mosaicRule"),e.commitProperty("rasterFunction"),e.commitProperty("adjustAspectRatio"),e.commitProperty("pixelFilter"),e.commitProperty("pixelType"),e.commitProperty("definitionExpression"),e.commitProperty("multidimensionalSubset"),(this._get("version")||0)+1}set version(e){this._set("version",e)}get mosaicRule(){const e=this.layer;let t=e.mosaicRule;const i=e.definitionExpression;return t?i&&i!==t.where&&(t=t.clone(),t.where=i):i&&(t=new Y.A({where:i})),t}get rasterFunction(){const e=this.layer;let{rasterFunction:t}=e;const i=e.pixelFilter,r=!e.format||e.format.includes("jpg")||e.format.includes("png");this.requestRawData||(t=this._addResampleRasterFunction(t));const s=e.multidimensionalSubset?.areaOfInterest;return s&&(t=function(e,t){return z(new Z.A({functionName:"Clip",functionArguments:{ClippingGeometry:t.toJSON(),ClippingType:1}}),e)}(t,s)),this.requestRawData||!r||i||"vector-field"===e.renderer?.type||(t=this.combineRendererWithRenderingRule(t)),t}combineRendererWithRenderingRule(e){const t=this.layer,{rasterInfo:i,renderer:r}=t;return e=e||t.rasterFunction,r&&$(r)?z(function(e,t){switch(t=t||{},e.type){case"raster-stretch":return function(e,t){const i=t.convertToRFT,r=new Z.A;r.functionName="Stretch";const s=k[q.u.toJSON(e.stretchType)],n="u8",o=e.customStatistics?.map(e=>[e.min,e.max,e.avg??0,e.stddev??1]),a={StretchType:s,Statistics:o,DRA:e.dynamicRangeAdjustment,UseGamma:e.useGamma,Gamma:e.gamma,ComputeGamma:e.computeGamma};if(null!=e.outputMin&&(a.Min=e.outputMin),null!=e.outputMax&&(a.Max=e.outputMax),s===k.standardDeviation?(a.NumberOfStandardDeviations=e.numberOfStandardDeviations,r.outputPixelType=n):s===k.percentClip?(a.MinPercent=e.minPercent,a.MaxPercent=e.maxPercent,r.outputPixelType=n):s===k.minMax?r.outputPixelType=n:s===k.sigmoid&&(a.SigmoidStrengthLevel=e.sigmoidStrengthLevel),r.functionArguments=a,r.variableName="Raster",e.colorRamp){const s=e.colorRamp,n=new Z.A;if(i)n.functionArguments={ColorRamp:(0,V.hf)(s)};else{const i=(0,V.hs)(s,!0);if(i)n.functionArguments={colorRampName:i};else if(!t.convertColorRampToColormap||"algorithmic"!==s.type&&"multipart"!==s.type){const t=e.colorRamp.toJSON();"algorithmic"===t.type?t.algorithm=t.algorithm||"esriCIELabAlgorithm":"multipart"===t.type&&t.colorRamps?.length&&t.colorRamps.forEach(e=>e.algorithm=e.algorithm||"esriCIELabAlgorithm"),n.functionArguments={colorRamp:t}}else n.functionArguments={Colormap:(0,V.R8)(s)}}return n.variableName="Raster",n.functionName="Colormap",n.functionArguments.Raster=r,i?new Z.A({rasterFunctionDefinition:B(n)}):n}return i?new Z.A({rasterFunctionDefinition:B(r)}):r}(e,t);case"class-breaks":return function(e,t){const i=[],r=[],s=[],n=[],o=1e-4,{pixelType:a,rasterAttributeTable:l}=t,u=null==l?null:l.features,p=K(l);if(p&&u&&Array.isArray(u)&&e.classBreakInfos){e.classBreakInfos.forEach((t,i)=>{const r=t.symbol?.color;let s;r?.a&&null!=t.minValue&&null!=t.maxValue&&u.forEach(o=>{null!=t.minValue&&null!=t.maxValue&&(s=o.attributes[e.field],(s>=t.minValue&&s<t.maxValue||i===e.classBreakInfos.length-1&&s>=t.minValue)&&n.push([o.attributes[p],r.r,r.g,r.b]))})});const i=a?H(n,a):n,r=new Z.A;return r.functionName="Colormap",r.functionArguments={},r.functionArguments.Colormap=i,r.variableName="Raster",t.convertToRFT?new Z.A({rasterFunctionDefinition:B(r)}):r}e.classBreakInfos.forEach((e,t)=>{if(null==e.minValue||null==e.maxValue)return;const a=e.symbol&&e.symbol.color;a?.a?(0===t?i.push(e.minValue,e.maxValue+o):i.push(e.minValue+o,e.maxValue+o),r.push(t),n.push([t,a.r,a.g,a.b])):s.push(e.minValue,e.maxValue)});const c=a?H(n,a):n,m=new Z.A;m.functionName="Remap",m.functionArguments={InputRanges:i,OutputValues:r,NoDataRanges:s},m.variableName="Raster";const d=new Z.A;return d.functionName="Colormap",d.functionArguments={Colormap:c,Raster:m},t.convertToRFT?new Z.A({rasterFunctionDefinition:B(d)}):d}(e,t);case"unique-value":return function(e,t){const i=[],{pixelType:r,rasterAttributeTable:s}=t,n=null==s?null:s.features,o=K(s),a=e.defaultSymbol?.color?.toRgb(),l=e.uniqueValueInfos;if(l)if(n){if(o){const t=new Map;l.forEach(e=>{const i=e.value,r=W(e);null!=i&&r?.a&&t.set(String(i),r.toRgb())});const r=e.field;r&&n.forEach(({attributes:e})=>{const s=String(e[r]),n=e[o],l=t.get(s);l?i.push([n,...l]):a&&i.push([n,...a])})}}else for(let e=0;e<l.length;e++){const t=l[e],r=W(t),s=+t.value;if(r?.a){if(isNaN(s))return null;i.push([s,r.r,r.g,r.b])}}const u=r?H(i,r):i,p=new Z.A;return p.functionName="Colormap",p.functionArguments={},p.functionArguments.Colormap=u,p.variableName="Raster",t.convertToRFT?new Z.A({rasterFunctionDefinition:B(p)}):p}(e,t);case"raster-colormap":return function(e,t){const i=e.extractColormap();if(!i||0===i.length)return null;const{pixelType:r}=t,s=r?H(i,r):i,n=new Z.A;return n.functionName="Colormap",n.functionArguments={},n.functionArguments.Colormap=s,t.convertToRFT?new Z.A({rasterFunctionDefinition:B(n)}):n}(e,t);case"vector-field":return function(e,t){const i=new Z.A;i.functionName="VectorFieldRenderer";const{dataType:r,bandNames:s}=t,n="vector-uv"===r;let o,a;if(s&&2===s.length){const e=s.map(e=>e.toLowerCase());o=e.indexOf("magnitude"),a=e.indexOf("direction")}-1!==o&&null!==o||(o=0,a=1);const l="arithmetic"===e.rotationType?1:2,u="flow-from"===e.flowRepresentation?0:1,p=e.visualVariables?e.visualVariables.find(e=>"Magnitude"===e.field):new E.A,c={magnitudeBandID:o,directionBandID:a,isUVComponents:n,referenceSystem:l,massFlowAngleRepresentation:u,symbolTileSize:50,symbolTileSizeUnits:100,calculationMethod:"Vector Average",symbologyName:G[e.style.toLowerCase().replace("-","_")],minimumMagnitude:p.minDataValue,maximumMagnitude:p.maxDataValue,minimumSymbolSize:p.minSize,maximumSymbolSize:p.maxSize};i.functionArguments=c;const m=B(i);return t.convertToRFT?Z.A.fromJSON({rasterFunctionDefinition:m}):i}(e,t);case"raster-shaded-relief":return function(e,t){const i=t.convertToRFT;if("elevation"!==t.dataType&&("generic"!==t.dataType||1!==t.bandCount||"s16"!==t.pixelType&&"s32"!==t.pixelType&&"f32"!==t.pixelType&&"f64"!==t.pixelType))return new Z.A;const r=new Z.A;r.functionName="Hillshade";const s="traditional"===e.hillshadeType?0:1,n="none"===e.scalingType?1:3,o={HillshadeType:s,SlopeType:n,ZFactor:e.zFactor};return 0===s&&(o.Azimuth=e.azimuth,o.Altitude=e.altitude),3===n&&(o.PSPower=e.pixelSizePower,o.PSZFactor=e.pixelSizeFactor),r.functionArguments=o,r.variableName="Raster",e.colorRamp&&(r.functionName="ShadedRelief",i?o.ColorRamp=(0,V.hf)(e.colorRamp):o.Colormap=(0,V.R8)(e.colorRamp)),i?new Z.A({rasterFunctionDefinition:B(r)}):r}(e,t);case"flow":throw new Error("Unsupported rendering rule.")}}(r,{rasterAttributeTable:i.attributeTable,pixelType:i.pixelType,dataType:i.dataType,bandNames:i.bandInfos.map(({name:e})=>e),convertColorRampToColormap:t.version<10.6,convertToRFT:!!e?.rasterFunctionDefinition,bandCount:i.bandCount}),e):e}_addResampleRasterFunction(e){if("vector-field"!==this.layer.renderer?.type||"Resample"===e?.functionName)return e;const t="esriImageServiceDataTypeVector-UV"===this.layer.serviceDataType?7:10,i=this.layer.serviceRasterInfo.pixelSize;let r=new Z.A({functionName:"Resample",functionArguments:{ResamplingType:t,InputCellSize:i}});return r=e?.rasterFunctionDefinition?new Z.A({rasterFunctionDefinition:B(r)}):r,z(r,e)}};(0,r.Cg)([(0,p.MZ)()],te.prototype,"layer",void 0),(0,r.Cg)([(0,p.MZ)()],te.prototype,"requestRawData",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"adjustAspectRatio",null),(0,r.Cg)([(0,m.K)("adjustAspectRatio")],te.prototype,"writeAdjustAspectRatio",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"bandIds",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"compression",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"compressionQuality",null),(0,r.Cg)([(0,m.K)("compressionQuality")],te.prototype,"writeCompressionQuality",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"compressionTolerance",null),(0,r.Cg)([(0,m.K)("compressionTolerance")],te.prototype,"writeCompressionTolerance",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"format",null),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:{reader:ee.SZ.read},write:{writer:ee.SZ.write}}})],te.prototype,"interpolation",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"noData",null),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:{reader:ee.hm.read},write:{writer:ee.hm.write}}})],te.prototype,"noDataInterpretation",null),(0,r.Cg)([(0,p.MZ)({type:ee.e8.apiValues,json:{read:ee.e8.read,write:ee.e8.write}})],te.prototype,"pixelType",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"lercVersion",void 0),(0,r.Cg)([(0,m.K)("lercVersion")],te.prototype,"writeLercVersion",null),(0,r.Cg)([(0,p.MZ)({type:Number})],te.prototype,"version",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],te.prototype,"mosaicRule",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0,name:"renderingRule"}})],te.prototype,"rasterFunction",null),te=(0,r.Cg)([(0,c.$)("esri.layers.support.ExportImageServiceParameters")],te);var ie=i(20437),re=i(95466),se=i(33446),ne=i(43577),oe=i(14140),ae=i(74797),le=i(87186),ue=i(77301),pe=i(77649),ce=i(28435),me=i(14636),de=i(12711),he=i(85676),ye=i(94359),ge=i(65864),fe=i(17136),we=i(2272),ve=i(86738);let Re=class extends((0,n.OU)(O.o)){constructor(e){super(e),this.fromGeometry=null,this.toGeometry=null,this.objectIds=null,this.where=null,this.maxCount=null}};(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{read:!0}})],Re.prototype,"fromGeometry",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{read:!0,write:!0}})],Re.prototype,"toGeometry",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Re.prototype,"objectIds",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],Re.prototype,"where",void 0),(0,r.Cg)([(0,p.MZ)({type:Number,json:{write:!0}})],Re.prototype,"maxCount",void 0),Re=(0,r.Cg)([(0,c.$)("esri.rest.support.FindImagesParameters")],Re);const Ce=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.make=null,this.model=null,this.focalLength=null,this.pixelSize=null,this.rows=null,this.cols=null}};return(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],i.prototype,"make",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],i.prototype,"model",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],i.prototype,"focalLength",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],i.prototype,"pixelSize",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],i.prototype,"rows",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],i.prototype,"cols",void 0),i=(0,r.Cg)([(0,c.$)("esri.rest.support.CameraInfoMixin")],i),i};let be=class extends(Ce(O.o)){constructor(){super(...arguments),this.id=null,this.referenceUri=null,this.acquisitionDate=null,this.cameraID=null,this.center=null,this.perspectiveCenter=null,this.orientation=null}writeAcquisitionDate(e,t){t.acquisitionDate=e?.getTime()}};(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],be.prototype,"id",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"uri",write:!0}})],be.prototype,"referenceUri",void 0),(0,r.Cg)([(0,p.MZ)({type:Date,json:{write:!0}})],be.prototype,"acquisitionDate",void 0),(0,r.Cg)([(0,m.K)("acquisitionDate")],be.prototype,"writeAcquisitionDate",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],be.prototype,"cameraID",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{write:!0}})],be.prototype,"center",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{write:!0}})],be.prototype,"perspectiveCenter",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],be.prototype,"orientation",void 0),be=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageInspectionInfo")],be);const Se=be;let Ie=class extends O.o{constructor(){super(...arguments),this.images=null}};var Fe;(0,r.Cg)([(0,p.MZ)({type:[Se],json:{write:!0}})],Ie.prototype,"images",void 0),Ie=(0,r.Cg)([(0,c.$)("esri.rest.support.FindImagesResult")],Ie);let Me=Fe=class extends O.o{constructor(e){super(e),this.angleNames=null,this.point=null,this.spatialReference=null,this.rasterId=null}clone(){return new Fe((0,b.o8)({angleNames:this.angleNames,point:this.point,spatialReference:this.spatialReference,rasterId:this.rasterId}))}};(0,r.Cg)([(0,p.MZ)({type:[String],json:{name:"angleName",write:!0}})],Me.prototype,"angleNames",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{write:!0}})],Me.prototype,"point",void 0),(0,r.Cg)([(0,p.MZ)({type:D.A,json:{write:!0}})],Me.prototype,"spatialReference",void 0),(0,r.Cg)([(0,p.MZ)({type:F.jz,json:{write:!0}})],Me.prototype,"rasterId",void 0),Me=Fe=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageAngleParameters")],Me);let xe=class extends O.o{constructor(e){super(e),this.north=null,this.up=null,this.spatialReference=null}};(0,r.Cg)([(0,p.MZ)({type:Number,json:{write:!0}})],xe.prototype,"north",void 0),(0,r.Cg)([(0,p.MZ)({type:Number,json:{write:!0}})],xe.prototype,"up",void 0),(0,r.Cg)([(0,p.MZ)({type:D.A,json:{write:!0}})],xe.prototype,"spatialReference",void 0),xe=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageAngleResult")],xe);var Ae=i(83047),De=i(50498),Te=i(66552);const Ne=new Te.J({esriMensurationPoint:"point",esriMensurationCentroid:"centroid",esriMensurationDistanceAndAngle:"distance-and-angle",esriMensurationAreaAndPerimeter:"area-and-perimeter",esriMensurationHeightFromBaseAndTop:"base-and-top",esriMensurationHeightFromBaseAndTopShadow:"base-and-top-shadow",esriMensurationHeightFromTopAndTopShadow:"top-and-top-shadow",esriMensurationPoint3D:"point-3D",esriMensurationCentroid3D:"centroid-3D",esriMensurationDistanceAndAngle3D:"distance-and-angle-3D",esriMensurationAreaAndPerimeter3D:"area-and-perimeter-3D"});let Pe=class extends O.o{constructor(){super(...arguments),this.value=null,this.displayValue=null,this.uncertainty=null}};(0,r.Cg)([(0,p.MZ)({type:Number,json:{read:!0,write:!0}})],Pe.prototype,"value",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:!0,write:!0}})],Pe.prototype,"displayValue",void 0),(0,r.Cg)([(0,p.MZ)({type:Number,json:{read:!0,write:!0}})],Pe.prototype,"uncertainty",void 0),Pe=(0,r.Cg)([(0,c.$)("esri.rest.support.imageMeasureUtils.BaseImageMeasureResultValue")],Pe);let Oe=class extends Pe{constructor(){super(...arguments),this.unit=null}};(0,r.Cg)([(0,p.MZ)({type:String,json:{read:Ae.Sk.read,write:Ae.Sk.write}})],Oe.prototype,"unit",void 0),Oe=(0,r.Cg)([(0,c.$)("esri.rest.support.imageMeasureUtils.ImageMeasureResultLengthValue")],Oe);let Ze=class extends Pe{constructor(){super(...arguments),this.unit=null}};(0,r.Cg)([(0,p.MZ)({type:String,json:{read:Ae.dk.read,write:Ae.dk.write}})],Ze.prototype,"unit",void 0),Ze=(0,r.Cg)([(0,c.$)("esri.rest.support.imageMeasureUtils.ImageMeasureResultAreaValue")],Ze);let je=class extends Pe{constructor(){super(...arguments),this.unit=null}};(0,r.Cg)([(0,p.MZ)({type:String,json:{read:Ae.b$.read,write:Ae.b$.write}})],je.prototype,"unit",void 0),je=(0,r.Cg)([(0,c.$)("esri.rest.support.imageMeasureUtils.ImageMeasureResultAngleValue")],je);let _e=class extends O.o{constructor(e){super(e),this.type=null,this.measureOperation=null,this.mosaicRule=null,this.pixelSize=null,this.raster=void 0}};var Ve;(0,r.Cg)([(0,p.MZ)()],_e.prototype,"type",void 0),(0,r.Cg)([(0,p.MZ)({type:Ne.apiValues,json:{read:Ne.read,write:Ne.write}})],_e.prototype,"measureOperation",void 0),(0,r.Cg)([(0,p.MZ)({type:Y.A,json:{write:!0}})],_e.prototype,"mosaicRule",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{write:!0}})],_e.prototype,"pixelSize",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],_e.prototype,"raster",void 0),_e=(0,r.Cg)([(0,c.$)("esri.rest.support.BaseImageMeasureParameters")],_e);let qe=Ve=class extends _e{constructor(e){super(e),this.type="area-perimeter",this.geometry=null,this.is3D=!1,this.linearUnit="meters",this.areaUnit="square-meters"}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]=e.toJSON())}get measureOperation(){return this.is3D?"area-and-perimeter-3D":"area-and-perimeter"}clone(){return new Ve((0,b.o8)({geometry:this.geometry,is3D:this.is3D,linearUnit:this.linearUnit,areaUnit:this.areaUnit,mosaicRule:this.mosaicRule,pixelSize:this.pixelSize,raster:this.raster}))}};(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{name:"fromGeometry",read:!0,write:!0}})],qe.prototype,"geometry",void 0),(0,r.Cg)([(0,m.K)("geometry")],qe.prototype,"writeGeometry",null),(0,r.Cg)([(0,p.MZ)({type:Ne.apiValues,json:{write:Ne.write}})],qe.prototype,"measureOperation",null),(0,r.Cg)([(0,p.MZ)({json:{read:!0}})],qe.prototype,"is3D",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:Ae.Sk.read,write:Ae.Sk.write}})],qe.prototype,"linearUnit",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:Ae.dk.read,write:Ae.dk.write}})],qe.prototype,"areaUnit",void 0),qe=Ve=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageAreaParameters")],qe);let Ee=class extends O.o{constructor(e){super(e),this.name=null,this.sensorName=null}};(0,r.Cg)([(0,p.MZ)({type:String,json:{read:!0,write:!0}})],Ee.prototype,"name",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:!0,write:!0}})],Ee.prototype,"sensorName",void 0),Ee=(0,r.Cg)([(0,c.$)("esri.rest.support.BaseImageMeasureResult")],Ee);let Je=class extends Ee{constructor(){super(...arguments),this.area=null,this.perimeter=null}};(0,r.Cg)([(0,p.MZ)({type:Ze,json:{read:!0,write:!0}})],Je.prototype,"area",void 0),(0,r.Cg)([(0,p.MZ)({type:Oe,json:{read:!0,write:!0}})],Je.prototype,"perimeter",void 0),Je=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageAreaResult")],Je);let Ge=class extends((0,n.OU)(O.o)){constructor(e){super(e),this.outSpatialReference=null}};(0,r.Cg)([(0,p.MZ)({type:D.A,json:{name:"outSR",write:!0}})],Ge.prototype,"outSpatialReference",void 0),Ge=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageBoundaryParameters")],Ge);let Le=class extends O.o{constructor(){super(...arguments),this.area=null,this.geometry=null}readGeometry(e,t){return null==e?null:e.rings?A.A.fromJSON(e):x.A.fromJSON(e)}};var $e;(0,r.Cg)([(0,p.MZ)({type:Number,json:{write:!0}})],Le.prototype,"area",void 0),(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{name:"shape",write:!0}})],Le.prototype,"geometry",void 0),(0,r.Cg)([(0,M.w)("geometry")],Le.prototype,"readGeometry",null),Le=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageBoundaryResult")],Le);let ze=$e=class extends _e{constructor(e){super(e),this.type="distance-angle",this.fromGeometry=null,this.toGeometry=null,this.is3D=!1,this.linearUnit="meters",this.angularUnit="degrees"}writeFromGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]=e.toJSON())}get measureOperation(){return this.is3D?"distance-and-angle-3D":"distance-and-angle"}clone(){return new $e((0,b.o8)({fromGeometry:this.fromGeometry,toGeometry:this.toGeometry,is3D:this.is3D,linearUnit:this.linearUnit,angularUnit:this.angularUnit,mosaicRule:this.mosaicRule,pixelSize:this.pixelSize,raster:this.raster}))}};(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{read:!0,write:!0}})],ze.prototype,"fromGeometry",void 0),(0,r.Cg)([(0,m.K)("fromGeometry")],ze.prototype,"writeFromGeometry",null),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{read:!0,write:!0}})],ze.prototype,"toGeometry",void 0),(0,r.Cg)([(0,p.MZ)({type:Ne.apiValues,json:{write:Ne.write}})],ze.prototype,"measureOperation",null),(0,r.Cg)([(0,p.MZ)({json:{read:!0}})],ze.prototype,"is3D",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:Ae.Sk.read,write:Ae.Sk.write}})],ze.prototype,"linearUnit",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:Ae.b$.read,write:Ae.b$.write}})],ze.prototype,"angularUnit",void 0),ze=$e=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageDistanceParameters")],ze);let Ue=class extends Ee{constructor(){super(...arguments),this.distance=null,this.azimuthAngle=null,this.elevationAngle=null}};(0,r.Cg)([(0,p.MZ)({type:Oe,json:{read:!0,write:!0}})],Ue.prototype,"distance",void 0),(0,r.Cg)([(0,p.MZ)({type:je,json:{read:!0,write:!0}})],Ue.prototype,"azimuthAngle",void 0),(0,r.Cg)([(0,p.MZ)({type:je,json:{read:!0,write:!0}})],Ue.prototype,"elevationAngle",void 0),Ue=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageDistanceResult")],Ue);var Be=i(93223),Qe=i(58174),ke=i(79677);let He=class extends((0,n.OU)(O.o)){constructor(e){super(e),this.geometry=null,this.objectIds=null,this.spatialRelationship="intersects",this.timeExtent=null,this.where=null}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]=JSON.stringify(e.toJSON()))}};(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{read:ge.rS,write:!0}})],He.prototype,"geometry",void 0),(0,r.Cg)([(0,m.K)("geometry")],He.prototype,"writeGeometry",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],He.prototype,"objectIds",void 0),(0,r.Cg)([(0,Be.e)(Qe.x,{ignoreUnknown:!1,name:"spatialRel"})],He.prototype,"spatialRelationship",void 0),(0,r.Cg)([(0,p.MZ)({type:ke.A,json:{name:"time",write:!0}})],He.prototype,"timeExtent",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],He.prototype,"where",void 0),He=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageGPSInfoParameters")],He);let Ke=class extends(Ce(O.o)){constructor(){super(...arguments),this.id=null}};(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Ke.prototype,"id",void 0),Ke=(0,r.Cg)([(0,c.$)("esri.rest.support.CameraInfo")],Ke);const We=Ke;let Xe=class extends O.o{constructor(){super(...arguments),this.id=null,this.name=null,this.acquisitionDate=null,this.cameraID=null,this.center=null,this.gps=null,this.orientation=null}writeAcquisitionDate(e,t){t.acquisitionDate=e?.getTime()}};(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Xe.prototype,"id",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Xe.prototype,"name",void 0),(0,r.Cg)([(0,p.MZ)({type:Date,json:{write:!0}})],Xe.prototype,"acquisitionDate",void 0),(0,r.Cg)([(0,m.K)("acquisitionDate")],Xe.prototype,"writeAcquisitionDate",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Xe.prototype,"cameraID",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{write:!0}})],Xe.prototype,"center",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Xe.prototype,"gps",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Xe.prototype,"orientation",void 0),Xe=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageGPSInfo")],Xe);const Ye=Xe;let et=class extends O.o{constructor(){super(...arguments),this.images=null,this.cameras=null}};var tt;(0,r.Cg)([(0,p.MZ)({type:[Ye],json:{write:!0}})],et.prototype,"images",void 0),(0,r.Cg)([(0,p.MZ)({type:[We],json:{write:!0}})],et.prototype,"cameras",void 0),et=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageGPSInfoResult")],et);let it=tt=class extends _e{constructor(e){super(e),this.type="height",this.fromGeometry=null,this.toGeometry=null,this.operationType="base-and-top",this.linearUnit="meters"}writeFromGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]=e.toJSON())}get measureOperation(){return this.operationType}clone(){return new tt((0,b.o8)({fromGeometry:this.fromGeometry,toGeometry:this.toGeometry,operationType:this.operationType,linearUnit:this.linearUnit,mosaicRule:this.mosaicRule,pixelSize:this.pixelSize,raster:this.raster}))}};(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{read:!0}})],it.prototype,"fromGeometry",void 0),(0,r.Cg)([(0,m.K)("fromGeometry")],it.prototype,"writeFromGeometry",null),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{read:!0,write:!0}})],it.prototype,"toGeometry",void 0),(0,r.Cg)([(0,p.MZ)({type:Ne.apiValues,json:{write:Ne.write}})],it.prototype,"measureOperation",null),(0,r.Cg)([(0,p.MZ)({json:{read:!0}})],it.prototype,"operationType",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{read:Ae.Sk.read,write:Ae.Sk.write}})],it.prototype,"linearUnit",void 0),it=tt=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageHeightParameters")],it);let rt=class extends Ee{constructor(){super(...arguments),this.height=null}};(0,r.Cg)([(0,p.MZ)({type:Oe,json:{read:!0,write:!0}})],rt.prototype,"height",void 0),rt=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageHeightResult")],rt);var st,nt=i(22048);let ot=st=class extends O.o{constructor(e){super(e),this.geometry=null,this.rasterFunctions=null,this.pixelSize=null,this.returnGeometry=!0,this.returnCatalogItems=!0,this.returnPixelValues=!0,this.maxItemCount=null,this.timeExtent=null,this.raster=void 0,this.viewId=void 0,this.processAsMultidimensional=!1}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]=JSON.stringify(e.toJSON()))}set mosaicRule(e){let t=e;t?.mosaicMethod&&(t=Y.A.fromJSON({...t.toJSON(),mosaicMethod:t.mosaicMethod,mosaicOperation:t.mosaicOperation})),this._set("mosaicRule",t)}writeMosaicRule(e,t,i){null!=e&&(t[i]=JSON.stringify(e.toJSON()))}set rasterFunction(e){let t=e;t?.rasterFunction&&(t=Z.A.fromJSON({...t.toJSON(),rasterFunction:t.rasterFunction,rasterFunctionArguments:t.rasterFunctionArguments})),this._set("rasterFunction",t)}writeRasterFunction(e,t,i){null!=e&&(t[i]=JSON.stringify(e.toJSON())),e.rasterFunctionDefinition&&(t[i]=JSON.stringify(e.rasterFunctionDefinition))}writeRasterFunctions(e,t,i){null!=e&&(t[i]=JSON.stringify(e.map(e=>e.rasterFunctionDefinition||e.toJSON())))}writePixelSize(e,t,i){null!=e&&(t[i]=JSON.stringify(e))}writeTimeExtent(e,t,i){if(null!=e){const r=null!=e.start?e.start.getTime():null,s=null!=e.end?e.end.getTime():null;t[i]=null!=r?null!=s?`${r},${s}`:`${r}`:null}}clone(){return new st((0,b.o8)({geometry:this.geometry,mosaicRule:this.mosaicRule,rasterFunction:this.rasterFunction,rasterFunctions:this.rasterFunctions,pixelSize:this.pixelSize,returnGeometry:this.returnGeometry,returnCatalogItems:this.returnCatalogItems,returnPixelValues:this.returnPixelValues,maxItemCount:this.maxItemCount,processAsMultidimensional:this.processAsMultidimensional,raster:this.raster,viewId:this.viewId,timeExtent:this.timeExtent}))}};(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{write:!0}})],ot.prototype,"geometry",void 0),(0,r.Cg)([(0,m.K)("geometry")],ot.prototype,"writeGeometry",null),(0,r.Cg)([(0,p.MZ)({type:Y.A,json:{write:!0}})],ot.prototype,"mosaicRule",null),(0,r.Cg)([(0,m.K)("mosaicRule")],ot.prototype,"writeMosaicRule",null),(0,r.Cg)([(0,p.MZ)({type:Z.A,json:{write:!0,name:"renderingRule"}})],ot.prototype,"rasterFunction",null),(0,r.Cg)([(0,m.K)("rasterFunction")],ot.prototype,"writeRasterFunction",null),(0,r.Cg)([(0,p.MZ)({type:[Z.A],json:{write:!0,name:"renderingRules"}})],ot.prototype,"rasterFunctions",void 0),(0,r.Cg)([(0,m.K)("rasterFunctions")],ot.prototype,"writeRasterFunctions",null),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{write:!0}})],ot.prototype,"pixelSize",void 0),(0,r.Cg)([(0,m.K)("pixelSize")],ot.prototype,"writePixelSize",null),(0,r.Cg)([(0,p.MZ)({type:Boolean,json:{write:!0}})],ot.prototype,"returnGeometry",void 0),(0,r.Cg)([(0,p.MZ)({type:Boolean,json:{write:!0}})],ot.prototype,"returnCatalogItems",void 0),(0,r.Cg)([(0,p.MZ)({type:Boolean,json:{write:!0}})],ot.prototype,"returnPixelValues",void 0),(0,r.Cg)([(0,p.MZ)({type:Number,json:{write:!0}})],ot.prototype,"maxItemCount",void 0),(0,r.Cg)([(0,p.MZ)({type:ke.A,json:{write:{target:"time"}}})],ot.prototype,"timeExtent",void 0),(0,r.Cg)([(0,m.K)("timeExtent")],ot.prototype,"writeTimeExtent",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],ot.prototype,"raster",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],ot.prototype,"viewId",void 0),(0,r.Cg)([(0,p.MZ)({type:Boolean,json:{write:!0}})],ot.prototype,"processAsMultidimensional",void 0),ot=st=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageIdentifyParameters")],ot);var at=i(22671);let lt=class extends O.o{constructor(){super(...arguments),this.catalogItemVisibilities=null,this.catalogItems=null,this.location=null,this.name=null,this.objectId=null,this.processedValues=null,this.properties=null,this.value=null}};var ut;(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],lt.prototype,"catalogItemVisibilities",void 0),(0,r.Cg)([(0,p.MZ)({type:at.A,json:{write:!0}})],lt.prototype,"catalogItems",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{write:!0}})],lt.prototype,"location",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],lt.prototype,"name",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],lt.prototype,"objectId",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],lt.prototype,"processedValues",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],lt.prototype,"properties",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],lt.prototype,"value",void 0),lt=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageIdentifyResult")],lt);let pt=ut=class extends O.o{constructor(e){super(e),this.geometries=null,this.rasterId=null}writeGeometry(e,t,i){t.geometries={geometryType:"esriGeometryPoint",geometries:e.map(e=>e.toJSON())}}clone(){return new ut({geometries:this.geometries?.map(e=>e.clone())??[],rasterId:this.rasterId})}};(0,r.Cg)([(0,p.MZ)({type:[ve.A],json:{write:!0}})],pt.prototype,"geometries",void 0),(0,r.Cg)([(0,m.K)("geometries")],pt.prototype,"writeGeometry",null),(0,r.Cg)([(0,p.MZ)({type:F.jz,json:{write:!0}})],pt.prototype,"rasterId",void 0),pt=ut=(0,r.Cg)([(0,c.$)("esri.rest.support.ImagePixelLocationParameters")],pt);let ct=class extends O.o{constructor(){super(...arguments),this.geometries=null}};var mt;(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],ct.prototype,"geometries",void 0),ct=(0,r.Cg)([(0,c.$)("esri.rest.support.ImagePixelLocationResult")],ct);let dt=mt=class extends _e{constructor(e){super(e),this.type="point",this.geometry=null,this.is3D=!1}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]=e.toJSON())}get measureOperation(){const{is3D:e,geometry:t}=this;return"point"===t.type?e?"point-3D":"point":e?"centroid-3D":"centroid"}clone(){return new mt((0,b.o8)({geometry:this.geometry,is3D:this.is3D,mosaicRule:this.mosaicRule,pixelSize:this.pixelSize,raster:this.raster}))}};(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{name:"fromGeometry",read:ge.rS}})],dt.prototype,"geometry",void 0),(0,r.Cg)([(0,m.K)("geometry")],dt.prototype,"writeGeometry",null),(0,r.Cg)([(0,p.MZ)({type:Ne.apiValues,json:{read:Ne.read,write:Ne.write}})],dt.prototype,"measureOperation",null),(0,r.Cg)([(0,p.MZ)({json:{read:!0}})],dt.prototype,"is3D",void 0),dt=mt=(0,r.Cg)([(0,c.$)("esri.rest.support.ImagePointParameters")],dt);let ht=class extends Ee{constructor(){super(...arguments),this.point=null}};(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{name:"point.value",read:!0,write:!0}})],ht.prototype,"point",void 0),ht=(0,r.Cg)([(0,c.$)("esri.rest.support.ImagePointResult")],ht);var yt=i(34606),gt=i(51508);let ft=class extends((0,n.OU)(O.o)){constructor(e){super(e),this.geometries=[],this.rasterIds=null,this.outSpatialReference=null}writeGeometries(e,t,i){t.geometries=e?.length?{geometryType:(0,ge.$B)(e[0]),geometries:e.map(e=>({...e.toJSON(),spatialReference:void 0}))}:null}};(0,r.Cg)([(0,p.MZ)({types:[De.yR]})],ft.prototype,"geometries",void 0),(0,r.Cg)([(0,m.K)("geometries")],ft.prototype,"writeGeometries",null),(0,r.Cg)([(0,p.MZ)({type:[F.jz],json:{write:!0}})],ft.prototype,"rasterIds",void 0),(0,r.Cg)([(0,p.MZ)({type:D.A,json:{name:"outSR",write:!0}})],ft.prototype,"outSpatialReference",void 0),ft=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageToMapMultirayParameters")],ft);let wt=class extends((0,n.OU)(O.o)){constructor(e){super(e),this.geometry=null,this.rasterId=null,this.outSpatialReference=null,this.depthOffset=0,this.adjust=!1}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]={...e.toJSON(),spatialReference:void 0})}};(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{read:ge.rS,write:!0}})],wt.prototype,"geometry",void 0),(0,r.Cg)([(0,m.K)("geometry")],wt.prototype,"writeGeometry",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],wt.prototype,"rasterId",void 0),(0,r.Cg)([(0,p.MZ)({type:D.A,json:{name:"outSR",write:!0}})],wt.prototype,"outSpatialReference",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"options.DOff",write:!0}})],wt.prototype,"depthOffset",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"options.Adjust",write:!0}})],wt.prototype,"adjust",void 0),wt=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageToMapParameters")],wt);let vt=class extends((0,n.OU)(O.o)){constructor(e){super(e),this.referenceUri=null,this.rasterId=null}};(0,r.Cg)([(0,p.MZ)({type:String,json:{name:"uri",write:!0}})],vt.prototype,"referenceUri",void 0),(0,r.Cg)([(0,p.MZ)({type:Number,json:{write:!0}})],vt.prototype,"rasterId",void 0),vt=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageUrlParameters")],vt);let Rt=class extends O.o{constructor(){super(...arguments),this.url=null}};(0,r.Cg)([(0,p.MZ)({json:{name:"imageURL",write:!0}})],Rt.prototype,"url",void 0),Rt=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageUrlResult")],Rt);const Ct=new Te.J({0:"constant",1:"plane",2:"minimum",3:"maximum",4:"average"},{useNumericKeys:!0});let bt=class extends((0,n.OU)(O.o)){constructor(){super(...arguments),this.geometries=[],this.mosaicRule=null,this.pixelSize=null,this.constantZ=null,this.baseType="plane"}writeGeometries(e,t,i){e?.length&&(t.geometryType=(0,ge.$B)(e[0]),t.geometries=e.map(e=>e.toJSON()))}};(0,r.Cg)([(0,p.MZ)({types:[De.yR]})],bt.prototype,"geometries",void 0),(0,r.Cg)([(0,m.K)("geometries")],bt.prototype,"writeGeometries",null),(0,r.Cg)([(0,p.MZ)({type:Y.A,json:{write:!0}})],bt.prototype,"mosaicRule",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{write:!0}})],bt.prototype,"pixelSize",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],bt.prototype,"constantZ",void 0),(0,r.Cg)([(0,p.MZ)({type:Ct.apiValues,json:{read:Ct.read,write:Ct.write}})],bt.prototype,"baseType",void 0),bt=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageVolumeParameters")],bt);let St=class extends O.o{constructor(){super(...arguments),this.area=null,this.cut=null,this.fill=null,this.maxZ=null,this.minZ=null,this.meanZ=null,this.cutCellCount=null,this.fillCellCount=null}};(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],St.prototype,"area",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],St.prototype,"cut",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],St.prototype,"fill",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"maxz",write:!0}})],St.prototype,"maxZ",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"minz",write:!0}})],St.prototype,"minZ",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"meanz",write:!0}})],St.prototype,"meanZ",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],St.prototype,"cutCellCount",void 0),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],St.prototype,"fillCellCount",void 0),St=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageVolume")],St);const It=St;let Ft=class extends O.o{constructor(){super(...arguments),this.volumes=[]}};(0,r.Cg)([(0,p.MZ)({type:[It],json:{write:!0}})],Ft.prototype,"volumes",void 0),Ft=(0,r.Cg)([(0,c.$)("esri.rest.support.ImageVolumeResult")],Ft);let Mt=class extends((0,n.OU)(O.o)){constructor(e){super(e),this.geometry=null,this.rasterId=null,this.visibleOnly=!1}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]=JSON.stringify(e))}};(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{read:ge.rS,write:!0}})],Mt.prototype,"geometry",void 0),(0,r.Cg)([(0,m.K)("geometry")],Mt.prototype,"writeGeometry",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Mt.prototype,"rasterId",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"options.VisibleOnly",write:!0}})],Mt.prototype,"visibleOnly",void 0),Mt=(0,r.Cg)([(0,c.$)("esri.rest.support.MapToImageParameters")],Mt);let xt=class extends O.o{constructor(){super(...arguments),this.geometry=null,this.length=null,this.area=null,this.center=null}readCenter(e,t){return e.spatialReference||(e={...e,spatialReference:t.Shape.spatialReference}),ve.A.fromJSON(e)}};var At;(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{name:"Shape",read:ge.rS,write:!0}})],xt.prototype,"geometry",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"Length",write:!0}})],xt.prototype,"length",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"Area",write:!0}})],xt.prototype,"area",void 0),(0,r.Cg)([(0,p.MZ)({type:ve.A,json:{name:"Center",write:!0}})],xt.prototype,"center",void 0),(0,r.Cg)([(0,M.w)("center")],xt.prototype,"readCenter",null),xt=(0,r.Cg)([(0,c.$)("esri.rest.support.MeasureAreaFromImageResult")],xt);let Dt=At=class extends O.o{constructor(e){super(e),this.geometry=null,this.rasterId=void 0}writeGeometry(e,t,i){null!=e&&(t.geometryType=(0,ge.$B)(e),t[i]={...e.toJSON(),spatialReference:void 0})}clone(){const e=(0,b.o8)({geometry:this.geometry,rasterId:this.rasterId});return new At(e)}};(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{name:"fromGeometry",read:ge.rS,write:!0}})],Dt.prototype,"geometry",void 0),(0,r.Cg)([(0,m.K)("geometry")],Dt.prototype,"writeGeometry",null),(0,r.Cg)([(0,p.MZ)({json:{write:!0}})],Dt.prototype,"rasterId",void 0),Dt=At=(0,r.Cg)([(0,c.$)("esri.rest.support.MeasureFromImageParameters")],Dt);let Tt=class extends O.o{constructor(){super(...arguments),this.geometry=null,this.length=null}};function Nt(e){const t=e?.time;if(t&&(null!=t.start||null!=t.end)){const i=[];null!=t.start&&i.push(t.start),null==t.end||i.includes(t.end)||i.push(t.end),e.time=i.join(",")}}async function Pt(e,t,i){t=(0,F.PZ)(nt.A,t);const r=(0,we.Dl)(e),s=t.geometry?[t.geometry]:[],n=await(0,fe.el)(s),o=t.toJSON();Nt(o);const a=n?.[0];null!=a&&(o.geometry=_t(a));const l=(0,we.lF)({...r.query,f:"json",...o});return(0,we.jV)(l,i)}async function Ot(e,t,i){t=(0,F.PZ)(ot,t);const r=(0,we.Dl)(e),s=t.geometry?[t.geometry]:[];return(0,fe.el)(s).then(e=>{const s=t.toJSON(),n=e?.[0];null!=n&&(s.geometry=JSON.stringify(_t(n)));const o=(0,we.lF)({...r.query,f:"json",...s}),a=(0,we.jV)(o,i);return(0,R.A)(r.path+"/identify",a)}).then(e=>lt.fromJSON(e.data))}async function Zt(e,t,i,r){const s=(0,we.Dl)(e),n=await(0,fe.el)(i),o=t.toJSON();null!=n[0]&&(o.fromGeometry=JSON.stringify(_t(n[0]))),null!=n[1]&&(o.toGeometry=JSON.stringify(_t(n[1])));const a=(0,we.lF)({...s.query,f:"json",...o}),l=(0,we.jV)(a,r),{data:u}=await(0,R.A)(s.path+"/measure",l);return u}async function jt(e,t,i){t=(0,F.PZ)(Dt,t);const r=(0,we.Dl)(e),s=t.toJSON(),n=(0,we.lF)({...r.query,f:"json",...s}),o=(0,we.jV)(n,i),{data:a}=await(0,R.A)(r.path+"/measureFromImage",o);return a}function _t(e){const t=e.toJSON();return e.spatialReference?.imageCoordinateSystem&&(t.spatialReference=Vt(e.spatialReference)),t}function Vt(e){const{imageCoordinateSystem:t}=e;if(t){const{id:e,referenceServiceName:i}=t;return null!=e?i?{icsid:e,icsns:i}:{icsid:e}:{ics:t}}return e.toJSON()}function qt(e,t){if(!e.imageCoordinateSystem)return(0,T.YX)(e);const i=Vt(e),{icsid:r,icsns:s}=i;return null==r||null!=s&&!t?.toLowerCase().includes("/"+s.toLowerCase()+"/")?JSON.stringify(i):`0:${r}`}(0,r.Cg)([(0,p.MZ)({types:De.yR,json:{name:"Shape",read:ge.rS,write:!0}})],Tt.prototype,"geometry",void 0),(0,r.Cg)([(0,p.MZ)({json:{name:"Length",write:!0}})],Tt.prototype,"length",void 0),Tt=(0,r.Cg)([(0,c.$)("esri.rest.support.MeasureLengthFromImageResult")],Tt);var Et=i(82371),Jt=i(20223),Gt=i(20615),Lt=i(78286),$t=i(99199),zt=i(61956);const Ut=new Set(["png","png8","png24","png32","jpg","bmp","gif","jpgpng","lerc","tiff"]),Bt=(0,F.Qp)(F.GB,{min:0,max:255}),Qt=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this._functionRasterInfos={},this._serviceSupportsMosaicRule=null,this.adjustAspectRatio=null,this.bandIds=void 0,this.capabilities=null,this.compressionQuality=void 0,this.compressionTolerance=.01,this.copyright=null,this.defaultMosaicRule=null,this.definitionExpression=null,this.exportImageServiceParameters=null,this.rasterInfo=null,this.fields=null,this.fullExtent=null,this.hasMultidimensions=!1,this.imageMaxHeight=4100,this.imageMaxWidth=4100,this.interpolation=void 0,this.minScale=0,this.maxScale=0,this.multidimensionalInfo=null,this.multidimensionalSubset=null,this.noData=null,this.noDataInterpretation=void 0,this.objectIdField=null,this.geometryType="polygon",this.typeIdField=null,this.types=[],this.pixelFilter=null,this.raster=void 0,this.sourceType=null,this.viewId=void 0,this.symbolizer=null,this.rasterFunctionInfos=null,this.serviceDataType=null,this.spatialReference=null,this.pixelType=null,this.serviceRasterInfo=null,this.sourceJSON=null,this.url=null,this.version=void 0}initialize(){this._set("exportImageServiceParameters",new te({layer:this}))}readServiceSupportsMosaicRule(e,t){return this._isMosaicRuleSupported(t)}get _rasterFunctionNamesIndex(){const e=new Map;return!this.rasterFunctionInfos||null!=this.rasterFunctionInfos&&this.rasterFunctionInfos.length<1||null!=this.rasterFunctionInfos&&this.rasterFunctionInfos.forEach(t=>{e.set(t.name.toLowerCase().replaceAll(/ /gi,"_"),t.name)}),e}readBandIds(e,t){if(Array.isArray(e)&&e.length>0&&e.every(e=>"number"==typeof e))return e}readCapabilities(e,t){return this._readCapabilities(t)}writeCompressionQuality(e,t,i){null!=e&&"lerc"!==this.format&&(t[i]=e)}writeCompressionTolerance(e,t,i){"lerc"===this.format&&null!=e&&(t[i]=e)}readDefaultMosaicRule(e,t){return this._serviceSupportsMosaicRule?Y.A.fromJSON(t):null}get fieldsIndex(){return this.fields?new re.A(this.fields):null}set format(e){e&&Ut.has(e.toLowerCase())&&this._set("format",e.toLowerCase())}readFormat(e,t){return"esriImageServiceDataTypeVector-UV"===t.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===t.serviceDataType||null!=this.pixelFilter?"lerc":"jpgpng"}readMinScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}readMaxScale(e,t){return null!=t.minLOD&&null!=t.maxLOD?e:0}set mosaicRule(e){let t=e;t?.mosaicMethod&&(t=Y.A.fromJSON({...t.toJSON(),mosaicMethod:t.mosaicMethod,mosaicOperation:t.mosaicOperation})),this._set("mosaicRule",t)}readMosaicRule(e,t){const i=e||t.mosaicRule;return i?Y.A.fromJSON(i):this._isMosaicRuleSupported(t)?Y.A.fromJSON(t):null}writeMosaicRule(e,t,i){const{mosaicRule:r}=this;this._isValidCustomizedMosaicRule(r)&&(t[i]=r.toJSON())}writeNoData(e,t,i){null!=e&&"number"==typeof e&&(t[i]=Bt(e))}readObjectIdField(e,t){if(!e){const i=t.fields.find(e=>"esriFieldTypeOID"===e.type||"oid"===e.type);e=i?.name}return e}get parsedUrl(){return(0,I.An)(this.url)}readSourceType(e,t){return this._isMosaicDataset(t)?"mosaic-dataset":"raster-dataset"}get renderer(){const{activePresetRendererName:e,presetRenderers:t}=this;if(e){const i=t?.find(({name:t})=>t===e);return i?.renderer.clone()}return this.internalRenderer}set renderer(e){this.activePresetRendererName=null,this.internalRenderer=e}set internalRenderer(e){this.loaded&&(e=this._configRenderer(e)),this._set("internalRenderer",e)}readRenderer(e,t,i){const r=t?.layerDefinition?.drawingInfo?.renderer,s=(0,ye.LF)(r,i);return null==s?null:("vector-field"===s.type&&t.symbolTileSize&&!r.symbolTileSize&&(s.symbolTileSize=t.symbolTileSize),$(s)||a.A.getLogger(this).warn("ArcGISImageService","Imagery layer doesn't support given renderer type."),s)}writeRenderer(e,t,i){t.layerDefinition=t.layerDefinition||{},t.layerDefinition.drawingInfo=t.layerDefinition.drawingInfo||{},t.layerDefinition.drawingInfo.renderer=e.toJSON(),"vector-field"===e.type&&(t.symbolTileSize=e.symbolTileSize)}get rasterFields(){const e=this.fields?.map(e=>e.clone())??[];e.push((0,ae.rZ)()),"mosaic-dataset"===this.sourceType&&this.fields?.length&&e.push((0,ae.Nd)()),this.version>=10.4&&null!=this.rasterFunctionInfos&&this.rasterFunctionInfos.some(({name:e})=>"none"===e.toLowerCase())&&e.push((0,ae.dy)()),null!=this.rasterFunctionInfos&&this.rasterFunctionInfos.filter(({name:e})=>"none"!==e.toLowerCase()).forEach(({name:t})=>e.push((0,ae.nq)(t)));const{rasterInfo:t}=this;if(this._isVectorDataSet()){const i=t?.multidimensionalInfo?.variables[0].unit?.trim(),r=(0,ae.DV)(i),s=(0,ae.y6)();e.push(r,s)}if(t?.multidimensionalInfo&&"raster-dataset"===this.sourceType){const i=(0,ae.AL)(t.multidimensionalInfo);e.push(...i)}const i=t?.attributeTable;if(null!=i){const t=(0,ae.jC)(i);e.push(...t)}return e}set rasterFunction(e){let t=e;t?.rasterFunction&&(t=Z.A.fromJSON({...t.toJSON(),rasterFunction:t.rasterFunction,rasterFunctionArguments:t.rasterFunctionArguments})),this._set("rasterFunction",t)}readRasterFunction(e,t){const i=t.rasterFunctionInfos;return t.renderingRule||i?.length&&"None"!==i[0].name?this._isRFTJson(t.renderingRule)?Z.A.fromJSON({rasterFunctionDefinition:t.renderingRule}):Z.A.fromJSON(t.renderingRule||{rasterFunctionInfos:t.rasterFunctionInfos}):null}readSpatialReference(e,t){const i=e||t.extent.spatialReference;return i?D.A.fromJSON(i):null}writePixelType(e,t,i){null!=this.serviceRasterInfo&&this.pixelType===this.serviceRasterInfo.pixelType||(t[i]=ee.e8.toJSON(e))}readVersion(e,t){let i=t.currentVersion;return i||(i=t.hasOwnProperty("fields")||t.hasOwnProperty("timeInfo")?10:9.3),i}applyFilter(e){let t=e;return this.pixelFilter&&(t=this._clonePixelData(e),this.pixelFilter(t)),t}async applyRenderer(e,t){let i=e,{renderer:r,symbolizer:s,pixelFilter:n}=this;const{isRawData:o}=e;if(o&&"lerc"!==this.format&&(r??=(0,de.PD)(this.rasterInfo,{bandIds:this.bandIds,variableName:this.rasterFunction?null:this.mosaicRule?.multidimensionalDefinition?.[0].variableName}),s||(this.symbolizer=new he.A({rendererJSON:r.toJSON(),rasterInfo:this.rasterInfo}),s=this.symbolizer)),(o||!this._isPicture())&&r&&s&&!n){await this._updateSymbolizer(s,r);const{bandIds:n}=this;i=await this._symbolize({pixelData:e,bandIds:n,symbolizer:s},t)}return i}async highlightPixels(e,t){const i=e.highlightOptions.map(e=>{const t={...e},{bandId:i}=t;if(null==i)t.bandId=0;else{const e=this.bandIds?.length?this.bandIds.indexOf(i):i;if(e<0||e>2)return;t.bandId=e}return t}).filter(e=>null!=e),r=this._rasterJobHandler;r?await r.highlightPixels({...e,highlightOptions:i},t):(0,ce._F)(e.pixelBlock,e.renderedPixelBlock,i)}destroy(){this._shutdownJobHandler()}async calculateVolume(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsCalculateVolume)throw new o.A("imagery-layer:compute-pixel-space-locations","this operation is not supported on the input image service");return e=(0,b.o8)(e),this.mosaicRule&&null==e.mosaicRule&&(e.mosaicRule=this.mosaicRule),async function(e,t,i){const r=(t=(0,F.PZ)(bt,t)).toJSON();r.geometries=JSON.stringify(r.geometries);const s=(0,we.Dl)(e),n=(0,we.lF)({...s.query,f:"json",...r}),o=(0,we.jV)(n,i),{data:a}=await(0,R.A)(`${s.path}/calculateVolume`,o);return Ft.fromJSON({volumes:a.results})}(this.url,e,this._getRequestOptions(t))}async computeAngles(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsComputeAngles)throw new o.A("imagery-layer:compute-angles","this operation is not supported on the input image service");return async function(e,t,i){const r=(t=(0,F.PZ)(Me,t)).toJSON();null!=r.angleName&&(r.angleName=r.angleName.join(",")),t?.point?.spatialReference?.imageCoordinateSystem&&(r.point.spatialReference=Vt(t.point.spatialReference)),t?.spatialReference?.imageCoordinateSystem&&(r.spatialReference=qt(t.spatialReference));const s=(0,we.Dl)(e),n=(0,we.lF)({...s.query,f:"json",...r}),o=(0,we.jV)(n,i),{data:a}=await(0,R.A)(`${s.path}/computeAngles`,o);return a.spatialReference=a.spatialReference?null!=a.spatialReference.geodataXform?new D.A({wkid:0,imageCoordinateSystem:a.spatialReference}):D.A.fromJSON(a.spatialReference):null,"NaN"===a.north&&(a.north=null),"NaN"===a.up&&(a.up=null),new xe(a)}(this.url,e,this._getRequestOptions(t))}async computePixelSpaceLocations(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsComputePixelLocation)throw new o.A("imagery-layer:compute-pixel-space-locations","this operation is not supported on the input image service");return async function(e,t,i){const r=(t=(0,F.PZ)(pt,t)).toJSON(),{geometries:s}=t;if(s)for(let e=0;e<s.length;e++)s[e].spatialReference?.imageCoordinateSystem&&(r.geometries.geometries[e].spatialReference=Vt(s[e].spatialReference));const n=(0,we.Dl)(e),o=(0,we.lF)({...n.query,f:"json",...r}),a=(0,we.jV)(o,i),{data:l}=await(0,R.A)(`${n.path}/computePixelLocation`,a);return ct.fromJSON(l)}(this.url,e,this._getRequestOptions(t))}async computeHistograms(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsComputeHistograms)throw new o.A("imagery-layer:compute-histograms","this operation is not supported on the input image service");return e=(0,b.o8)(e),this._applyMosaicAndRenderingRules(e),async function(e,t,i){const r=await Pt(e,t,i),s=(0,we.Dl)(e),{data:n}=await(0,R.A)(`${s.path}/computeHistograms`,r);return{histograms:n.histograms}}(this.url,e,this._getRequestOptions(t))}async computeStatisticsHistograms(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsComputeStatisticsHistograms)throw new o.A("imagery-layer:compute-statistics-histograms","this operation is not supported on the input image service");return e=(0,b.o8)(e),this._applyMosaicAndRenderingRules(e),async function(e,t,i){const r=await Pt(e,t,i),s=(0,we.Dl)(e),{data:n}=await(0,R.A)(`${s.path}/computeStatisticsHistograms`,r),{statistics:o}=n;return o?.length&&o.forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),{statistics:o,histograms:n.histograms}}(this.url,e,this._getRequestOptions(t))}async measureHeight(e,t){const i=await this._fetchCapabilities(t?.signal);if(!("base-and-top"===e.operationType?i.mensuration.supportsHeightFromBaseAndTop:"base-and-top-shadow"===e.operationType?i.mensuration.supportsHeightFromBaseAndTopShadow:i.mensuration.supportsHeightFromTopAndTopShadow))throw new o.A("imagery-layer:measure-height","this operation is not supported on the input image service");return e=(0,b.o8)(e),this._applyMosaicRule(e),async function(e,t,i){t=(0,F.PZ)(it,t);const r=await Zt(e,t,[t.fromGeometry,t.toGeometry],i);return rt.fromJSON(r)}(this.url,e,this._getRequestOptions(t))}async measureAreaAndPerimeter(e,t){const i=await this._fetchCapabilities(t?.signal);if(!i.mensuration.supportsAreaAndPerimeter||e.is3D&&!i.mensuration.supports3D)throw new o.A("imagery-layer:measure-area-and-perimeter","this operation is not supported on the input image service");return e=(0,b.o8)(e),this._applyMosaicRule(e),async function(e,t,i){t=(0,F.PZ)(qe,t);const r=await Zt(e,t,[t.geometry],i);return Je.fromJSON(r)}(this.url,e,this._getRequestOptions(t))}async measureDistanceAndAngle(e,t){const i=await this._fetchCapabilities(t?.signal);if(!i.mensuration.supportsDistanceAndAngle||e.is3D&&!i.mensuration.supports3D)throw new o.A("imagery-layer:measure-distance-and-angle","this operation is not supported on the input image service");return e=(0,b.o8)(e),this._applyMosaicRule(e),async function(e,t,i){t=(0,F.PZ)(ze,t);const r=await Zt(e,t,[t.fromGeometry,t.toGeometry],i);return Ue.fromJSON(r)}(this.url,e,this._getRequestOptions(t))}async measurePointOrCentroid(e,t){const i=await this._fetchCapabilities(t?.signal);if(!i.mensuration.supportsPointOrCentroid||e.is3D&&!i.mensuration.supports3D)throw new o.A("imagery-layer:measure-point-or-centroid","this operation is not supported on the input image service");return e=(0,b.o8)(e),this._applyMosaicRule(e),async function(e,t,i){t=(0,F.PZ)(dt,t);const r=await Zt(e,t,[t.geometry],i);return ht.fromJSON(r)}(this.url,e,this._getRequestOptions(t))}async measureLengthFromImage(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsMeasureFromImage)throw new o.A("imagery-layer:measure-length-from-image","this operation is not supported on the input image service");if("polyline"!==e.geometry.type)throw new o.A("imagery-layer:measure-length-from-image","this input geometry must be a polyline");return async function(e,t,i){const r=await jt(e,t,i);return Tt.fromJSON(r)}(this.url,e,this._getRequestOptions(t))}async measureAreaFromImage(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsMeasureFromImage)throw new o.A("imagery-layer:measure-area-from-image","this operation is not supported on the input image service");if("polygon"!==e.geometry.type)throw new o.A("imagery-layer:measure-area-from-image","this input geometry must be a polygon");return async function(e,t,i){const r=await jt(e,t,i);return xt.fromJSON(r)}(this.url,e,this._getRequestOptions(t))}getField(e){const{fieldsIndex:t}=this;return null!=t?t.get(e):void 0}getFieldDomain(e,t){const i=this.getField(e);return i?i.domain:null}fetchImage(e,t,i,r={}){if((0,C.eO)(a.A.getLogger(this),"`ImageryLayer.fetchImage` is deprecated in favor of 'ImageryLayer.fetchPixels'.",{replacement:"ImageryLayer.fetchPixels",version:"4.33",warnOnce:!0}),null==e||null==t||null==i)throw new o.A("imagery-layer:fetch-image","Insufficient parameters for requesting an image. A valid extent, width and height values are required.");return this.internalFetchImage(e,t,i,r)}async internalFetchImage(e,t,i,r={}){await this._updateCurrentRasterInfo();const{exportImageServiceParameters:n}=this;let o=!1;r.requestRawData&&(await this._initJobHandler(),n.requestRawData||"lerc"===this.format||(o=!0,n.requestRawData=!0));const a=this.getExportImageServiceParameters(e,t,i,r.timeExtent);if(o&&(n.requestRawData=!1),null==a){if(r.requestAsImageElement&&this._canRequestImageElement(this.format)){const e=document.createElement("canvas");return e.width=t,e.height=i,r.returnImageBitmap?{imageBitmap:await(0,se.m)(e,`${s(this.parsedUrl)}/exportImage`,r.signal)}:{imageOrCanvasElement:e}}const{bandIds:n,rasterInfo:o}=this,a=(n?.length||o.bandCount)??0,l=t*i,u=o.pixelType,p=[];for(let e=0;e<a;e++)p.push(oe.A.createEmptyBand(u,l));return{pixelData:{pixelBlock:new oe.A({width:t,height:i,pixels:p,mask:new Uint8Array(l),pixelType:u}),extent:e}}}const l=!!r.requestAsImageElement&&!this.pixelFilter,u=l&&!!r.returnImageBitmap,p={imageServiceParameters:a,imageProps:{extent:e,width:t,height:i,format:this.format},requestAsImageElement:l,returnImageBitmap:u,signal:r.signal};return this._requestArrayBuffer(p)}async fetchPixels(e,t,i,r={}){await this._initJobHandler(),r.applyRendering&&this._updateCurrentRasterInfo();const s=r.applyRendering?void 0:new te({layer:this,requestRawData:!0,interpolation:r.interpolation??"nearest",bandIds:r.bandIds??[]}),n=this.getExportImageServiceParameters(e,t,i,r.timeExtent,s);if(null==n)return{extent:e,pixelBlock:null};delete n.pixelType,r.bandIds||delete n.bandIds,delete n.compressionQuality;const o={imageServiceParameters:n,imageProps:{extent:e,width:t,height:i,format:this.format},requestAsImageElement:!1,returnImageBitmap:!1,signal:r.signal},{pixelData:a}=await this._requestArrayBuffer(o);return a??{extent:e,pixelBlock:null}}fetchKeyProperties(e){return(0,R.A)(s(this.parsedUrl)+"/keyProperties",{query:this._getQueryParams({renderingRule:this.version>=10.3?e?.rasterFunction:null})}).then(e=>e.data)}fetchRasterAttributeTable(e){return this.version<10.1?Promise.reject(new o.A("#fetchRasterAttributeTable()","Failed to get rasterAttributeTable")):(0,R.A)(s(this.parsedUrl)+"/rasterAttributeTable",{query:this._getQueryParams({renderingRule:this.version>=10.3?e?.rasterFunction:null})}).then(e=>at.A.fromJSON(e.data))}getCatalogItemRasterInfo(e,t){const i={...t,query:this._getQueryParams()};return async function(e,t,i){const r=(0,we.Dl)(e),s=(0,we.lF)({...r?.query,f:"json"}),n=(0,we.jV)(s,i),o=`${r?.path}/${t}/info`,a=(0,R.A)(`${o}`,n),l=(0,R.A)(`${o}/keyProperties`,n),u=await Promise.allSettled([a,l]),p="fulfilled"===u[0].status?u[0].value.data:null,c="fulfilled"===u[1].status?u[1].value.data:null;let m=null;p.statistics?.length&&(m=p.statistics.map(e=>({min:e[0],max:e[1],avg:e[2],stddev:e[3]})));const d=x.A.fromJSON(p.extent),h=Math.ceil(d.width/p.pixelSizeX-.1),y=Math.ceil(d.height/p.pixelSizeY-.1),g=d.spatialReference,f=new ve.A({x:p.pixelSizeX,y:p.pixelSizeY,spatialReference:g}),w=p.histograms?.length?p.histograms:null,v=new Jt.A({origin:p.origin,blockWidth:p.blockWidth,blockHeight:p.blockHeight,firstPyramidLevel:p.firstPyramidLevel,maximumPyramidLevel:p.maxPyramidLevel});return new le.A({width:h,height:y,bandCount:p.bandCount,extent:d,spatialReference:g,pixelSize:f,pixelType:p.pixelType.toLowerCase(),statistics:m,histograms:w,keyProperties:c,storageInfo:v})}(s(this.parsedUrl),e,i)}async getCatalogItemICSInfo(e,t){const{data:i}=await(0,R.A)(s(this.parsedUrl)+"/"+e+"/info/ics",{query:this._getQueryParams(),...t}),r=i?.ics;if(!r)return;let n=null;try{n=(await(0,R.A)(s(this.parsedUrl)+"/"+e+"/info",{query:this._getQueryParams(),...t})).data.extent}catch{}if(!n?.spatialReference)return{ics:r,icsToPixelTransform:null,icsExtent:null,northDirection:null};const o=this.version>=10.7?(0,R.A)(s(this.parsedUrl)+"/"+e+"/info/icstopixel",{query:this._getQueryParams(),...t}).then(e=>e.data).catch(()=>({})):{},a=n.spatialReference,l={geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[n]}),inSR:(0,T.YX)(a),outSR:"0:"+e},u=(0,R.A)(s(this.parsedUrl)+"/project",{query:this._getQueryParams(l),...t}).then(e=>e.data).catch(()=>({})),p=(n.xmin+n.xmax)/2,c=(n.ymax-n.ymin)/6,m=n.ymin+c,d=[];for(let e=0;e<5;e++)d.push({x:p,y:m+c*e});const h={geometries:JSON.stringify({geometryType:"esriGeometryPoint",geometries:d}),inSR:(0,T.YX)(a),outSR:"0:"+e},y=(0,R.A)(s(this.parsedUrl)+"/project",{query:this._getQueryParams(h),...t}).then(e=>e.data).catch(()=>({})),g=await Promise.all([o,u,y]);let f=g[0].ipxf;if(null==f){const e=r.geodataXform?.xf_0;"topup"===e?.name?.toLowerCase()&&6===e?.coefficients?.length&&(f={affine:{name:"ics [sensor: Frame] to pixel (column, row) transformation",coefficients:e.coefficients,cellsizeRatio:0,type:"GeometricXform"}})}const w=x.A.fromJSON(g[1]?.geometries?.[0]);w&&(w.spatialReference=new D.A({wkid:0,imageCoordinateSystem:r}));const v=g[2].geometries?g[2].geometries.filter(e=>null!=e?.x&&null!=e.y&&"NaN"!==e.x&&"NaN"!==e.y):[],C=v.length;if(C<3)return{ics:r,icsToPixelTransform:f,icsExtent:w,northDirection:null};let b=0,S=0,I=0,F=0;for(let e=0;e<C;e++)b+=v[e].x,S+=v[e].y,I+=v[e].x*v[e].x,F+=v[e].x*v[e].y;const M=(C*F-b*S)/(C*I-b*b);let A=0;const N=v[4].x>v[0].x,P=v[4].y>v[0].y;return M===1/0?A=P?90:270:0===M?A=N?0:180:M>0?A=N?180*Math.atan(M)/Math.PI:180*Math.atan(M)/Math.PI+180:M<0&&(A=P?180+180*Math.atan(M)/Math.PI:360+180*Math.atan(M)/Math.PI),{ics:r,icsToPixelTransform:f,icsExtent:w,northDirection:A}}async generateRasterInfo(e,t){e=(0,F.PZ)(Z.A,e);const i={...t,query:this._getQueryParams()};if(!e||"none"===e.functionName?.toLowerCase()||this._isVectorFieldResampleFunction(e))return this.serviceRasterInfo??(0,Et.Tw)(s(this.parsedUrl),this.sourceJSON,i);const r=function(e){const t=JSON.stringify(e),i=t.includes('"rasterFunctionDefinition":{'),r=i?t.match(/"type":"(.*?FunctionArguments")/gi):t.match(/"rasterFunction":"(.*?")/gi),s=r?.map(e=>i?e.slice(8,-18):e.slice(18,-1));return s?s.join("/"):null}(e);if(!r)throw new o.A("imagery-layer:generate-raster-info","the rendering rule is not supported");if(this._functionRasterInfos[r])return this._functionRasterInfos[r];const n=(0,Et.X6)(s(this.parsedUrl),e,i);this._functionRasterInfos[r]=n;try{return await n}catch(e){throw this._functionRasterInfos[r]=null,e}}getExportImageServiceParameters(e,t,i,r,n){const o=qt((e=e.clone().shiftCentralMeridian()).spatialReference,s(this.parsedUrl));n??=this.exportImageServiceParameters;const a=n.toJSON(),{bandIds:l,noData:u}=a;let{renderingRule:p}=a;const c=this.rasterFunction?.rasterFunctionDefinition,m=this.renderer?.type,d=!m||"raster-stretch"===m||"raster-colormap"===m||"unique-value"===m||"class-breaks"===m||"raster-shaded-relief"===m;if(l?.length&&this._hasRasterFunction(this.rasterFunction)&&!c&&d){const e={rasterFunction:"ExtractBand",rasterFunctionArguments:{BandIds:l}};if("Stretch"===p.rasterFunction)e.rasterFunctionArguments.Raster=p.rasterFunctionArguments.Raster,p.rasterFunctionArguments.Raster=e;else if("Colormap"===p.rasterFunction){const t=p.rasterFunctionArguments.Raster;"Stretch"===t?.rasterFunction?(e.rasterFunctionArguments.Raster=t.rasterFunctionArguments.Raster,t.rasterFunctionArguments.Raster=e):(e.rasterFunctionArguments.Raster=t,p.rasterFunctionArguments.Raster=e)}else e.rasterFunctionArguments.Raster=p,p=e;a.bandIds=void 0}else a.bandIds=l?.join(",");Array.isArray(u)&&u.length>0&&(a.noData=u.join(","));const h=this._processMultidimensionalIntersection(null,r,n.mosaicRule);if(h.isOutSide)return null;a.mosaicRule=null!=h.mosaicRule?JSON.stringify(h.mosaicRule):null,r=h.timeExtent,a.renderingRule=this._getRenderingRuleString(Z.A.fromJSON(p));const y={};if(null!=r){const{start:e,end:t}=r.toJSON();e&&t&&e===t?y.time=""+e:null==e&&null==t||(y.time=`${e??"null"},${t??"null"}`)}return{bbox:e.xmin+","+e.ymin+","+e.xmax+","+e.ymax,bboxSR:o,imageSR:o,size:t+","+i,...a,...y}}async getSamples(e,t){const i=await this._fetchCapabilities(t?.signal);if(!i?.operations.supportsGetSamples)throw new o.A("imagery-layer:get-samples","getSamples operation is not supported on the input image service");e=(0,b.o8)(e);const{raster:r}=this;return r&&null==e.raster&&(e.raster=r),async function(e,t,i){const r=(t=(0,F.PZ)(yt.A,t)).toJSON();Nt(r),r.outFields?.length&&(r.outFields=r.outFields.join(","));const s=await(0,fe.el)(t.geometry),n=s?.[0];null!=n&&(r.geometry=_t(n));const o=(0,we.Dl)(e),a=(0,we.lF)({...o.query,f:"json",...r}),l=(0,we.jV)(a,i),{data:u}=await(0,R.A)(`${o.path}/getSamples`,l),p=u.samples.map(e=>{const t="NaN"===e.value||""===e.value?null:e.value.split(" ").map(e=>Number(e));return{...e,pixelValue:t}});return gt.A.fromJSON({samples:p})}(this.url,e,this._getRequestOptions(t))}async identify(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsIdentify)throw new o.A("imagery-layer:identify","identify operation is not supported on the input image service");e=(0,b.o8)(e),this.version<10.91&&"extent"===e.geometry?.type&&(e.geometry=A.A.fromExtent(e.geometry));const i=this._processMultidimensionalIntersection(e.geometry,e.timeExtent,e.mosaicRule||this.mosaicRule);if(i.isOutSide)throw new o.A("imagery-layer:identify","the request cannot be fulfilled when falling outside of the multidimensional subset");e.timeExtent=i.timeExtent,e.mosaicRule=i.mosaicRule;const{raster:r,rasterFunction:s}=this;return s&&null==e.rasterFunction&&(e.rasterFunction=s),r&&null==e.raster&&(e.raster=r),Ot(this.url,e,this._getRequestOptions(t))}async imageToMap(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsImageToMap)throw new o.A("imagery-layer:image-to-map","imageToMap operation is not supported on the input image service");return async function(e,t,i){const r=(t=(0,F.PZ)(wt,t)).toJSON();t.geometry.spatialReference.imageCoordinateSystem&&(r.geometry=_t(t.geometry)),t.depthOffset&&t.adjust||delete r.options;const s=(0,we.Dl)(e),n=(0,we.lF)({...s.query,f:"json",...r}),o=(0,we.jV)(n,i),{data:a}=await(0,R.A)(`${s.path}/imageToMap`,o);return(0,ge.rS)(a)}(s(this.parsedUrl),e,this._getRequestOptions(t))}async imageToMapMultiray(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsImageToMapMultiray)throw new o.A("imagery-layer:image-to-map-multiray","imageToMapMultiray operation is not supported on the input image service");return async function(e,t,i){const r=(t=(0,F.PZ)(ft,t)).toJSON();t.rasterIds?.length&&(r.rasterIds=t.rasterIds.join(","));const s=(0,we.Dl)(e),n=(0,we.lF)({...s.query,f:"json",...r}),o=(0,we.jV)(n,i),{data:a}=await(0,R.A)(`${s.path}/imageToMapMultiray`,o);return(0,ge.rS)(a)}(s(this.parsedUrl),e,this._getRequestOptions(t))}async mapToImage(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsMapToImage)throw new o.A("imagery-layer:map-to-image","mapToImage operation is not supported on the input image service");return async function(e,t,i){const r=(t=(0,F.PZ)(Mt,t)).toJSON(),s=await(0,fe.el)(t.geometry),n=s?.[0];null!=n&&(r.geometry=_t(n)),t.visibleOnly||delete r.options;const o=n?.spatialReference??t.geometry?.spatialReference;o&&(r.inSR=qt(o));const a=(0,we.Dl)(e),l=(0,we.lF)({...a.query,f:"json",...r}),u=(0,we.jV)(l,i),{data:p}=await(0,R.A)(`${a.path}/mapToImage`,u);return(0,ge.rS)(p)}(s(this.parsedUrl),e,this._getRequestOptions(t))}async findImages(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsFindImages)throw new o.A("imagery-layer:find-images","findImages operation is not supported on the input image service");return async function(e,t,i){const r=(t=(0,F.PZ)(Re,t)).toJSON(),s=await(0,fe.el)([t.fromGeometry,t.toGeometry]);null!=s[0]&&(r.fromGeometry=_t(s[0]),s[0].spatialReference&&(r.inSR=qt(s[0].spatialReference))),null!=s[1]&&(r.toGeometry=_t(s[1])),t.objectIds?.length&&(r.objectIds=r.objectIds.join(","));const n=(0,we.Dl)(e),o=(0,we.lF)({...n.query,f:"json",...r}),a=(0,we.jV)(o,i),{data:l}=await(0,R.A)(`${n.path}/find`,a);return Ie.fromJSON(l)}(s(this.parsedUrl),e,this._getRequestOptions(t))}async getImageUrl(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsGetImageUrl)throw new o.A("imagery-layer:get-image-url","getImageUrl operation is not supported on the input image service");return async function(e,t,i){const r=(t=(0,F.PZ)(vt,t)).toJSON(),s=(0,we.Dl)(e),n=(0,we.lF)({...s.query,f:"json",...r}),o=(0,we.jV)(n,i),{data:a}=await(0,R.A)(`${s.path}/getImageUrl`,o);return Rt.fromJSON(a)}(s(this.parsedUrl),e,this._getRequestOptions(t))}createQuery(){return new zt.A({outFields:["*"],returnGeometry:!0,where:this.definitionExpression||"1=1"})}async queryBoundary(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsQueryBoundary)throw new o.A("imagery-layer:query-boundary","queryBoundary operation is not supported on the input image service");return e=e??{outSpatialReference:this.spatialReference},async function(e,t,i){t=(0,F.PZ)(Ge,t);const r=(0,we.Dl)(e),s=t.toJSON();t.outSpatialReference&&(s.outSR=qt(t.outSpatialReference));const n=(0,we.lF)({...r.query,f:"json",...s}),o=(0,we.jV)(n,i),{data:a}=await(0,R.A)(r.path+"/queryBoundary",o);return Le.fromJSON(a)}(s(this.parsedUrl),e,this._getRequestOptions(t))}async queryRasters(e,t){({query:e,requestOptions:t}=await this._prepareForQuery(e,t));const i=await(0,$t.s)(this.url,e,t),r=this.graphicOrigin;return i.features.forEach(e=>{e.layer=this,e.origin=r}),i}async queryObjectIds(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),(0,Lt.V)(this.url,e,t)}async queryGPSInfo(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsQueryGPSInfo)throw new o.A("imagery-layer:query-gps-info","queryGPSInfo operation is not supported on the input image service");return e=e??{where:"1=1"},async function(e,t,i){const r=(t=(0,F.PZ)(He,t)).toJSON();Nt(r),r.objectIds?.length&&(r.objectIds=r.objectIds.join(",")),r.geometry||r.objectIds||r.time||r.where||(r.where="1=1");const s=await(0,fe.el)(t.geometry),n=s?.[0];null!=n&&(r.geometry=_t(n));const o=n?.spatialReference??t.geometry?.spatialReference;o&&(r.inSR=qt(o));const a=(0,we.Dl)(e),l=(0,we.lF)({...a.query,f:"json",...r}),u=(0,we.jV)(l,i),{data:p}=await(0,R.A)(`${a.path}/queryGPSInfo`,u);return et.fromJSON(p)}(s(this.parsedUrl),e,this._getRequestOptions(t))}async queryRasterCount(e,t){return({query:e,requestOptions:t}=await this._prepareForQuery(e,t)),(0,Gt.I)(this.url,e,t)}async queryVisibleRasters(e,t){if(!e)throw new o.A("imagery-layer: query-visible-rasters","missing query parameter");await this.load();const{pixelSize:i,returnDomainValues:r,returnTopmostRaster:s,showNoDataRecords:n}=t||{pixelSize:null,returnDomainValues:!1,returnTopmostRaster:!1,showNoDataRecords:!1};let a=!1,l=null,u=null;const p=ae.F_.servicePixelValue.toLowerCase(),c=this._rasterFunctionNamesIndex;if(null!=e.outFields&&(a=e.outFields.some(e=>!e.toLowerCase().startsWith(p)),this.version>=10.4)){const t=e.outFields.filter(e=>e.toLowerCase().startsWith(p)&&e.length>p.length).map(e=>{const t=e.slice(p.length+1);return[this._updateRenderingRulesFunctionName(t,c),t]});l=t.map(e=>new Z.A({functionName:e[0]})),u=t.map(e=>e[1]);const{rasterFunction:i}=this;0===l.length?i?.functionName?(l.push(i),u.push(i.functionName)):l=null:i?.functionName&&!l.some(e=>e.functionName===i.functionName)&&(l.push(i),u.push(i.functionName))}const m=null==e.outSpatialReference||e.outSpatialReference.equals(this.spatialReference),{multidimensionalSubset:d}=this;let h=e.timeExtent||this.timeExtent;if(d){const{isOutside:t,intersection:i}=(0,ue.Rp)(d,{geometry:e.geometry,timeExtent:e.timeExtent,multidimensionalDefinition:this.exportImageServiceParameters.mosaicRule?.multidimensionalDefinition});if(t)throw new o.A("imagery-layer:query-visible-rasters","the request cannot be fulfilled when falling outside of the multidimensional subset");null!=i?.timeExtent&&(h=i.timeExtent)}const y=this._combineMosaicRuleWithTimeExtent(this.exportImageServiceParameters.mosaicRule,h);let g=e.geometry;this.version<10.91&&"extent"===g?.type&&(g=A.A.fromExtent(g));const f=this._getQueryParams({geometry:g,timeExtent:h,mosaicRule:y,rasterFunction:this.version<10.4?this.rasterFunction:null,rasterFunctions:l,pixelSize:i,returnCatalogItems:a,returnGeometry:m,raster:this.raster,maxItemCount:s?1:null});delete f.f;const w=new ot(f);try{await this._generateRasterInfo(this.rasterFunction);const i=await Ot(this.url,w,{signal:t?.signal,query:{...this.customParameters}}),s=e.outFields,o=null!=i.value&&i.value.toLowerCase().includes("nodata"),l=a&&!m&&i?.catalogItems?.features.length&&(n||!o),p=this.multidimensionalInfo&&"raster-dataset"===this.sourceType?(0,ue.XU)({rasterInfo:this.rasterInfo,multidimensionalDefinition:y?.multidimensionalDefinition,timeExtent:h,multidimensionalSubset:this.multidimensionalSubset}):null;if(!l)return this._processVisibleRastersResponse(i,{returnDomainValues:r,templateRRFunctionNames:u,showNoDataRecords:n,templateFields:s,effectiveMultidimensionalDefinition:p});const c=this.objectIdField||"ObjectId",d=i.catalogItems?.features??[],g=d.map(e=>e.attributes?.[c]),f=new zt.A({objectIds:g,returnGeometry:!0,outSpatialReference:e.outSpatialReference,outFields:[c]}),v=await this.queryRasters(f);return v?.features?.length&&v.features.forEach(t=>{d.forEach(i=>{i.attributes[c]===t.attributes[c]&&t.geometry&&(i.geometry=t.geometry.clone(),null!=e.outSpatialReference&&(i.geometry.spatialReference=e.outSpatialReference))})}),this._processVisibleRastersResponse(i,{returnDomainValues:r,templateRRFunctionNames:u,showNoDataRecords:n,templateFields:s,effectiveMultidimensionalDefinition:p})}catch{throw new o.A("imagery-layer:query-visible-rasters","encountered error when querying visible rasters")}}async fetchVariableStatisticsHistograms(e,t){const i=(0,R.A)(s(this.parsedUrl)+"/statistics",{query:this._getQueryParams({variable:e}),signal:t}).then(e=>e.data?.statistics),r=(0,R.A)(s(this.parsedUrl)+"/histograms",{query:this._getQueryParams({variable:e}),signal:t}).then(e=>e.data?.histograms),n=await Promise.all([i,r]);return n[0]&&n[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),{statistics:n[0]||null,histograms:n[1]||null}}getMultidimensionalSubsetVariables(e){const t=e??this.serviceRasterInfo.multidimensionalInfo;return(0,ue.z2)(this.multidimensionalSubset,t)}async _fetchService(e){await this._fetchServiceInfo(e),this.rasterInfo||(this.rasterInfo=this.serviceRasterInfo);const t=this.sourceJSON,i=null!=this.serviceRasterInfo?Promise.resolve(this.serviceRasterInfo):(0,Et.Tw)(s(this.parsedUrl),t,{signal:e,query:this._getQueryParams()}).then(e=>(this._set("serviceRasterInfo",e),this._set("multidimensionalInfo",e.multidimensionalInfo),(0,Et.E9)(e,t),e)),r=this._hasRasterFunction(this.rasterFunction)?this._generateRasterInfo(this.rasterFunction,{signal:e}):null,n=this._getRasterFunctionInfos();return Promise.all([i,r,n]).then(e=>{e[1]?this._set("rasterInfo",e[1]):this._set("rasterInfo",e[0]),e[2]&&this._set("rasterFunctionInfos",e[2]),this.internalRenderer&&!this._isSupportedRenderer(this.internalRenderer)&&(this._set("internalRenderer",null),a.A.getLogger(this).warn("ArcGISImageService","Switching to the default renderer. Renderer applied is not valid for this Imagery Layer")),this._set("internalRenderer",this._configRenderer(this.renderer)),this.addHandles([(0,S.wB)(()=>this.rasterFunction,e=>{(this.renderer||this.symbolizer||this.popupEnabled&&this.popupTemplate)&&this._generateRasterInfo(e).then(e=>{e&&(this.rasterInfo=e)})})]);const{serviceRasterInfo:t}=this;null!=t.multidimensionalInfo&&this._updateMultidimensionalDefinition(t)})}_combineMosaicRuleWithTimeExtent(e,t){const i=this.timeInfo,{multidimensionalInfo:r}=this.serviceRasterInfo;if(null==e||null==r||null==t||null==i?.startField)return e;const{startField:s}=i,n=r.variables.some(e=>e.dimensions.some(e=>e.name===s))?s:"StdTime";if(e=e.clone(),"mosaic-dataset"===this.sourceType)return e.multidimensionalDefinition=e.multidimensionalDefinition?.filter(e=>e.dimensionName!==n),this._cleanupMultidimensionalDefinition(e);e.multidimensionalDefinition=e.multidimensionalDefinition||[];const o=e.multidimensionalDefinition.filter(e=>e.dimensionName===n),a=null!=t.start?t.start.getTime():null,l=null!=t.end?t.end.getTime():null,u=null==a||null==l||a===l,p=u?[a||l]:[[a,l]],c=this.version>=10.8;if(o.length)o.forEach(e=>{e.dimensionName===n&&(c?(e.dimensionName=null,e.isSlice=!1,e.values=[]):(e.isSlice=u,e.values=p))});else if(!c){const t=e.multidimensionalDefinition.filter(e=>null!=e.variableName&&null==e.dimensionName);t.length?t.forEach(e=>{e.dimensionName=n,e.isSlice=u,e.values=p}):e.multidimensionalDefinition.push(new P.A({variableName:"",dimensionName:n,isSlice:u,values:p}))}return this._cleanupMultidimensionalDefinition(e)}_cleanupMultidimensionalDefinition(e){return null==e?null:(e.multidimensionalDefinition&&(e.multidimensionalDefinition=e.multidimensionalDefinition.filter(e=>!(!e.variableName&&!e.dimensionName)),0===e.multidimensionalDefinition.length&&(e.multidimensionalDefinition=null)),"mosaic-dataset"!==this.sourceType&&null==e.multidimensionalDefinition?null:e)}async _prepareForQuery(e,t){if(!(await this._fetchCapabilities(t?.signal)).operations.supportsQuery)throw new o.A("imagery-layer:query-rasters","query operation is not supported on the input image service");return e=null!=e?(0,F.PZ)(zt.A,e):this.createQuery(),t=this._getRequestOptions(t),this.raster&&(t.query={...t.query,raster:this.raster}),{query:e,requestOptions:t}}_isSupportedRenderer(e){const{rasterInfo:t,rasterFunction:i}=this;return"unique-value"===e.type&&this._hasRasterFunction(i)&&1===t?.bandCount&&["u8","s8"].includes(t.pixelType)||null!=t&&null!=e&&(0,de.fp)(t).includes(e.type)}async _fetchCapabilities(e){return this.capabilities||await this._fetchServiceInfo(e),this.capabilities}async _fetchServiceInfo(e){let t=this.sourceJSON;if(!t){const{data:i,ssl:r}=await(0,R.A)(s(this.parsedUrl),{query:this._getQueryParams(),signal:e});t=i,this.sourceJSON=t,r&&(this.url=this.url.replace(/^http:/i,"https:"))}if(t.capabilities?.toLowerCase().split(",").map(e=>e.trim()).indexOf("tilesonly")>-1)throw new o.A("imagery-layer:fetch-service-info","use ImageryTileLayer to open tiles-only image services");this.read(t,{origin:"service",url:this.parsedUrl})}_isMosaicDataset(e){return e.serviceSourceType?"esriImageServiceSourceTypeMosaicDataset"===e.serviceSourceType:e.fields?.length>0}_isMosaicRuleSupported(e){if(!e)return!1;const t=this._isMosaicDataset(e),i=e.currentVersion>=10.71&&e.hasMultidimensions&&!(e.fields?.length>1);return t||i}_isVectorFieldResampleFunction(e){if(null==e)return!1;const{functionName:t,functionArguments:i}=e,r="resample"===t?.toLowerCase(),s=i?.ResampleType||i?.resampleType;return r&&(7===s||10===s)}_isPicture(){return!this.format||this.format.includes("jpg")||this.format.includes("png")}_configRenderer(e){const t=this._isPicture(),{rasterInfo:i}=this;if(!t&&!this.pixelFilter||this._isVectorDataSet()){const t=this.mosaicRule?.multidimensionalDefinition?.[0].variableName,r=(0,de.I8)({variableName:t,rasterFunctionName:this.rasterFunction?.functionName,presetRenderers:this.presetRenderers});if(!this.bandIds&&i.bandCount>=3){const e=r?.bandIds??(0,de.ci)(i);!e||3===i.bandCount&&0===e[0]&&1===e[1]&&2===e[2]||(this.bandIds=e)}e||(e=r?.renderer??(0,de.PD)(i,{bandIds:this.bandIds,variableName:this.rasterFunction?null:t}));const s=(0,de.$P)(e.toJSON());this.symbolizer?(this.symbolizer.rendererJSON=s,this.symbolizer.rasterInfo=i):this.symbolizer=new he.A({rendererJSON:s,rasterInfo:i}),this.symbolizer.bind().success||(this.symbolizer=null)}return e}_clonePixelData(e){return null==e?e:{extent:e.extent&&e.extent.clone(),pixelBlock:null!=e.pixelBlock?e.pixelBlock.clone():null}}_getQueryParams(e){null!=e?.renderingRule&&"string"!=typeof e.renderingRule&&(e.renderingRule=this._getRenderingRuleString(e.renderingRule));const{raster:t,viewId:i}=this;return{raster:t,viewId:i,f:"json",...e,...this.customParameters}}_getRequestOptions(e){return{...e,query:{...e?.query,...this.customParameters}}}_decodePixelBlock(e,t,i){return this._rasterJobHandler?this._rasterJobHandler.decode({data:e,options:t}):(0,pe.D)(e,t,i)}async _getRasterFunctionInfos(e){const t=this.sourceJSON.rasterFunctionInfos;if(this.loaded)return t;if(t&&this.version>=10.3){if(1===t.length&&"none"===t[0].name.toLowerCase())return t;const i=await(0,R.A)(s(this.parsedUrl)+"/rasterFunctionInfos",{query:this._getQueryParams(),signal:e});return i.data?.rasterFunctionInfos}return null}_canRequestImageElement(e){return!this.pixelFilter&&(!e||e.includes("png"))}async _requestArrayBuffer(e){const{imageProps:t,requestAsImageElement:i,returnImageBitmap:r,signal:n}=e;if(i&&this._canRequestImageElement(t.format)){const i=`${s(this.parsedUrl)}/exportImage`,{data:o}=await(0,R.A)(i,{responseType:r?"blob":"image",query:this._getQueryParams({f:"image",...this.refreshParameters,...e.imageServiceParameters}),signal:n});return o instanceof Blob?{imageBitmap:await(0,se.m)(o,i,n),params:t}:{imageOrCanvasElement:o,params:t}}const a=this._initJobHandler(),l=(0,R.A)(s(this.parsedUrl)+"/exportImage",{responseType:"array-buffer",query:this._getQueryParams({f:"image",...e.imageServiceParameters}),signal:n}),u=(await Promise.all([l,a]))[0].data,p=t.format||"jpgpng";let c=p;if("bsq"!==c&&"bip"!==c&&(c=(0,pe.g)(u)),!c)throw new o.A("imagery-layer:fetch-image","unsupported format signature "+String.fromCharCode.apply(null,new Uint8Array(u)));const m={signal:n},d="gif"===p||"bmp"===p||p.includes("png")&&("png"===c||"jpg"===c)?(0,pe.D)(u,{useCanvas:!0,...t},m):this._decodePixelBlock(u,{width:t.width,height:t.height,planes:null,pixelType:null,noDataValue:null,format:p},m);return{pixelData:{pixelBlock:await d,extent:t.extent},params:t}}_generateRasterInfo(e,t){return this.generateRasterInfo(e,t).catch(()=>null)}_isValidCustomizedMosaicRule(e){return e&&JSON.stringify(e.toJSON())!==JSON.stringify(this.defaultMosaicRule?.toJSON())}_updateMultidimensionalDefinition(e){if(this._isValidCustomizedMosaicRule(this.mosaicRule))return;let t=(0,ue.fy)(e,{multidimensionalSubset:this.multidimensionalSubset});if(null!=t&&t.length>0){this.mosaicRule=this.mosaicRule||new Y.A;const e=this.mosaicRule.multidimensionalDefinition;!this.sourceJSON.defaultVariableName&&this.rasterFunction&&"none"!==this.rasterFunction.functionName?.toLowerCase()&&t.forEach(e=>e.variableName=""),t=t.filter(({variableName:e,dimensionName:t})=>e&&"*"!==e||t),!e?.length&&t.length&&(this.mosaicRule.multidimensionalDefinition=t)}}_processVisibleRastersResponse(e,t){t=t||{};const i=e.value,{templateRRFunctionNames:r,showNoDataRecords:s,returnDomainValues:n,templateFields:o}=t,a=e.processedValues;let l=e.catalogItems?.features,u=e.properties?.Values?.map(e=>e.replaceAll(/ /gi,", "))||[];const p=this.objectIdField||"ObjectId",c="string"==typeof i&&i.toLowerCase().includes("nodata"),m=[];if(i&&!l&&(!c||s)){const e={};e[p]=0,u=[i],l=[new v.A({geometry:this.fullExtent,attributes:e})],this.multidimensionalInfo&&"raster-dataset"===this.sourceType&&(0,ae.eS)(this.rasterFields,e,t.effectiveMultidimensionalDefinition)}if(!l)return[];this._updateResponseFieldNames(l,o),c&&!s&&(l=[]);const{itemPixelValue:d,servicePixelValue:h}=ae.F_,y=this.rasterFields.some(e=>e.name===d),g=this.graphicOrigin;for(let e=0;e<l.length;e++){const t=l[e];if(null!=i){const n=u[e],o=this.rasterFunction&&a&&a.length>0&&r&&r.length>0&&r.includes(this.rasterFunction.functionName)?a[r.indexOf(this.rasterFunction.functionName)]:i;if("nodata"===n.toLowerCase()&&!s)continue;y&&(t.attributes[d]=n),t.attributes[h]=o,this._updateFeatureWithMagDirValues(t,n);const l=this.fields&&this.fields.length>0;let p=this.rasterFunction&&null!=this.serviceRasterInfo.attributeTable?l?n:i:o;this.rasterFunction||(p=l?n:i),this._updateFeatureWithRasterAttributeTableValues(t,p)}if(t.sourceLayer=t.layer=this,t.origin=g,n&&this._updateFeatureWithDomainValues(t),r&&a&&r.length===a.length)for(let e=0;e<r.length;e++){const i=`${ae.F_.servicePixelValue}.${r[e]}`;t.attributes[i]=a[e]}m.push(l[e])}return m}_processMultidimensionalIntersection(e,t,i){const{multidimensionalSubset:r}=this;if(!r)return{isOutSide:!1,timeExtent:t,mosaicRule:i=this._combineMosaicRuleWithTimeExtent(i,t)};if(r){const{isOutside:i,intersection:s}=(0,ue.Rp)(r,{geometry:e,timeExtent:t});if(i)return{isOutSide:!0,timeExtent:null,mosaicRule:null};null!=s?.timeExtent&&(t=s.timeExtent)}if(i=this._combineMosaicRuleWithTimeExtent(i,t),i?.multidimensionalDefinition){const{isOutside:e}=(0,ue.Rp)(r,{multidimensionalDefinition:i.multidimensionalDefinition});if(e)return{isOutSide:!0,timeExtent:null,mosaicRule:null}}return{isOutSide:!1,timeExtent:t,mosaicRule:i}}_updateFeatureWithRasterAttributeTableValues(e,t){const i=this.rasterInfo.attributeTable||this.serviceRasterInfo.attributeTable;if(null==i)return;const{features:r,fields:s}=i,n=s.map(e=>e.name).find(e=>"value"===e.toLowerCase());if(!n)return;const o=r.filter(e=>e.attributes[n]===(null!=t?parseInt(t,10):null));o&&o[0]&&s.forEach(t=>{const i=ae.ER+t.name;e.attributes[i]=o[0].attributes[t.name]})}_updateFeatureWithMagDirValues(e,t){if(!this._isVectorDataSet())return;const i=t.split(/,\s*/).map(e=>parseFloat(e)),r=i.map(e=>[e]),s=i.map(e=>({minValue:e,maxValue:e,noDataValue:null})),n=new oe.A({height:1,width:1,pixelType:"f32",pixels:r,statistics:s});null!=this.pixelFilter&&this.pixelFilter({pixelBlock:n,extent:new x.A(0,0,0,0,this.spatialReference)});const o="esriImageServiceDataTypeVector-MagDir"===this.serviceDataType?[n.pixels[0][0],n.pixels[1][0]]:(0,me.Lu)([n.pixels[0][0],n.pixels[1][0]]);e.attributes[ae.F_.magnitude]=o[0],e.attributes[ae.F_.direction]=o[1]}_updateFeatureWithDomainValues(e){const t=this.fields&&this.fields.filter(e=>e.domain&&"coded-value"===e.domain.type);null!=t&&t.forEach(t=>{const i=e.attributes[t.name];if(null!=i){const r=t.domain.codedValues.find(e=>e.code===i);r&&(e.attributes[t.name]=r.name)}})}_updateResponseFieldNames(e,t){if(!t||t.length<1)return;const i=this.fieldsIndex;null!=i&&e.forEach(e=>{if(e?.attributes)for(const r of t){const t=i.get(r)?.name;t&&t!==r&&(e.attributes[r]=e.attributes[t],delete e.attributes[t])}})}_getRenderingRuleString(e){if(e){let t=e.toJSON();return t=t.rasterFunctionDefinition??t,(t.thumbnail||t.thumbnailEx)&&(t.thumbnail=t.thumbnailEx=null),JSON.stringify(t)}return null}_hasRasterFunction(e){return null!=e?.functionName&&"none"!==e.functionName.toLowerCase()}_updateRenderingRulesFunctionName(e,t){if(!e||e.length<1)return;if("Raw"===e)return e.replace("Raw","None");const i=e.toLowerCase().replaceAll(/ /gi,"_");return t.has(i)?t.get(i):e}_isRFTJson(e){return e?.name&&e.arguments&&e.function&&e.hasOwnProperty("functionType")}_isVectorDataSet(){return"esriImageServiceDataTypeVector-UV"===this.serviceDataType||"esriImageServiceDataTypeVector-MagDir"===this.serviceDataType}_applyMosaicAndRenderingRules(e){const{raster:t,mosaicRule:i,rasterFunction:r}=this;r&&null==e.rasterFunction&&(e.rasterFunction=r),i&&null==e.mosaicRule&&(e.mosaicRule=i),t&&null==e.raster&&(e.raster=t)}async _updateCurrentRasterInfo(e){if(this.renderer||this.symbolizer){const t=await this._generateRasterInfo(this.rasterFunction,{signal:e});t&&(this.rasterInfo=t)}}_applyMosaicRule(e){const{raster:t,mosaicRule:i}=this;i&&null==e.mosaicRule&&(e.mosaicRule=i),t&&null==e.raster&&(e.raster=t)}_readCapabilities(e){const t=e.capabilities?e.capabilities.toLowerCase().split(",").map(e=>e.trim()):["image","catalog"],{currentVersion:i,maxRecordCount:r}=e,s=t.includes("image"),n="esriImageServiceDataTypeElevation"===e.serviceDataType,o=!(!e.spatialReference&&!e.extent?.spatialReference),a=t.includes("edit"),l=t.includes("mensuration")&&o,u=null==e.mensurationCapabilities?[]:e.mensurationCapabilities.toLowerCase().split(",").map(e=>e.trim()),p=l&&u.includes("basic"),c=this._isMosaicDataset(e)&&t.includes("catalog"),m=t.includes("download"),d=i>=10.7&&n||i>=11.4&&(n||l&&u.includes("3d")),h=c&&e.fields&&e.fields.length>0,y=h&&e.supportsAdvancedQueries?e.advancedQueryCapabilities:void 0;return{data:{supportsAttachment:!1},operations:{supportsComputeHistograms:s,supportsExportImage:s,supportsIdentify:s,supportsImageToMap:i>=11.2&&c,supportsImageToMapMultiray:i>=11.2&&c,supportsMapToImage:i>=11.2&&c,supportsFindImages:i>=11.2&&c,supportsGetImageUrl:i>=11.3&&m,supportsMeasure:l,supportsMeasureFromImage:i>=11.2,supportsDownload:m,supportsQuery:h,supportsGetSamples:i>=10.2&&s,supportsProject:i>=10.3&&s,supportsComputeStatisticsHistograms:i>=10.4&&s,supportsQueryBoundary:i>=10.6&&s,supportsCalculateVolume:d,supportsComputePixelLocation:i>=10.7&&c,supportsComputeAngles:i>=10.91,supportsQueryGPSInfo:i>=11.2&&c,supportsAdd:a,supportsDelete:a,supportsEditing:a,supportsUpdate:a,supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsChangeTracking:!1,supportsQueryAttachments:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsExceedsLimitStatistics:!1,supportsQueryAnalytics:!1,supportsQueryBins:!1,supportsQueryTopFeatures:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:r,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,supportsStatistics:!!y?.supportsStatistics,supportsOrderBy:!!y?.supportsOrderBy,supportsDistinct:!!y?.supportsDistinct,supportsPagination:!!y?.supportsPagination,supportsPaginationOnAggregatedQueries:!!y?.supportsPaginationOnAggregatedQueries,supportsStandardizedQueriesOnly:!!y?.useStandardizedQueries,supportsPercentileStatistics:!!y?.supportsPercentileStatistics,supportsCentroid:!!y?.supportsReturningGeometryCentroid,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!!y?.supportsQueryWithDistance,supportsExtent:!!y?.supportsReturningQueryExtent,supportsGeometryProperties:!!y?.supportsReturningGeometryProperties,supportsHavingClause:!!y?.supportsHavingClause,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsMaxRecordCountFactor:!1,supportsSqlExpression:y?.supportsSqlExpression??!!y,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsDisjointSpatialRelationship:!1,supportsCacheHint:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!!y?.supportsDefaultSR,supportsFullTextSearch:!1,supportsCompactGeometry:!1,standardMaxRecordCount:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},mensuration:{supportsDistanceAndAngle:p,supportsAreaAndPerimeter:p,supportsPointOrCentroid:p,supportsHeightFromBaseAndTop:l&&u.includes("base-top height"),supportsHeightFromBaseAndTopShadow:l&&u.includes("base-top shadow height"),supportsHeightFromTopAndTopShadow:l&&u.includes("top-top shadow height"),supports3D:l&&u.includes("3d")}}}};function s(e){return e?.path??""}return(0,r.Cg)([(0,p.MZ)({clonable:!1})],i.prototype,"_functionRasterInfos",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"_serviceSupportsMosaicRule",void 0),(0,r.Cg)([(0,M.w)("_serviceSupportsMosaicRule",["currentVersion","fields"])],i.prototype,"readServiceSupportsMosaicRule",null),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"_rasterFunctionNamesIndex",null),(0,r.Cg)([(0,p.MZ)()],i.prototype,"adjustAspectRatio",void 0),(0,r.Cg)([(0,p.MZ)({type:[F.jz],json:{write:!0}})],i.prototype,"bandIds",void 0),(0,r.Cg)([(0,M.w)("bandIds")],i.prototype,"readBandIds",null),(0,r.Cg)([(0,p.MZ)({readOnly:!0,json:{read:!1}})],i.prototype,"capabilities",void 0),(0,r.Cg)([(0,M.w)("service","capabilities",["capabilities","currentVersion","serviceDataType"])],i.prototype,"readCapabilities",null),(0,r.Cg)([(0,p.MZ)({type:Number})],i.prototype,"compressionQuality",void 0),(0,r.Cg)([(0,m.K)("compressionQuality")],i.prototype,"writeCompressionQuality",null),(0,r.Cg)([(0,p.MZ)({type:Number})],i.prototype,"compressionTolerance",void 0),(0,r.Cg)([(0,m.K)("compressionTolerance")],i.prototype,"writeCompressionTolerance",null),(0,r.Cg)([(0,p.MZ)({json:{read:{source:"copyrightText"}}})],i.prototype,"copyright",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0,dependsOn:["_serviceSupportsMosaicRule"]})],i.prototype,"defaultMosaicRule",void 0),(0,r.Cg)([(0,M.w)("defaultMosaicRule",["defaultMosaicMethod"])],i.prototype,"readDefaultMosaicRule",null),(0,r.Cg)([(0,p.MZ)({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],i.prototype,"definitionExpression",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0,constructOnly:!0})],i.prototype,"exportImageServiceParameters",void 0),(0,r.Cg)([(0,p.MZ)()],i.prototype,"rasterInfo",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0,type:[ie.A]})],i.prototype,"fields",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"fieldsIndex",null),(0,r.Cg)([(0,p.MZ)({type:["png","png8","png24","png32","jpg","bmp","gif","jpgpng","lerc","tiff","bip","bsq"],json:{write:!0}})],i.prototype,"format",null),(0,r.Cg)([(0,M.w)("service","format",["serviceDataType"])],i.prototype,"readFormat",null),(0,r.Cg)([(0,p.MZ)({type:x.A})],i.prototype,"fullExtent",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"hasMultidimensions",void 0),(0,r.Cg)([(0,p.MZ)({json:{read:{source:"maxImageHeight"}}})],i.prototype,"imageMaxHeight",void 0),(0,r.Cg)([(0,p.MZ)({json:{read:{source:"maxImageWidth"}}})],i.prototype,"imageMaxWidth",void 0),(0,r.Cg)([(0,p.MZ)({type:String,json:{type:ee.SZ.jsonValues,read:ee.SZ.read,write:ee.SZ.write}})],i.prototype,"interpolation",void 0),(0,r.Cg)([(0,p.MZ)()],i.prototype,"minScale",void 0),(0,r.Cg)([(0,M.w)("service","minScale")],i.prototype,"readMinScale",null),(0,r.Cg)([(0,p.MZ)()],i.prototype,"maxScale",void 0),(0,r.Cg)([(0,M.w)("service","maxScale")],i.prototype,"readMaxScale",null),(0,r.Cg)([(0,p.MZ)({type:Y.A})],i.prototype,"mosaicRule",null),(0,r.Cg)([(0,M.w)("mosaicRule",["mosaicRule","defaultMosaicMethod"])],i.prototype,"readMosaicRule",null),(0,r.Cg)([(0,m.K)("mosaicRule")],i.prototype,"writeMosaicRule",null),(0,r.Cg)([(0,p.MZ)()],i.prototype,"multidimensionalInfo",void 0),(0,r.Cg)([(0,p.MZ)({type:ne.A,json:{write:!0}})],i.prototype,"multidimensionalSubset",void 0),(0,r.Cg)([(0,p.MZ)({json:{type:F.jz}})],i.prototype,"noData",void 0),(0,r.Cg)([(0,m.K)("noData")],i.prototype,"writeNoData",null),(0,r.Cg)([(0,p.MZ)({type:String,json:{type:ee.hm.jsonValues,read:ee.hm.read,write:ee.hm.write}})],i.prototype,"noDataInterpretation",void 0),(0,r.Cg)([(0,p.MZ)({type:String,readOnly:!0,json:{read:{source:["fields"]}}})],i.prototype,"objectIdField",void 0),(0,r.Cg)([(0,M.w)("objectIdField")],i.prototype,"readObjectIdField",null),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"geometryType",void 0),(0,r.Cg)([(0,p.MZ)({})],i.prototype,"typeIdField",void 0),(0,r.Cg)([(0,p.MZ)({})],i.prototype,"types",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"parsedUrl",null),(0,r.Cg)([(0,p.MZ)({type:Function})],i.prototype,"pixelFilter",void 0),(0,r.Cg)([(0,p.MZ)()],i.prototype,"raster",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"sourceType",void 0),(0,r.Cg)([(0,M.w)("sourceType",["serviceSourceType","fields"])],i.prototype,"readSourceType",null),(0,r.Cg)([(0,p.MZ)()],i.prototype,"viewId",void 0),(0,r.Cg)([(0,p.MZ)()],i.prototype,"renderer",null),(0,r.Cg)([(0,p.MZ)({types:ye.uy,json:{name:"layerDefinition.drawingInfo.renderer",origins:{"web-scene":{types:ye.Gj,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],i.prototype,"internalRenderer",null),(0,r.Cg)([(0,M.w)("internalRenderer")],i.prototype,"readRenderer",null),(0,r.Cg)([(0,m.K)("internalRenderer")],i.prototype,"writeRenderer",null),(0,r.Cg)([(0,p.MZ)({clonable:!1})],i.prototype,"symbolizer",void 0),(0,r.Cg)([(0,p.MZ)(N.ke)],i.prototype,"opacity",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"rasterFields",null),(0,r.Cg)([(0,p.MZ)({constructOnly:!0})],i.prototype,"rasterFunctionInfos",void 0),(0,r.Cg)([(0,p.MZ)({type:Z.A,json:{name:"renderingRule"}})],i.prototype,"rasterFunction",null),(0,r.Cg)([(0,M.w)("rasterFunction",["renderingRule","rasterFunctionInfos"])],i.prototype,"readRasterFunction",null),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"serviceDataType",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0,type:D.A})],i.prototype,"spatialReference",void 0),(0,r.Cg)([(0,M.w)("spatialReference",["spatialReference","extent"])],i.prototype,"readSpatialReference",null),(0,r.Cg)([(0,p.MZ)({type:ee.e8.apiValues,json:{read:ee.e8.read,type:ee.e8.jsonValues}})],i.prototype,"pixelType",void 0),(0,r.Cg)([(0,m.K)("pixelType")],i.prototype,"writePixelType",null),(0,r.Cg)([(0,p.MZ)({constructOnly:!0,type:le.A})],i.prototype,"serviceRasterInfo",void 0),(0,r.Cg)([(0,p.MZ)()],i.prototype,"sourceJSON",void 0),(0,r.Cg)([(0,p.MZ)(N.OZ)],i.prototype,"url",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],i.prototype,"version",void 0),(0,r.Cg)([(0,M.w)("version",["currentVersion","fields","timeInfo"])],i.prototype,"readVersion",null),i=(0,r.Cg)([(0,c.$)("esri.layers.mixins.ArcGISImageService")],i),i};var kt=i(18768),Ht=i(63074),Kt=i(69208),Wt=i(16131),Xt=i(8303),Yt=i(63660),ei=i(56551),ti=i(54310),ii=i(25036),ri=i(82935),si=i(91908),ni=i(24212),oi=i(30291),ai=i(88625);let li=class extends((0,Ht.dM)((0,ri.e)((0,ii.j)((0,Wt.q)((0,Xt.A)((0,ei.H)(Qt((0,Yt.G)((0,ti.J)((0,Kt.d)((0,kt.b)((0,l.P)((0,n.OU)(w.A)))))))))))))){constructor(...e){super(...e),this.graphicOrigin=new f(this),this.isReference=null,this.operationalLayerType="ArcGISImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.type="imagery",this._debouncedSaveOperations=(0,u.sg)(async(e,t,r)=>{const{save:s,saveAs:n}=await i.e(9838).then(i.bind(i,59838));switch(e){case 0:return s(this,t);case 1:return n(this,r,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(u.QP).then(()=>this._fetchService(t))),Promise.resolve(this)}set elevationInfo(e){"relative-to-scene"!==e?.mode&&this._set("elevationInfo",e),this._validateElevationInfo(e)}get legendEnabled(){return!this._isPreviewLayer&&(this._get("legendEnabled")??!0)}set legendEnabled(e){this._set("legendEnabled",e)}get listMode(){return this._isPreviewLayer?"hide":this._get("listMode")}set listMode(e){this._set("listMode",e)}writeOperationalLayerType(e,t,i){const r="vector-field"===this.renderer?.type;t[i]=r?"ArcGISImageServiceVectorLayer":"ArcGISImageServiceLayer"}get defaultPopupTemplate(){return this.createPopupTemplate()}get _isPreviewLayer(){return!(!this.raster||!this.url?.toLowerCase().includes("/rasterrendering/imageserver"))}createPopupTemplate(e){const{rasterFields:t}=this,i=new Set,r=ae.F_.itemPixelValue.toLowerCase(),s="raster-dataset"===this.sourceType,n=ae.Oo.toLowerCase(),o=`${ae.F_.servicePixelValue.toLowerCase()}.`;for(const e of t){const t=e.name.toLowerCase();t===r||t.startsWith(o)||s&&t.startsWith(n)||i.add(e.name)}const a=(0,oi.tn)({fields:t,title:this.title},{...e,visibleFieldNames:i}),{rasterInfo:l}=this;return a?.fieldInfos&&l&&(0,ae.h4)(a.fieldInfos,l),a}queryFeatures(e,t){return this.queryRasters(e,t).then(e=>{if(e?.features)for(const t of e.features)t.layer=t.sourceLayer=this,t.origin=this.graphicOrigin;return e})}queryFeatureCount(e,t){return this.queryRasterCount(e,t)}redraw(){this.emit("redraw")}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}serviceSupportsSpatialReference(e){return(0,si.D)(this,e)}write(e,t){if(!this._isPreviewLayer)return super.write(e,t);if(t?.messages){const e=`${t.origin}/${t.layerContainerType||"operational-layers"}`;t.messages.push(new o.A("layer:unsupported",`Imagery preview layer (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this}))}return null}_validateElevationInfo(e){(0,ni.XF)(a.A.getLogger(this),(0,ni.$7)("Imagery layers","relative-to-scene",e)),(0,ni.XF)(a.A.getLogger(this),(0,ni.tW)("Imagery layers",e))}};(0,r.Cg)([(0,p.MZ)({type:ai.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],li.prototype,"elevationInfo",null),(0,r.Cg)([(0,p.MZ)({readOnly:!0,clonable:!1})],li.prototype,"graphicOrigin",void 0),(0,r.Cg)([(0,p.MZ)(N.fV)],li.prototype,"legendEnabled",null),(0,r.Cg)([(0,p.MZ)({type:["show","hide"]})],li.prototype,"listMode",null),(0,r.Cg)([(0,p.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],li.prototype,"isReference",void 0),(0,r.Cg)([(0,p.MZ)({type:["ArcGISImageServiceLayer"],json:{origins:{"web-map":{type:["ArcGISImageServiceLayer","ArcGISImageServiceVectorLayer"],read:!1,write:{target:"layerType",ignoreOrigin:!0}}}}})],li.prototype,"operationalLayerType",void 0),(0,r.Cg)([(0,m.K)("web-map","operationalLayerType")],li.prototype,"writeOperationalLayerType",null),(0,r.Cg)([(0,p.MZ)(N.M6)],li.prototype,"popupEnabled",void 0),(0,r.Cg)([(0,p.MZ)({type:s.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo"}}})],li.prototype,"popupTemplate",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],li.prototype,"defaultPopupTemplate",null),(0,r.Cg)([(0,p.MZ)({readOnly:!0,json:{read:!1}})],li.prototype,"type",void 0),(0,r.Cg)([(0,p.MZ)({readOnly:!0})],li.prototype,"_isPreviewLayer",null),li=(0,r.Cg)([(0,c.$)("esri.layers.ImageryLayer")],li);const ui=li},43334:(e,t,i)=>{i.d(t,{N3:()=>a,Om:()=>o});var r=i(69397),s=i(27647),n=i(92722);class o{constructor(e=null,t={},i,r,s=0){this.geometry=e,this.attributes=t,this.centroid=i,this.objectId=r,this.displayId=s}static fromJSON(e){const t=e.geometry?n.A.fromJSON(e.geometry):null,i=e.centroid?n.A.fromJSON(e.centroid):null,r=e.objectId;return new o(t,e.attributes,i,r)}weakClone(){const e=new o(this.geometry,this.attributes,this.centroid,this.objectId);return e.displayId=this.displayId,e}clone(){const e=this.geometry?.clone(),t=new o(e,{...this.attributes},this.centroid?.clone(),this.objectId);return t.displayId=this.displayId,t}ensureCentroid(e){return this.centroid??=(0,s.Q)(new n.A,this.geometry,e.hasZ,e.hasM),this.centroid}get usedMemory(){return 128+(0,r.lM)(this.attributes)+(this.geometry?.usedMemory??0)}}function a(e){return!!e.geometry?.coords?.length}},56551:(e,t,i)=>{i.d(t,{H:()=>m});var r=i(31635),s=i(10107),n=(i(44208),i(53966),i(87811),i(40608)),o=i(69540),a=i(25482),l=i(56507),u=i(93223),p=i(94359);let c=class extends((0,o.OU)(a.o)){constructor(e){super(e),this.name=void 0,this.method="none",this.value=void 0,this.bandIds=void 0,this.renderer=void 0}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],c.prototype,"name",void 0),(0,r.Cg)([(0,s.MZ)({type:["raster-function-template","variable","none"],json:{write:{isRequired:!0}}}),(0,u.e)({rasterFunctionTemplate:"raster-function-template",variable:"variable",none:"none"})],c.prototype,"method",void 0),(0,r.Cg)([(0,s.MZ)({type:String,json:{write:{isRequired:!0}}})],c.prototype,"value",void 0),(0,r.Cg)([(0,s.MZ)({type:[l.jz],json:{write:{isRequired:!0}}})],c.prototype,"bandIds",void 0),(0,r.Cg)([(0,s.MZ)({types:p.uy,json:{write:!0,origins:{"web-scene":{types:p.Gj,write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],c.prototype,"renderer",void 0),c=(0,r.Cg)([(0,n.$)("esri.renderers.support.RasterPresetRenderer")],c);const m=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.activePresetRendererName=null,this.presetRenderers=null}};return(0,r.Cg)([(0,s.MZ)({type:String,json:{name:"layerDefinition.activePresetRendererName",write:{allowNull:!0}}})],i.prototype,"activePresetRendererName",void 0),(0,r.Cg)([(0,s.MZ)({type:[c],json:{name:"layerDefinition.presetRenderers",write:!0}})],i.prototype,"presetRenderers",void 0),i=(0,r.Cg)([(0,n.$)("esri.layers.mixins.RasterPresetRendererMixin")],i),i}},58501:(e,t,i)=>{i.d(t,{q:()=>s});var r=i(62815);function s(e,t,i){if(!i?.features||!i.hasZ)return;const s=(0,r.N)(i.geometryType,t,e.outSpatialReference);if(null!=s)for(const e of i.features)s(e.geometry)}},58512:(e,t,i)=>{i.d(t,{A:()=>r});class r{constructor(){this.globalIdFieldName=null,this.geohashFieldName=null,this.geometryProperties=null,this.geometryType=null,this.spatialReference=null,this.hasZ=!1,this.hasM=!1,this.features=[],this.fields=[],this.transform=null,this.exceededTransferLimit=!1,this.uniqueIdField=null,this.queryGeometryType=null,this.queryGeometry=null}weakClone(){const e=new r;return e.globalIdFieldName=this.globalIdFieldName,e.geohashFieldName=this.geohashFieldName,e.geometryProperties=this.geometryProperties,e.geometryType=this.geometryType,e.spatialReference=this.spatialReference,e.hasZ=this.hasZ,e.hasM=this.hasM,e.features=this.features,e.fields=this.fields,e.transform=this.transform,e.exceededTransferLimit=this.exceededTransferLimit,e.uniqueIdField=this.uniqueIdField,e.queryGeometry=this.queryGeometry,e.queryGeometryType=this.queryGeometryType,e}}},69397:(e,t,i)=>{i.d(t,{$B:()=>s,Qf:()=>u,Qh:()=>a,RS:()=>n,ez:()=>m,lM:()=>o,qK:()=>c});var r=i(34275);function s(e){return 32+e.length}const n=16;function o(e){if(!e)return 0;let t=c;for(const i in e)e.hasOwnProperty(i)&&(t+=l(e[i],!1));return t}function a(e){if(!e)return 0;if("number"==typeof e[0])return u(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return p(e,8);let i=m;for(let r=0;r<t;r++)i+=l(e[r]);return i}(e);let t=c;for(const i in e)e.hasOwnProperty(i)&&(t+=l(e[i]));return t}function l(e,t=!0){switch(typeof e){case"object":return t?a(e):c;case"string":return s(e);case"number":return n;case"boolean":return 4;default:return 8}}function u(...e){return e.reduce((e,t)=>e+(t?(0,r.iu)(t)?t.byteLength+d:Array.isArray(t)?p(t,n):0:0),0)}function p(e,t){return m+e.length*t}const c=32,m=16,d=145},82371:(e,t,i)=>{i.d(t,{E9:()=>h,Tw:()=>m,X6:()=>d});var r=i(78888),s=i(5443),n=i(86738),o=i(16930),a=i(87186),l=i(20223),u=i(2272),p=i(22671);async function c(e,t,i){const c=(0,u.Dl)(e),{rasterFunction:m,sourceJSON:d}=t||{},h=m?JSON.stringify(m.rasterFunctionDefinition||m):null,y=(0,u.lF)({...c.query,renderingRule:h,f:"json"}),g=(0,u.jV)(y,i);e=c.path;const f=d||await(0,r.A)(e,g).then(e=>e.data),w=f.hasRasterAttributeTable?(0,r.A)(`${e}/rasterAttributeTable`,g):null,v=f.hasColormap?(0,r.A)(`${e}/colormap`,g):null,R=f.hasHistograms?(0,r.A)(`${e}/histograms`,g):null,C=f.currentVersion>=10.3?(0,r.A)(`${e}/keyProperties`,g):null,b=f.hasMultidimensions?(0,r.A)(`${e}/multidimensionalInfo`,g):null,S=await Promise.allSettled([w,v,R,C,b]);let I=null;if(f.minValues&&f.minValues.length===f.bandCount){I=[];for(let e=0;e<f.minValues.length;e++)I.push({min:f.minValues[e],max:f.maxValues[e],avg:f.meanValues[e],stddev:f.stdvValues[e]})}const F=s.A.fromJSON(f.extent),M=Math.ceil(F.width/f.pixelSizeX-.1),x=Math.ceil(F.height/f.pixelSizeY-.1),A=o.A.fromJSON(f.spatialReference||f.extent.spatialReference),D="fulfilled"===S[0].status?S[0].value?.data:null,T=D?.features?.length?p.A.fromJSON(D):null,N="fulfilled"===S[1].status?S[1].value?.data.colormap:null,P=N?.length?N:null,O="fulfilled"===S[2].status?S[2].value?.data.histograms:null,Z=O?.[0]?.counts?.length?O:null,j="fulfilled"===S[3].status?S[3].value?.data??{}:{},_="fulfilled"===S[4].status?S[4].value?.data.multidimensionalInfo:null,V=_?.variables?.length?_:null;V&&V.variables.forEach(e=>{e.statistics?.length&&e.statistics.forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),e.dimensions?.forEach(e=>{"StdTime"!==e.name||e.recurring||e.unit||(e.unit="ISO8601")})});const{defaultVariable:q,serviceDataType:E}=f;q&&q!==j.DefaultVariable&&(j.DefaultVariable=q),E?.includes("esriImageServiceDataTypeVector")&&!E.includes(j.DataType)&&(j.DataType=E.replace("esriImageServiceDataType",""));let J=f.noDataValue;f.noDataValues?.length&&f.noDataValues.some(e=>e!==J)&&(J=f.noDataValues);const G=f.transposeInfo?new l.A({blockWidth:256,blockHeight:256,pyramidBlockWidth:256,pyramidBlockHeight:256,pyramidScalingFactor:2,compression:"lerc",origin:new n.A({x:f.extent.xmin,y:f.extent.ymax,spatialReference:A}),firstPyramidLevel:1,maximumPyramidLevel:Math.max(0,Math.round(Math.log(Math.max(M,x))/Math.LN2-8)),transposeInfo:f.transposeInfo}):void 0;return new a.A({width:M,height:x,bandCount:f.bandCount,extent:s.A.fromJSON(f.extent),spatialReference:A,pixelSize:new n.A({x:f.pixelSizeX,y:f.pixelSizeY,spatialReference:A}),pixelType:f.pixelType.toLowerCase(),statistics:I,attributeTable:T,colormap:P,histograms:Z,keyProperties:j,noDataValue:J,multidimensionalInfo:V,storageInfo:G})}function m(e,t,i){return c(e,{sourceJSON:t},i)}function d(e,t,i){return c(e,{rasterFunction:t},i)}function h(e,t){e.attributeTable||(t.hasRasterAttributeTable=!1),e.histograms||(t.hasHistograms=!1),e.colormap||(t.hasColormap=!1),e.multidimensionalInfo||(t.hasMultidimensions=!1)}},91908:(e,t,i)=>{i.d(t,{D:()=>n});var r=i(60694);const s=[];function n(e,t){if((0,r.Wo)(e.url??""))return!0;const{wkid:i}=t;for(const t of s){if((e.version??0)>=t[0])return!0;if("function"==typeof t[1]&&(t[1]=t[1]()),t[1].has(i))return!1}return!0}s.push([10.91,()=>{const e=new Set([9709,9716,9741,9761,9766]);for(let t=9712;t<=9713;t++)e.add(t);for(let t=9748;t<=9749;t++)e.add(t);for(let t=20904;t<=20932;t++)e.add(t);for(let t=21004;t<=21032;t++)e.add(t);for(let t=21207;t<=21264;t++)e.add(t);for(let t=21307;t<=21364;t++)e.add(t);for(let t=23301;t<=23333;t++)e.add(t);for(let t=102759;t<=102760;t++)e.add(t);for(let t=102934;t<=102955;t++)e.add(t);return e}]),s.push([10.9,()=>{const e=new Set([9300,9354,9364,9367,9373,9377,9387,9456,9473,9498,9678,9680,29874,103599,103872,104028]);for(let t=9356;t<=9360;t++)e.add(t);for(let t=9404;t<=9407;t++)e.add(t);for(let t=9476;t<=9482;t++)e.add(t);for(let t=9487;t<=9494;t++)e.add(t);for(let t=9697;t<=9699;t++)e.add(t);return e}]),s.push([10.81,()=>{const e=new Set([9265,9333,103598,103699]);for(let t=9248;t<=9254;t++)e.add(t);for(let t=9271;t<=9273;t++)e.add(t);for(let t=9284;t<=9285;t++)e.add(t);for(let t=21453;t<=21463;t++)e.add(t);return e}]),s.push([10.8,()=>{const e=new Set([8088,8395,8428,8433,8531,8687,8692,8694,8699,8900,9003,9006,9009,9012,9017,9191]);for(let t=8035;t<=8036;t++)e.add(t);for(let t=8455;t<=8456;t++)e.add(t);for(let t=8518;t<=8529;t++)e.add(t);for(let t=8533;t<=8536;t++)e.add(t);for(let t=8538;t<=8540;t++)e.add(t);for(let t=8677;t<=8679;t++)e.add(t);for(let t=8902;t<=8903;t++)e.add(t);for(let t=8907;t<=8910;t++)e.add(t);for(let t=8949;t<=8951;t++)e.add(t);for(let t=8972;t<=8987;t++)e.add(t);for(let t=9039;t<=9040;t++)e.add(t);for(let t=9068;t<=9069;t++)e.add(t);for(let t=9140;t<=9141;t++)e.add(t);for(let t=9148;t<=9150;t++)e.add(t);for(let t=9153;t<=9159;t++)e.add(t);for(let t=9205;t<=9218;t++)e.add(t);for(let t=9221;t<=9222;t++)e.add(t);for(let t=54098;t<=54101;t++)e.add(t);return e}]),s.push([10.71,()=>{const e=new Set([6316]);for(let t=8351;t<=8353;t++)e.add(t);for(let t=9294;t<=9297;t++)e.add(t);for(let t=22619;t<=22621;t++)e.add(t);for(let t=103586;t<=103594;t++)e.add(t);return e}])},92722:(e,t,i)=>{i.d(t,{A:()=>s});var r=i(69397);class s{constructor(e=[],t=[]){this.lengths=e??[],this.coords=t??[]}static fromJSON(e){return new s(e.lengths,e.coords)}static fromRect(e){const[t,i,r,n]=e,o=r-t,a=n-i;return new s([5],[t,i,o,0,0,a,-o,0,0,-a])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.lengths.reduce((e,t)=>e+t)}get usedMemory(){return 64+(0,r.Qf)(this.lengths,this.coords)}area(){let e=0,t=0;if(!this.lengths.length)return 0;for(let i=0;i<this.lengths.length;i++){const r=this.lengths[i];if(r<3)continue;let s=this.coords[2*t],n=this.coords[2*t+1];for(let i=1;i<r;i+=1){const r=this.coords[2*(i+t)],o=this.coords[2*(i+t)+1];e+=-.5*(r-s)*(o+n),s=r,n=o}t+=r}return e}forEachVertex(e){let t=0;this.lengths.length||e(this.coords[0],this.coords[1]);for(let i=0;i<this.lengths.length;i++){const r=this.lengths[i];for(let i=0;i<r;i++)e(this.coords[2*(i+t)],this.coords[2*(i+t)+1]);t+=r}}deltaDecode(){const e=this.clone(),{coords:t,lengths:i}=e;let r=0;for(const e of i){for(let i=1;i<e;i++)t[2*(r+i)]+=t[2*(r+i)-2],t[2*(r+i)+1]+=t[2*(r+i)-1];r+=e}return e}clone(e){if(0===this.lengths.length)return new s([],[this.coords[0],this.coords[1]]);const t=2*(0===this.lengths.length?1:this.lengths.reduce((e,t)=>e+t)),i=this.coords.slice(0,t);return e?(e.set(i),new s(this.lengths,e)):new s(Array.from(this.lengths),Array.from(i))}}},95466:(e,t,i)=>{i.d(t,{A:()=>d});var r=i(49186),s=i(53966),n=i(91869),o=i(3330),a=i(12195),l=i(30524),u=i(98623),p=i(56400),c=i(96285);const m=new Map;class d{static fromJSON(e){return new d(e.fields,e.timeZoneByFieldName)}static fromLayer(e){return new d(e.fields??[],f(e))}static fromLayerJSON(e){return new d(e.fields??[],f(e))}constructor(e=[],t){this._fieldsMap=new Map,this._normalizedFieldsMap=new Map,this._dateFieldsSet=new Set,this._numericFieldsSet=new Set,this._requiredFields=null,this.dateFields=[],this.numericFields=[],this.fields=e||[],this._timeZoneByFieldName=t?new Map(t):null;const i=[];for(const e of this.fields){const t=e?.name,r=y(t);if(t&&r){const s=h(t);this._fieldsMap.set(t,e),this._fieldsMap.set(s,e),this._normalizedFieldsMap.set(r,e),i.push(`${s}:${e.type}:${this._timeZoneByFieldName?.get(t)}`),(0,l.vE)(e)?(this.dateFields.push(e),this._dateFieldsSet.add(e)):(0,l.WA)(e)&&(this._numericFieldsSet.add(e),this.numericFields.push(e)),(0,l.te)(e)||(0,l.Xz)(e)||(e.editable=null==e.editable||!!e.editable,e.nullable=null==e.nullable||!!e.nullable)}}i.sort(),this.uid=i.join()}get requiredFields(){if(!this._requiredFields){this._requiredFields=[];for(const e of this.fields)(0,l.te)(e)||(0,l.Xz)(e)||e.nullable||void 0!==(0,l.lD)(e)||this._requiredFields.push(e)}return this._requiredFields}equals(e){return this.uid===e?.uid}has(e){return null!=this.get(e)}get(e){if(!e)return;let t=this._fieldsMap.get(e);return t||(t=this._fieldsMap.get(h(e))??this._normalizedFieldsMap.get(y(e)),t&&this._fieldsMap.set(e,t),t)}getTimeZone(e){const t=this.get(e&&"string"!=typeof e?e.name:e);return t?this._timeZoneByFieldName?this._timeZoneByFieldName.get(t.name):"date"===t.type||"esriFieldTypeDate"===t.type?(s.A.getLogger("esri.layers.support.FieldsIndex").errorOnce(new r.A("getTimeZone:no-timezone-information",`no time zone information for field '${t.name}'`)),u.n$):g.has(t.type)?u.L5:null:null}getLuxonTimeZone(e){const t=this.getTimeZone(e);return t?t===u.L5?o.GB.instance:t===u.n$?c.mQ.utcInstance:(0,n.tE)(m,t,()=>c.oh.create(t)):null}isDateField(e){return this._dateFieldsSet.has(this.get(e))}isTimeOnlyField(e){return(0,l.OH)(this.get(e))}isNumericField(e){return this._numericFieldsSet.has(this.get(e))}normalizeFieldName(e){return this.get(e)?.name??void 0}toJSON(){return{fields:this.fields.map(e=>(0,a.W)(e)?e.toJSON():e),timeZoneByFieldName:this._timeZoneByFieldName?Array.from(this._timeZoneByFieldName.entries()):null}}}function h(e){return e.trim().toLowerCase()}function y(e){return(0,l.rS)(e)?.toLowerCase()??""}const g=new Set(["time-only","date-only","timestamp-offset","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"]);function f(e){const t=new Map;if(!e.fields)return t;const i=!0===e.datesInUnknownTimezone,{timeInfo:r,editFieldsInfo:s}=e,n=(r?"startField"in r?r.startField:r.startTimeField:"")??"",o=(r?"endField"in r?r.endField:r.endTimeField:"")??"",a=function(e){return"dateFieldsTimeZone"in e}(e)?e.dateFieldsTimeZone??null:e.dateFieldsTimeReference?(0,p.ZS)(e.dateFieldsTimeReference):null,l=s?function(e){return"timeZone"in e}(s)?s.timeZone??a:s.dateFieldsTimeReference?(0,p.ZS)(s.dateFieldsTimeReference):a??u.n$:null,c=r?function(e){return"timeZone"in e}(r)?r.timeZone??a:r.timeReference?(0,p.ZS)(r.timeReference):a:null,m=new Map([[h(s?.creationDateField??""),l],[h(s?.editDateField??""),l],[h(n),c],[h(o),c]]);for(const{name:r,type:s}of e.fields)if(g.has(s))t.set(r,u.L5);else if("date"!==s&&"esriFieldTypeDate"!==s)t.set(r,null);else if(i)t.set(r,u.L5);else{const e=m.get(h(r??""))??a;t.set(r,e)}return t}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1214],{41214:(e,t,i)=>{i.d(t,{Hg:()=>ye,XJ:()=>ce});var s=i(53966),r=i(86162),o=i(31635),n=i(78888),l=i(4718),a=i(10107),u=(i(44208),i(40608)),p=i(43937),y=i(30524),c=i(92438),d=i(63988),h=i(66344),g=i(65864),m=i(68197);class f{static parse(e,t,i){const s=[],r=[],o=e.split(";");for(let e=0;e<o.length;e++){const n=o[e];if(n){if(n.includes("po:")){const e=n.slice(3).split("|");if(3===e.length){const[t,i,s]=e,o=v(t,i,s);o&&r.push(o)}continue}if(n.includes("|")){for(const e of n.split("|"))if(t.has(e)){s.push(e);break}}else if(t.has(n))s.push(n);else if(0===e){s.length=0,s.push(w(i));break}}}return new f(s,r)}constructor(e,t){this.partNames=e,this.overrides=t}}function b(e,t){if("DashTemplate"===e)return t.split(" ").map(e=>Number(e));if("Color"===e){const e=new m.A(t).toRgba();return[e[0],e[1],e[2],255*e[3]]}return Number(t)}function v(e,t,i){return{primitiveName:e,propertyName:t,value:b(t,i),defaultValue:null}}function w(e){switch(e){case"esriGeometryPolyline":return"Invalid_L";case"esriGeometryPolygon":return"Invalid_A";default:return"Invalid_P"}}var C=i(73681),x=i(55674),S=i(40863),M=i(93397);const A={type:"CIMSimpleLineCallout",lineSymbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",width:.5,color:[0,0,0,255]}]}};class j{constructor(e,t,i,s){this.url=e,this.fieldMap=i,this.dictionaryInfo=s,this._symbolPartCache=new h.q(100),this._evaluator=(async()=>C.n.from(await s,t,i))()}async getSymbolAsync(e,t,i=!0){const s=await this._evaluator,r=t?.fields??(0,x.lL)(e.attributes),o=s.createDictionaryFieldsIndex(r),n=s.evaluate(e,t?.scale??0,o,t?.spatialReference);if(null==n)return null;const l=(0,g.$B)(e.geometry),a=f.parse(n,s.itemNames,l),u="esriGeometryPoint"===l&&!e.geometry?.hasZ;return await this._cimPartsToCIMSymbol(e,a.partNames,a.overrides,u,t,i,o)}async getSymbolForControlString(e,t,i){const s=await this._evaluator,r=f.parse(e,s.itemNames,t),o="esriGeometryPoint"===t&&!i,n=Z(await Promise.all(r.partNames.map(e=>this._getSymbolPart(e))),r.overrides,o);return new S.A({data:n})}async _cimPartsToCIMSymbol(e,t,s,r,o,n,a){const u=t.map(e=>this._getSymbolPart(e,o));let p=await Promise.all(u);if(n&&this.fieldMap&&p.length>0){const{OverrideHelper:t}=await i.e(3937).then(i.bind(i,73937));p=(0,l.o8)(p);for(const i of p)t.applyDictionaryTextOverrides(i,e,this.fieldMap,a,(0,M.bs)(i))}const y=Z(p,s,r);return new S.A({data:y})}async _fetchSymbolPart(e,t){const i=await this.dictionaryInfo,s=(this.url+"/"+i.cimRefTemplateUrl).replaceAll(/\{itemName\}/gi,e),{data:r}=await(0,n.A)(s,{responseType:"json",query:{f:"json"},...t});return r}async _getSymbolPart(e,t){let i=this._symbolPartCache.get(e);return i||(i=this._fetchSymbolPart(e,t),this._symbolPartCache.put(e,i)),i}}function Z(e,t,i){if(!e||0===e.length)return null;const s={...e[0]};if(e.length>1){s.effects=null,s.symbolLayers=[];for(const t of e){const e=t;if(null!=e.effects)for(const t of e.symbolLayers)null==t.effects?t.effects=e.effects:t.effects.unshift(...e.effects);s.symbolLayers.unshift(...e.symbolLayers)}}return i&&(s.callout=A),{type:"CIMSymbolReference",symbol:s,primitiveOverrides:t}}var I;let D=I=class extends((0,d.h)(c.A)){constructor(e){super(e),this.config=null,this.fieldMap=null,this.scaleExpression=null,this.scaleExpressionTitle=null,this.url=null,this.type="dictionary"}get _loader(){const e=this.getDictionaryInfo();return new j(this.url,this.config,this.fieldMap??{},e)}writeData(e,t){e&&(t.scalingExpressionInfo={expression:e,returnType:"number"})}writeVisualVariables(e,t,i,s){s?.origin||super.writeVisualVariables(e,t,i,s)}clone(){return new I({config:(0,l.o8)(this.config),scaleExpression:this.scaleExpression,scaleExpressionTitle:this.scaleExpressionTitle,fieldMap:(0,l.o8)(this.fieldMap),url:(0,l.o8)(this.url),visualVariables:(0,l.o8)(this.visualVariables)})}async getSymbolAsync(e,t,i=!0){return this._loader.getSymbolAsync(e,t,i)}async getSymbolForControlString(e,t,i){return this._loader.getSymbolForControlString(e,t,i)}getDictionaryInfo(){return this._dictionaryInfoPromise||(this._dictionaryInfoPromise=this._fetchDictionaryInfo()),this._dictionaryInfoPromise}async collectRequiredFields(e,t){await this.collectVVRequiredFields(e,t),this.scaleExpression&&await(0,y.Dx)(e,t,this.scaleExpression);for(const i in this.fieldMap){const s=this.fieldMap[i];t.has(s)&&e.add(s)}}get arcadeRequired(){return!0}getSymbol(){return null}get symbols(){return[]}getAttributeHash(){return this.visualVariables?.reduce((e,t)=>e+t.getAttributeHash(),"")??""}getMeshHash(){return`${this.url}-${JSON.stringify(this.fieldMap)}`}async _fetchDictionaryInfo(){const{data:e}=await(0,n.A)(this.url+"/resources/styles/dictionary-info.json",{responseType:"json",query:{f:"json"}});return e}};(0,o.Cg)([(0,a.MZ)({type:j})],D.prototype,"_loader",null),(0,o.Cg)([(0,a.MZ)({type:Object,json:{read:{source:"configuration"},write:{target:"configuration"}}})],D.prototype,"config",void 0),(0,o.Cg)([(0,a.MZ)({type:Object,json:{write:!0}})],D.prototype,"fieldMap",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{read:{source:"scalingExpressionInfo.expression"},write:!0}})],D.prototype,"scaleExpression",void 0),(0,o.Cg)([(0,p.K)("scaleExpression")],D.prototype,"writeData",null),(0,o.Cg)([(0,a.MZ)({type:String,json:{read:{source:"scalingExpressionInfo.title"},write:{target:"scalingExpressionInfo.title",overridePolicy(e){return{enabled:!!e&&!!this.scaleExpression}}}}})],D.prototype,"scaleExpressionTitle",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],D.prototype,"url",void 0),(0,o.Cg)([(0,p.K)("visualVariables")],D.prototype,"writeVisualVariables",null),D=I=(0,o.Cg)([(0,u.$)("esri.renderers.DictionaryRenderer")],D);var E,_=i(93223),P=i(25482),V=i(79901),N=(i(87811),i(56507));let R=E=class extends P.o{constructor(e){super(e),this.color=null,this.field=null,this.label=null,this.valueExpression=null,this.valueExpressionTitle=null}castField(e){return null==e?e:"function"==typeof e?(s.A.getLogger(this).error(".field: field must be a string value"),null):(0,N.GX)(e)}getAttributeHash(){return`${this.field}-${this.valueExpression}`}clone(){return new E({color:this.color?.clone(),field:this.field,label:this.label,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle})}};(0,o.Cg)([(0,a.MZ)({type:m.A,json:{type:[Number],write:!0}})],R.prototype,"color",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],R.prototype,"field",void 0),(0,o.Cg)([(0,V.w)("field")],R.prototype,"castField",null),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],R.prototype,"label",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],R.prototype,"valueExpression",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],R.prototype,"valueExpressionTitle",void 0),R=E=(0,o.Cg)([(0,u.$)("esri.renderers.support.AttributeColorInfo")],R);const O=R;var T;let k=T=class extends P.o{constructor(){super(...arguments),this.unit=null}clone(){return new T({unit:this.unit})}};(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],k.prototype,"unit",void 0),k=T=(0,o.Cg)([(0,u.$)("esri.renderers.support.DotDensityLegendOptions")],k);const $=k;var q,L=i(94985),H=i(31593);let F=q=class extends((0,d.h)(c.A)){constructor(e){super(e),this.attributes=null,this.backgroundColor=new m.A([0,0,0,0]),this.dotBlendingEnabled=!0,this.dotShape="square",this.dotSize=1,this.legendOptions=null,this.outline=new H.A,this.dotValue=null,this.referenceScale=null,this.seed=1,this.type="dot-density"}set visualVariables(e){super.visualVariables=e}calculateDotValue(e){if(null==this.referenceScale)return this.dotValue;const t=e/this.referenceScale*this.dotValue;return t<1?1:t}getSymbol(){return new L.A({outline:this.outline})}async getSymbolAsync(){return this.getSymbol()}get symbols(){return[this.getSymbol()]}getAttributeHash(){return this.attributes?.reduce((e,t)=>e+t.getAttributeHash(),"")??""}getMeshHash(){return JSON.stringify(this.outline)}clone(){return new q({attributes:(0,l.o8)(this.attributes),backgroundColor:(0,l.o8)(this.backgroundColor),dotBlendingEnabled:(0,l.o8)(this.dotBlendingEnabled),dotShape:(0,l.o8)(this.dotShape),dotSize:(0,l.o8)(this.dotSize),dotValue:(0,l.o8)(this.dotValue),legendOptions:(0,l.o8)(this.legendOptions),outline:(0,l.o8)(this.outline),referenceScale:(0,l.o8)(this.referenceScale),seed:(0,l.o8)(this.seed),visualVariables:(0,l.o8)(this.visualVariables),authoringInfo:(0,l.o8)(this.authoringInfo)})}getControllerHash(){const e=this.attributes?.map(e=>e.field||e.valueExpression||"");return`${e}-${this.outline&&JSON.stringify(this.outline.toJSON())||""}`}async collectRequiredFields(e,t){await this.collectVVRequiredFields(e,t);for(const i of this.attributes??[])i.valueExpression&&await(0,y.Dx)(e,t,i.valueExpression),i.field&&e.add(i.field)}};(0,o.Cg)([(0,a.MZ)({type:[O],json:{write:!0}})],F.prototype,"attributes",void 0),(0,o.Cg)([(0,a.MZ)({type:m.A,json:{write:!0}})],F.prototype,"backgroundColor",void 0),(0,o.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],F.prototype,"dotBlendingEnabled",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!1}})],F.prototype,"dotShape",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],F.prototype,"dotSize",void 0),(0,o.Cg)([(0,a.MZ)({type:$,json:{write:!0}})],F.prototype,"legendOptions",void 0),(0,o.Cg)([(0,a.MZ)({type:H.A,json:{default:null,write:!0}})],F.prototype,"outline",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],F.prototype,"dotValue",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],F.prototype,"referenceScale",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],F.prototype,"seed",void 0),(0,o.Cg)([(0,_.e)({dotDensity:"dot-density"})],F.prototype,"type",void 0),F=q=(0,o.Cg)([(0,u.$)("esri.renderers.DotDensityRenderer")],F);var z,B=i(90629),J=i(30943);let G=z=class extends P.o{constructor(e){super(e),this.color=null,this.ratio=null}clone(){return new z({color:this.color&&this.color.clone(),ratio:this.ratio})}};(0,o.Cg)([(0,a.MZ)({type:m.A,json:{type:[N.jz],default:null,write:{isRequired:!0}}})],G.prototype,"color",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:{isRequired:!0}}})],G.prototype,"ratio",void 0),G=z=(0,o.Cg)([(0,u.$)("esri.renderers.support.HeatmapColorStop")],G);var U=i(69540);let K=class extends((0,U.OU)(P.o)){constructor(){super(...arguments),this.minLabel=null,this.maxLabel=null,this.title=null}};(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],K.prototype,"minLabel",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],K.prototype,"maxLabel",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],K.prototype,"title",void 0),K=(0,o.Cg)([(0,u.$)("esri.renderers.support.HeatmapLegendOptions")],K);var X,Q=i(61760),W=i(53930);function Y(e){if(null!=e){const{maxDensity:t,minDensity:i,radius:s}=e;if(null!=t||null!=i||null!=s){const{blurRadius:t,maxPixelIntensity:i,minPixelIntensity:s,...r}=e;return r}}return e}let ee=X=class extends c.A{constructor(e){super(e),this.authoringInfo=null,this.colorStops=[new G({ratio:0,color:new m.A("rgba(255, 140, 0, 0)")}),new G({ratio:.75,color:new m.A("rgba(255, 140, 0, 1)")}),new G({ratio:.9,color:new m.A("rgba(255, 0, 0, 1)")})],this.field=null,this.legendOptions=null,this.maxDensity=.04,this.minDensity=0,this.radius=18,this.referenceScale=0,this.type="heatmap",this.valueExpression=null,this.valueExpressionTitle=null}normalizeCtorArgs(e){return Y(e)}get blurRadius(){return(0,Q.PU)(this.radius)}set blurRadius(e){const t=this.maxPixelIntensity,i=this.minPixelIntensity;this._set("radius",(0,Q.zp)(e)),this._set("maxDensity",t*this._pixelIntensityToDensity),this._set("minDensity",i*this._pixelIntensityToDensity)}get maxPixelIntensity(){return this.maxDensity/this._pixelIntensityToDensity}set maxPixelIntensity(e){this._set("maxDensity",e*this._pixelIntensityToDensity)}get minPixelIntensity(){return this.minDensity/this._pixelIntensityToDensity}set minPixelIntensity(e){this._set("minDensity",e*this._pixelIntensityToDensity)}get _pixelIntensityToDensity(){return 24/(Q.ex**2*this.blurRadius**4)}read(e,t){e=Y(e),super.read(e,t)}getSymbol(){return new W.A}async getSymbolAsync(){return this.getSymbol()}get symbols(){return[this.getSymbol()]}async collectRequiredFields(e,t){const i=this.field,s=this.valueExpression;i&&"string"==typeof i&&(0,y.rq)(e,t,i),s&&"string"==typeof s&&await(0,y.Dx)(e,t,s)}getAttributeHash(){return""}getMeshHash(){return`${JSON.stringify(this.colorStops)}.${this.blurRadius}.${this.field}`}clone(){return new X({authoringInfo:this.authoringInfo&&this.authoringInfo.clone(),colorStops:(0,l.o8)(this.colorStops),field:this.field,legendOptions:(0,l.o8)(this.legendOptions),maxDensity:this.maxDensity,minDensity:this.minDensity,radius:this.radius,referenceScale:this.referenceScale,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle})}};(0,o.Cg)([(0,a.MZ)({type:J.A,json:{write:!0,origins:{"web-scene":{write:!1,read:!1}}}})],ee.prototype,"authoringInfo",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{origins:{"portal-item":{write:!0},"web-map":{write:!0}}}})],ee.prototype,"blurRadius",null),(0,o.Cg)([(0,a.MZ)({type:[G],json:{write:{isRequired:!0}}})],ee.prototype,"colorStops",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],ee.prototype,"field",void 0),(0,o.Cg)([(0,a.MZ)({type:K,json:{write:!0}})],ee.prototype,"legendOptions",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],ee.prototype,"maxDensity",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{origins:{"portal-item":{write:!0},"web-map":{write:!0}}}})],ee.prototype,"maxPixelIntensity",null),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],ee.prototype,"minDensity",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{origins:{"portal-item":{write:!0},"web-map":{write:!0}}}})],ee.prototype,"minPixelIntensity",null),(0,o.Cg)([(0,a.MZ)({type:Number,cast:B.cr,json:{write:!0}})],ee.prototype,"radius",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,range:{min:0},json:{default:0,write:!0}})],ee.prototype,"referenceScale",void 0),(0,o.Cg)([(0,_.e)({heatmap:"heatmap"})],ee.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0,origins:{"web-document":{write:!1},"portal-item":{write:!1}}}})],ee.prototype,"valueExpression",void 0),(0,o.Cg)([(0,a.MZ)({type:String})],ee.prototype,"valueExpressionTitle",void 0),(0,o.Cg)([(0,a.MZ)({readOnly:!0})],ee.prototype,"_pixelIntensityToDensity",null),ee=X=(0,o.Cg)([(0,u.$)("esri.renderers.HeatmapRenderer")],ee);var te=i(4576),ie=i(49849);let se=class extends((0,U.OU)(P.o)){constructor(){super(...arguments),this.color=new m.A([0,0,0,0]),this.label=null,this.threshold=0}};(0,o.Cg)([(0,a.MZ)({type:m.A,json:{write:!0}})],se.prototype,"color",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],se.prototype,"label",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,range:{min:0,max:1},json:{write:!0}})],se.prototype,"threshold",void 0),se=(0,o.Cg)([(0,u.$)("esri.renderers.support.OthersCategory")],se);var re=i(20061),oe=i(62724),ne=i(48940);const le={base:i(2795).A,key:"type",typeMap:{size:ne.A,opacity:oe.A}};let ae=class extends((0,d.h)((0,U.OU)(c.A))){constructor(e){super(e),this.attributes=null,this.backgroundFillSymbol=null,this.defaultColor=new m.A([0,0,0,0]),this.defaultLabel=null,this.holePercentage=0,this.othersCategory=new se,this.legendOptions=null,this.outline=null,this.size=12,this.type="pie-chart",this.visualVariables=null}getSymbol(){return new W.A({size:this.size?this.size/2+(this.outline?.width||0):0})}async getSymbolAsync(){return this.getSymbol()}get symbols(){return[this.getSymbol(),this.backgroundFillSymbol].filter(te.Ru)}getAttributeHash(){return this.visualVariables?.reduce((e,t)=>e+t.getAttributeHash(),"")??""}getMeshHash(){return this.symbols.reduce((e,t)=>e+JSON.stringify(t),"")}async collectRequiredFields(e,t){await this.collectVVRequiredFields(e,t);for(const i of this.attributes)i.valueExpression&&await(0,y.Dx)(e,t,i.valueExpression),i.field&&e.add(i.field)}};(0,o.Cg)([(0,a.MZ)({type:[O],json:{write:!0}})],ae.prototype,"attributes",void 0),(0,o.Cg)([(0,a.MZ)(ie.As)],ae.prototype,"backgroundFillSymbol",void 0),(0,o.Cg)([(0,a.MZ)({type:m.A,json:{write:!0}})],ae.prototype,"defaultColor",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],ae.prototype,"defaultLabel",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,range:{min:0,max:1},json:{write:!0}})],ae.prototype,"holePercentage",void 0),(0,o.Cg)([(0,a.MZ)({type:se,json:{write:!0}})],ae.prototype,"othersCategory",void 0),(0,o.Cg)([(0,a.MZ)({type:re.A,json:{write:!0}})],ae.prototype,"legendOptions",void 0),(0,o.Cg)([(0,a.MZ)({type:H.A,json:{default:null,write:!0}})],ae.prototype,"outline",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,cast:B.cr,json:{write:!0}})],ae.prototype,"size",void 0),(0,o.Cg)([(0,_.e)({pieChart:"pie-chart"})],ae.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({types:[le]})],ae.prototype,"visualVariables",void 0),ae=(0,o.Cg)([(0,u.$)("esri.renderers.PieChartRenderer")],ae);var ue=i(96576),pe=i(93618);const ye={key:"type",base:c.A,typeMap:{heatmap:ee,simple:ue.A,"unique-value":pe.A,"class-breaks":r.A,"dot-density":F,dictionary:D,"pie-chart":ae},errorContext:"renderer"},ce={key:"type",base:c.A,typeMap:{simple:ue.A,"unique-value":pe.A,"class-breaks":r.A,heatmap:ee},errorContext:"renderer",validate:function(e){switch(e.type){case"simple":return function(e){if(e.symbol)return e;s.A.getLogger("esri.renderers.support.types").error("Removed invalid 'simple' renderer without a symbol from web scene.")}(e);case"unique-value":return function(e){const t=e.uniqueValueInfos,i=t?.filter(({symbol:e,label:t},i)=>(e||s.A.getLogger("esri.renderers.support.types").error(`Removed invalid unique value info ([${i}] ${t}) without a symbol from web scene.`),!!e));return i?.length!==t?.length&&(e.uniqueValueInfos=i),e}(e);case"class-breaks":return function(e){const t=e.classBreakInfos,i=t?.filter(({symbol:e,label:t},i)=>(e||s.A.getLogger("esri.renderers.support.types").error(`Removed invalid class break info ([${i}] ${t}) without a symbol from web scene.`),!!e));return i?.length!==t?.length&&(e.classBreakInfos=i),e}(e);case"heatmap":return e}}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9689],{18768:(e,t,i)=>{i.d(t,{b:()=>l});var s=i(31635),r=i(53966),n=i(10107),a=(i(44208),i(87811),i(40608)),o=i(60694);const l=e=>{const t=e;let i=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,o.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,o.Jf)(e,r.A.getLogger(this)))}};return(0,s.Cg)([(0,n.MZ)()],i.prototype,"title",null),(0,s.Cg)([(0,n.MZ)({type:String})],i.prototype,"url",null),i=(0,s.Cg)([(0,a.$)("esri.layers.mixins.ArcGISService")],i),i}},21312:(e,t,i)=>{i.d(t,{A:()=>m});var s,r=i(31635),n=i(10107),a=(i(44208),i(53966),i(87811),i(93223)),o=i(36005),l=i(40608),c=i(43937),u=i(5443),f=i(86738),h=i(82434);function p(e,t,i){const{x:s,y:r}=t;if(i<2)return{x:e[0]+s*e[2]+r*e[4],y:e[1]+s*e[3]+r*e[5]};if(2===i){const t=s*s,i=r*r,n=s*r;return{x:e[0]+s*e[2]+r*e[4]+t*e[6]+n*e[8]+i*e[10],y:e[1]+s*e[3]+r*e[5]+t*e[7]+n*e[9]+i*e[11]}}const n=s*s,a=r*r,o=s*r,l=n*s,c=n*r,u=s*a,f=r*a;return{x:e[0]+s*e[2]+r*e[4]+n*e[6]+o*e[8]+a*e[10]+l*e[12]+c*e[14]+u*e[16]+f*e[18],y:e[1]+s*e[3]+r*e[5]+n*e[7]+o*e[9]+a*e[11]+l*e[13]+c*e[15]+u*e[17]+f*e[19]}}function d(e,t,i){const{xmin:s,ymin:r,xmax:n,ymax:a,spatialReference:o}=t;let l=[];if(i<2)l.push({x:s,y:a}),l.push({x:n,y:a}),l.push({x:s,y:r}),l.push({x:n,y:r});else{let e=10;for(let t=0;t<e;t++)l.push({x:s,y:r+(a-r)*t/(e-1)}),l.push({x:n,y:r+(a-r)*t/(e-1)});e=8;for(let t=1;t<=e;t++)l.push({x:s+(n-s)*t/e,y:r}),l.push({x:s+(n-s)*t/e,y:a})}l=l.map(t=>p(e,t,i));const c=l.map(e=>e.x),f=l.map(e=>e.y);return new u.A({xmin:Math.min.apply(null,c),xmax:Math.max.apply(null,c),ymin:Math.min.apply(null,f),ymax:Math.max.apply(null,f),spatialReference:o})}let m=s=class extends h.A{constructor(){super(...arguments),this.polynomialOrder=1,this.type="polynomial"}readForwardCoefficients(e,t){const{coeffX:i,coeffY:s}=t;if(!i?.length||!s?.length||i.length!==s.length)return null;const r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(s[e]);return r}writeForwardCoefficients(e,t,i){const s=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?s.push(e[t]):r.push(e[t]);t.coeffX=s,t.coeffY=r}get inverseCoefficients(){let e=this._get("inverseCoefficients");const t=this._get("forwardCoefficients");return!e&&t&&this.polynomialOrder<2&&(e=function(e){const[t,i,s,r,n,a]=e,o=s*a-n*r,l=n*r-s*a;return[(n*i-t*a)/o,(s*i-t*r)/l,a/o,r/l,-n/o,-s/l]}(t)),e}set inverseCoefficients(e){this._set("inverseCoefficients",e)}readInverseCoefficients(e,t){const{inverseCoeffX:i,inverseCoeffY:s}=t;if(!i?.length||!s?.length||i.length!==s.length)return null;const r=[];for(let e=0;e<i.length;e++)r.push(i[e]),r.push(s[e]);return r}writeInverseCoefficients(e,t,i){const s=[],r=[];for(let t=0;t<e?.length;t++)t%2==0?s.push(e[t]):r.push(e[t]);t.inverseCoeffX=s,t.inverseCoeffY=r}get affectsPixelSize(){return this.polynomialOrder>0}forwardTransform(e){if("point"===e.type){const t=p(this.forwardCoefficients,e,this.polynomialOrder);return new f.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return d(this.forwardCoefficients,e,this.polynomialOrder)}inverseTransform(e){if("point"===e.type){const t=p(this.inverseCoefficients,e,this.polynomialOrder);return new f.A({x:t.x,y:t.y,spatialReference:e.spatialReference})}return d(this.inverseCoefficients,e,this.polynomialOrder)}clone(){return new s({polynomialOrder:this.polynomialOrder,forwardCoefficients:this.forwardCoefficients?[...this.forwardCoefficients]:null,inverseCoefficients:this.inverseCoefficients?[...this.inverseCoefficients]:null})}};(0,r.Cg)([(0,n.MZ)({json:{write:!0}})],m.prototype,"polynomialOrder",void 0),(0,r.Cg)([(0,n.MZ)()],m.prototype,"forwardCoefficients",void 0),(0,r.Cg)([(0,o.w)("forwardCoefficients",["coeffX","coeffY"])],m.prototype,"readForwardCoefficients",null),(0,r.Cg)([(0,c.K)("forwardCoefficients")],m.prototype,"writeForwardCoefficients",null),(0,r.Cg)([(0,n.MZ)({json:{write:!0}})],m.prototype,"inverseCoefficients",null),(0,r.Cg)([(0,o.w)("inverseCoefficients",["inverseCoeffX","inverseCoeffY"])],m.prototype,"readInverseCoefficients",null),(0,r.Cg)([(0,c.K)("inverseCoefficients")],m.prototype,"writeInverseCoefficients",null),(0,r.Cg)([(0,n.MZ)()],m.prototype,"affectsPixelSize",null),(0,r.Cg)([(0,a.e)({PolynomialXform:"polynomial"})],m.prototype,"type",void 0),m=s=(0,r.Cg)([(0,l.$)("esri.layers.support.rasterTransforms.PolynomialTransform")],m)},24212:(e,t,i)=>{function s(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?l:c}(e).mode}(null==e||(e.hasZ??!1),t)}function r(e,t,i){return i&&i.mode!==t?`${e} only support ${t} elevation mode`:null}function n(e,t,i){return i?.mode===t?`${e} do not support ${t} elevation mode`:null}function a(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function o(e,t){t&&e.warn(".elevationInfo=",t)}i.d(t,{$7:()=>n,B:()=>r,XF:()=>o,tW:()=>a,w7:()=>s}),i(83047),i(16271);const l={mode:"absolute-height",offset:0},c={mode:"on-the-ground",offset:null}},25943:(e,t,i)=>{i.d(t,{d:()=>S});var s,r=i(31635),n=i(78888),a=i(65008),o=i(49186),l=i(36563),c=(i(44208),i(66344)),u=i(15142),f=i(74887),h=i(36708),p=i(96211),d=i(84952),m=i(10107),g=(i(53966),i(87811),i(40608)),y=i(72802),w=i(4718),v=i(69397),x=i(34275);class b{constructor(e){!function(e){if(!e?.location)throw new o.A("tilemap:missing-location","Location missing from tilemap response");if(!1===e.valid)throw new o.A("tilemap:invalid","Tilemap response was marked as invalid");if(!e.data)throw new o.A("tilemap:missing-data","Data missing from tilemap response");if(!Array.isArray(e.data))throw new o.A("tilemap:data-mismatch","Data must be an array of numbers");if(e.data.length!==e.location.width*e.location.height)throw new o.A("tilemap:data-mismatch","Number of data items does not match width/height of tilemap")}(e);const{location:t,data:i}=e;this.location=Object.freeze((0,w.o8)(t));const s=this.location.width,r=this.location.height;let n=!0,a=!0;const l=function(e,t=!1){return e<=x.y9?t?new Array(e).fill(0):new Array(e):new Uint32Array(e)}(Math.ceil(s*r/32));let c=0;for(let e=0;e<i.length;e++){const t=e%32;i[e]?(a=!1,l[c]|=1<<t):n=!1,31===t&&++c}a?(this._availability="unavailable",this.byteSize=40):n?(this._availability="available",this.byteSize=40):(this._availability=l,this.byteSize=40+(0,v.Qf)(l))}getAvailability(e,t){if("unavailable"===this._availability||"available"===this._availability)return this._availability;const i=(e-this.location.top)*this.location.width+(t-this.location.left),s=i%32,r=i>>5,n=this._availability;return r<0||r>n.length?"unknown":n[r]&1<<s?"available":"unavailable"}static fromDefinition(e,t){const i=e.service.request||n.A,{row:s,col:r,width:a,height:l}=e,c={query:{f:"json"}};return t=t?{...c,...t}:c,i(function(e){let t;if(e.service.tileServers?.length){const i=e.service.tileServers;t=`${i&&i.length?i[e.row%i.length]:e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}else t=`${e.service.url}/tilemap/${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`;const i=e.service.query;return i&&(t=`${t}?${i}`),t}(e),t).then(e=>e.data).catch(e=>{if(422===e?.details?.httpStatus)return{location:{top:s,left:r,width:a,height:l},valid:!0,data:new Array(a*l).fill(0)};throw e}).then(e=>{if(e.location&&(e.location.top!==s||e.location.left!==r||e.location.width!==a||e.location.height!==l))throw new o.A("tilemap:location-mismatch","Tilemap response for different location than requested",{response:e,definition:{top:s,left:r,width:a,height:l}});return b.fromJSON(e)})}static fromJSON(e){return Object.freeze(new b(e))}}function I(e){return`${e.level}/${e.row}/${e.col}/${e.width}/${e.height}`}function C(e,t,i){return new o.A("tile-map:tile-unavailable","Tile is not available",{level:e,row:t,col:i})}let S=class extends a.A{static{s=this}constructor(e){super(e),this._pendingTilemapRequests={},this.request=n.A,this.size=32,this._prefetchingEnabled=!0}initialize(){this._tilemapCache=new c.q(2097152),this.addHandles((0,h.wB)(()=>{const{layer:e}=this;return[e?.parsedUrl,e?.tileServers,e?.apiKey,e?.customParameters]},()=>this._initializeTilemapDefinition(),h.Vh))}get effectiveMinLOD(){return this.minLOD??this.layer.tileInfo.lods[0].level}get effectiveMaxLOD(){return this.maxLOD??this.layer.tileInfo.lods[this.layer.tileInfo.lods.length-1].level}getAvailability(e,t,i){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return"unavailable";const s=this._tilemapFromCache(e,t,i,this._tmpTilemapDefinition);return s?s.getAvailability(t,i):"unknown"}fetchAvailability(e,t,i,s){return!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD?Promise.reject(C(e,t,i)):this._fetchTilemap(e,t,i,s).catch(e=>e).then(s=>{if(s instanceof b){const r=s.getAvailability(t,i);if("unavailable"===r)throw C(e,t,i);return r}if((0,f.zf)(s))throw s;return"unknown"})}fetchAvailabilityUpsample(e,t,i,s,r){s.level=e,s.row=t,s.col=i;const n=this.layer.tileInfo;n.updateTileInfo(s);const a=this.fetchAvailability(e,t,i,r).catch(e=>{if((0,f.zf)(e))throw e;if(n.upsampleTile(s))return this.fetchAvailabilityUpsample(s.level,s.row,s.col,s,r);throw e});return this._fetchAvailabilityUpsamplePrefetch(s.id,e,t,i,r,a),a}async _fetchAvailabilityUpsamplePrefetch(e,t,i,r,n,a){if(!this._prefetchingEnabled||null==e)return;const o=`prefetch-${e}`;if(this.hasHandles(o))return;const c=new AbortController;a.then(()=>c.abort(),()=>c.abort());let u=!1;const h=(0,l.hA)(()=>{u||(u=!0,c.abort())});if(this.addHandles(h,o),await(0,p.md)(10,c.signal).catch(()=>{}),u||(u=!0,this.removeHandles(o)),(0,f.G4)(c))return;const d=new y.U(e,t,i,r),m={...n,signal:c.signal},g=this.layer.tileInfo;for(let e=0;s._prefetches.length<s._maxPrefetch&&g.upsampleTile(d);++e){const e=this.fetchAvailability(d.level,d.row,d.col,m);s._prefetches.push(e);const t=()=>{s._prefetches.removeUnordered(e)};e.then(t,t)}}static{this._maxPrefetch=4}static{this._prefetches=new u.A({initialSize:s._maxPrefetch})}static cleanupTilemapCache(){this._prefetches.prune()}_fetchTilemap(e,t,i,s){if(!this.layer.tileInfo.lodAt(e)||e<this.effectiveMinLOD||e>this.effectiveMaxLOD)return Promise.reject(new o.A("tilemap-cache:level-unavailable",`Level ${e} is unavailable in the service`));const r=this._tmpTilemapDefinition,n=this._tilemapFromCache(e,t,i,r);if(n)return Promise.resolve(n);const a=s?.signal;return s={...s,signal:null},new Promise((e,t)=>{(0,f.u7)(a,()=>t((0,f.NK)()));const i=I(r);let n=this._pendingTilemapRequests[i];if(!n){n=b.fromDefinition(r,s).then(e=>(this._tilemapCache.put(i,e,e.byteSize),e));const e=()=>{delete this._pendingTilemapRequests[i]};this._pendingTilemapRequests[i]=n,n.then(e,e)}n.then(e,t)})}_initializeTilemapDefinition(){if(!this.layer.parsedUrl)return;const{parsedUrl:e,apiKey:t,customParameters:i}=this.layer;this._tilemapCache.clear(),this._tmpTilemapDefinition={service:{url:e.path,query:(0,d.x0)({...e.query,...i,token:t??e.query?.token}),tileServers:this.layer.tileServers,request:this.request},width:this.size,height:this.size,level:0,row:0,col:0}}_tilemapFromCache(e,t,i,s){s.level=e,s.row=t-t%this.size,s.col=i-i%this.size;const r=I(s);return this._tilemapCache.get(r)}get test(){}};(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"layer",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"minLOD",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"maxLOD",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"request",void 0),(0,r.Cg)([(0,m.MZ)({constructOnly:!0})],S.prototype,"size",void 0),S=s=(0,r.Cg)([(0,g.$)("esri.layers.support.TilemapCache")],S)},39689:(e,t,i)=>{i.r(t),i.d(t,{default:()=>Xe});var s=i(31635),r=i(37838),n=i(69540),a=i(49186),o=i(53966),l=i(92071),c=i(74887),u=i(36708),f=i(10107),h=i(56507),p=i(44208),d=(i(87811),i(40608)),m=i(89808),g=i(99959);const y=Symbol("isImageryTileGraphicOrigin");var w;class v extends g.A{get[(w=y,m.Q)](){return this.layer}constructor(e){super(),this[w]=!0,this.type="imagery-tile",this.layer=e}get id(){return this.layer.id}}var x=i(4146),b=i(18768),I=i(63074),C=i(69208),S=i(89015),A=i(16131),T=i(8303),R=i(63660),O=i(56551),M=i(54310),_=i(25036),F=i(82935),P=i(10873),k=i(20437),D=i(74797),N=i(22796),L=i(76353),E=i(84169),B=i(4916),z=i(68197),J=i(5443),$=i(16930),U=i(73444),j=i(14140),q=i(16019);function V(e){return["x","e","east","long","longitude"].includes(e.toLowerCase())}function Z(e){return["y","n","west","lat","latitude"].includes(e.toLowerCase())}function H(e){const t=(0,U.lR)();return t?e[t]??Object.values(e)[0]:Object.values(e)[0]}function G(){return Math.round(255*Math.random())}function W(e){const t={},{parameters:i}=e;if(!i)return t;for(const[e,s]of Object.entries(i)){const{type:i,description:r,unit:n,categoryEncoding:a,observedProperty:o}=s;if("Parameter"===i&&(t[e]={},r&&(t[e].description=H(r)),n&&(t[e].unit=n.label?H(n.label):null,t[e].symbol=n.symbol?.value),a)){const i=Object.entries(a).map((e,t)=>({OID:t,Value:Number(e[1]),ClassName:e[0].slice(e[0].lastIndexOf("/")+1),Count:1}));let s=!1;o?.categories?.length&&(o.categories.forEach(e=>{if(!e.id)return;const t=e.id.slice(e.id.lastIndexOf("/")+1),r=i.find(e=>e.ClassName===t);if(!r)return;const n=e.label?H(e.label):null;if(r.Label=n,e.preferredColor){const t=z.A.fromHex(e.preferredColor);t&&(s=!0,r.Red=t.r,r.Green=t.g,r.Blue=t.b)}}),s&&i.forEach(e=>{null==e.Red&&(e.Red=G(),e.Green=G(),e.Blue=G())}));const r={objectIdFieldName:"",fields:[{name:"OID",type:"esriFieldTypeOID",alias:"OID",domain:null},{name:"Value",type:"esriFieldTypeInteger",alias:"Value",domain:null},{name:"Count",type:"esriFieldTypeDouble",alias:"Count",domain:null},{name:"ClassName",type:"esriFieldTypeString",alias:"ClassName",domain:null,length:50},{name:"Label",type:"esriFieldTypeString",alias:"Label",domain:null,length:50}],features:i.map(e=>({attributes:e}))};s&&r.fields.push({name:"Red",type:"esriFieldTypeInteger",alias:"Red",domain:null},{name:"Green",type:"esriFieldTypeInteger",alias:"Green",domain:null},{name:"Blue",type:"esriFieldTypeInteger",alias:"Blue",domain:null}),t[e].attributeTable=r}}return t}function X(e){let t=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let s=0;s<e.length;s++){const r=e[s];null!=r&&(r<t&&(t=r),r>i&&(i=r))}return(0,q.X1)(t,i)}function Y(e,t,i){const s=e.map((e,i)=>({name:e,count:t[i]})).sort((e,t)=>e.name>t.name?-1:1),r=(n=1,e=>n*=e.count);var n;const a=[...s.slice(1),{name:"",count:1}].reverse().map(r).reverse();let o=0;for(let r=e.length-1;r>=0;r--)o+=a[s.findIndex(({name:t})=>t===e[r])]*(i%t[r]),i=Math.floor(i/t[r]);return o}var K=i(45617),Q=i(87186),ee=i(77301),te=i(28435),ie=i(6952);let se=class extends B.A{constructor(){super(...arguments),this.datasetFormat="MEMORY",this.source=null}get url(){return""}fetchRawTile(e,t,i,s={}){if(!this._pixelBlockTiles){const{rasterInfo:r}=this,[n,a]=r.storageInfo.tileInfo.size,{sliceId:o}=s,{pixelBlocks:l}=this.source,c={pixelBlock:null==o?l[0]:l[o],useBilinear:"thematic"!==r.dataType,tileSize:{width:n,height:a},level:e,row:t,col:i},u=this.rasterJobHandler?this.rasterJobHandler.clipTile(c,s):(0,te.J$)(c);return Promise.resolve(u)}const r=this._pixelBlockTiles.get(`${e}/${t}/${i}`);return Promise.resolve(r)}async _open(e){const t=this.source,{pixelBlocks:i,attributeTable:s,statistics:r,histograms:n,name:a,nativeExtent:o,transform:l}=t,c=i[0],{width:u,height:f,pixelType:h}=c,p=t.extent??new J.A({xmin:-.5,ymin:.5,xmax:u-.5,ymax:f-.5,spatialReference:new $.A({wkid:3857})}),d=t.isPseudoSpatialReference??!t.extent,m={x:p.width/u,y:p.height/f},g={...t.keyProperties};s&&(g.DataType="Thematic");const y=new Q.A({width:u,height:f,pixelType:h,extent:p,nativeExtent:o,attributeTable:s,transform:l,pixelSize:m,spatialReference:p.spatialReference,bandCount:c.pixels.length,keyProperties:g,multidimensionalInfo:t.multidimensionalInfo,statistics:r,isPseudoSpatialReference:d,histograms:n});this.ioConfig.skipMapInfo&&this.updateImageSpaceRasterInfo(y),this.createRemoteDatasetStorageInfo(y,512,512),this._set("rasterInfo",y),this.updateTileInfo(),y.multidimensionalInfo?await this._buildMDimStats(t.pixelBlocks,y.multidimensionalInfo):await this._buildInMemoryRaster(c,{width:512,height:512},e),y.multidimensionalInfo||(this.source=null),this.datasetName=a}async _buildInMemoryRaster(e,t,i){const{rasterInfo:s}=this,r=s.storageInfo.maximumPyramidLevel??0,n="thematic"!==s.dataType,o=this.rasterJobHandler?this.rasterJobHandler.split({pixelBlock:e,tileSize:t,maximumPyramidLevel:r,useBilinear:n},i):Promise.resolve((0,te.lD)(e,t,r,n)),l=null!=s.statistics,u=null!=s.histograms,f=this.ioConfig.skipStatistics||l?Promise.resolve({statistics:null,histograms:null}):this.rasterJobHandler?this.rasterJobHandler.estimateStatisticsHistograms({pixelBlock:e},i):Promise.resolve((0,ie.f4)(e)),h=await(0,c.Lx)([o,f]);if(!h[0].value&&h[1].value)throw new a.A("inmemory-raster:open","failed to build in memory raster");this._pixelBlockTiles=h[0].value,l||(s.statistics=h[1].value?.statistics),u||(s.histograms=h[1].value?.histograms)}async _buildMDimStats(e,t,i){for(let s=0;s<t.variables.length;s++){const r=t.variables[s];if(r.statistics)continue;const n=r.dimensions.map(e=>new K.A({variableName:r.name,dimensionName:e.name,values:[e.values?.[0]??e.extent?.[0]],isSlice:!0})),a=(0,ee.NG)(n,t),o=null==a?null:e[a];if(null==o)continue;const l=this.rasterJobHandler?await this.rasterJobHandler.computeStatisticsHistograms({pixelBlock:o},i):(0,ie.eH)(o);r.statistics=l.statistics,r.histograms||(r.histograms=l.histograms)}}};(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],se.prototype,"datasetFormat",void 0),(0,s.Cg)([(0,f.MZ)()],se.prototype,"source",void 0),(0,s.Cg)([(0,f.MZ)()],se.prototype,"url",null),se=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.InMemoryRaster")],se);const re=se;var ne=i(22671);let ae=class extends B.A{constructor(){super(...arguments),this.datasetFormat="CovJSON"}fetchRawTile(e,t,i,s={}){return this._inMemoryRaster.fetchRawTile(e,t,i,s)}async _open(e){const{extent:t,pixelBlocks:i,multidimensionalInfo:s,attributeTable:r,bandNames:n}=await this._fetchData(e),{statistics:a,histograms:o}=(0,ie.eH)(i[0]),l=n?.map(e=>({BandName:e})),c={DataType:r?"Thematic":s?"Scientific":"Generic",BandProperties:l},u=new re({source:{extent:t,pixelBlocks:i,attributeTable:r?ne.A.fromJSON(r):null,multidimensionalInfo:s,statistics:a,histograms:o,keyProperties:c,isPseudoSpatialReference:!1}});await u.open(),this._inMemoryRaster=u;const f=this.source?"":this.url.slice(this.url.lastIndexOf("/")+1);this._set("datasetName",f.slice(0,f.indexOf("."))),this._set("rasterInfo",u.rasterInfo)}async _fetchData(e){const t=this.source??(await this.request(this.url,{signal:e?.signal})).data,i="imagery-tile-layer:open-coverage-json";if("coverage"!==t.type?.toLowerCase()||"grid"!==t.domain?.domainType?.toLowerCase())throw new a.A(i,"Only coverage with Grid domain type is supported");if(!t.ranges)throw new a.A(i,"Missing ranges in the grid coverage data");if(!t.domain.referencing?.length)throw new a.A(i,"Missing domain referencing in the grid coverage data");const s=Object.values(t.ranges);for(let e=0;e<s.length;e++){const{axisNames:t,shape:r,type:n,values:o}=s[e];if(!("ndarray"===n.toLowerCase()&&o?.length&&t?.length&&r?.length))throw new a.A(i,"Only ranges with valid NdArray, axisNames, shape, and inline values are supported");if(!V(t[t.length-1])||!Z(t[t.length-2]))throw new a.A(i,"Only row-major ordered pixel values are supported. X axis must be the last axis.")}return function(e){const{width:t,height:i,extent:s,dimensions:r}=function(e){const{axes:t}=e.domain,i=Object.keys(t),s=[],r=[];let n=-1,a=-1,o=[];for(let e=0;e<i.length;e++){const l=i[e];V(l)?n=e:Z(l)&&(a=e);const c=t[l],u=[];if("values"in c){c.values.forEach(e=>u.push("string"==typeof e?new Date(e).getTime():e));const e=u[1]-u[0];s.push([u[0]-.5*e,u[u.length-1]+.5*e]),r.push(e)}else{const{start:e,stop:t,num:i}=c,n=(t-e)/(i-1);s.push([e-.5*n,t+.5*n]),r.push(n);for(let t=0;t<i;t++)u.push(e+n*t)}o.push({name:l,values:u,extent:[u[0],u[u.length-1]]})}n>-1&&-1===a?a=0===n?1:0:a>-1&&-1===n?n=0===a?1:0:-1===a&&-1===n&&(n=0,a=1),o=o.filter((e,t)=>!(t===n||t===a));const{referencing:l}=e.domain,c=l.find(e=>e.coordinates.includes(i[n])).system.id,u=c?.slice(c.lastIndexOf("/")+1),f=null==u||"CRS84"===u?4326:Number(u),h=new $.A({wkid:f}),[p,d]=s[n],[m,g]=s[a],y=new J.A({xmin:p,xmax:d,ymin:m,ymax:g,spatialReference:h});return{width:Math.round(y.width/r[n]),height:Math.round(y.height/r[a]),extent:y,dimensions:o}}(e),{ranges:n}=e,a=Object.keys(n).sort((e,t)=>e<t?-1:1),o=[];for(let e=0;e<a.length;e++){const t=a[e];r?.length&&o.push({name:t,dimensions:r})}const l=W(e);o.forEach(e=>l[e.name]&&Object.assign(e,l[e.name]));const c=o.length?{variables:o}:void 0,u=[];for(let e=0;e<a.length;e++){const s=a[e],{values:o,dataType:l,axisNames:c,shape:f}=n[s],h=f.length>2?e*f.slice(0,-2).reduce((e,t)=>e*t):0,p=c.slice(0,-2),d=f.slice(0,-2),m="float"===l?"f32":X(o),g=t*i,y=o.length/g;for(let s=0;s<y;s++){const n=j.A.createEmptyBand(m,g),a=new Uint8Array(g).fill(255);let l=!1;const c=s*g;for(let e=0;e<g;e++){const t=o[c+e];null==t?(a[e]=0,l=!0):n[e]=t}if(0===e||r?.length){const e=new j.A({width:t,height:i,mask:l?a:null,pixels:[n],pixelType:m});e.updateStatistics(),r?.length?u[Y(p,d,s)+h]=e:u.push(e)}else{const e=u[s];e.pixels.push(n),l?e.mask&&(e.mask=j.A.combineBandMasks([e.mask,a])):e.mask=l?a:null}}}const f=Object.values(l).find(e=>e.attributeTable)?.attributeTable;return{extent:s,pixelBlocks:u,multidimensionalInfo:c,attributeTable:f,bandNames:c?void 0:a}}(t)}};(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],ae.prototype,"datasetFormat",void 0),(0,s.Cg)([(0,f.MZ)({constructOnly:!0})],ae.prototype,"source",void 0),ae=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.CovJSONRaster")],ae);const oe=ae;var le=i(4576),ce=i(21325),ue=i(50103),fe=i(21312);function he(e,t){if(!e||!t)return null;const i=[];for(let s=0;s<e.length;s++)i.push(e[s]),i.push(t[s]);return i}function pe(e){if(!e)return null;let t=Number(e);if(!isNaN(t)&&0!==t)return new $.A({wkid:t});if(e=String(e).trim(),(0,ce.jp)(e))return new $.A({wkt2:e});const i=e.toUpperCase();if(i.startsWith("COMPD_CS")){if(!i.includes("VERTCS")||!i.includes("GEOGCS")&&!i.startsWith("PROJCS"))return null;const s=i.indexOf("VERTCS"),r=i.indexOf("PROJCS"),n=r>-1?r:i.indexOf("GEOGCS");if(-1===n)return null;const a=e.slice(n,e.lastIndexOf("]",s)+1).trim(),o=e.slice(s,e.lastIndexOf("]")).trim();t=de(a);const l=new $.A(t?{wkid:t}:{wkt:a}),c=de(o);return c&&(l.vcsWkid=c),l}return i.startsWith("GEOGCS")||i.startsWith("PROJCS")?(t=de(e),new $.A(0!==t?{wkid:t}:{wkt:e})):null}function de(e){const t=e.replaceAll("]","[").replaceAll('"',"").split("[").map(e=>e.trim()).filter(e=>""!==e),i=t[t.length-1].split(","),s=i[0]?.toLowerCase();if(("epsg"===s||"esri"===s)&&e.endsWith('"]]')){const e=Number(i[1]);if(!isNaN(e)&&0!==e)return e}return 0}function me(e){if("pamdataset"!==e?.documentElement.tagName?.toLowerCase())return{};const t={spatialReference:null,transform:null,metadata:{},rasterBands:[],statistics:null,histograms:null};e.documentElement.childNodes.forEach(e=>{if(1===e.nodeType)if((0,ue.g7)(e,"SRS")){if(!t.spatialReference){const i=(0,ue.mX)(e);t.spatialReference=pe(i)}}else if((0,ue.g7)(e,"Metadata"))if("xml:ESRI"===e.getAttribute("domain")){const{spatialReference:i,transform:s}=function(e){const t=(0,ue.V6)(e,"GeodataXform"),i=pe((0,ue.v7)(t,"SpatialReference/WKID")||(0,ue.mX)(t,"SpatialReference/WKT"));if("typens:PolynomialXform"!==t.getAttribute("xsi:type"))return{spatialReference:i,transform:null};const s=(0,ue.v7)(t,"PolynomialOrder")??1,r=(0,ue.Ui)(t,"CoeffX/Double"),n=(0,ue.Ui)(t,"CoeffY/Double"),a=(0,ue.Ui)(t,"InverseCoeffX/Double"),o=(0,ue.Ui)(t,"InverseCoeffY/Double"),l=he(r,n),c=he(a,o);return{spatialReference:i,transform:l&&c&&l.length&&c.length?new fe.A({spatialReference:i,polynomialOrder:s,forwardCoefficients:l,inverseCoefficients:c}):null}}(e);t.transform=s,t.spatialReference||(t.spatialReference=i)}else(0,ue.IC)(e,"MDI").forEach(e=>t.metadata[e.getAttribute("key")]=(0,ue.mX)(e));else if((0,ue.g7)(e,"PAMRasterBand")){const i=function(e){const t=(0,ue.v7)(e,"NoDataValue"),i=(0,ue.V6)(e,"Histograms/HistItem"),s=(0,ue.v7)(i,"HistMin"),r=(0,ue.v7)(i,"HistMax"),n=(0,ue.v7)(i,"BucketCount"),a=(0,ue.mX)(i,"HistCounts")?.split("|").map(e=>Number(e));let o,l,c,u;(0,ue.IC)(e,"Metadata/MDI").forEach(e=>{const t=Number(e.textContent??e.nodeValue);switch(e.getAttribute("key").toUpperCase()){case"STATISTICS_MINIMUM":o=t;break;case"STATISTICS_MAXIMUM":l=t;break;case"STATISTICS_MEAN":c=t;break;case"STATISTICS_STDDEV":u=t}});const f=(0,ue.v7)(e,"Metadata/SourceBandIndex");return{noDataValue:t,histogram:a?.length&&null!=s&&null!=r?{min:s,max:r,size:n||a.length,counts:a}:null,sourceBandIndex:f,statistics:null!=o&&null!=l?{min:o,max:l,avg:c,stddev:u}:null}}(e);null!=i.sourceBandIndex&&null==t.rasterBands[i.sourceBandIndex]?t.rasterBands[i.sourceBandIndex]=i:t.rasterBands.push(i)}});const i=t.rasterBands;if(i.length){const e=!!i[0].statistics;t.statistics=e?i.map(e=>e.statistics).filter(le.Ru):null;const s=!!i[0].histogram;t.histograms=s?i.map(e=>e.histogram).filter(le.Ru):null}return t}var ge=i(77649);let ye=class extends B.A{fetchRawTile(e,t,i,s={}){return this._inMemoryRaster.fetchRawTile(e,t,i,s)}async _open(e){const t=await this._fetchData(e);let{spatialReference:i,statistics:s,histograms:r,transform:n}=await this._fetchAuxiliaryData(e);const a=!i;a&&(i=new $.A({wkid:3857})),r?.length&&null==s&&(s=(0,ie.Pg)(r));const{width:o,height:l}=t;let c=new J.A({xmin:-.5,ymin:.5-l,xmax:o-.5,ymax:.5,spatialReference:i});const u=n?n.forwardTransform(c):c;let f=!0;if(n){const e=n.forwardCoefficients;f=e&&0===e[1]&&0===e[2],f&&(n=null,c=u)}const h=new re({source:{extent:u,nativeExtent:c,transform:n,pixelBlocks:[t],statistics:s,histograms:r,keyProperties:{DateType:"Processed"},isPseudoSpatialReference:a},ioConfig:{sampling:"closest",skipStatistics:!0}});this.ioConfig.skipMapInfo&&(h.ioConfig.skipMapInfo=!0),await h.open(),h.source=null,this._set("rasterInfo",h.rasterInfo),this._inMemoryRaster=h}async _fetchData(e){const{data:t}=await this.request(this.url,{responseType:"array-buffer",signal:e?.signal}),i=(0,ge.g)(t).toUpperCase();if("JPG"!==i&&"PNG"!==i&&"GIF"!==i&&"BMP"!==i)throw new a.A("image-aux-raster:open","the data is not a supported format");this._set("datasetFormat",i);const s=i.toLowerCase(),r="gif"===s||"bmp"===s||!(0,p.A)("ios"),n=await this.decodePixelBlock(t,{format:s,useCanvas:r,hasNoZlibMask:!0});if(null==n)throw new a.A("image-aux-raster:open","the data cannot be decoded");return n}async _fetchAuxiliaryData(e){const t=e?.signal,{skipExtensions:i=[],skipMapInfo:s}=this.ioConfig,r=s||i.includes("aux.xml")?null:this.request(this.url+".aux.xml",{responseType:"xml",signal:t}),n=this.datasetFormat,a="JPG"===n?"jgw":"PNG"===n?"pgw":"BMP"===n?"bpw":null,o=a&&i.includes(a)?null:this.request(this.url.slice(0,this.url.lastIndexOf("."))+"."+a,{responseType:"text",signal:t}),l=await(0,c.Lx)([r,o]);if(t?.aborted)throw(0,c.NK)();const u=me(l[0].value?.data);if(!u.transform){const e=l[1].value?l[1].value.data.split("\n").slice(0,6).map(e=>Number(e)):null;u.transform=6===e?.length?new fe.A({forwardCoefficients:[e[4],e[5],e[0],-e[1],e[2],-e[3]]}):null}return u}};(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],ye.prototype,"datasetFormat",void 0),ye=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.ImageAuxRaster")],ye);const we=ye;var ve=i(97768),xe=i(84952),be=i(86738),Ie=i(20223),Ce=i(87045),Se=i(25943),Ae=i(73037),Te=i(82371);let Re=class extends B.A{constructor(){super(...arguments),this._levelOffset=0,this._tilemapCache=null,this._slices=null,this.datasetFormat="RasterTileServer",this.tileType=null}async fetchRawTile(e,t,i,s={}){const{storageInfo:r,extent:n}=this.rasterInfo,{transposeInfo:a}=r,o=null!=a&&!!s.transposedVariableName;if(this._slices&&!o&&null==s.sliceId)return null;const l=o?0:r.maximumPyramidLevel-e+this._levelOffset,c=`${this.url}/tile/${l}/${t}/${i}`,u=this._slices?o?{variable:s.transposedVariableName}:{sliceId:s.sliceId||0}:null;let f,h;if(r.isBsqTile){const e=(s.bandIds?.length?s.bandIds:[0,1,2]).map(e=>this.request(c,{query:{...u,bandId:e},responseType:"array-buffer",signal:s.signal})),t=await Promise.all(e),i=t.map(e=>e.data.byteLength).reduce((e,t)=>e+t),r=new Uint8Array(i);h=[];let n=0;for(const{data:e}of t)h.push(n),r.set(new Uint8Array(e),n),n+=e.byteLength;f=r.buffer}else f=(await this.request(c,{query:u,responseType:"array-buffer",signal:s.signal})).data;if(!f)return null;const p=o?a.tileSize:r.tileInfo.size,d=await this.decodePixelBlock(f,{width:p[0],height:p[1],planes:h?.length,offsets:h,pixelType:null,isPoint:"Elevation"===this.tileType,returnInterleaved:o,noDataValue:this.rasterInfo.noDataValue});if(null==d)return null;const m=r.blockBoundary[e];if("jpg"!==r.compression||i>m.minCol&&i<m.maxCol&&t>m.minRow&&t<m.maxRow)return d;const{origin:g,blockWidth:y,blockHeight:w}=r,{x:v,y:x}=this.getPyramidPixelSize(e),b=Math.round((n.xmin-g.x)/v)%y,I=Math.round((n.xmax-g.x)/v)%y||y,C=Math.round((g.y-n.ymax)/x)%w,S=Math.round((g.y-n.ymin)/x)%w||w,A=i===m.minCol?b:0,T=t===m.minRow?C:0,R=i===m.maxCol?I:y,O=t===m.maxRow?S:w;return(0,te.z$)(d,{x:A,y:T},{width:R-A,height:O-T}),d}getSliceIndex(e){if(!this._slices||null==e||0===e.length)return null;const t=e;for(let e=0;e<this._slices.length;e++){const i=this._slices[e].multidimensionalDefinition;if(i.length===t.length&&!i.some(e=>{const i=t.find(t=>e.variableName===t.variableName&&t.dimensionName===e.dimensionName);return!i||(Array.isArray(e.values[0])?`${e.values[0][0]}-${e.values[0][1]}`:e.values[0])!==(Array.isArray(i.values[0])?`${i.values[0][0]}-${i.values[0][1]}`:i.values[0])}))return e}return null}async fetchVariableStatisticsHistograms(e,t){const i=this.request(this.url+"/statistics",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.statistics),s=this.request(this.url+"/histograms",{query:{variable:e,f:"json"},signal:t}).then(e=>e.data?.histograms),r=await Promise.all([i,s]);return r[0]&&r[0].forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),r[1]?.[0]?.counts?.length||(r[1]=null),{statistics:r[0]||null,histograms:r[1]||null}}async computeBestPyramidLevelForLocation(e,t={}){if(!this._tilemapCache)return 0;let i=this.identifyPixelLocation(e,0,t.datumTransformation);if(null===i)return null;let s=0;const{maximumPyramidLevel:r}=this.rasterInfo.storageInfo;let n=r-s+this._levelOffset;const a=i.srcLocation;for(;n>=0;){try{if("available"===await this._tilemapCache.fetchAvailability(n,i.row,i.col,t))break}catch{}if(n--,s++,i=this.identifyPixelLocation(a,s,t.datumTransformation),null===i)return null}return-1===n||null==i?null:s}async _open(e){const t=e?.signal,i=this.sourceJSON?{data:this.sourceJSON}:await this.request(this.url,{query:{f:"json"},signal:t});i.ssl&&(this.url=this.url.replace(/^http:/i,"https:"));const s=i.data;if(this.sourceJSON=s,!s)throw new a.A("imageserverraster:open","cannot initialize tiled image service, missing service info");if(!s.tileInfo)throw new a.A("imageserverraster:open","use ImageryLayer to open non-tiled image services");this._fixScaleInServiceInfo(),this.tileType=s.cacheType,null==this.tileType&&(["jpg","jpeg","png","png8","png24","png32","mixed"].includes(s.tileInfo.format.toLowerCase())?this.tileType="Map":"lerc"===s.tileInfo.format.toLowerCase()?this.tileType="Elevation":this.tileType="Raster"),this.datasetName=s.name?.slice(s.name.indexOf("/")+1)??"";const r=await this._fetchRasterInfo({signal:t});if(null==r)throw new a.A("image-server-raster:open","cannot initialize image service");(0,Te.E9)(r,s);const n="Map"===this.tileType?function(e,t){if(!e)return null;const{minScale:i,maxScale:s,minLOD:r,maxLOD:n}=t;if(null!=r&&null!=n)return Ce.A.fromJSON({...e,lods:e.lods.filter(({level:e})=>null!=e&&e>=r&&e<=n)});if(0!==i&&0!==s){const t=e=>Math.round(1e4*e)/1e4,r=i?t(i):1/0,n=s?t(s):-1/0;return Ce.A.fromJSON({...e,lods:e.lods.filter(e=>{const i=t(e.scale);return i<=r&&i>=n})})}return Ce.A.fromJSON(e)}(s.tileInfo,s):Ce.A.fromJSON(s.tileInfo);(0,ve.Lw)(n);const[o,l]=this._computeMinMaxLOD(r,n),{extent:c,pixelSize:u}=r,f=.5/r.width*u.x,h=Math.max(u.x,u.y),{lods:p}=n;("Map"!==this.tileType&&0!==s.maxScale||Math.abs(u.x-u.y)>f||!p.some(e=>Math.abs(e.resolution-h)<f))&&(u.x=u.y=o.resolution,r.width=Math.ceil((c.xmax-c.xmin)/u.x-.1),r.height=Math.ceil((c.ymax-c.ymin)/u.y-.1));const d=o.level-l.level,[m,g]=n.size,y=[],w=[];p.forEach((e,t)=>{e.level>=l.level&&e.level<=o.level&&y.push({x:e.resolution,y:e.resolution}),t<p.length-1&&w.push(Math.round(10*e.resolution/p[t+1].resolution)/10)}),y.sort((e,t)=>e.x-t.x);const v=this.computeBlockBoundary(c,m,g,n.origin,y,d),x=y.length>1?y.slice(1):null;let b;s.transposeInfo&&(b={tileSize:[s.transposeInfo.rows,s.transposeInfo.cols],packetSize:r.keyProperties?._yxs.PacketSize??0});const I=w.length<=1||w.length>=3&&w.slice(0,-1).every(e=>e===w[0])?w[0]??2:Math.round(10/(l.resolution/o.resolution)**(-1/d))/10;if(r.storageInfo=new Ie.A({blockWidth:n.size[0],blockHeight:n.size[1],pyramidBlockWidth:n.size[0],pyramidBlockHeight:n.size[1],pyramidResolutions:x,pyramidScalingFactor:I,compression:n.format,origin:n.origin,firstPyramidLevel:1,maximumPyramidLevel:d,tileInfo:n,isBsqTile:!!s.bsq,transposeInfo:b,blockBoundary:v}),function(e){const{extent:t,spatialReference:i}=e;t.xmin>-1&&t.xmax>181&&i?.wkid&&i.isGeographic&&(e.nativeExtent=e.extent,e.transform=new Ae.A,e.extent=e.transform.forwardTransform(t))}(r),this._set("rasterInfo",r),s.capabilities.toLowerCase().includes("tilemap")){const e={tileInfo:r.storageInfo.tileInfo,parsedUrl:(0,xe.An)(this.url),url:this.url,tileServers:[]};this._tilemapCache=new Se.d({layer:e})}}async _fetchRasterInfo(e){const t=this.sourceJSON;if("Map"===this.tileType){const e=t.fullExtent||t.extent,i=Math.ceil((e.xmax-e.xmin)/t.pixelSizeX-.1),s=Math.ceil((e.ymax-e.ymin)/t.pixelSizeY-.1),r=$.A.fromJSON(t.spatialReference||e.spatialReference),n=new be.A({x:t.pixelSizeX,y:t.pixelSizeY,spatialReference:r});return new Q.A({width:i,height:s,bandCount:3,extent:J.A.fromJSON(e),spatialReference:r,pixelSize:n,pixelType:"u8",statistics:null,keyProperties:{DataType:"processed"}})}const{signal:i}=e,s=(0,Te.Tw)(this.url,this.sourceJSON,{signal:i,query:this.ioConfig.customFetchParameters}),r=t.hasMultidimensions?this.request(`${this.url}/slices`,{query:{f:"json"},signal:i}).then(e=>e.data?.slices).catch(()=>null):null,n=await Promise.all([s,r]);return this._slices=n[1],n[0]}_fixScaleInServiceInfo(){const{sourceJSON:e}=this;e.minScale&&e.minScale<0&&(e.minScale=0),e.maxScale&&e.maxScale<0&&(e.maxScale=0)}_computeMinMaxLOD(e,t){const{pixelSize:i}=e,s=.5/e.width*i.x,{lods:r}=t,n=t.lodAt(Math.max.apply(null,r.map(e=>e.level))),a=t.lodAt(Math.min.apply(null,r.map(e=>e.level))),{tileType:o}=this;if("Map"===o)return this._levelOffset=r[0].level,[n,a];if("Raster"===o)return[r.find(e=>e.resolution===i.x)??n,a];const{minScale:l,maxScale:c}=this.sourceJSON;let u=n;c>0&&(u=r.find(e=>Math.abs(e.scale-c)<s),u||(u=r.filter(e=>e.scale>c).sort((e,t)=>e.scale>t.scale?1:-1)[0]??n));let f=a;return l>0&&(f=r.find(e=>Math.abs(e.scale-l)<s)??a,this._levelOffset=f.level-a.level),[u,f]}};(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],Re.prototype,"datasetFormat",void 0),(0,s.Cg)([(0,f.MZ)()],Re.prototype,"tileType",void 0),Re=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.ImageServerRaster")],Re);const Oe=Re;var Me=i(47124);const _e=new Map;_e.set("Int8","s8"),_e.set("UInt8","u8"),_e.set("Int16","s16"),_e.set("UInt16","u16"),_e.set("Int32","s32"),_e.set("UInt32","u32"),_e.set("Float32","f32"),_e.set("Float64","f32"),_e.set("Double64","f32");const Fe=new Map;Fe.set("none",{blobExtension:".til",isOneSegment:!0,decoderFormat:"bip"}),Fe.set("lerc",{blobExtension:".lrc",isOneSegment:!1,decoderFormat:"lerc"}),Fe.set("deflate",{blobExtension:".pzp",isOneSegment:!0,decoderFormat:"deflate"}),Fe.set("jpeg",{blobExtension:".pjg",isOneSegment:!0,decoderFormat:"jpg"}),Fe.set("qb3",{blobExtension:".pq3",isOneSegment:!0,decoderFormat:"qb3"});let Pe=class extends B.A{constructor(){super(...arguments),this._files=null,this._storageIndex=null,this.datasetFormat="MRF"}async fetchRawTile(e,t,i,s={}){const{blockWidth:r,blockHeight:n,blockBoundary:a}=this.rasterInfo.storageInfo,o=a[e];if(!o||o.maxRow<t||o.maxCol<i||o.minRow>t||o.minCol>i)return null;const{bandCount:l,pixelType:c}=this.rasterInfo,{ranges:u,actualTileWidth:f,actualTileHeight:h}=this._getTileLocation(e,t,i);if(!u||0===u.length)return null;if(0===u[0].from&&0===u[0].to){const e=new Uint8Array(r*n);return new j.A({width:r,height:n,pixels:void 0,mask:e,validPixelCount:0})}const{bandIds:p}=this.ioConfig,d=this._getBandSegmentCount(),m=[];let g=0;for(g=0;g<d;g++)p&&!p.includes(g)||m.push(this.request(this._files.data,{range:{from:u[g].from,to:u[g].to},responseType:"array-buffer",signal:s.signal}));const y=await Promise.all(m),w=y.map(e=>e.data.byteLength).reduce((e,t)=>e+t),v=new Uint8Array(w),x=[];let b=0;for(g=0;g<d;g++)x.push(b),v.set(new Uint8Array(y[g].data),b),b+=y[g].data.byteLength;const I=Fe.get(this.rasterInfo.storageInfo.compression).decoderFormat,C=await this.decodePixelBlock(v.buffer,{width:r,height:n,format:I,planes:p?.length||l,offsets:x,pixelType:c}).catch(()=>null);if(null==C)return null;let{noDataValue:S}=this.rasterInfo;if(null!=S&&"lerc"!==I&&!C.mask&&(S=S[0],null!=S)){const e=C.width*C.height,t=new Uint8Array(e);if(Math.abs(S)>1e24)for(g=0;g<e;g++)Math.abs((C.pixels[0][g]-S)/S)>1e-6&&(t[g]=1);else for(g=0;g<e;g++)C.pixels[0][g]!==S&&(t[g]=1);C.mask=t}let A=0,T=0;if(f!==r||h!==n){let e=C.mask;if(e)for(g=0;g<n;g++)if(T=g*r,g<h)for(A=f;A<r;A++)e[T+A]=0;else for(A=0;A<r;A++)e[T+A]=0;else for(e=new Uint8Array(r*n),C.mask=e,g=0;g<h;g++)for(T=g*r,A=0;A<f;A++)e[T+A]=1}return C}async _open(e){this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1);const t=e?e.signal:null,i=await this.request(this.url,{responseType:"xml",signal:t}),{rasterInfo:s,files:r}=this._parseHeader(i.data),{skipMapInfo:n,skipExtensions:a=[]}=this.ioConfig;if(!a.includes("aux.xml")&&!n){const t=await this._fetchAuxiliaryData(e);null!=t&&(s.statistics=t.statistics??s.statistics,s.histograms=t.histograms,t.histograms&&null==s.statistics&&(s.statistics=(0,ie.Pg)(t.histograms)))}n&&this.updateImageSpaceRasterInfo(s),this._set("rasterInfo",s),this._files=r;const o=await this.request(r.index,{responseType:"array-buffer",signal:t});this._storageIndex=function(e){if(e.byteLength%16>0)throw new Error("invalid array buffer must be multiples of 16");let t,i,s,r,n,a;if(Me.Z){for(i=new Uint8Array(e),r=new ArrayBuffer(e.byteLength),s=new Uint8Array(r),n=0;n<e.byteLength/4;n++)for(a=0;a<4;a++)s[4*n+a]=i[4*n+3-a];t=new Uint32Array(r)}else t=new Uint32Array(e);return t}(o.data);const{blockWidth:l,blockHeight:c}=this.rasterInfo.storageInfo,u=this.rasterInfo.storageInfo.pyramidScalingFactor,{width:f,height:h}=this.rasterInfo,p=[],d=this._getBandSegmentCount();let m=0,g=-1;for(;m<this._storageIndex.length;){g++;const e=Math.ceil(f/l/u**g)-1,t=Math.ceil(h/c/u**g)-1;m+=(e+1)*(t+1)*d*4,p.push({maxRow:t,maxCol:e,minCol:0,minRow:0})}this.rasterInfo.storageInfo.blockBoundary=p,g>0&&(this.rasterInfo.storageInfo.firstPyramidLevel=1,this.rasterInfo.storageInfo.maximumPyramidLevel=g),this.updateTileInfo()}_getBandSegmentCount(){return Fe.get(this.rasterInfo.storageInfo.compression).isOneSegment?1:this.rasterInfo.bandCount}_getTileLocation(e,t,i){const{blockWidth:s,blockHeight:r,pyramidScalingFactor:n}=this.rasterInfo.storageInfo,{width:a,height:o}=this.rasterInfo,l=this._getBandSegmentCount();let c,u,f,h=0,p=0;for(f=0;f<e;f++)p=n**f,c=Math.ceil(a/s/p),u=Math.ceil(o/r/p),h+=c*u;p=n**e,c=Math.ceil(a/s/p),u=Math.ceil(o/r/p),h+=t*c+i,h*=4*l;const d=this._storageIndex.subarray(h,h+4*l);let m=0,g=0;const y=[];for(let e=0;e<l;e++)m=d[4*e]*2**32+d[4*e+1],g=m+d[4*e+2]*2**32+d[4*e+3]-1,y.push({from:m,to:g});return{ranges:y,actualTileWidth:i<c-1?s:Math.ceil(a/p)-s*(c-1),actualTileHeight:t<u-1?r:Math.ceil(o/p)-r*(u-1)}}_parseHeader(e){const t=(0,ue.V6)(e,"MRF_META/Raster");if(!t)throw new a.A("mrf:open","not a valid MRF format");const i=(0,ue.V6)(t,"Size"),s=parseInt(i.getAttribute("x"),10),r=parseInt(i.getAttribute("y"),10),n=parseInt(i.getAttribute("c"),10),o=((0,ue.mX)(t,"Compression")||"none").toLowerCase();if(!Fe.has(o))throw new a.A("mrf:open","currently does not support compression "+o);const l=(0,ue.mX)(t,"DataType")||"UInt8",c=_e.get(l);if(null==c)throw new a.A("mrf:open","currently does not support pixel type "+l);const u=(0,ue.V6)(t,"PageSize"),f=parseInt(u.getAttribute("x"),10),h=parseInt(u.getAttribute("y"),10),p=(0,ue.V6)(t,"DataValues");let d,m;if(p&&(m=p.getAttribute("NoData"),null!=m&&(d=m.trim().split(" ").map(e=>parseFloat(e)))),(0,ue.V6)(e,"MRF_META/CachedSource"))throw new a.A("mrf:open","currently does not support MRF referencing other data files");const g=(0,ue.V6)(e,"MRF_META/GeoTags"),y=(0,ue.V6)(g,"BoundingBox");let w,v=!1;if(null!=y){const e=parseFloat(y.getAttribute("minx")),t=parseFloat(y.getAttribute("miny")),i=parseFloat(y.getAttribute("maxx")),s=parseFloat(y.getAttribute("maxy")),r=(0,ue.mX)(g,"Projection")||"";let n=$.A.WGS84;if("LOCAL_CS[]"!==r)if(r.toLowerCase().startsWith("epsg:")){const e=Number(r.slice(5));isNaN(e)||0===e||(n=new $.A({wkid:e}))}else n=pe(r)??$.A.WGS84;else v=!0,n=new $.A({wkid:3857});w=new J.A(e,t,i,s),w.spatialReference=n}else v=!0,w=new J.A({xmin:-.5,ymin:.5-r,xmax:s-.5,ymax:.5,spatialReference:new $.A({wkid:3857})});const x=(0,ue.V6)(e,"MRF_META/Rsets"),b=parseInt(x?.getAttribute("scale")||"2",10),I=w.spatialReference,C=new Ie.A({origin:new be.A({x:w.xmin,y:w.ymax,spatialReference:I}),blockWidth:f,blockHeight:h,pyramidBlockWidth:f,pyramidBlockHeight:h,compression:o,pyramidScalingFactor:b}),S=new be.A({x:w.width/s,y:w.height/r,spatialReference:I}),A=new Q.A({width:s,height:r,extent:w,isPseudoSpatialReference:v,spatialReference:I,bandCount:n,pixelType:c,pixelSize:S,noDataValue:d,storageInfo:C}),T=(0,ue.mX)(e,"datafile"),R=(0,ue.mX)(e,"IndexFile");return{rasterInfo:A,files:{mrf:this.url,index:R||this.url.replace(".mrf",".idx"),data:T||this.url.replace(".mrf",Fe.get(o).blobExtension)}}}async _fetchAuxiliaryData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return me(t)}catch{return null}}};(0,s.Cg)([(0,f.MZ)()],Pe.prototype,"_files",void 0),(0,s.Cg)([(0,f.MZ)()],Pe.prototype,"_storageIndex",void 0),(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],Pe.prototype,"datasetFormat",void 0),Pe=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.MRFRaster")],Pe);const ke=Pe;var De=i(15265);function Ne(e){const t=e.fields,i=e.records,s=t.some(e=>"oid"===e.name.toLowerCase())?"OBJECTID":"OID",r=[{name:s,type:"esriFieldTypeOID",alias:"OID"}].concat(t.map(e=>({name:e.name,type:"esriFieldType"+e.typeName,alias:e.name}))),n=r.map(e=>e.name),a=[];let o=0,l=0;return i.forEach(e=>{const t={};for(t[s]=o++,l=1;l<n.length;l++)t[n[l]]=e[l-1];a.push({attributes:t})}),{displayFieldName:"",fields:r,features:a}}class Le{static get supportedVersions(){return[5]}static parse(e){const t=new DataView(e),i=3&t.getUint8(0);if(3!==i)return{header:{version:i},recordSet:null};const s=t.getUint32(4,!0),r=t.getUint16(8,!0),n=t.getUint16(10,!0),a={version:i,recordCount:s,headerByteCount:r,recordByteCount:n};let o=32;const l=[],c=[];let u;if(3===i){for(;13!==t.getUint8(o);)u=String.fromCharCode(t.getUint8(o+11)).trim(),l.push({name:(0,De.w)(new Uint8Array(e,o,11)),type:u,typeName:["String","Date","Double","Boolean","String","Integer"][["C","D","F","L","M","N"].indexOf(u)],length:t.getUint8(o+16)}),o+=32;if(o+=1,l.length>0)for(;c.length<s&&e.byteLength-o>n;){const i=[];32===t.getUint8(o)?(o+=1,l.forEach(t=>{if("C"===t.type)i.push((0,De.w)(new Uint8Array(e,o,t.length)).trim());else if("N"===t.type)i.push(parseInt(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim(),10));else if("F"===t.type)i.push(parseFloat(String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim()));else if("D"===t.type){const s=String.fromCharCode.apply(null,new Uint8Array(e,o,t.length)).trim();i.push(new Date(parseInt(s.slice(0,4),10),parseInt(s.slice(4,6),10)-1,parseInt(s.slice(6,8),10)))}o+=t.length}),c.push(i)):o+=n}}return{header:a,fields:l,records:c,recordSet:Ne({fields:l,records:c})}}}var Ee=i(45664),Be=i(12196);const ze=(e,t)=>e.get(t)?.values,Je=(e,t)=>e.get(t)?.values?.[0];let $e=class extends B.A{constructor(){super(...arguments),this._files=null,this._headerInfo=null,this._bufferSize=1048576,this._chunkSize=10485760,this.datasetFormat="TIFF"}async fetchRawTile(e,t,i,s={}){if(!this._headerInfo?.isSupported||this.isBlockOutside(e,t,i))return null;const r=await this._fetchRawTiffTile(e,t,i,!1,s);if(null!=r&&this._headerInfo.hasMaskBand){const n=await this._fetchRawTiffTile(e,t,i,!0,s);null!=n&&n.pixels[0]instanceof Uint8Array&&(r.mask=n.pixels[0])}return r}async _open(e){const t=e?e.signal:null,{data:i}=await this.request(this.url,{range:{from:0,to:this._bufferSize},responseType:"array-buffer",signal:t});if(!i)throw new a.A("tiffraster:open","failed to open url "+this.url);this.datasetName=this.url.slice(this.url.lastIndexOf("/")+1,this.url.lastIndexOf("."));const{littleEndian:s,firstIFDPos:r,isBigTiff:n}=(0,Ee.uT)(i),l=[],c={fileChunk:i,posIFD:r,fileOffset:0};await this._readIFDs(l,c,s,n?8:4,t);const{imageInfo:u,rasterInfo:f}=function(e){const t=(0,Ee.uc)(e),{width:i,height:s,tileWidth:r,tileHeight:n,planes:a,pixelType:o,compression:l,firstPyramidLevel:c,maximumPyramidLevel:u,pyramidBlockWidth:f,pyramidBlockHeight:h,pyramidResolutions:p,tileBoundary:d,affine:m,metadata:g}=t;let y=pe(t.extent.spatialReference?.wkt||t.extent.spatialReference?.wkid),w=!!t.isPseudoGeographic;null==y&&(w=!0,y=new $.A({wkid:3857}));const v=new J.A({...t.extent,spatialReference:y}),x=new be.A(v?{x:v.xmin,y:v.ymax,spatialReference:y}:{x:0,y:0}),b=new Ie.A({blockWidth:r,blockHeight:n,pyramidBlockWidth:f,pyramidBlockHeight:h,compression:l,origin:x,firstPyramidLevel:c,maximumPyramidLevel:u,pyramidResolutions:p,blockBoundary:d}),I=new be.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/s,spatialReference:y}),C=g?{BandProperties:g.bandProperties,DataType:g.dataType}:{};let S=null;const A=Je(e[0],"PHOTOMETRICINTERPRETATION"),T=ze(e[0],"COLORMAP");if(A<=3&&T?.length>3&&T.length%3==0){S=[];const e=T.length/3;for(let t=0;t<e;t++)S.push([t,T[t]>>>8,T[t+e]>>>8,T[t+2*e]>>>8])}const R=new Q.A({width:i,height:s,bandCount:a,pixelType:o,pixelSize:I,storageInfo:b,spatialReference:y,isPseudoSpatialReference:w,keyProperties:C,extent:v,colormap:S,statistics:g?g.statistics:null});if(m?.length&&(R.nativeExtent=new J.A({xmin:-.5,ymin:.5-s,xmax:i-.5,ymax:.5,spatialReference:y}),R.transform=new fe.A({polynomialOrder:1,forwardCoefficients:[m[2]+m[0]/2,m[5]-m[3]/2,m[0],m[3],-m[1],-m[4]]}),R.extent=R.transform.forwardTransform(R.nativeExtent),R.pixelSize=new be.A({x:(v.xmax-v.xmin)/i,y:(v.ymax-v.ymin)/s,spatialReference:y}),b.origin.x=-.5,b.origin.y=.5),p){const{x:e,y:t}=R.pixelSize;p.forEach(i=>{i.x*=e,i.y*=t})}return{imageInfo:t,rasterInfo:R}}(l),h=(0,Ee.zS)(l),p=(0,Ee.r9)(l);if(this._headerInfo={littleEndian:s,isBigTiff:n,ifds:l,pyramidIFDs:h,maskIFDs:p,...u},this._set("rasterInfo",f),!u.isSupported)throw new a.A("tiffraster:open","this tiff is not supported: "+u.message);if(!u.tileWidth)throw new a.A("tiffraster:open","none-tiled tiff is not optimized for access, convert to COG and retry.");f.isPseudoSpatialReference&&o.A.getLogger(this).warn("The spatial reference for this tiff is unsupported. Only EPSG spatial reference codes and Esri WKTs are supported.");const d=l[0].get("PREDICTOR")?.values?.[0],m=l[0].get("SAMPLEFORMAT")?.values?.[0];if(3===m&&2===d)throw new a.A("tiffraster:open","unsupported horizontal difference encoding. Predictor=3 is supported for floating point data");const{skipMapInfo:g,skipExtensions:y=[]}=this.ioConfig;if(!y.includes("aux.xml")&&!g){const t=await this._fetchAuxiliaryMetaData(e);null!=t&&function(e,t){if(t.statistics=e.statistics??t.statistics,t.histograms=e.histograms,e.histograms&&null==t.statistics&&(t.statistics=(0,ie.Pg)(e.histograms)),e.transform&&null==t.transform){t.transform=e.transform,t.nativeExtent=t.extent;const i=t.transform.forwardTransform(t.nativeExtent);t.pixelSize=new be.A({x:(i.xmax-i.xmin)/t.width,y:(i.ymax-i.ymin)/t.height,spatialReference:t.spatialReference}),t.extent=i}t.isPseudoSpatialReference&&e.spatialReference&&(t.spatialReference=e.spatialReference,t.extent.spatialReference=t.nativeExtent.spatialReference=t.storageInfo.origin.spatialReference=t.spatialReference)}(t,f)}y.includes("vat.dbf")||1!==f.bandCount||"u8"!==f.pixelType||g||(f.attributeTable=await this._fetchAuxiliaryTable(e),null!=f.attributeTable&&(f.keyProperties.DataType="thematic")),g&&this.updateImageSpaceRasterInfo(f),this.updateTileInfo()}async _validateOrFetchHeaderBuffer(e,t){let{fileChunk:i,fileOffset:s,posIFD:r}=e;return(r+8>=i.byteLength||r<0)&&(s=r+s,i=(await this.request(this.url,{range:{from:s,to:s+this._bufferSize},responseType:"array-buffer",signal:t})).data,r=0),{fileChunk:i,fileOffset:s,posIFD:r}}async _readIFDs(e,t,i,s=4,r){if(!t.posIFD)return null;t=await this._validateOrFetchHeaderBuffer(t,r);const n=await this._readIFD(t,i,Be.NB,s,r);if(!n?.ifd)throw new a.A("tiffraster:open","cannot parse tiff header. failed to open url "+this.url);if(e.push(n.ifd),!n.nextIFD)return null;t.posIFD=n.nextIFD-t.fileOffset,await this._readIFDs(e,t,i,s,r)}async _readIFD(e,t,i=Be.NB,s=4,r){let{fileChunk:n,posIFD:a,fileOffset:o}=e;if(!e.fileChunk)return null;const l=(0,Ee.JM)(n,t,a,o,i,s);if(l.success){const e=[];if(l.ifd?.forEach(t=>{t.values||e.push(t)}),e.length>0&&await this._fillOffsets(e,t,l.nextIFD,r),l.ifd?.has("GEOKEYDIRECTORY")){const e=l.ifd.get("GEOKEYDIRECTORY"),i=e?.values;if(i&&i.length>4){const s=i[0]+"."+i[1]+"."+i[2];a=e.valueOffset+6-o;const l=await this._validateOrFetchHeaderBuffer({fileChunk:n,posIFD:a,fileOffset:o},r),c=await this._readIFD(l,t,Be.YC,2,r);e.data=c?.ifd,e.data&&e.data.set("GEOTIFFVersion",{id:0,type:2,valueCount:1,valueOffset:null,values:[s]})}}return l}return l.requiredBufferSize?(n=(await this.request(this.url,{range:{from:o,to:o+a+l.requiredBufferSize+8},responseType:"array-buffer",signal:r})).data,n.byteLength<a+l.requiredBufferSize?null:(e.fileChunk=n,e.fileOffset=o,this._readIFD(e,t,i,s,r))):null}async _fillOffsets(e,t,i,s){const r=e.filter(e=>null!=e.offlineOffsetSize);if(0===r.length)return;const n=r.map(e=>e.offlineOffsetSize),a=Math.min.apply(null,n.map(e=>e[0])),o=Math.max.apply(null,n.map(e=>e[0]+e[1]));let l=1===n.length||o-a<=this._bufferSize;if(!l&&n.length>1&&(n.sort((e,t)=>e[0]-t[0]),l=n.reduce((e,t)=>e===t[0]?t[0]+t[1]:0,n[0][0])===o),l){const e=await this._fetchOffsets(a,Math.max(o,a+this._bufferSize),s);return void r.forEach(i=>(0,Ee.Cr)(e,t,i,a))}const c=r.map(async e=>{const i=e.offlineOffsetSize,r=await this._fetchOffsets(i[0],i[1]+i[0],s);(0,Ee.Cr)(r,t,e,i[0])});await Promise.all(c)}async _fetchOffsets(e,t,i){const s=[],r=this._chunkSize,n=Math.ceil((t-e)/r);let a=e;for(let e=0;e<n;e++)s.push(this.request(this.url,{range:{from:a,to:e===n-1?t:a+r-1},responseType:"array-buffer",signal:i})),a+=r;const o=await Promise.all(s);if(1===n)return o[0].data;const l=new Uint8Array(t-e+1);for(let e=0;e<n;e++)l.set(new Uint8Array(o[e].data),e*r);return l.buffer}async _fetchRawTiffTile(e,t,i,s,r={}){const n=this._getTileLocation(e,t,i,s);if(!n)return null;const{ranges:a,actualTileWidth:o,actualTileHeight:l,ifd:c}=n,u=a.map(e=>this.request(this.url,{range:e,responseType:"array-buffer",signal:r.signal})),f=await Promise.all(u),h=f.map(e=>e.data.byteLength).reduce((e,t)=>e+t),p=1===f.length?f[0].data:new ArrayBuffer(h),d=[0],m=[0];if(f.length>1){const e=new Uint8Array(p);for(let t=0,i=0;t<f.length;t++){const s=f[t].data;e.set(new Uint8Array(s),i),d[t]=i,i+=s.byteLength,m[t]=s.byteLength}}const{blockWidth:g,blockHeight:y}=this.getBlockWidthHeight(e),w=await this.decodePixelBlock(p,{format:"tiff",customOptions:{headerInfo:this._headerInfo,ifd:c,offsets:d,sizes:m},width:g,height:y,planes:null,pixelType:null});if(null==w)return null;let v,x,b;if(o!==g||l!==y){let e=w.mask;if(e)for(v=0;v<y;v++)if(b=v*g,v<l)for(x=o;x<g;x++)e[b+x]=0;else for(x=0;x<g;x++)e[b+x]=0;else for(e=new Uint8Array(g*y),w.mask=e,v=0;v<l;v++)for(b=v*g,x=0;x<o;x++)e[b+x]=1}return w}_getTileLocation(e,t,i,s=!1){const{firstPyramidLevel:r,blockBoundary:n}=this.rasterInfo.storageInfo,a=0===e?0:e-(r-1),{_headerInfo:o}=this;if(!o)return null;const l=s?o.maskIFDs[a]:0===a?o?.ifds[0]:o?.pyramidIFDs[a-1];if(!l)return null;const c=(0,Ee.XO)(l,o),u=ze(l,"TILEOFFSETS");if(void 0===u)return null;const f=ze(l,"TILEBYTECOUNTS"),{minRow:h,minCol:p,maxRow:d,maxCol:m}=n[a];if(t>d||i>m||t<h||i<p)return null;const g=Je(l,"IMAGEWIDTH"),y=Je(l,"IMAGELENGTH"),w=Je(l,"TILEWIDTH"),v=Je(l,"TILELENGTH"),x=[];if(c){const{bandCount:e}=this.rasterInfo;for(let s=0;s<e;s++){const e=s*(d+1)*(m+1)+t*(m+1)+i;x[s]={from:u[e],to:u[e]+f[e]-1}}}else{const e=t*(m+1)+i;x.push({from:u[e],to:u[e]+f[e]-1})}for(let e=0;e<x.length;e++)if(null==x[e].from||!x[e].to||x[e].to<0)return null;return{ranges:x,ifd:l,actualTileWidth:i===m&&g%w||w,actualTileHeight:t===d&&y%v||v}}async _fetchAuxiliaryMetaData(e){try{const{data:t}=await this.request(this.url+".aux.xml",{responseType:"xml",signal:e?.signal});return me(t)}catch{return null}}async _fetchAuxiliaryTable(e){try{const{data:t}=await this.request(this.url+".vat.dbf",{responseType:"array-buffer",signal:e?.signal}),i=Le.parse(t);return i?.recordSet?ne.A.fromJSON(i.recordSet):null}catch{return null}}};(0,s.Cg)([(0,f.MZ)()],$e.prototype,"_files",void 0),(0,s.Cg)([(0,f.MZ)()],$e.prototype,"_headerInfo",void 0),(0,s.Cg)([(0,f.MZ)()],$e.prototype,"_bufferSize",void 0),(0,s.Cg)([(0,f.MZ)()],$e.prototype,"_chunkSize",void 0),(0,s.Cg)([(0,f.MZ)({type:String,json:{write:!0}})],$e.prototype,"datasetFormat",void 0),$e=(0,s.Cg)([(0,d.$)("esri.layers.support.rasterDatasets.TIFFRaster")],$e);const Ue=$e,je=new Map;je.set("MRF",{desc:"Meta Raster Format",constructor:ke}),je.set("TIFF",{desc:"GeoTIFF",constructor:Ue}),je.set("RasterTileServer",{desc:"Raster Tile Server",constructor:Oe}),je.set("JPG",{desc:"JPG Raster Format",constructor:we}),je.set("PNG",{desc:"PNG Raster Format",constructor:we}),je.set("GIF",{desc:"GIF Raster Format",constructor:we}),je.set("BMP",{desc:"BMP Raster Format",constructor:we}),je.set("CovJSON",{desc:"COVJSON Raster Format",constructor:oe}),je.set("MEMORY",{desc:"In Memory Raster Format",constructor:re});class qe{static get supportedFormats(){const e=new Set;return je.forEach((t,i)=>e.add(i)),e}static async open(e){const{url:t,ioConfig:i,source:s,sourceJSON:r}=e;let n=e.datasetFormat??i?.datasetFormat;null==n&&(t.includes(".")?n=t.slice(t.lastIndexOf(".")+1).toUpperCase():"coverage"===s?.type?.toLowerCase()?n="CovJSON":s?.extent&&s.pixelblocks&&(n="MEMORY")),"OVR"===n||"TIF"===n?n="TIFF":"JPG"===n||"JPEG"===n||"JFIF"===n?n="JPG":"COVJSON"===n&&(n="CovJSON"),t.toLowerCase().includes("/imageserver")&&!t.toLowerCase().includes("/wcsserver")&&(n="RasterTileServer");const o={url:t,source:s,sourceJSON:r,datasetFormat:n,ioConfig:i??{bandIds:null,sampling:null}};if(Object.keys(o).forEach(e=>{null==o[e]&&delete o[e]}),n){if(!this.supportedFormats.has(n))throw new a.A("rasterfactory:open","not a supported format "+n);if("CRF"===n)throw new a.A("rasterfactory:open",`cannot open raster: ${t}`);const i=new(0,je.get(n).constructor)(o);return await i.open({signal:e.signal}),i}const l=Array.from(je.keys()).filter(e=>"CovJSON"!==e&&"Memory"!==e);let c=0;const u=()=>{if(n=l[c++],!n)return null;if("CRF"===n)return null;const t=new(0,je.get(n).constructor)(o);return t.open({signal:e.signal}).then(()=>t).catch(()=>u())};return u()}static register(e,t,i){je.has(e.toUpperCase())||je.set(e.toUpperCase(),{desc:t,constructor:i})}}var Ve=i(6049),Ze=i(24212),He=i(30291),Ge=i(88625);let We=class extends((0,I.dM)((0,_.j)((0,A.q)((0,T.A)((0,O.H)((0,C.d)((0,S.o)((0,R.G)((0,F.e)((0,b.b)((0,M.J)((0,l.P)((0,n.OU)(x.A)))))))))))))){constructor(...e){super(...e),this._primaryRasters=[],this.graphicOrigin=new v(this),this.legendEnabled=!0,this.isReference=null,this.listMode="show",this.sourceJSON=null,this.version=null,this.type="imagery-tile",this.operationalLayerType="ArcGISTiledImageServiceLayer",this.popupEnabled=!0,this.popupTemplate=null,this.fields=null,this.source=void 0,this._debouncedSaveOperations=(0,c.sg)(async(e,t,s)=>{const{save:r,saveAs:n}=await i.e(9838).then(i.bind(i,59838));switch(e){case 0:return r(this,t);case 1:return n(this,s,t)}})}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"]},e).catch(c.QP).then(()=>this._openRaster(t))),Promise.resolve(this)}set elevationInfo(e){"relative-to-scene"!==e?.mode&&this._set("elevationInfo",e),this._validateElevationInfo(e)}get defaultPopupTemplate(){return this.createPopupTemplate()}get rasterFields(){const e=[(0,D.rZ)("Pixel Value"),(0,D.dy)("Raw Pixel Value")],t=this.raster?.rasterInfo??this.serviceRasterInfo,i=t?.attributeTable;if(i){const t=(0,D.jC)(i);e.push(...t)}const s=t?.dataType,r=t?.multidimensionalInfo;if(("vector-magdir"===s||"vector-uv"===s)&&null!=r){const t=r.variables[0].unit?.trim(),i=(0,D.DV)(t),s=(0,D.y6)();e.push(i,s)}if(r){const t=(0,D.AL)(r);e.push(...t)}return e}get renderer(){return super.renderer}set renderer(e){super.renderer=e}createPopupTemplate(e){const{rasterFields:t}=this,i=e?.visibleFieldNames??new Set(t.map(({name:e})=>e).filter(e=>e!==D.F_.rawServicePixelValue)),s=(0,He.tn)({fields:t,title:this.title},{...e,visibleFieldNames:i}),{rasterInfo:r}=this.raster;return s?.fieldInfos&&r&&(0,D.h4)(s.fieldInfos,r),s}async generateRasterInfo(e,t){if(e=(0,h.PZ)(N.A,e),await this.load(),!e||"none"===e.functionName?.toLowerCase())return this.serviceRasterInfo;try{const{rasterInfo:i}=await this._openFunctionRaster(e,t);return i}catch(e){if(e instanceof a.A)throw e;throw new a.A("imagery-tile-layer","the given raster function is not supported")}}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}write(e,t){const i=this._primaryRasters[0]??this.raster;if(this.loaded?"RasterTileServer"===i.datasetFormat&&("Raster"===i.tileType||"Map"===i.tileType):this.url&&/\/ImageServer(\/|\/?$)/i.test(this.url))return super.write(e,t);if(t?.messages){const e=`${t.origin}/${t.layerContainerType||"operational-layers"}`;t.messages.push(new a.A("layer:unsupported",`Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,{layer:this}))}return null}async _openRaster(e){let t=!1;if(this.raster)await this._openFromRaster(this.raster,e),t=(0,L.q)(this.raster),!t&&this.rasterFunction&&(this._primaryRasters=[this.raster],await this._initializeWithFunctionRaster(this.rasterFunction));else{const{url:t,rasterFunction:i,source:s}=this;if(!t&&!s)throw new a.A("imagery-tile-layer:open","missing url or source parameter");s?await this._openFromSource(s,e):i?await this._openFromUrlWithRasterFunction(t,i,e):await this._openFromUrl(t,e)}const i=this.raster.rasterInfo;if(!i)throw new a.A("imagery-tile-layer:load","cannot load resources on "+this.url);if(this._set("serviceRasterInfo",t?i:this._primaryRasters[0].rasterInfo),this._set("spatialReference",i.spatialReference),this.sourceJSON=this.sourceJSON||this.raster.sourceJSON,null!=this.sourceJSON){const e="Map"===this.raster.tileType&&null!=this.sourceJSON.minLOD&&null!=this.sourceJSON.maxLOD?this.sourceJSON:{...this.sourceJSON,minScale:0,maxScale:0};this.read(e,{origin:"service"})}else this.read({tileInfo:this.serviceRasterInfo?.storageInfo.tileInfo.toJSON()},{origin:"service"});this.title||(this.title=this.raster.datasetName),"Map"===this.raster.tileType&&(this.popupEnabled=!1),this._configDefaultSettings(),this.addHandles((0,u.wB)(()=>this.customParameters,e=>{this.raster&&(this.raster.ioConfig.customFetchParameters=e)}))}async _openFromRaster(e,t){e.rasterInfo||await e.open({signal:t}),this._primaryRasters=(0,L.p)(e),this.url||(this.url=this._primaryRasters[0].url)}async _openFromUrlWithRasterFunction(e,t,i){const s=[e];t&&(0,Ve.UD)(t.toJSON(),s);const r=await Promise.all(s.map(e=>qe.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:i}))),n=r.findIndex(e=>null==e);if(n>-1)throw new a.A("imagery-tile-layer:open",`cannot open raster: ${s[n]}`);return this._primaryRasters=r,this._initializeWithFunctionRaster(t)}async _openFromUrl(e,t){const i=await qe.open({url:e,sourceJSON:this.sourceJSON,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==i)throw new a.A("imagery-tile-layer:open",`cannot open raster: ${e}`);this._primaryRasters=[i],this.raster=i}async _openFromSource(e,t){const i="the tiled imagery data source is not supported",s="coverage"===e.type?.toLowerCase()?"CovJSON":e.extent&&e.pixelBlock?"MEMORY":null;if(!s)throw new a.A("imagery-tile-layer:open",i);"MEMORY"===s&&(e={...e,pixelBlock:void 0,pixelBlocks:[e.pixelBlock]});const r=await qe.open({url:"",source:e,datasetFormat:s,ioConfig:{sampling:"closest",...this.ioConfig,customFetchParameters:this.customParameters},signal:t});if(null==r)throw new a.A("imagery-tile-layer:open",i);this._primaryRasters=[r],this.rasterFunction?await this._initializeWithFunctionRaster(this.rasterFunction):this.raster=r}async _openFunctionRaster(e,t){const i={raster:this._primaryRasters[0]};this._primaryRasters.length>1&&this._primaryRasters.forEach(e=>i[e.url]=e);const s=(0,Ve.vt)(e.functionDefinition?.toJSON()??e.toJSON(),i),r=new E.A({rasterFunction:s});return await r.open(t),r}async _initializeWithFunctionRaster(e,t){try{this.raster=await this._openFunctionRaster(e,t)}catch(e){e instanceof a.A&&o.A.getLogger(this).error("imagery-tile-layer:open",e.message),o.A.getLogger(this).warn("imagery-tile-layer:open","the raster function cannot be applied and is removed"),this._set("rasterFunction",null),this.raster=this._primaryRasters[0]}}_validateElevationInfo(e){(0,Ze.XF)(o.A.getLogger(this),(0,Ze.$7)("ImageryTile layers","relative-to-scene",e)),(0,Ze.XF)(o.A.getLogger(this),(0,Ze.tW)("ImageryTile layers",e))}};(0,s.Cg)([(0,f.MZ)({clonable:!1})],We.prototype,"_primaryRasters",void 0),(0,s.Cg)([(0,f.MZ)({type:Ge.A,value:null,json:{name:"layerDefinition.elevationInfo",write:!0,origins:{"portal-item":{read:!1,write:!1},"web-map":{read:!1,write:!1}}}})],We.prototype,"elevationInfo",null),(0,s.Cg)([(0,f.MZ)({readOnly:!0,clonable:!1})],We.prototype,"graphicOrigin",void 0),(0,s.Cg)([(0,f.MZ)(P.fV)],We.prototype,"legendEnabled",void 0),(0,s.Cg)([(0,f.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],We.prototype,"isReference",void 0),(0,s.Cg)([(0,f.MZ)({type:["show","hide"]})],We.prototype,"listMode",void 0),(0,s.Cg)([(0,f.MZ)({json:{read:!0,write:!0}})],We.prototype,"blendMode",void 0),(0,s.Cg)([(0,f.MZ)({type:N.A,json:{name:"renderingRule",write:!0}})],We.prototype,"rasterFunction",void 0),(0,s.Cg)([(0,f.MZ)()],We.prototype,"sourceJSON",void 0),(0,s.Cg)([(0,f.MZ)({readOnly:!0,json:{origins:{service:{read:{source:"currentVersion"}}}}})],We.prototype,"version",void 0),(0,s.Cg)([(0,f.MZ)({readOnly:!0,json:{read:!1}})],We.prototype,"type",void 0),(0,s.Cg)([(0,f.MZ)({type:["ArcGISTiledImageServiceLayer"]})],We.prototype,"operationalLayerType",void 0),(0,s.Cg)([(0,f.MZ)({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,t)=>!t.disablePopup},write:{target:"disablePopup",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}},writer(e,t,i){t[i]=!e}}}})],We.prototype,"popupEnabled",void 0),(0,s.Cg)([(0,f.MZ)({type:r.A,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType}}}}})],We.prototype,"popupTemplate",void 0),(0,s.Cg)([(0,f.MZ)({readOnly:!0})],We.prototype,"defaultPopupTemplate",null),(0,s.Cg)([(0,f.MZ)({readOnly:!0,type:[k.A]})],We.prototype,"fields",void 0),(0,s.Cg)([(0,f.MZ)({readOnly:!0,type:[k.A]})],We.prototype,"rasterFields",null),(0,s.Cg)([(0,f.MZ)({constructOnly:!0})],We.prototype,"source",void 0),We=(0,s.Cg)([(0,d.$)("esri.layers.ImageryTileLayer")],We);const Xe=We},56551:(e,t,i)=>{i.d(t,{H:()=>h});var s=i(31635),r=i(10107),n=(i(44208),i(53966),i(87811),i(40608)),a=i(69540),o=i(25482),l=i(56507),c=i(93223),u=i(94359);let f=class extends((0,a.OU)(o.o)){constructor(e){super(e),this.name=void 0,this.method="none",this.value=void 0,this.bandIds=void 0,this.renderer=void 0}};(0,s.Cg)([(0,r.MZ)({type:String,json:{write:{isRequired:!0}}})],f.prototype,"name",void 0),(0,s.Cg)([(0,r.MZ)({type:["raster-function-template","variable","none"],json:{write:{isRequired:!0}}}),(0,c.e)({rasterFunctionTemplate:"raster-function-template",variable:"variable",none:"none"})],f.prototype,"method",void 0),(0,s.Cg)([(0,r.MZ)({type:String,json:{write:{isRequired:!0}}})],f.prototype,"value",void 0),(0,s.Cg)([(0,r.MZ)({type:[l.jz],json:{write:{isRequired:!0}}})],f.prototype,"bandIds",void 0),(0,s.Cg)([(0,r.MZ)({types:u.uy,json:{write:!0,origins:{"web-scene":{types:u.Gj,write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],f.prototype,"renderer",void 0),f=(0,s.Cg)([(0,n.$)("esri.renderers.support.RasterPresetRenderer")],f);const h=e=>{const t=e;let i=class extends t{constructor(){super(...arguments),this.activePresetRendererName=null,this.presetRenderers=null}};return(0,s.Cg)([(0,r.MZ)({type:String,json:{name:"layerDefinition.activePresetRendererName",write:{allowNull:!0}}})],i.prototype,"activePresetRendererName",void 0),(0,s.Cg)([(0,r.MZ)({type:[f],json:{name:"layerDefinition.presetRenderers",write:!0}})],i.prototype,"presetRenderers",void 0),i=(0,s.Cg)([(0,n.$)("esri.layers.mixins.RasterPresetRendererMixin")],i),i}},69397:(e,t,i)=>{i.d(t,{$B:()=>r,Qf:()=>c,Qh:()=>o,RS:()=>n,ez:()=>h,lM:()=>a,qK:()=>f});var s=i(34275);function r(e){return 32+e.length}const n=16;function a(e){if(!e)return 0;let t=f;for(const i in e)e.hasOwnProperty(i)&&(t+=l(e[i],!1));return t}function o(e){if(!e)return 0;if("number"==typeof e[0])return c(e);if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let i=h;for(let s=0;s<t;s++)i+=l(e[s]);return i}(e);let t=f;for(const i in e)e.hasOwnProperty(i)&&(t+=l(e[i]));return t}function l(e,t=!0){switch(typeof e){case"object":return t?o(e):f;case"string":return r(e);case"number":return n;case"boolean":return 4;default:return 8}}function c(...e){return e.reduce((e,t)=>e+(t?(0,s.iu)(t)?t.byteLength+p:Array.isArray(t)?u(t,n):0:0),0)}function u(e,t){return h+e.length*t}const f=32,h=16,p=145},73037:(e,t,i)=>{i.d(t,{A:()=>c});var s,r=i(31635),n=i(10107),a=(i(44208),i(53966),i(87811),i(93223)),o=i(40608),l=i(82434);let c=s=class extends l.A{constructor(){super(...arguments),this.type="gcs-shift",this.tolerance=1e-8}forwardTransform(e){return"point"===(e=e.clone()).type?(e.x>180+this.tolerance&&(e.x-=360),e):(e.xmin>=180-this.tolerance?(e.xmax-=360,e.xmin-=360):e.xmax>180+this.tolerance&&(e.xmin=-180,e.xmax=180),e)}inverseTransform(e){return"point"===(e=e.clone()).type?(e.x<-this.tolerance&&(e.x+=360),e):(e.xmin<-this.tolerance&&(e.xmin+=360,e.xmax+=360),e)}clone(){return new s({tolerance:this.tolerance})}};(0,r.Cg)([(0,a.e)({GCSShiftXform:"gcs-shift"})],c.prototype,"type",void 0),(0,r.Cg)([(0,n.MZ)()],c.prototype,"tolerance",void 0),c=s=(0,r.Cg)([(0,o.$)("esri.layers.support.rasterTransforms.GCSShiftTransform")],c)},82371:(e,t,i)=>{i.d(t,{E9:()=>d,Tw:()=>h,X6:()=>p});var s=i(78888),r=i(5443),n=i(86738),a=i(16930),o=i(87186),l=i(20223),c=i(2272),u=i(22671);async function f(e,t,i){const f=(0,c.Dl)(e),{rasterFunction:h,sourceJSON:p}=t||{},d=h?JSON.stringify(h.rasterFunctionDefinition||h):null,m=(0,c.lF)({...f.query,renderingRule:d,f:"json"}),g=(0,c.jV)(m,i);e=f.path;const y=p||await(0,s.A)(e,g).then(e=>e.data),w=y.hasRasterAttributeTable?(0,s.A)(`${e}/rasterAttributeTable`,g):null,v=y.hasColormap?(0,s.A)(`${e}/colormap`,g):null,x=y.hasHistograms?(0,s.A)(`${e}/histograms`,g):null,b=y.currentVersion>=10.3?(0,s.A)(`${e}/keyProperties`,g):null,I=y.hasMultidimensions?(0,s.A)(`${e}/multidimensionalInfo`,g):null,C=await Promise.allSettled([w,v,x,b,I]);let S=null;if(y.minValues&&y.minValues.length===y.bandCount){S=[];for(let e=0;e<y.minValues.length;e++)S.push({min:y.minValues[e],max:y.maxValues[e],avg:y.meanValues[e],stddev:y.stdvValues[e]})}const A=r.A.fromJSON(y.extent),T=Math.ceil(A.width/y.pixelSizeX-.1),R=Math.ceil(A.height/y.pixelSizeY-.1),O=a.A.fromJSON(y.spatialReference||y.extent.spatialReference),M="fulfilled"===C[0].status?C[0].value?.data:null,_=M?.features?.length?u.A.fromJSON(M):null,F="fulfilled"===C[1].status?C[1].value?.data.colormap:null,P=F?.length?F:null,k="fulfilled"===C[2].status?C[2].value?.data.histograms:null,D=k?.[0]?.counts?.length?k:null,N="fulfilled"===C[3].status?C[3].value?.data??{}:{},L="fulfilled"===C[4].status?C[4].value?.data.multidimensionalInfo:null,E=L?.variables?.length?L:null;E&&E.variables.forEach(e=>{e.statistics?.length&&e.statistics.forEach(e=>{e.avg=e.mean,e.stddev=e.standardDeviation}),e.dimensions?.forEach(e=>{"StdTime"!==e.name||e.recurring||e.unit||(e.unit="ISO8601")})});const{defaultVariable:B,serviceDataType:z}=y;B&&B!==N.DefaultVariable&&(N.DefaultVariable=B),z?.includes("esriImageServiceDataTypeVector")&&!z.includes(N.DataType)&&(N.DataType=z.replace("esriImageServiceDataType",""));let J=y.noDataValue;y.noDataValues?.length&&y.noDataValues.some(e=>e!==J)&&(J=y.noDataValues);const $=y.transposeInfo?new l.A({blockWidth:256,blockHeight:256,pyramidBlockWidth:256,pyramidBlockHeight:256,pyramidScalingFactor:2,compression:"lerc",origin:new n.A({x:y.extent.xmin,y:y.extent.ymax,spatialReference:O}),firstPyramidLevel:1,maximumPyramidLevel:Math.max(0,Math.round(Math.log(Math.max(T,R))/Math.LN2-8)),transposeInfo:y.transposeInfo}):void 0;return new o.A({width:T,height:R,bandCount:y.bandCount,extent:r.A.fromJSON(y.extent),spatialReference:O,pixelSize:new n.A({x:y.pixelSizeX,y:y.pixelSizeY,spatialReference:O}),pixelType:y.pixelType.toLowerCase(),statistics:S,attributeTable:_,colormap:P,histograms:D,keyProperties:N,noDataValue:J,multidimensionalInfo:E,storageInfo:$})}function h(e,t,i){return f(e,{sourceJSON:t},i)}function p(e,t,i){return f(e,{rasterFunction:t},i)}function d(e,t){e.attributeTable||(t.hasRasterAttributeTable=!1),e.histograms||(t.hasHistograms=!1),e.colormap||(t.hasColormap=!1),e.multidimensionalInfo||(t.hasMultidimensions=!1)}},82434:(e,t,i)=>{i.d(t,{A:()=>o});var s=i(31635),r=i(25482),n=i(10107),a=(i(44208),i(53966),i(87811),i(40608));let o=class extends r.o{get affectsPixelSize(){return!1}forwardTransform(e){return e}inverseTransform(e){return e}};(0,s.Cg)([(0,n.MZ)()],o.prototype,"affectsPixelSize",null),(0,s.Cg)([(0,n.MZ)({json:{write:!0}})],o.prototype,"spatialReference",void 0),o=(0,s.Cg)([(0,a.$)("esri.layers.support.rasterTransforms.BaseRasterTransform")],o)}}]);
|