@arcgis/core 5.1.0-next.32 → 5.1.0-next.33
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/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{ad9194335902c687bb96.js → 48968fb9e103ee6c3579.js} +1 -1
- package/assets/esri/core/workers/chunks/{965b8fa54d0cfafd4a70.js → 5b22245bf02f839d79e3.js} +1 -1
- package/assets/esri/core/workers/chunks/{7948d6f14ae44d346d88.js → 5cb4cd1cc6c21f69b925.js} +1 -1
- package/assets/esri/core/workers/chunks/{7411ca5e1876aaa0228e.js → 6ba87ebb1c8c5f1d4798.js} +1 -1
- package/assets/esri/core/workers/chunks/{e3fe1db9380633292b27.js → 746b3e98bad32c366a27.js} +1 -1
- package/assets/esri/core/workers/chunks/{01e4cc34be6265843258.js → 8109476a7b1039d424ab.js} +1 -1
- package/assets/esri/core/workers/chunks/{75cde632887a95ea20f2.js → 91e9337bef87ada2e05c.js} +1 -1
- package/assets/esri/core/workers/chunks/{942e4d69b140bc2f97c9.js → 938125c024e1524a57e6.js} +1 -1
- package/assets/esri/core/workers/chunks/{17078f4ab1b3e33c80b4.js → ab679e5d76d70a1672af.js} +1 -1
- package/assets/esri/core/workers/chunks/{85f309c1888c1c8411b1.js → ba477072b1d1d3b5f78b.js} +1 -1
- package/assets/esri/core/workers/chunks/{ca700e9e1bced9f99899.js → bfdfa737f8e7b0bee417.js} +1 -1
- package/assets/esri/core/workers/chunks/{af601eb8c938c0720406.js → c2c339b2df1c4466f4d4.js} +1 -1
- package/assets/esri/core/workers/chunks/{c24ce19ab8580364c703.js → cc69e61d6a7c220e3dd8.js} +2 -2
- package/assets/esri/core/workers/chunks/{19722dfef06028ab399b.js → cf045900f179210f22d2.js} +1 -1
- package/assets/esri/core/workers/chunks/{e9dd60d0220036545ebb.js → d22cc7d485c032181bbc.js} +1 -1
- package/assets/esri/core/workers/chunks/{ba067547ec094ad13904.js → da60a6df2f7858a2910e.js} +1 -1
- package/assets/esri/core/workers/chunks/{7ddb11a127b9458e9eac.js → f104d83b7b31a16908ee.js} +1 -1
- package/assets/esri/core/workers/chunks/{29687aae97dc01f33fa6.js → f7e66295401b85e2c91d.js} +1 -1
- package/assets/esri/core/workers/chunks/{3ca7f5cedf3cb747c0cf.js → fa62d43ccf5cb991dddd.js} +1 -1
- package/config.js +1 -1
- package/kernel.js +1 -1
- package/package.json +3 -3
- package/support/revision.js +1 -1
- package/views/2d/engine/flow/dataUtils.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/3d/analysis/Slice/SliceTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
- package/views/3d/interactive/manipulators/ResizeManipulator.js +2 -0
- package/views/3d/interactive/manipulators/RotateManipulator.js +2 -0
- package/views/3d/interactive/manipulators/ShiftManipulator.js +2 -0
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/draw/Draw.d.ts +37 -16
- package/views/interactive/coordinateHelper.js +1 -1
- package/views/support/flow/dataUtils.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/views/3d/analysis/Slice/ResizeManipulator.js +0 -2
- package/views/3d/analysis/Slice/RotateManipulator.js +0 -2
- package/views/3d/analysis/Slice/ShiftManipulator.js +0 -2
- /package/assets/esri/core/workers/chunks/{c24ce19ab8580364c703.js.LICENSE.txt → cc69e61d6a7c220e3dd8.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2806],{82806(e,t,i){i.d(t,{b:()=>T});var r=i(5482),n=i(11254),s=i(49186),a=i(53966),o=i(91429),l=i(56507),c=i(86738),u=i(16930),d=i(21325),h=i(7548),m=i(23636),p=i(4366),f=i(34930),y=i(99235),g=i(37373),R=i(51927),b=i(60694),w=i(10873),x=i(45617),I=i(43577),F=i(13868),v=i(22796),S=i(69409),_=i(87045),C=i(12711),J=i(85676),A=i(94359),D=i(22048),P=i(49410),M=i(34606),H=i(29127),N=i(93223),k=i(36005);const T=e=>{const t=e;let T=class extends t{constructor(...e){super(...e),this._draRasterConfig=null,this._isConstructedFromFunctionRaster=!1,this.bandIds=null,this.copyright=null,this.interpolation=null,this.multidimensionalSubset=null,this.raster=null,this.serviceRasterInfo=null,this.sourceJSON=null,this.spatialReference=null,this.symbolizer=null,this._isConstructedFromFunctionRaster=(0,h.qg)(e[0]?.raster)}destroy(){this._draRasterConfig?.rasterJobHandler?.destroy(),this._shutdownJobHandler()}get fullExtent(){return this.serviceRasterInfo?.extent}set multidimensionalDefinition(e){this._set("multidimensionalDefinition",e),this.updateRenderer()}set rasterFunction(e){"none"===e?.functionName?.toLowerCase()&&(e=void 0),this._set("rasterFunction",e),this.updateRasterFunction()}set url(e){this._set("url",(0,b.Jf)(e,a.A.getLogger(this)))}get renderer(){if("imagery-tile"!==this.type)return this.internalRenderer;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){"imagery-tile"===this.type&&(this.activePresetRendererName=null),this.internalRenderer=e}set internalRenderer(e){null==e&&null==this.rasterFunction?this._configDefaultRenderer("override"):(this._set("internalRenderer",e),this.updateRenderer())}readRenderer(e,t,i){const r=t?.layerDefinition?.drawingInfo?.renderer;return(0,A.LF)(r,i)||void 0}async computeStatisticsHistograms(e,t){await this.load(t),e=(0,l.PZ)(D.A,e).clone();const{serviceRasterInfo:i}=this;if(null==i)throw new s.A("imagery-tile-mixin:compute-statistics-histograms","serviceRasterInfo must be specified");const{geometry:r}=e;if(null==r)throw new s.A("imagery-tile-mixin:compute-statistics-histograms","geometry must be specified");let n=r;const{spatialReference:a}=i;if(!r.spatialReference.equals(a)){await(0,g.Hh)();const e="extent"===r.type?(0,g._l)(r,a):(0,g.uk)(r,a);if(null==e)throw new s.A("imagery-tile-mixin:compute-statistics-histograms","geometry cannot be projected to the data source");n=e}const o=e.pixelSize??new c.A({x:i.pixelSize.x,y:i.pixelSize.y,spatialReference:a}),{extent:u,width:d,height:h}=(0,f.b7)(i,n,o),m=await this.fetchPixels(u,d,h,{...t,interpolation:"nearest"});if(null==m.pixelBlock)throw new s.A("imagery-tile-mixin:compute-statistics-histograms","failed to fetch pixels");const p=await(0,f.$Q)(m.pixelBlock,u,n),y=this._rasterJobHandler;return y?y.computeStatisticsHistograms({pixelBlock:p},t):(0,R.eH)(p)}normalizeRasterFetchOptions(e){const{multidimensionalInfo:t}=this.serviceRasterInfo??{};if(null==t)return e;const i=(0,p.XU)({rasterInfo:this.raster.rasterInfo,multidimensionalDefinition:e.multidimensionalDefinition||this.multidimensionalDefinition,timeExtent:e.timeExtent??this.timeExtent,multidimensionalSubset:this.multidimensionalSubset});return{...e,multidimensionalDefinition:i,timeExtent:void 0}}async updateRasterFunction(){return this.loaded&&"imagery-tile"===this.type&&(this.rasterFunction||this._cachedRasterFunctionJson)&&JSON.stringify(this.rasterFunction)!==JSON.stringify(this._cachedRasterFunctionJson)?(this._cachedRasterFunctionJson=this.rasterFunction?.toJSON(),this._rasterFunctionUpdatePromise=this._updateRasterFunction(),this._rasterFunctionUpdatePromise):this._rasterFunctionUpdatePromise}async updateRenderer(){const{loaded:e,symbolizer:t,renderer:i}=this;if(!e||!t||!i)return;const{rasterInfo:r}=this.raster,n=(0,p.ct)(r,{multidimensionalDefinition:this.multidimensionalDefinition,multidimensionalSubset:this.multidimensionalSubset}),s=n?.name,a=(0,C.m7)(r,s);return this._updateSymbolizer(t,i,s,a)}async applyRenderer(e,t,i){const r=e?.pixelBlock;if(!(null!=r&&r.pixels&&r.pixels.length>0))return null;await this.updateRenderer();const n=this.bandIds??[],{pixelBlock:s}=await this._symbolize({pixelData:e,simpleStretchParams:t,bandIds:n,symbolizer:this.symbolizer},i);return s}getRawDisplayBandIds(){let{bandIds:e,raster:t}=this;if(this.rasterFunction&&(0,h.qg)(t)){const i=t.rasterFunction.rawInputBandIds;e=e?.length&&i?.length&&1!==t.rasterInfo.bandCount?e.map(e=>i[Math.min(e,i.length-1)]):i}return e&&e.length>3&&e.every((e,t)=>e===t)?null:e}getTileUrl(e,t,i){return"RasterTileServer"===this.raster.datasetFormat?`${this.url}/tile/${e}/${t}/${i}`:""}getCompatibleTileInfo(e,t,i=!1){if(!this.loaded||null==t)return null;if(i&&e.equals(this.spatialReference))return this.tileInfo;const r=(0,d.Vp)(e);return _.A.create({size:256,spatialReference:e,origin:r?{x:r.origin[0],y:r.origin[1]}:{x:t.xmin,y:t.ymax}})}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent?.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}async fetchTile(e,t,i,r={}){if(z(this),r.requestAsImageElement){const s=this.getTileUrl(e,t,i);return(0,n.A)(s,{responseType:"image",query:{...this.refreshParameters,...this.raster.ioConfig.customFetchParameters},signal:r.signal}).then(e=>e.data)}const{serviceRasterInfo:s}=this;if(null!=s.multidimensionalInfo&&null==(r=this.normalizeRasterFetchOptions(r)).multidimensionalDefinition){const n=r.tileInfo||s.storageInfo.tileInfo,a=this.raster.getTileExtentFromTileInfo(e,t,i,n);if(a)return{extent:a,pixelBlock:null}}return await this._initJobHandler(),await this.updateRasterFunction(),"raster-shaded-relief"===this.renderer?.type&&(r={...r,buffer:{cols:1,rows:1}}),r={...r,refreshParameters:this.refreshParameters},this.raster.fetchTile(e,t,i,r)}async fetchPixels(e,t,i,r={}){if(null!=this.serviceRasterInfo.multidimensionalInfo&&null==(r=this.normalizeRasterFetchOptions(r)).multidimensionalDefinition)return{extent:e,pixelBlock:null};await this._initJobHandler(),await this.updateRasterFunction(),t=Math.round(t),i=Math.round(i);const n=await this.raster.fetchPixels(e,t,i,r);return r.bandIds?.length&&!this.raster.rasterInfo.storageInfo.isBsqTile&&(n.pixelBlock=n.pixelBlock?.extractBands(r.bandIds)),n}async getSamples(e,t){await this.load();const i=(0,l.PZ)(M.A,e).clone();if(i.interpolation&&"nearest"!==i.interpolation)throw new s.A("imagery-tile-mixin:get-samples","only nearest interpolation is currently supported");const r=i.mosaicRule?.multidimensionalDefinition,n={...t,multidimensionalDefinition:r},a=(await this._getSampleLocations(i)).map(e=>this.identify(e,n).then(t=>(t.location=e,t))),o=(await Promise.all(a)).flatMap((e,t)=>this._convertRasterIdentifyResultToSample(e,t));return new H.A({samples:o})}async identify(e,t={}){await this.load();const i=(0,l.PZ)(c.A,e).clone().normalize(),{raster:r,serviceRasterInfo:n}=this;if(null!=n?.multidimensionalInfo&&(!n.hasMultidimensionalTranspose||!(0,p.DY)(t.multidimensionalDefinition)&&!t.transposedVariableName)&&null==(t=this.normalizeRasterFetchOptions(t)).multidimensionalDefinition)return{location:i,value:null};const a=this.multidimensionalSubset?.areaOfInterest;if(a&&!a.contains(i))throw new s.A("imagery-tile-mixin:identify","the request cannot be fulfilled when falling outside of the multidimensional subset");let o;if(this.serviceRasterInfo?.storageInfo.isBsqTile){const e=(0,h.qg)(r)?this.getRawDisplayBandIds():this.bandIds;o=e?.length?e:void 0}return r.identify(i,{...t,bandIds:o})}hasStandardTime(){const e=this.serviceRasterInfo?.multidimensionalInfo;if(null==e||"standard-time"!==this.serviceRasterInfo?.dataType)return!1;const t=this.multidimensionalDefinition,i=t?.[0]?.variableName;return e.variables.some(e=>e.name===i&&(!t?.[0].dimensionName||e.dimensions.some(e=>"StdTime"===e.name)))}getStandardTimeValue(e){return new Date((0,p.$E)(e)).toISOString()}getMultidimensionalSubsetVariables(e){const t=e??this.serviceRasterInfo?.multidimensionalInfo;return(0,p.z2)(this.multidimensionalSubset,t)}async getDynamicRangeInputRaster(){if(!this.rasterFunction||!(0,h.qg)(this.raster)||!this._cachedRasterFunctionJson)return null;const e=JSON.stringify(this._cachedRasterFunctionJson);if(this._draRasterConfig?.functionJson===e)return this._draRasterConfig;const t=this.raster.rasterFunction.queryRasterFunction(e=>"Stretch"===e.functionName&&e.functionArguments.dynamicRangeAdjustment);if(!t)return null;const i=t.toJSON(),r=this.raster.primaryRasters.rasters,n=t.functionArguments.raster,s=i.rasterFunctionArguments;if(!n||"object"!=typeof n||!("functionName"in n))return this._draRasterConfig={functionJson:e,raster:r[0],functionArguments:s,rasterJobHandler:this._draRasterConfig?.rasterJobHandler},this._draRasterConfig;const a={raster:r[0]};r.length>1&&r.forEach(e=>a[e.url]=e);const o=(0,y.vt)(n.toJSON(),a),l=new m.A({rasterFunction:o});await l.open();let c=this._draRasterConfig?.rasterJobHandler;try{c||(c=new S.A,await c.initialize()),l.rasterJobHandler=c,await l.syncJobHandler()}catch{}return this._draRasterConfig={functionJson:e,raster:l,functionArguments:s,rasterJobHandler:c},this._draRasterConfig}_configDefaultSettings(){this._configDefaultInterpolation(),this.multidimensionalDefinition||(this.multidimensionalDefinition=(0,p.fy)(this.raster.rasterInfo,{multidimensionalSubset:this.multidimensionalSubset})),this.rasterFunction&&(0,h.qg)(this.raster)&&(this._cachedRasterFunctionJson=this.rasterFunction.toJSON()),this._configDefaultRenderer()}async _initJobHandler(){if(!this._rasterJobHandler)return super._initJobHandler().then(async()=>{if(!this._rasterJobHandler)return;z(this);const{raster:e}=this;e.rasterJobHandler=this._rasterJobHandler,(0,h.qg)(e)&&e.syncJobHandler(),this.rasterFunction&&await this.updateRasterFunction().catch(()=>{}),this.renderer&&this.updateRenderer()}).catch(()=>{})}_shutdownJobHandler(){super._shutdownJobHandler(),this.raster&&(this.raster.rasterJobHandler=null)}async _getSampleLocations(e){const{geometry:t}=e;if("point"===t.type)return[t];const{spatialReference:r,type:n}=t;if("multipoint"===n)return t.points.map(e=>new c.A({x:e[0],y:e[1],spatialReference:r}));if("polyline"===n){let n=t;if(e.sampleCount||e.sampleDistance){const r=await Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(2261)]).then(i.bind(i,88411)),s=(await Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(2174)]).then(i.bind(i,965))).execute(t,{unit:"meters"}),a=Math.min(e.sampleCount||100,1e3);let o=e.sampleDistance;o||(o=s/(a+(2===n.paths[0].length?1:0))),n=r.execute(t,o,{unit:"meters"})}return n.paths.flatMap(e=>e.map(e=>new c.A({x:e[0],y:e[1],spatialReference:r})))}const s=Math.min(e.sampleCount||100,1e3),a="extent"===t.type,o=a?t:t.extent,l=Math.sqrt(o.width*o.height/s),u=o.height/l,d=o.width/l,{xmin:h,ymax:m}=o,p=[];for(let e=0;e<u;e++)for(let i=0;i<d;i++){const n=new c.A({x:h+(i+.5)*l,y:m-(e+.5)*l,spatialReference:r});(a||t.contains(n))&&p.push(n)}return p}_configDefaultInterpolation(){if(null==this.interpolation){z(this);const{raster:e}=this,t=(0,C.w6)(e.rasterInfo,e.tileType,this.sourceJSON?.defaultResamplingMethod);this._set("interpolation",t)}}_configDefaultRenderer(e="no"){z(this);const{rasterInfo:t}=this.raster,i=(0,p.ct)(t,{multidimensionalDefinition:this.multidimensionalDefinition,multidimensionalSubset:this.multidimensionalSubset}),r=i?.name,n=(0,C.I8)({variableName:r,rasterFunctionName:this.rasterFunction?.functionName,presetRenderers:this.presetRenderers});if(!this.bandIds&&t.bandCount>1&&(this.bandIds=n?.bandIds??(0,C.ci)(t)),!this.renderer||"override"===e){const e=(0,C.Mm)(this.raster),i=n?.renderer??(0,C.PD)(t,{bandIds:this.bandIds,variableName:r,rasterFunctionColorRamp:e}),s=t.statistics,a=s&&s.length>0?s[0]:null,o=a?.max??0,l=a?.min??0;"WCSServer"===this.raster.datasetFormat&&"raster-stretch"===i.type&&(o>1e24||l<-1e24)&&(i.dynamicRangeAdjustment=!0,i.customStatistics=null,"none"===i.stretchType&&(i.stretchType="min-max")),this.renderer=i}const s=(0,C.$P)({...this.renderer.toJSON(),variableName:r}),o=(0,C.m7)(t,r);this.symbolizer?(this.symbolizer.rendererJSON=s,this.symbolizer.rasterInfo=o):this.symbolizer=new J.A({rendererJSON:s,rasterInfo:o});const l=this.symbolizer.bind();if(l.success){if("auto"===e){const{colormap:e}=this.raster.rasterInfo,t=this.renderer;if(null!=e&&"raster-colormap"===t.type){const e=(0,C.PD)(this.raster.rasterInfo);JSON.stringify(e)!==JSON.stringify(t)&&this._configDefaultRenderer("override")}else if("raster-stretch"===t.type){const e=this.bandIds?.length,i=t.customStatistics?.length;!t.dynamicRangeAdjustment&&i&&e&&i!==e&&this._configDefaultRenderer("override")}}}else a.A.getLogger(this).warn("imagery-tile-mixin",l.error||"The given renderer is not supported by the layer."),"auto"===e&&this._configDefaultRenderer("override")}async _updateRasterFunction(){if(this._isConstructedFromFunctionRaster&&(0,h.qg)(this.raster)){const e=this.raster.rasterFunction.toJSON();return void(!this.rasterFunction&&e&&this._set("rasterFunction",v.A.fromJSON(e)))}let e,t=this.raster,i=!1;(0,h.qg)(t)?(e=t.primaryRasters.rasters,t=e[0],i=!0):e=[t];const{rasterFunction:r}=this;if(r){const i={raster:t};e.length>1&&e.forEach(e=>i[e.url]=e);const n=(0,y.vt)(r.functionDefinition?.toJSON()??r.toJSON(),i),s=new m.A({rasterFunction:n});s.rasterJobHandler=this._rasterJobHandler,await s.open(),this.raster=s}else this.raster=t,await t.open();if(this._cachedRendererJson=void 0,!i&&!r)return;const{bandIds:n}=this,{bandCount:s}=this.raster.rasterInfo,a=n?.length?n.some(e=>e>=s):s>=3;n&&(a||this.renderer&&"raster-stretch"!==this.renderer.type)&&this._set("bandIds",null),this._configDefaultRenderer("auto")}_convertRasterIdentifyResultToSample(e,t){const{rasterInfo:i}=this.raster,r=i.storageInfo.pyramidScalingFactor**(e.pyramidLevel??0),n=(i.pixelSize.x+i.pixelSize.y)/2*r;if(!e.dataSeries?.length)return[new P.A({location:e.location,pixelValue:e.value,locationId:t,resolution:n})];const s=[];return e.dataSeries.forEach(({value:i,multidimensionalDefinition:r},a)=>{const o={Variables:r[0].variableName,Dimensions:r.flatMap(({dimensionName:e})=>e).join(",")};for(const{dimensionName:e,values:t}of r){o[e]=Array.isArray(t[0])?t[0][0]:t[0];const i=t[t.length-1];o[`${e}_Max`]=Array.isArray(i)?i[i.length-1]:i}const l=new P.A({location:e.location,pixelValue:i,rasterId:a,locationId:t,resolution:n,attributes:o});s.push(l)}),s}};function z(e){if(!e.raster||!e.serviceRasterInfo)throw new s.A("imagery-tile","no raster")}return(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_cachedRasterFunctionJson",void 0),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_compatibleFullExtent",void 0),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_draRasterConfig",void 0),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_isConstructedFromFunctionRaster",void 0),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_rasterFunctionUpdatePromise",void 0),(0,r.Cg)([(0,o.MZ)({type:[l.jz],json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"0,1,2"!==this.bandIds?.join(",")}}}}})],T.prototype,"bandIds",void 0),(0,r.Cg)([(0,o.MZ)({json:{origins:{service:{read:{source:"copyrightText"}}}}})],T.prototype,"copyright",void 0),(0,r.Cg)([(0,o.MZ)({json:{read:!1}})],T.prototype,"fullExtent",null),(0,r.Cg)([(0,o.MZ)({json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"bilinear"!==this.interpolation}}}}}),(0,N.e)(F.SZ)],T.prototype,"interpolation",void 0),(0,r.Cg)([(0,o.MZ)()],T.prototype,"ioConfig",void 0),(0,r.Cg)([(0,o.MZ)({type:[x.A],json:{write:!0}})],T.prototype,"multidimensionalDefinition",null),(0,r.Cg)([(0,o.MZ)({type:I.A,json:{write:!0}})],T.prototype,"multidimensionalSubset",void 0),(0,r.Cg)([(0,o.MZ)()],T.prototype,"raster",void 0),(0,r.Cg)([(0,o.MZ)({type:v.A})],T.prototype,"rasterFunction",null),(0,r.Cg)([(0,o.MZ)()],T.prototype,"serviceRasterInfo",void 0),(0,r.Cg)([(0,o.MZ)()],T.prototype,"sourceJSON",void 0),(0,r.Cg)([(0,o.MZ)({readOnly:!0,type:u.A,json:{read:!1}})],T.prototype,"spatialReference",void 0),(0,r.Cg)([(0,o.MZ)({type:_.A})],T.prototype,"tileInfo",void 0),(0,r.Cg)([(0,o.MZ)(w.OZ)],T.prototype,"url",null),(0,r.Cg)([(0,o.MZ)({types:A.uy})],T.prototype,"renderer",null),(0,r.Cg)([(0,o.MZ)({types:A.uy,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(){const e="raster-stretch"===this.renderer?.type&&"none"===this.renderer.stretchType&&!this.renderer.useGamma;return{enabled:!this.loaded||"Raster"===this.raster.tileType||!e}}},origins:{"web-scene":{types:A.Gj,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],T.prototype,"internalRenderer",null),(0,r.Cg)([(0,k.w)("internalRenderer")],T.prototype,"readRenderer",null),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"symbolizer",void 0),T=(0,r.Cg)([(0,o.$K)("esri.layers.mixins.TiledImagery")],T),T}},23636(e,t,i){i.d(t,{A:()=>h});var r=i(5482),n=i(49186),s=i(91429),a=i(39829),o=i(49859),l=i(34930),c=i(47520),u=i(37373),d=i(22671);let h=class extends o.A{constructor(){super(...arguments),this.datasetFormat="Function",this.tileType="Raster",this.rasterFunction=null,this._clippingGeometry=new Map}async fetchPixels(e,t,i,r={}){const{rasters:n,rasterIds:s}=this.primaryRasters;let a=!1;const{interpolation:o}=r,u=this.rasterFunction.flatWebGLFunctionChain?.hasFocalFunction;!r.requestRawData&&u&&(a=1===n.length&&!r.skipRasterFunction,r={...r,interpolation:"bilinear",requestRawData:a}),r.requestRawData&&n.length>1&&!this.hasUniqueSourceStorageInfo&&(a=!1,r={...r,requestRawData:!1});const d=n.map(n=>n.fetchPixels(e,t,i,r)),h=await Promise.all(d),m=h.map(e=>e.pixelBlock),p=a||r.requestRawData?h.map(e=>e.srcTilePixelSize):null;if(r.skipRasterFunction||m.every(e=>null==e))return h[0];const f=h.find(e=>null!=e.pixelBlock)?.extent??e;let y=this.rasterJobHandler?await this.rasterJobHandler.process({extent:f,primaryPixelBlocks:m,primaryPixelSizes:p,primaryRasterIds:s,parameters:this.processParameters}):this.rasterFunction.process({extent:f,primaryPixelBlocks:m,primaryPixelSizes:p,primaryRasterIds:s},this.processParameters);const{transformGrid:g}=h[0];if(!a||null==y||null==g){const e=r.noClip?null:this.getClippingGeometry(f.spatialReference);return!r.noClip&&null!=y&&e&&(y=await(0,l.$Q)(y,f,e)),{...h[0],pixelBlock:y}}const R={rows:g.spacing[0],cols:g.spacing[1]};let b;b=this.rasterJobHandler?(await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:[y],srcMosaicSize:{width:y.width,height:y.height},destDimension:{width:t,height:i},coefs:g.coefficients,sampleSpacing:R,projectDirections:!1,gcsGrid:null,isUV:!1,interpolation:o,alignmentInfo:void 0,blockWidths:null},r)).pixelBlock:(0,c.$i)(y,{width:t,height:i},g.coefficients,R,o);const w=r.noClip?null:this.getClippingGeometry(e.spatialReference);return r.noClip||null==b||null==w||(b=await(0,l.$Q)(b,e,w)),{extent:e,srcExtent:h[0].srcExtent,pixelBlock:b}}getClippingGeometry(e){const t=this._clippingGeometry.get("0");if(!e||!t)return t;const i=function(e){return String(e.wkid??e.wkt??e.wkt2)}(e);let r=this._clippingGeometry.get(i);return null!=r||(r=e.equals(t.spatialReference)?t:(0,u.uk)(t,e),this._clippingGeometry.set(i,r)),r}async _open(e){const{rasterFunction:t}=this;t.isRoot=!0,this.primaryRasters?.rasters?.length?t.sourceRasters=this.primaryRasters.rasters:(this.primaryRasters=t.getPrimaryRasters(),this.rasterJobHandler&&this.primaryRasters.rasters?.forEach(e=>e.rasterJobHandler=this.rasterJobHandler));const{rasters:i,rasterIds:r}=this.primaryRasters,s=i.map(t=>t.rasterInfo?void 0:t.open(e));await Promise.all(s);const a=i.map(({rasterInfo:e})=>e),o=t.bind({rasterInfos:a,rasterIds:r});if(t.rawSourceRasterInfos=a,!o.success||0===a.length)throw new n.A("raster-function:open",`cannot bind the function: ${o.error??""}`);const l="Table"===t.functionName?t:t.functionArguments?.raster;"Table"===l?.functionName&&(t.rasterInfo.attributeTable=d.A.fromJSON(l.functionArguments.attributeTableAsRecordSet)),await this.syncJobHandler();const c=a[0];this.hasUniqueSourceStorageInfo=1===a.length||a.slice(1).every(e=>function(e,t){const{storageInfo:i,pixelSize:r,spatialReference:n,extent:s}=e,{storageInfo:a,pixelSize:o,spatialReference:l,extent:c}=t;return r.x===o.x&&r.y===o.y&&n.equals(l)&&s.equals(c)&&i.blockHeight===a.blockHeight&&i.blockWidth===a.blockWidth&&i.maximumPyramidLevel===a.maximumPyramidLevel&&i.firstPyramidLevel===a.firstPyramidLevel&&i.pyramidBlockWidth===a.pyramidBlockWidth&&i.pyramidBlockHeight===a.pyramidBlockHeight&&i.pyramidScalingFactor===a.pyramidScalingFactor}(e,c)),this.set("sourceJSON",i[0].sourceJSON),this.set("rasterInfo",t.rasterInfo),await this._updateClipGeometry()}async syncJobHandler(){return this.rasterJobHandler?.updateRasterFunction(this.rasterFunction)}async _updateClipGeometry(){const e=this.rasterFunction.getClippingGeometries()[0];let t=e?.clippingGeometry;if(t&&"inside"===e.clippingType){const{extent:e}=this.rasterInfo,r=await Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(2261)]).then(i.bind(i,88411)),n=await Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(9598)]).then(i.bind(i,93054));let s=r.execute(a.A.fromExtent(e),2*(e.width+e.height)/40);s=(0,u.uk)(s,t.spatialReference),t=n.execute(s,t)}this._clippingGeometry.clear(),t&&this._clippingGeometry.set("0",t)}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],h.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],h.prototype,"tileType",void 0),(0,r.Cg)([(0,s.MZ)()],h.prototype,"rasterFunction",void 0),(0,r.Cg)([(0,s.MZ)()],h.prototype,"processParameters",void 0),(0,r.Cg)([(0,s.MZ)()],h.prototype,"primaryRasters",void 0),h=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.FunctionRaster")],h)}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2806],{82806(e,t,i){i.d(t,{b:()=>T});var r=i(5482),n=i(11254),s=i(49186),a=i(53966),o=i(91429),l=i(56507),c=i(86738),u=i(16930),d=i(21325),h=i(7548),m=i(23636),p=i(4366),f=i(34930),y=i(99235),g=i(37373),R=i(51927),b=i(60694),w=i(10873),x=i(45617),I=i(43577),F=i(13868),v=i(22796),S=i(69409),_=i(87045),C=i(12711),J=i(85676),A=i(94359),D=i(22048),P=i(49410),M=i(34606),H=i(29127),N=i(93223),k=i(36005);const T=e=>{const t=e;let T=class extends t{constructor(...e){super(...e),this._draRasterConfig=null,this._isConstructedFromFunctionRaster=!1,this.bandIds=null,this.copyright=null,this.interpolation=null,this.multidimensionalSubset=null,this.raster=null,this.serviceRasterInfo=null,this.sourceJSON=null,this.spatialReference=null,this.symbolizer=null,this._isConstructedFromFunctionRaster=(0,h.qg)(e[0]?.raster)}destroy(){this._draRasterConfig?.rasterJobHandler?.destroy(),this._shutdownJobHandler()}get fullExtent(){return this.serviceRasterInfo?.extent}set multidimensionalDefinition(e){this._set("multidimensionalDefinition",e),this.updateRenderer()}set rasterFunction(e){"none"===e?.functionName?.toLowerCase()&&(e=void 0),this._set("rasterFunction",e),this.updateRasterFunction()}set url(e){this._set("url",(0,b.Jf)(e,a.A.getLogger(this)))}get renderer(){if("imagery-tile"!==this.type)return this.internalRenderer;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){"imagery-tile"===this.type&&(this.activePresetRendererName=null),this.internalRenderer=e}set internalRenderer(e){null==e&&null==this.rasterFunction?this._configDefaultRenderer("override"):(this._set("internalRenderer",e),this.updateRenderer())}readRenderer(e,t,i){const r=t?.layerDefinition?.drawingInfo?.renderer;return(0,A.LF)(r,i)||void 0}async computeStatisticsHistograms(e,t){await this.load(t),e=(0,l.PZ)(D.A,e).clone();const{serviceRasterInfo:i}=this;if(null==i)throw new s.A("imagery-tile-mixin:compute-statistics-histograms","serviceRasterInfo must be specified");const{geometry:r}=e;if(null==r)throw new s.A("imagery-tile-mixin:compute-statistics-histograms","geometry must be specified");let n=r;const{spatialReference:a}=i;if(!r.spatialReference.equals(a)){await(0,g.Hh)();const e="extent"===r.type?(0,g._l)(r,a):(0,g.uk)(r,a);if(null==e)throw new s.A("imagery-tile-mixin:compute-statistics-histograms","geometry cannot be projected to the data source");n=e}const o=e.pixelSize??new c.A({x:i.pixelSize.x,y:i.pixelSize.y,spatialReference:a}),{extent:u,width:d,height:h}=(0,f.b7)(i,n,o),m=await this.fetchPixels(u,d,h,{...t,interpolation:"nearest"});if(null==m.pixelBlock)throw new s.A("imagery-tile-mixin:compute-statistics-histograms","failed to fetch pixels");const p=await(0,f.$Q)(m.pixelBlock,u,n),y=this._rasterJobHandler;return y?y.computeStatisticsHistograms({pixelBlock:p},t):(0,R.eH)(p)}normalizeRasterFetchOptions(e){const{multidimensionalInfo:t}=this.serviceRasterInfo??{};if(null==t)return e;const i=(0,p.XU)({rasterInfo:this.raster.rasterInfo,multidimensionalDefinition:e.multidimensionalDefinition||this.multidimensionalDefinition,timeExtent:e.timeExtent??this.timeExtent,multidimensionalSubset:this.multidimensionalSubset});return{...e,multidimensionalDefinition:i,timeExtent:void 0}}async updateRasterFunction(){return this.loaded&&"imagery-tile"===this.type&&(this.rasterFunction||this._cachedRasterFunctionJson)&&JSON.stringify(this.rasterFunction)!==JSON.stringify(this._cachedRasterFunctionJson)?(this._cachedRasterFunctionJson=this.rasterFunction?.toJSON(),this._rasterFunctionUpdatePromise=this._updateRasterFunction(),this._rasterFunctionUpdatePromise):this._rasterFunctionUpdatePromise}async updateRenderer(){const{loaded:e,symbolizer:t,renderer:i}=this;if(!e||!t||!i)return;const{rasterInfo:r}=this.raster,n=(0,p.ct)(r,{multidimensionalDefinition:this.multidimensionalDefinition,multidimensionalSubset:this.multidimensionalSubset}),s=n?.name,a=(0,C.m7)(r,s);return this._updateSymbolizer(t,i,s,a)}async applyRenderer(e,t,i){const r=e?.pixelBlock;if(!(null!=r&&r.pixels&&r.pixels.length>0))return null;await this.updateRenderer();const n=this.bandIds??[],{pixelBlock:s}=await this._symbolize({pixelData:e,simpleStretchParams:t,bandIds:n,symbolizer:this.symbolizer},i);return s}getRawDisplayBandIds(){let{bandIds:e,raster:t}=this;if(this.rasterFunction&&(0,h.qg)(t)){const i=t.rasterFunction.rawInputBandIds;e=e?.length&&i?.length&&1!==t.rasterInfo.bandCount?e.map(e=>i[Math.min(e,i.length-1)]):i}return e&&e.length>3&&e.every((e,t)=>e===t)?null:e}getTileUrl(e,t,i){return"RasterTileServer"===this.raster.datasetFormat?`${this.url}/tile/${e}/${t}/${i}`:""}getCompatibleTileInfo(e,t,i=!1){if(!this.loaded||null==t)return null;if(i&&e.equals(this.spatialReference))return this.tileInfo;const r=(0,d.Vp)(e);return _.A.create({size:256,spatialReference:e,origin:r?{x:r.origin[0],y:r.origin[1]}:{x:t.xmin,y:t.ymax}})}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent?.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}async fetchTile(e,t,i,r={}){if(z(this),r.requestAsImageElement){const s=this.getTileUrl(e,t,i);return(0,n.A)(s,{responseType:"image",query:{...this.refreshParameters,...this.raster.ioConfig.customFetchParameters},signal:r.signal}).then(e=>e.data)}const{serviceRasterInfo:s}=this;if(null!=s.multidimensionalInfo&&null==(r=this.normalizeRasterFetchOptions(r)).multidimensionalDefinition){const n=r.tileInfo||s.storageInfo.tileInfo,a=this.raster.getTileExtentFromTileInfo(e,t,i,n);if(a)return{extent:a,pixelBlock:null}}return await this._initJobHandler(),await this.updateRasterFunction(),"raster-shaded-relief"===this.renderer?.type&&(r={...r,buffer:{cols:1,rows:1}}),r={...r,refreshParameters:this.refreshParameters},this.raster.fetchTile(e,t,i,r)}async fetchPixels(e,t,i,r={}){if(null!=this.serviceRasterInfo.multidimensionalInfo&&null==(r=this.normalizeRasterFetchOptions(r)).multidimensionalDefinition)return{extent:e,pixelBlock:null};await this._initJobHandler(),await this.updateRasterFunction(),t=Math.round(t),i=Math.round(i);const n=await this.raster.fetchPixels(e,t,i,r);return r.bandIds?.length&&!this.raster.rasterInfo.storageInfo.isBsqTile&&(n.pixelBlock=n.pixelBlock?.extractBands(r.bandIds)),n}async getSamples(e,t){await this.load();const i=(0,l.PZ)(M.A,e).clone();if(i.interpolation&&"nearest"!==i.interpolation)throw new s.A("imagery-tile-mixin:get-samples","only nearest interpolation is currently supported");const r=i.mosaicRule?.multidimensionalDefinition,n={...t,multidimensionalDefinition:r},a=(await this._getSampleLocations(i)).map(e=>this.identify(e,n).then(t=>(t.location=e,t))),o=(await Promise.all(a)).flatMap((e,t)=>this._convertRasterIdentifyResultToSample(e,t));return new H.A({samples:o})}async identify(e,t={}){await this.load();const i=(0,l.PZ)(c.A,e).clone().normalize(),{raster:r,serviceRasterInfo:n}=this;if(null!=n?.multidimensionalInfo&&(!n.hasMultidimensionalTranspose||!(0,p.DY)(t.multidimensionalDefinition)&&!t.transposedVariableName)&&null==(t=this.normalizeRasterFetchOptions(t)).multidimensionalDefinition)return{location:i,value:null};const a=this.multidimensionalSubset?.areaOfInterest;if(a&&!a.contains(i))throw new s.A("imagery-tile-mixin:identify","the request cannot be fulfilled when falling outside of the multidimensional subset");let o;if(this.serviceRasterInfo?.storageInfo.isBsqTile){const e=(0,h.qg)(r)?this.getRawDisplayBandIds():this.bandIds;o=e?.length?e:void 0}return r.identify(i,{...t,bandIds:o})}hasStandardTime(){const e=this.serviceRasterInfo?.multidimensionalInfo;if(null==e||"standard-time"!==this.serviceRasterInfo?.dataType)return!1;const t=this.multidimensionalDefinition,i=t?.[0]?.variableName;return e.variables.some(e=>e.name===i&&(!t?.[0].dimensionName||e.dimensions.some(e=>"StdTime"===e.name)))}getStandardTimeValue(e){return new Date((0,p.$E)(e)).toISOString()}getMultidimensionalSubsetVariables(e){const t=e??this.serviceRasterInfo?.multidimensionalInfo;return(0,p.z2)(this.multidimensionalSubset,t)}async getDynamicRangeInputRaster(){if(!this.rasterFunction||!(0,h.qg)(this.raster)||!this._cachedRasterFunctionJson)return null;const e=JSON.stringify(this._cachedRasterFunctionJson);if(this._draRasterConfig?.functionJson===e)return this._draRasterConfig;const t=this.raster.rasterFunction.queryRasterFunction(e=>"Stretch"===e.functionName&&e.functionArguments.dynamicRangeAdjustment);if(!t)return null;const i=t.toJSON(),r=this.raster.primaryRasters.rasters,n=t.functionArguments.raster,s=i.rasterFunctionArguments;if(!n||"object"!=typeof n||!("functionName"in n))return this._draRasterConfig={functionJson:e,raster:r[0],functionArguments:s,rasterJobHandler:this._draRasterConfig?.rasterJobHandler},this._draRasterConfig;const a={raster:r[0]};r.length>1&&r.forEach(e=>a[e.url]=e);const o=(0,y.vt)(n.toJSON(),a),l=new m.A({rasterFunction:o});await l.open();let c=this._draRasterConfig?.rasterJobHandler;try{c||(c=new S.A,await c.initialize()),l.rasterJobHandler=c,await l.syncJobHandler()}catch{}return this._draRasterConfig={functionJson:e,raster:l,functionArguments:s,rasterJobHandler:c},this._draRasterConfig}_configDefaultSettings(){this._configDefaultInterpolation(),this.multidimensionalDefinition||(this.multidimensionalDefinition=(0,p.fy)(this.raster.rasterInfo,{multidimensionalSubset:this.multidimensionalSubset})),this.rasterFunction&&(0,h.qg)(this.raster)&&(this._cachedRasterFunctionJson=this.rasterFunction.toJSON()),this._configDefaultRenderer()}async _initJobHandler(){if(!this._rasterJobHandler)return super._initJobHandler().then(async()=>{if(!this._rasterJobHandler)return;z(this);const{raster:e}=this;e.rasterJobHandler=this._rasterJobHandler,(0,h.qg)(e)&&e.syncJobHandler(),this.rasterFunction&&await this.updateRasterFunction().catch(()=>{}),this.renderer&&this.updateRenderer()}).catch(()=>{})}_shutdownJobHandler(){super._shutdownJobHandler(),this.raster&&(this.raster.rasterJobHandler=null)}async _getSampleLocations(e){const{geometry:t}=e;if("point"===t.type)return[t];const{spatialReference:r,type:n}=t;if("multipoint"===n)return t.points.map(e=>new c.A({x:e[0],y:e[1],spatialReference:r}));if("polyline"===n){let n=t;if(e.sampleCount||e.sampleDistance){const r=await Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(2261)]).then(i.bind(i,10792)),s=(await Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(2174)]).then(i.bind(i,965))).execute(t,{unit:"meters"}),a=Math.min(e.sampleCount||100,1e3);let o=e.sampleDistance;o||(o=s/(a+(2===n.paths[0].length?1:0))),n=r.execute(t,o,{unit:"meters"})}return n.paths.flatMap(e=>e.map(e=>new c.A({x:e[0],y:e[1],spatialReference:r})))}const s=Math.min(e.sampleCount||100,1e3),a="extent"===t.type,o=a?t:t.extent,l=Math.sqrt(o.width*o.height/s),u=o.height/l,d=o.width/l,{xmin:h,ymax:m}=o,p=[];for(let e=0;e<u;e++)for(let i=0;i<d;i++){const n=new c.A({x:h+(i+.5)*l,y:m-(e+.5)*l,spatialReference:r});(a||t.contains(n))&&p.push(n)}return p}_configDefaultInterpolation(){if(null==this.interpolation){z(this);const{raster:e}=this,t=(0,C.w6)(e.rasterInfo,e.tileType,this.sourceJSON?.defaultResamplingMethod);this._set("interpolation",t)}}_configDefaultRenderer(e="no"){z(this);const{rasterInfo:t}=this.raster,i=(0,p.ct)(t,{multidimensionalDefinition:this.multidimensionalDefinition,multidimensionalSubset:this.multidimensionalSubset}),r=i?.name,n=(0,C.I8)({variableName:r,rasterFunctionName:this.rasterFunction?.functionName,presetRenderers:this.presetRenderers});if(!this.bandIds&&t.bandCount>1&&(this.bandIds=n?.bandIds??(0,C.ci)(t)),!this.renderer||"override"===e){const e=(0,C.Mm)(this.raster),i=n?.renderer??(0,C.PD)(t,{bandIds:this.bandIds,variableName:r,rasterFunctionColorRamp:e}),s=t.statistics,a=s&&s.length>0?s[0]:null,o=a?.max??0,l=a?.min??0;"WCSServer"===this.raster.datasetFormat&&"raster-stretch"===i.type&&(o>1e24||l<-1e24)&&(i.dynamicRangeAdjustment=!0,i.customStatistics=null,"none"===i.stretchType&&(i.stretchType="min-max")),this.renderer=i}const s=(0,C.$P)({...this.renderer.toJSON(),variableName:r}),o=(0,C.m7)(t,r);this.symbolizer?(this.symbolizer.rendererJSON=s,this.symbolizer.rasterInfo=o):this.symbolizer=new J.A({rendererJSON:s,rasterInfo:o});const l=this.symbolizer.bind();if(l.success){if("auto"===e){const{colormap:e}=this.raster.rasterInfo,t=this.renderer;if(null!=e&&"raster-colormap"===t.type){const e=(0,C.PD)(this.raster.rasterInfo);JSON.stringify(e)!==JSON.stringify(t)&&this._configDefaultRenderer("override")}else if("raster-stretch"===t.type){const e=this.bandIds?.length,i=t.customStatistics?.length;!t.dynamicRangeAdjustment&&i&&e&&i!==e&&this._configDefaultRenderer("override")}}}else a.A.getLogger(this).warn("imagery-tile-mixin",l.error||"The given renderer is not supported by the layer."),"auto"===e&&this._configDefaultRenderer("override")}async _updateRasterFunction(){if(this._isConstructedFromFunctionRaster&&(0,h.qg)(this.raster)){const e=this.raster.rasterFunction.toJSON();return void(!this.rasterFunction&&e&&this._set("rasterFunction",v.A.fromJSON(e)))}let e,t=this.raster,i=!1;(0,h.qg)(t)?(e=t.primaryRasters.rasters,t=e[0],i=!0):e=[t];const{rasterFunction:r}=this;if(r){const i={raster:t};e.length>1&&e.forEach(e=>i[e.url]=e);const n=(0,y.vt)(r.functionDefinition?.toJSON()??r.toJSON(),i),s=new m.A({rasterFunction:n});s.rasterJobHandler=this._rasterJobHandler,await s.open(),this.raster=s}else this.raster=t,await t.open();if(this._cachedRendererJson=void 0,!i&&!r)return;const{bandIds:n}=this,{bandCount:s}=this.raster.rasterInfo,a=n?.length?n.some(e=>e>=s):s>=3;n&&(a||this.renderer&&"raster-stretch"!==this.renderer.type)&&this._set("bandIds",null),this._configDefaultRenderer("auto")}_convertRasterIdentifyResultToSample(e,t){const{rasterInfo:i}=this.raster,r=i.storageInfo.pyramidScalingFactor**(e.pyramidLevel??0),n=(i.pixelSize.x+i.pixelSize.y)/2*r;if(!e.dataSeries?.length)return[new P.A({location:e.location,pixelValue:e.value,locationId:t,resolution:n})];const s=[];return e.dataSeries.forEach(({value:i,multidimensionalDefinition:r},a)=>{const o={Variables:r[0].variableName,Dimensions:r.flatMap(({dimensionName:e})=>e).join(",")};for(const{dimensionName:e,values:t}of r){o[e]=Array.isArray(t[0])?t[0][0]:t[0];const i=t[t.length-1];o[`${e}_Max`]=Array.isArray(i)?i[i.length-1]:i}const l=new P.A({location:e.location,pixelValue:i,rasterId:a,locationId:t,resolution:n,attributes:o});s.push(l)}),s}};function z(e){if(!e.raster||!e.serviceRasterInfo)throw new s.A("imagery-tile","no raster")}return(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_cachedRasterFunctionJson",void 0),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_compatibleFullExtent",void 0),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_draRasterConfig",void 0),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_isConstructedFromFunctionRaster",void 0),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"_rasterFunctionUpdatePromise",void 0),(0,r.Cg)([(0,o.MZ)({type:[l.jz],json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"0,1,2"!==this.bandIds?.join(",")}}}}})],T.prototype,"bandIds",void 0),(0,r.Cg)([(0,o.MZ)({json:{origins:{service:{read:{source:"copyrightText"}}}}})],T.prototype,"copyright",void 0),(0,r.Cg)([(0,o.MZ)({json:{read:!1}})],T.prototype,"fullExtent",null),(0,r.Cg)([(0,o.MZ)({json:{write:{overridePolicy(){return{enabled:!this.loaded||"Raster"===this.raster.tileType||"bilinear"!==this.interpolation}}}}}),(0,N.e)(F.SZ)],T.prototype,"interpolation",void 0),(0,r.Cg)([(0,o.MZ)()],T.prototype,"ioConfig",void 0),(0,r.Cg)([(0,o.MZ)({type:[x.A],json:{write:!0}})],T.prototype,"multidimensionalDefinition",null),(0,r.Cg)([(0,o.MZ)({type:I.A,json:{write:!0}})],T.prototype,"multidimensionalSubset",void 0),(0,r.Cg)([(0,o.MZ)()],T.prototype,"raster",void 0),(0,r.Cg)([(0,o.MZ)({type:v.A})],T.prototype,"rasterFunction",null),(0,r.Cg)([(0,o.MZ)()],T.prototype,"serviceRasterInfo",void 0),(0,r.Cg)([(0,o.MZ)()],T.prototype,"sourceJSON",void 0),(0,r.Cg)([(0,o.MZ)({readOnly:!0,type:u.A,json:{read:!1}})],T.prototype,"spatialReference",void 0),(0,r.Cg)([(0,o.MZ)({type:_.A})],T.prototype,"tileInfo",void 0),(0,r.Cg)([(0,o.MZ)(w.OZ)],T.prototype,"url",null),(0,r.Cg)([(0,o.MZ)({types:A.uy})],T.prototype,"renderer",null),(0,r.Cg)([(0,o.MZ)({types:A.uy,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy(){const e="raster-stretch"===this.renderer?.type&&"none"===this.renderer.stretchType&&!this.renderer.useGamma;return{enabled:!this.loaded||"Raster"===this.raster.tileType||!e}}},origins:{"web-scene":{types:A.Gj,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:e=>({enabled:e&&"vector-field"!==e.type})}}}}})],T.prototype,"internalRenderer",null),(0,r.Cg)([(0,k.w)("internalRenderer")],T.prototype,"readRenderer",null),(0,r.Cg)([(0,o.MZ)({clonable:!1})],T.prototype,"symbolizer",void 0),T=(0,r.Cg)([(0,o.$K)("esri.layers.mixins.TiledImagery")],T),T}},23636(e,t,i){i.d(t,{A:()=>h});var r=i(5482),n=i(49186),s=i(91429),a=i(39829),o=i(49859),l=i(34930),c=i(47520),u=i(37373),d=i(22671);let h=class extends o.A{constructor(){super(...arguments),this.datasetFormat="Function",this.tileType="Raster",this.rasterFunction=null,this._clippingGeometry=new Map}async fetchPixels(e,t,i,r={}){const{rasters:n,rasterIds:s}=this.primaryRasters;let a=!1;const{interpolation:o}=r,u=this.rasterFunction.flatWebGLFunctionChain?.hasFocalFunction;!r.requestRawData&&u&&(a=1===n.length&&!r.skipRasterFunction,r={...r,interpolation:"bilinear",requestRawData:a}),r.requestRawData&&n.length>1&&!this.hasUniqueSourceStorageInfo&&(a=!1,r={...r,requestRawData:!1});const d=n.map(n=>n.fetchPixels(e,t,i,r)),h=await Promise.all(d),m=h.map(e=>e.pixelBlock),p=a||r.requestRawData?h.map(e=>e.srcTilePixelSize):null;if(r.skipRasterFunction||m.every(e=>null==e))return h[0];const f=h.find(e=>null!=e.pixelBlock)?.extent??e;let y=this.rasterJobHandler?await this.rasterJobHandler.process({extent:f,primaryPixelBlocks:m,primaryPixelSizes:p,primaryRasterIds:s,parameters:this.processParameters}):this.rasterFunction.process({extent:f,primaryPixelBlocks:m,primaryPixelSizes:p,primaryRasterIds:s},this.processParameters);const{transformGrid:g}=h[0];if(!a||null==y||null==g){const e=r.noClip?null:this.getClippingGeometry(f.spatialReference);return!r.noClip&&null!=y&&e&&(y=await(0,l.$Q)(y,f,e)),{...h[0],pixelBlock:y}}const R={rows:g.spacing[0],cols:g.spacing[1]};let b;b=this.rasterJobHandler?(await this.rasterJobHandler.mosaicAndTransform({srcPixelBlocks:[y],srcMosaicSize:{width:y.width,height:y.height},destDimension:{width:t,height:i},coefs:g.coefficients,sampleSpacing:R,projectDirections:!1,gcsGrid:null,isUV:!1,interpolation:o,alignmentInfo:void 0,blockWidths:null},r)).pixelBlock:(0,c.$i)(y,{width:t,height:i},g.coefficients,R,o);const w=r.noClip?null:this.getClippingGeometry(e.spatialReference);return r.noClip||null==b||null==w||(b=await(0,l.$Q)(b,e,w)),{extent:e,srcExtent:h[0].srcExtent,pixelBlock:b}}getClippingGeometry(e){const t=this._clippingGeometry.get("0");if(!e||!t)return t;const i=function(e){return String(e.wkid??e.wkt??e.wkt2)}(e);let r=this._clippingGeometry.get(i);return null!=r||(r=e.equals(t.spatialReference)?t:(0,u.uk)(t,e),this._clippingGeometry.set(i,r)),r}async _open(e){const{rasterFunction:t}=this;t.isRoot=!0,this.primaryRasters?.rasters?.length?t.sourceRasters=this.primaryRasters.rasters:(this.primaryRasters=t.getPrimaryRasters(),this.rasterJobHandler&&this.primaryRasters.rasters?.forEach(e=>e.rasterJobHandler=this.rasterJobHandler));const{rasters:i,rasterIds:r}=this.primaryRasters,s=i.map(t=>t.rasterInfo?void 0:t.open(e));await Promise.all(s);const a=i.map(({rasterInfo:e})=>e),o=t.bind({rasterInfos:a,rasterIds:r});if(t.rawSourceRasterInfos=a,!o.success||0===a.length)throw new n.A("raster-function:open",`cannot bind the function: ${o.error??""}`);const l="Table"===t.functionName?t:t.functionArguments?.raster;"Table"===l?.functionName&&(t.rasterInfo.attributeTable=d.A.fromJSON(l.functionArguments.attributeTableAsRecordSet)),await this.syncJobHandler();const c=a[0];this.hasUniqueSourceStorageInfo=1===a.length||a.slice(1).every(e=>function(e,t){const{storageInfo:i,pixelSize:r,spatialReference:n,extent:s}=e,{storageInfo:a,pixelSize:o,spatialReference:l,extent:c}=t;return r.x===o.x&&r.y===o.y&&n.equals(l)&&s.equals(c)&&i.blockHeight===a.blockHeight&&i.blockWidth===a.blockWidth&&i.maximumPyramidLevel===a.maximumPyramidLevel&&i.firstPyramidLevel===a.firstPyramidLevel&&i.pyramidBlockWidth===a.pyramidBlockWidth&&i.pyramidBlockHeight===a.pyramidBlockHeight&&i.pyramidScalingFactor===a.pyramidScalingFactor}(e,c)),this.set("sourceJSON",i[0].sourceJSON),this.set("rasterInfo",t.rasterInfo),await this._updateClipGeometry()}async syncJobHandler(){return this.rasterJobHandler?.updateRasterFunction(this.rasterFunction)}async _updateClipGeometry(){const e=this.rasterFunction.getClippingGeometries()[0];let t=e?.clippingGeometry;if(t&&"inside"===e.clippingType){const{extent:e}=this.rasterInfo,r=await Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(2261)]).then(i.bind(i,10792)),n=await Promise.all([i.e(3661),i.e(1878),i.e(8885),i.e(5756),i.e(3299),i.e(9598)]).then(i.bind(i,93054));let s=r.execute(a.A.fromExtent(e),2*(e.width+e.height)/40);s=(0,u.uk)(s,t.spatialReference),t=n.execute(s,t)}this._clippingGeometry.clear(),t&&this._clippingGeometry.set("0",t)}};(0,r.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],h.prototype,"datasetFormat",void 0),(0,r.Cg)([(0,s.MZ)()],h.prototype,"tileType",void 0),(0,r.Cg)([(0,s.MZ)()],h.prototype,"rasterFunction",void 0),(0,r.Cg)([(0,s.MZ)()],h.prototype,"processParameters",void 0),(0,r.Cg)([(0,s.MZ)()],h.prototype,"primaryRasters",void 0),h=(0,r.Cg)([(0,s.$K)("esri.layers.raster.datasets.FunctionRaster")],h)}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{2741(e,t,r){r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},97159(e,t,r){r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))},91869(e,t,r){function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},60694(e,t,r){r.d(t,{Fi:()=>d,HZ:()=>b,Jf:()=>v,LS:()=>q,Wo:()=>g,bd:()=>S,cr:()=>h,iz:()=>f,qg:()=>p,uV:()=>w,yG:()=>m});var s=r(84952),n=r(39131),o=r(97159);const a={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},i=Object.values(a),l=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(?<serviceTitle>.+?)\\/(?<serverType>${i.join("|")})(?:\\/exts\\/(?<soeTitle>.+?)\\/(?<soeServerType>${i.join("|")}))?)(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),u=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/(?<serviceTitle>[^/\\n]+)\\/(?<serverType>${i.join("|")}))(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return l.test(e)}function p(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(l)||t?.path.match(u);if(!r)return null;const{path:n,serviceTitle:o,serverType:i,soeTitle:c,soeServerType:d,sublayer:p}=r.groups??{},f=c||o,m=f.indexOf("/");return{title:h(-1!==m?f.slice(m+1):f),serverType:a[(d||i).toLowerCase()],sublayer:null!=p&&""!==p?parseInt(p,10):null,url:{path:n}}}function f(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function h(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function m(e,t){const r=[];if(e){const t=p(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=h(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const y=["services","features","tiles","elevation3d","basemaps3d"];function g(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!y.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function w(e){return(0,n.$E)(e)&&function(e){const t=(0,s.$z)(e);return!!t&&t.toLowerCase().endsWith(".arcgis.com")}(e)}function v(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function b(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=p(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=f(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function q(e,t,r,n,a){(0,o.w)(t,n,"url",a),n.url&&null!=e.layerId&&(n.url=(0,s.fj)(n.url,r,e.layerId.toString()))}function S(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},11254(e,t,r){r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(74887),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),T=await S.finally(()=>g?.remove());return h?.after?.(T),T}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},56152(e,t,r){r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},95117(e,t,r){r.d(t,{y:()=>n});var s=r(74887);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},51699(e,t,r){r.d(t,{YB:()=>U,c8:()=>I,zc:()=>S});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(74887),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}const w="FormData"in globalThis,v=new Set([499,498,403,401]),b=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function S(e){let t,o;await async function(e){const t=e.parameters.url,o=e.parameters.requestOptions,a=e.controller.signal,i=o.body;let u=null,c=null;if(w&&"HTMLFormElement"in globalThis&&(i instanceof FormData?u=i:i instanceof HTMLFormElement&&(u=new FormData(i))),"string"==typeof i&&(c=i),e.fetchOptions={cache:o.cacheMode??(o.cacheBust?"no-cache":"default"),credentials:"same-origin",headers:o.headers||{},keepalive:o.keepAlive??!1,method:"head"===o.method?"HEAD":"GET",mode:"cors",priority:o.priority??s.A.request.priority,redirect:"follow",signal:a},(u||c)&&(e.fetchOptions.body=u||c),(d.i.isForeignWorker||"anonymous"===o.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||o.query?.token||u?.get("token")),!e.hasToken){const{getApiKey:s,getSessionToken:n}=await r.e(926).then(r.bind(r,926)),a=await n(t)??s(t);a&&(o.query??={},o.query.token=a,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!O(t)&&!(0,l.G4)(a)){let r;"immediate"===o.authMode?(await k(),r=await n.id.getCredential(t,{signal:a})):"no-prompt"===o.authMode?(await k(),r=await n.id.getCredential(t,{prompt:!1,signal:a}).catch(()=>{})):n.id&&(r=n.id.findCredential(t)),r&&(e.credential=r,e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,o]=await T(e)}while(!await x(e,t,o))}catch(r){const s=U("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const a=e.parameters.url;if(o)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&o.user?.username&&!(0,u.FL)(a)){const e=(0,u.$z)(a,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(o.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(o.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(a,o);const i=e.credential;if(i&&n.id){const e=n.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,i.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getAllHeaders:t?()=>Array.from(t.headers):P,getHeader:t?e=>t.headers.get(e):P,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function T(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let v=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;v="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!v&&f.length+1+p>s.A.request.maxUrlLength&&(v=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(v||h)){if(v){if(p>s.A.request.maxUrlLength)throw U("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw U("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw U("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(v?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&w&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(v?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,k=!1;y>0&&(S=setTimeout(()=>{k=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||v||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!A(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=L(q,"application/xml");break;case"document":q=L(q,"text/html")}else q=null;if(q){if(("array-buffer"===h||"blob"===h)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await T(e);q=await b.blob(),q=await C(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await C(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await C(r,e)}catch(r){if("AbortError"===r.name){if(k)throw new Error($);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||A(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function C(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function A(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function k(){n.id||await Promise.all([r.e(7632),r.e(6408),r.e(8486),r.e(9466),r.e(5482),r.e(148),r.e(7581)]).then(r.bind(r,50148))}function O(e){return q.some(t=>t.test(e))}function L(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[E]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[E]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&v.has(a)&&!O(e.parameters.url)&&(403!==a||(!i||!b.has(i))&&(null==l||2===l&&e.credentialToken))){await k();try{const t=await n.id.getCredential(e.parameters.url,{error:U("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function U(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:P,getHeader:P,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=E in t?t[E]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const E=Symbol(),P=()=>null,$="Timeout exceeded";function I(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===$}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2741],{2741(e,t,r){r.d(t,{s:()=>i});var s=r(92602),n=(r(11254),r(49186)),o=r(53966),a=r(84952);function i(e){if(!s.A.assetsPath)throw o.A.getLogger("esri.assets").errorOnce("The API assets location needs to be set using config.assetsPath. More information: https://arcg.is/1OzLe50"),new n.A("assets:path-not-set","config.assetsPath is not set");return(0,a.fj)(s.A.assetsPath,e)}},97159(e,t,r){r.d(t,{a:()=>y,b:()=>w,e:()=>h,f:()=>a,i:()=>p,p:()=>f,r:()=>l,t:()=>i,w:()=>u});var s=r(70333),n=r(84952),o=r(39131);function a(e,t){const r=t?.url?.path;if(e&&r&&(e=(0,n.s2)(e,r,{preserveProtocolRelative:!0}),t.portalItem&&t.readResourcePaths)){const r=(0,n.V1)(e,t.portalItem.itemUrl);null!=r&&r.startsWith(d)&&t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path)}return(e=m(e,t?.portal))&&c.test(e)?y(e):e}function i(e,t,r=0){if(null==(e=e&&c.test(e)?g(e):e))return e;!(0,n.oP)(e)&&t?.blockedRelativeUrls&&t.blockedRelativeUrls.push(e);let s=(0,n.s2)(e);if(t){const r=t.verifyItemRelativeUrls?.rootPath||t.url?.path;if(r){const o=m(r,t.portal),a=m(s,t.portal);s=(0,n.V1)(a,o,o),null!=s&&s!==a&&s!==e&&t.verifyItemRelativeUrls&&t.verifyItemRelativeUrls.writtenUrls.push(s)}}return s=h(s,t?.portal),(0,n.oP)(s)&&(s=(0,n.S8)(s)),t?.resources&&t?.portalItem&&!(0,n.oP)(s)&&!(0,n.DB)(s)&&0===r&&t.resources.toKeep.push({resource:t.portalItem.resourceFromPath(s),compress:!1}),s}function l(e,t,r){return a(e,r)}function u(e,t,r,s){const n=i(e,s);void 0!==n&&(t[r]=n)}const c=/\/items\/([^/]+)\/resources\/(.*)/,d="./resources/";function p(e){const t=e?.match(c)??null;return t?.[1]??null}function f(e){const t=e?.match(c)??null;if(null==t)return null;const r=t[2],s=r.lastIndexOf("/");if(-1===s){const{path:e,extension:t}=(0,n.xw)(r);return{prefix:null,filename:e,extension:t}}const{path:o,extension:a}=(0,n.xw)(r.slice(s+1));return{prefix:r.slice(0,s),filename:o,extension:a}}function h(e,t){return t&&!t.isPortal&&t.urlKey&&t.customBaseUrl?(0,n.T1)(e,`${t.urlKey}.${t.customBaseUrl}`,t.portalHostname):e}function m(e,t){if(!t||t.isPortal||!t.urlKey||!t.customBaseUrl)return e;const r=`${t.urlKey}.${t.customBaseUrl}`,s=(0,n.Xq)();return(0,n.FX)(s,`${s.scheme}://${r}`)?(0,n.T1)(e,t.portalHostname,r):(0,n.T1)(e,r,t.portalHostname)}function y(e){if(!e)return e||null;let t=e;return t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t),t=t.replace(/^https?:\/\/www\.arcgis\.com/,"https://cdn.arcgis.com"),t=t.replace(/^https?:\/\/devext\.arcgis\.com/,"https://cdndev.arcgis.com"),t=t.replace(/^https?:\/\/qaext\.arcgis\.com/,"https://cdnqa.arcgis.com")),t}function g(e){if(!e)return e||null;let t=e;return t=t.replace(/^https?:\/\/cdn\.arcgis\.com/,"https://www.arcgis.com"),t=t.replace(/^https?:\/\/cdndev\.arcgis\.com/,"https://devext.arcgis.com"),t=t.replace(/^https?:\/\/cdnqa\.arcgis\.com/,"https://qaext.arcgis.com"),t&&s.id&&!s.id.findCredential(t)&&(t=(0,o.qG)(t)),t}const w=Object.freeze(Object.defineProperty({__proto__:null,ensureMainOnlineDomain:h,fromCDNUrl:g,fromJSON:a,itemIdFromResourceUrl:p,prefixAndFilenameFromResourceUrl:f,read:l,toCDNUrl:y,toJSON:i,write:u},Symbol.toStringTag,{value:"Module"}))},91869(e,t,r){function s(e,t){for(const r of e.values())if(t(r))return!0;return!1}function n(e,t,r){const s=e.get(t);if(void 0!==s)return s;const n=r();return e.set(t,n),n}function o(e){const t=new Map;return r=>(t.has(r)||t.set(r,e(r)),t.get(r))}r.d(t,{Bj:()=>o,Bs:()=>s,tE:()=>n})},60694(e,t,r){r.d(t,{Fi:()=>d,HZ:()=>b,Jf:()=>v,LS:()=>q,Wo:()=>g,bd:()=>S,cr:()=>h,iz:()=>f,qg:()=>p,uV:()=>w,yG:()=>m});var s=r(84952),n=r(39131),o=r(97159);const a={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},i=Object.values(a),l=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(?<serviceTitle>.+?)\\/(?<serverType>${i.join("|")})(?:\\/exts\\/(?<soeTitle>.+?)\\/(?<soeServerType>${i.join("|")}))?)(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),u=new RegExp(`^(?<path>(?:https?:)?\\/\\/\\S+?\\/(?<serviceTitle>[^/\\n]+)\\/(?<serverType>${i.join("|")}))(?:\\/(?:layers))?(?:\\/(?<sublayer>\\d+))?`,"i"),c=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return l.test(e)}function p(e){if(null==e)return null;const t=(0,s.An)(e),r=t?.path.match(l)||t?.path.match(u);if(!r)return null;const{path:n,serviceTitle:o,serverType:i,soeTitle:c,soeServerType:d,sublayer:p}=r.groups??{},f=c||o,m=f.indexOf("/");return{title:h(-1!==m?f.slice(m+1):f),serverType:a[(d||i).toLowerCase()],sublayer:null!=p&&""!==p?parseInt(p,10):null,url:{path:n}}}function f(e){const t=(0,s.An)(e).path.match(c);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function h(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function m(e,t){const r=[];if(e){const t=p(e);null!=t&&t.title&&r.push(t.title)}if(t){const e=h(t);r.push(e)}if(2===r.length){if(r[0].toLowerCase().includes(r[1].toLowerCase()))return r[0];if(r[1].toLowerCase().includes(r[0].toLowerCase()))return r[1]}return r.join(" - ")}const y=["services","features","tiles","elevation3d","basemaps3d"];function g(e){let t=(0,s.$z)(e,!0);return!!t&&(t=t.toLowerCase(),!!t.endsWith(".arcgis.com")&&(!!y.some(e=>t.startsWith(e))||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function w(e){return(0,n.$E)(e)&&function(e){const t=(0,s.$z)(e);return!!t&&t.toLowerCase().endsWith(".arcgis.com")}(e)}function v(e,t){return e?(0,s.UC)((0,s.zi)(e,t)):e}function b(e){let{url:t}=e;if(!t)return{url:t};t=(0,s.zi)(t,e.logger);const r=(0,s.An)(t),n=p(r.path);let o;if(null!=n)null!=n.sublayer&&null==e.layer.layerId&&(o=n.sublayer),t=n.url.path;else if(e.nonStandardUrlAllowed){const e=f(r.path);null!=e&&(t=e.serviceUrl,o=e.sublayerId)}return{url:(0,s.UC)(t),layerId:o}}function q(e,t,r,n,a){(0,o.w)(t,n,"url",a),n.url&&null!=e.layerId&&(n.url=(0,s.fj)(n.url,r,e.layerId.toString()))}function S(e){if(!e)return!1;const t=e.toLowerCase(),r=t.includes("/services/"),s=t.includes("/mapserver/wmsserver"),n=t.includes("/imageserver/wmsserver"),o=t.includes("/wmsserver");return r&&(s||n||o)}},11254(e,t,r){r.d(t,{A:()=>g});var s=r(92602),n=r(49186),o=r(44208),a=r(74887),i=r(84952),l=r(56152),u=r(51699),c=r(91869),d=r(60694);async function p(e){const t=function(e){let t,r=!1;return"string"==typeof e?(t=(0,i.$z)(e,!0),r=(0,d.Wo)(e)):(t=e.origin,r=(0,d.Wo)(e.toString())),null==t?null:new y(t,r)}(e.parameters.url);if(!t)return null;const{QueueProcessor:s,SharedConcurrency:n}=await r.e(563).then(r.bind(r,563));return(0,c.tE)(f,t.origin,()=>{const e=(t.isHosted?(0,o.A)("request-queue-concurrency-hosted"):(0,o.A)("request-queue-concurrency-non-hosted"))??4;return h??=new n((0,o.A)("request-queue-concurrency-global")??50),new s({concurrency:e,sharedConcurrency:h,process:e=>{if((0,a.G4)(e.parameters.requestOptions))throw(0,u.YB)("",(0,a.NK)("Request canceled"),e.parameters);return(0,u.zc)(e)}})})}const f=new Map;let h,m;class y{constructor(e,t){this.origin=e,this.isHosted=t}}async function g(e,t){e instanceof URL&&(e=e.toString());const s=(0,i.DB)(e),n=(0,i.w8)(e);n||s||(e=(0,i.S8)(e));const c={url:e,requestOptions:{...t}};t?.query&&(c.requestOptions.query=t?.query instanceof URLSearchParams?(0,i.zf)(t.query.toString().replaceAll("+"," ")):t?.query);const d=e=>({data:e,getAllHeaders:v,getHeader:v,httpStatus:200,requestOptions:c.requestOptions,url:c.url}),f=(0,i.sC)(e,w.internalInterceptors);if(f){const e=await b(f,c);if(null!=e)return d(e)}let h=(0,i.sC)(e);if(h){const e=await b(h,c);if(null!=e)return d(e);h.after||h.error||(h=null)}if(e=c.url,"image"===(t=c.requestOptions).responseType&&((0,o.A)("host-webworker")||(0,o.A)("host-node")))throw(0,u.YB)("request:invalid-parameters",new Error("responseType 'image' is not supported in Web Workers or Node environment"),c);if("head"===t.method){if(t.body)throw(0,u.YB)("request:invalid-parameters",new Error("body parameter cannot be set when method is 'head'"),c);if(s||n)throw(0,u.YB)("request:invalid-parameters",new Error("data and blob URLs are not supported for method 'head'"),c)}if(await async function(){(0,o.A)("host-webworker")&&(!m&&globalThis.invokeStaticMessage?m=await r.e(369).then(r.bind(r,40369)):l.i.isForeignWorker=!0)}(),m)return m.execute(e,t);const y=new AbortController,g=(0,a.u7)(t,()=>y.abort()),q={controller:y,credential:void 0,credentialToken:void 0,fetchOptions:void 0,hasToken:!1,interceptor:h,parameters:c,redoRequest:!1,useIdentity:w.useIdentity,useProxy:!1,useSSL:!1,withCredentials:!1},S=t.useQueue?async function(e){const t=await p(e);return t?t.push(e):(0,u.zc)(e)}(q):(0,u.zc)(q),T=await S.finally(()=>g?.remove());return h?.after?.(T),T}const w=s.A.request,v=()=>null;async function b(e,t){if(null!=e.responseData)return e.responseData;if(e.headers&&(t.requestOptions.headers={...t.requestOptions.headers,...e.headers}),e.query&&(t.requestOptions.query={...t.requestOptions.query,...e.query}),e.before){let r,s;try{s=await e.before(t)}catch(e){r=(0,u.YB)("request:interceptor",e,t)}if((s instanceof Error||s instanceof n.A)&&(r=(0,u.YB)("request:interceptor",s,t)),r)throw e.error&&e.error(r),r;return s}}},56152(e,t,r){r.d(t,{i:()=>s});const s={corsServers:["https://server.arcgisonline.com","https://services.arcgisonline.com"],beforeFetch:void 0,afterFetch:void 0,isForeignWorker:!1}},95117(e,t,r){r.d(t,{y:()=>n});var s=r(74887);function n(e,t,r=!1,n){return new Promise((o,a)=>{if((0,s.G4)(n))return void a((0,s.NK)());let i=()=>{c(),a(new Error(`Unable to load ${t}`))},l=async()=>{const t=e;try{await t.decode()}catch{}c(),o(t)},u=()=>{if(!e)return;const t=e;c(),t.src="",a((0,s.NK)())};const c=()=>{e&&(e.removeEventListener("error",i),e.removeEventListener("load",l),i=null,l=null,e=null,n?.removeEventListener("abort",u),u=null,r&&URL.revokeObjectURL(t))};n?.addEventListener("abort",u),e.addEventListener("error",i),e.addEventListener("load",l)})}},51699(e,t,r){r.d(t,{YB:()=>U,c8:()=>I,zc:()=>S});var s=r(92602),n=r(70333),o=r(49186),a=r(44208),i=r(4718),l=r(74887),u=r(84952),c=r(39131),d=r(56152);class p{constructor(e,t){this.element=e,this.type="image+type",this.isOpaque="image/jpeg"===t}}var f=r(95117),h=r(60694);const m=new Map;function y(e,t){const r=t?.preferredHost;if(!r||(0,u.FX)(e,`https://${r}`,!0))return;const s=(0,h.qg)(e);if(!s||"FeatureServer"!==s.serverType||(0,c.$E)(e))return;const n=s.url.path.toLowerCase();m.has(n)||m.set(n,r)}function g(e){const t=(0,h.qg)(e)?.url.path.toLowerCase();if(!t)return e;const r=m.get(t);return r?(0,u.hf)(e,r):e}const w="FormData"in globalThis,v=new Set([499,498,403,401]),b=new Set(["COM_0056","COM_0057","SB_0008"]),q=[/\/arcgis\/tokens/i,/\/sharing(\/rest)?\/generatetoken/i,/\/rest\/info/i];async function S(e){let t,o;await async function(e){const t=e.parameters.url,o=e.parameters.requestOptions,a=e.controller.signal,i=o.body;let u=null,c=null;if(w&&"HTMLFormElement"in globalThis&&(i instanceof FormData?u=i:i instanceof HTMLFormElement&&(u=new FormData(i))),"string"==typeof i&&(c=i),e.fetchOptions={cache:o.cacheMode??(o.cacheBust?"no-cache":"default"),credentials:"same-origin",headers:o.headers||{},keepalive:o.keepAlive??!1,method:"head"===o.method?"HEAD":"GET",mode:"cors",priority:o.priority??s.A.request.priority,redirect:"follow",signal:a},(u||c)&&(e.fetchOptions.body=u||c),(d.i.isForeignWorker||"anonymous"===o.authMode)&&(e.useIdentity=!1),e.hasToken=!!(/token=/i.test(t)||o.query?.token||u?.get("token")),!e.hasToken){const{getApiKey:s,getSessionToken:n}=await r.e(926).then(r.bind(r,926)),a=await n(t)??s(t);a&&(o.query??={},o.query.token=a,e.hasToken=!0)}if(e.useIdentity&&!e.hasToken&&!e.credential&&!e.credentialToken&&!O(t)&&!(0,l.G4)(a)){let r;"immediate"===o.authMode?(await k(),r=await n.id.getCredential(t,{signal:a})):"no-prompt"===o.authMode?(await k(),r=await n.id.getCredential(t,{prompt:!1,signal:a}).catch(()=>{})):n.id&&(r=n.id.findCredential(t)),r&&(e.credential=r,e.credentialToken=r.token,e.useSSL=!!r.ssl)}}(e);try{do{[t,o]=await T(e)}while(!await x(e,t,o))}catch(r){const s=U("request:server",r,e.parameters,t);throw s.details.ssl=e.useSSL,e.interceptor?.error?.(s),s}const a=e.parameters.url;if(o)if(/\/sharing\/rest\/(accounts|portals)\/self/i.test(a)){if(!e.hasToken&&!e.credentialToken&&o.user?.username&&!(0,u.FL)(a)){const e=(0,u.$z)(a,!0);e&&s.A.request.trustedServers.push(e)}Array.isArray(o.authorizedCrossOriginNoCorsDomains)&&function(e){s.A.request.crossOriginNoCorsDomains||(s.A.request.crossOriginNoCorsDomains={});const t=s.A.request.crossOriginNoCorsDomains;for(let r of e)r=r.toLowerCase(),/^https?:\/\//.test(r)?t[(0,u.$z)(r)??""]=0:(t[(0,u.$z)("http://"+r)??""]=0,t[(0,u.$z)("https://"+r)??""]=0)}(o.authorizedCrossOriginNoCorsDomains)}else"json"===(e.parameters.requestOptions.responseType||"json")&&y(a,o);const i=e.credential;if(i&&n.id){const e=n.id.findServerInfo(i.server);let t=e?.owningSystemUrl;if(t){t=t.replace(/\/?$/,"/sharing");const e=n.id.findCredential(t,i.userId);e&&-1===n.id._getIdenticalSvcIdx(t,e)&&e.resources.unshift(t)}}return{data:o,getAllHeaders:t?()=>Array.from(t.headers):P,getHeader:t?e=>t.headers.get(e):P,httpStatus:t?.status??200,requestOptions:e.parameters.requestOptions,ssl:e.useSSL,url:e.parameters.url}}async function T(e){let t=e.parameters.url,r=g(t);const o=e.parameters.requestOptions,i=e.fetchOptions??{},f=(0,u.w8)(t)||(0,u.DB)(t),h=o.responseType??"json",m="image"===h&&o.imageWithType,y=f?0:null!=o.timeout?o.timeout:s.A.request.timeout;let v=!1;if(!f){e.useSSL&&(t=(0,u.lM)(t));let l={...o.query};e.credentialToken&&(l.token=e.credentialToken);let d=(0,u.x0)(l);(0,a.A)("esri-url-encodes-apostrophe")&&(d=d.replaceAll("'","%27"));const p=r.length+1+d.length;let f;v="delete"===o.method||"post"===o.method||"put"===o.method||!!o.body||p>s.A.request.maxUrlLength;const h=o.useProxy||!!(0,u.zs)(t);if(h){const e=(0,u.s_)(t);f=e.path,!v&&f.length+1+p>s.A.request.maxUrlLength&&(v=!0),e.query&&(l={...e.query,...l})}if("HEAD"===i.method&&(v||h)){if(v){if(p>s.A.request.maxUrlLength)throw U("request:invalid-parameters",new Error("URL exceeds maximum length"),e.parameters);throw U("request:invalid-parameters",new Error("cannot use POST request when method is 'head'"),e.parameters)}if(h)throw U("request:invalid-parameters",new Error("cannot use proxy when method is 'head'"),e.parameters)}if(v?(i.method="delete"===o.method?"DELETE":"put"===o.method?"PUT":"POST",o.body?t=(0,u.a6)(t,l):(i.body=(0,u.x0)(l),i.headers||(i.headers={}),i.headers["Content-Type"]="application/x-www-form-urlencoded")):t=(0,u.a6)(t,l),h&&(e.useProxy=!0,t=`${f}?${t}`),l.token&&w&&i.body instanceof FormData&&!(0,c.$E)(t)&&i.body.set("token",l.token),o.hasOwnProperty("withCredentials"))e.withCredentials=o.withCredentials;else if(!(0,u.FX)(t,(0,u.Xq)()))if((0,u.FL)(t))e.withCredentials=!0;else if(n.id){const r=n.id.findServerInfo(t);r?.webTierAuth&&(e.withCredentials=!0)}e.withCredentials&&(i.credentials="include",function(e){const t=s.A.request.crossOriginNoCorsDomains;if(t){let r=(0,u.$z)(e);if(r)return r=r.toLowerCase(),!(0,u.FX)(r,(0,u.Xq)())&&t[r]<Date.now()-36e5}return!1}(t)&&await async function(e){const t=(0,u.An)(e);e=t.path,"json"===t.query?.f&&(e+="?f=json");try{await fetch(e,{mode:"no-cors",credentials:"include"})}catch{}const r=s.A.request.crossOriginNoCorsDomains,n=(0,u.$z)(e);r&&n&&(r[n.toLowerCase()]=Date.now())}(v?(0,u.a6)(t,l):t)),r=g(t)}let b,q,S=0,k=!1;y>0&&(S=setTimeout(()=>{k=!0,e.controller.abort()},y));try{if("native-request-init"===o.responseType)q=i,q.url=r,o.signal?q.signal=o.signal:delete q.signal;else if("image"!==o.responseType||"default"!==i.cache||i.keepalive||"GET"!==i.method||v||function(e){if(e)for(const t of Object.getOwnPropertyNames(e))if(e[t])return!0;return!1}(o.headers)||!f&&!e.useProxy&&s.A.request.proxyUrl&&!A(t)){if(await(d.i.beforeFetch?.(t,i)),b=await fetch(r,i),await(d.i.afterFetch?.(b)),e.useProxy||function(e){const t=(0,u.$z)(e);t&&!d.i.corsServers.includes(t)&&d.i.corsServers.push(t)}(t),"native"===o.responseType)q=b;else if("HEAD"!==i.method)if(b.ok){switch(h){case"array-buffer":q=await b.arrayBuffer();break;case"blob":q=await b.blob();break;case"image":q=await(m?b.arrayBuffer():b.blob());break;default:q=await b.text()}if(S&&(clearTimeout(S),S=0),"json"===h||"xml"===h||"document"===h)if(q)switch(h){case"json":q=JSON.parse(q);break;case"xml":q=L(q,"application/xml");break;case"document":q=L(q,"text/html")}else q=null;if(q){if(("array-buffer"===h||"blob"===h)&&q["blob"===h?"size":"byteLength"]<=750)try{const e=await new Response(q).json();e.error&&(q=e)}catch{}if(m&&q instanceof ArrayBuffer){const t=function(e){if(e.byteLength<2)return"unknown";const t=new Uint8Array(e,0,e.byteLength);return 137===t[0]&&80===t[1]?"image/png":71===t[0]&&73===t[1]?"image/gif":66===t[0]&&77===t[1]?"image/bmp":255===t[0]&&216===t[1]?"image/jpeg":"unknown"}(q);if("unknown"===t)return o.responseType="image",await T(e);q=await b.blob(),q=await C(URL.createObjectURL(q),e,!0),q=new p(q,t)}"image"===h&&q instanceof Blob&&(q=await C(URL.createObjectURL(q),e,!0))}}else{q=await b.text();try{q=JSON.parse(q)}catch{}}}else q=await C(r,e)}catch(r){if("AbortError"===r.name){if(k)throw new Error($);throw(0,l.NK)("Request canceled")}if(!(!b&&r instanceof TypeError&&s.A.request.proxyUrl)||o.body||"delete"===o.method||"head"===o.method||"post"===o.method||"put"===o.method||e.useProxy||A(t))throw r;e.redoRequest=!0,(0,u.oy)({proxyUrl:s.A.request.proxyUrl,urlPrefix:(0,u.$z)(t)??""})}finally{S&&clearTimeout(S)}return[b,q]}function C(e,t,r=!1){const n=t.controller.signal,o=new Image;return t.withCredentials?o.crossOrigin="use-credentials":o.crossOrigin="anonymous",o.alt="",o.fetchPriority=s.A.request.priority,o.src=e,(0,f.y)(o,e,r,n)}function A(e){const t=(0,u.$z)(e);return!t||t.endsWith(".arcgis.com")||d.i.corsServers.includes(t)||(0,u.FL)(t)}async function k(){n.id||await Promise.all([r.e(7632),r.e(6408),r.e(4580),r.e(9466),r.e(5482),r.e(148),r.e(7581)]).then(r.bind(r,50148))}function O(e){return q.some(t=>t.test(e))}function L(e,t){let r;try{r=(new DOMParser).parseFromString(e,t)}catch{}if(!r||r.getElementsByTagName("parsererror").length)throw new SyntaxError("XML Parse error");return r}async function x(e,t,r){if(e.redoRequest)return e.redoRequest=!1,!1;const s=e.parameters.requestOptions;if(!t||"native"===s.responseType||"native-request-init"===s.responseType)return!0;let o,a;if(r&&(r.error&&"object"==typeof r.error?o=r.error:"error"===r.status&&Array.isArray(r.messages)&&(o={...r},o[E]=r,o.details=r.messages)),!o&&!t.ok)throw o=new Error(`Unable to load ${t.url} status: ${t.status}`),o[E]=r,o;let i,l=null;o&&(a=Number(o.code),l=o.hasOwnProperty("subcode")?Number(o.subcode):null,i=o.messageCode,i=i?.toUpperCase());const u=s.authMode;if(403===a&&(4===l||o.message?.toLowerCase().includes("ssl")&&!o.message.toLowerCase().includes("permission"))){if(!e.useSSL)return e.useSSL=!0,!1}else if(!e.hasToken&&e.useIdentity&&("no-prompt"!==u||498===a)&&void 0!==a&&v.has(a)&&!O(e.parameters.url)&&(403!==a||(!i||!b.has(i))&&(null==l||2===l&&e.credentialToken))){await k();try{const t=await n.id.getCredential(e.parameters.url,{error:U("request:server",o,e.parameters),credential:e.credential,prompt:"no-prompt"!==u,signal:e.controller.signal,token:e.credentialToken});return e.credential=t,e.credentialToken=t.token,e.useSSL=e.useSSL||t.ssl,!1}catch(t){if("no-prompt"===u)return e.credential=void 0,e.credentialToken=void 0,!1;o=t}}if(o)throw o;return!0}function U(e,t,r,s){let n;const a={url:r.url,requestOptions:r.requestOptions,getAllHeaders:P,getHeader:P,ssl:!1};if(t instanceof o.A)return t.details?(t.details=(0,i.o8)(t.details),t.details.url=r.url,t.details.requestOptions=r.requestOptions):t.details=a,t;if(t){const e=s&&(()=>Array.from(s.headers)),r=s&&(e=>s.headers.get(e)),o=s?.status,i=t.message;i&&(n=i),e&&r&&(a.getAllHeaders=e,a.getHeader=r),a.httpStatus=(null!=t.httpCode?t.httpCode:t.code)||o||0,a.subCode=t.subcode,a.messageCode=t.messageCode,"string"==typeof t.details?(a.messages=[t.details],n??=t.details):(a.messages=t.details,n??=a.messages?.[0]),a.raw=E in t?t[E]:t}return n??="Error",(0,l.zf)(t)?(0,l.NK)():new o.A(e,n,a)}const E=Symbol(),P=()=>null,$="Timeout exceeded";function I(e){return"object"==typeof e&&!!e&&"message"in e&&e.message===$}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[926,4794],{69540(e,t,n){n.d(t,{OU:()=>c,Pw:()=>h});var i=n(5482),r=n(69622),s=(n(44208),n(4718)),o=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let r=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,r={},l=new Map;for(const t in n){const o=n[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,s.TU)(c,e),null!=c&&null==h)continue;0===a?l.set(t,h):r[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,n]of l)e.set(t,n,0)}return u}};return r=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],r),r},h=c(r.A)},66344(e,t,n){n.d(t,{q:()=>a});const i=!!(0,n(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const n=this._db.get(e.id+t);return n?.size??0}put(e,t,n,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==n&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,n,r,0);if(void 0===n)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,n,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new s(n,r,l)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const n=this._db.get(t);if(!n)return;this._size-=n.size,e.size-=n.size;let i=n.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,n.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}n.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const n=this._db.get(t);if(n)return this._size-=n.size,e.size-=n.size,this._db.delete(t),++this._hit,n.entry;++this._miss}get(e,t){t=e.id+t;const n=this._db.get(t);if(void 0!==n)return this._db.delete(t),n.lives=n.lifetime,this._db.set(t,n),++this._hit,n.entry;++this._miss}peek(e,t){const n=this._db.get(e.id+t);return n?++this._hit:++this._miss,n?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},n=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;n[r]=(n[r]||0)+e.size,this._clients.forEach(n=>{const{id:r,name:s}=n;if(i.startsWith(r)){const n=t[s]||0;t[s]=n+e.size}})});const i={};this._clients.forEach(e=>{const n=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[n]||0;t[n]=r,i[n]=Math.round(100*e.hitRate)+"%"}else i[n]="0%"});const r=Object.keys(t);r.sort((e,n)=>t[n]-t[e]),r.forEach(n=>e[n]=Math.round(t[n]/2**20)+"MB / "+i[n]);for(let t=n.length-1;t>=0;--t){const i=n[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,n)=>{n.startsWith(t)&&(this._size-=e.size,this._db.delete(n),this._notifyRemove(n,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,n]of this._db)t.startsWith(e.id)&&(yield n.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,n,i){const r=this._clients.get(e.split(o)[0])?.removeFunc,s=r?.(t,i,n);return"number"==typeof s?s:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const n=t??this;if(n.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[s,a]of this._db)if(0===a.lifetime&&(!i||s.startsWith(i))){const i=t??this._clients.get(s.split(o)[0]);if(this._purgeItem(s,a,i),n.size<=.9*e)return;r||=this._db.has(s)}}for(const[r,s]of this._db)if(!i||r.startsWith(i)){const i=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,s,i),n.size<=.9*e)return}}_purgeItem(e,t,n){if(this._db.delete(e),t.lives<=1){this._size-=t.size,n&&(n.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,n&&(n.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class s{constructor(e,t,n){this.entry=e,this.size=t,this.lifetime=n,this.lives=n}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new r(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,n=1){this._storage.put(this,e,t,n,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},60999(e,t,n){n.d(t,{DZ:()=>m,Ke:()=>p,Tj:()=>c,UT:()=>f,aD:()=>g,jJ:()=>u});var i=n(5482),r=n(69622),s=n(97768),o=n(74887),a=n(10107),l=n(64108);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function c(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function m(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function f(e,t){return new y(e,t)}let y=class extends r.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},67482(e,t,n){function i(e){return null!=a(e)||null!=o(e)}function r(e){return l.test(e)}function s(e){return a(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let n=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,i=0;for(;!t&&i<=e.length;)t=!u.test(e[i]),i++;n=!t}}return n}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function a(e){const t=l.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,r=+n.month-1,s=+n.day,o=+(n.hours??"0"),a=+(n.minutes??"0"),u=+(n.seconds??"0");if(o>23)return null;if(a>59)return null;if(u>59)return null;const c=n.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,r,s,o,a,u,h);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,r,s,o,a,u,h)}return Number.isNaN(d)?null:d}n.d(t,{Br:()=>r,Cq:()=>i,_U:()=>s});const l=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},75503(e,t,n){n.d(t,{wq:()=>a});var i=n(4576),r=n(21818),s=(n(44208),n(15142)),o=n(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),w.prune(),S.prune(),v.prune(),C.prune()}all(e){l(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(b(e,n))for(w.clear();n;){for(let r=0,s=n.children.length;r<s;r++){const s=n.children[r],o=n.leaf?i(s):s;b(e,o)&&(n.leaf?t(s):_(e,o)?l(s,t):w.push(s))}n=w.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!b(e,t))return!1;for(w.clear();t;){for(let i=0,r=t.children.length;i<r;i++){const r=t.children[i],s=t.leaf?n(r):r;if(b(e,s)){if(t.leaf||_(e,s))return!0;w.push(r)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,n=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(v.clear(),C.clear();n||v.length>0;){if(n||(n=v.pop(),s=v.data[v.length-1],o=C.pop()??0,a=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,r.z)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),v.push(n),this._condense(v),this;a||n.leaf||!_(n,l)?s?(o++,n=s.children[o],a=!1):n=null:(v.push(n),C.push(o),o=0,s=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const r=n-t+1;let s=this._maxEntries;if(r<=s){const i=new F(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(r)/Math.log(s)),s=Math.ceil(r/s**(i-1)));const o=new M([]);o.height=i;const a=Math.ceil(r/s),l=a*Math.ceil(Math.sqrt(s));x(e,t,n,l,this._compareMinX);for(let r=t;r<=n;r+=l){const t=Math.min(r+l-1,n);x(e,r,t,a,this._compareMinY);for(let n=r;n<=t;n+=a){const r=Math.min(n+a-1,t);o.children.push(this._build(e,n,r,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,r=n?e:i(e);v.clear();const s=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,r=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=m(o),l=y(e,o)-a;l<r?(r=l,i=a<i?a:i,n=o):l===r&&a<i&&(i=a,n=o)}t=n||t.children[0]}return t}(r,this._data,t,v);for(s.children.push(e),h(s,r);t>=0&&v.data[t].children.length>this._maxEntries;)this._split(v,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)h(t.data[i],e)}(r,v,t)}_split(e,t){const n=e.data[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i);if(!s)return;const o=n.children.splice(s,n.children.length-s),a=n.leaf?new F(o):new M(o);a.height=n.height,u(n,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this._data=new M([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,r,s;i=r=1/0;for(let o=t;o<=n-t;o++){const t=c(e,0,o,this._toBBox),a=c(e,o,n,this._toBBox),l=g(t,a),u=m(t)+m(a);l<i?(i=l,s=o,r=u<r?u:r):l===i&&u<r&&(r=u,s=o)}return s}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,r=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,r)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const r=this._toBBox,s=c(e,0,t,r),o=c(e,n-t,n,r);let a=f(s)+f(o);for(let i=t;i<n-t;i++){const t=e.children[i];h(s,e.leaf?r(t):t),a+=f(s)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?r(t):t),a+=f(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const r=e.data[t-1],s=r.children;s.splice((0,i.qh)(s,n,s.length,r.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let n=e;for(S.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,r.z)(e));else S.pushArray(n.children);n=S.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,n,i,r){r||(r=new F([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let s,o=t;o<n;o++)s=e.children[o],h(r,e.leaf?i(s):s);return r}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function m(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function f(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,r-n)*Math.max(0,s-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function x(e,t,n,i,r){const s=[t,n];for(;s.length;){const t=s.pop(),n=s.pop();if(t-n<=i)continue;const a=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,a,n,t,r),s.push(n,a,a,t)}}const w=new s.A,S=new s.A,v=new s.A,C=new s.A({deallocator:void 0});class T{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class A extends T{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends A{constructor(e){super(),this.children=e,this.leaf=!0}}class M extends A{constructor(e){super(),this.children=e,this.leaf=!1}}},36708(e,t,n){n.d(t,{C_:()=>d,OH:()=>f,Vh:()=>y,on:()=>h,pc:()=>g,wB:()=>l,z7:()=>u});var i=n(37955),r=n(36563),s=n(97768),o=n(74887),a=n(14012);function l(e,t,n={}){return c(e,t,n,p)}function u(e,t,n={}){return c(e,t,n,m)}function c(e,t,n={},i){let r=null;const o=n.once?(e,n)=>{i(e)&&((0,s.xt)(r),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(r=(0,a.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return r}function h(e,t,n,o={}){let a=null,u=null,c=null;function h(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,s.xt)(c),n(e)}const p=l(e,(e,n)=>{h(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,r.hA)(()=>{p.remove(),h()}),c}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,s.xt)(a)}return new Promise((i,s)=>{a=(0,r.vE)([(0,o.u7)(n,()=>{l(),s((0,o.NK)())}),c(e,e=>{l(),i(e)},{sync:!1,once:!0},t??p)])})}(e,m,t)}function p(e){return!0}function m(e){return!!e}n(80559);const f={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},60408(e,t,n){function i(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function r(e){return void 0!==e.points}function s(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?s(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":i(e)?"esriGeometryEnvelope":r(e)?"esriGeometryMultipoint":null:null}function c(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function h(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}n.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>o,U9:()=>r,W0:()=>h,ZC:()=>i,fT:()=>s,uW:()=>l})},65864(e,t,n){n.d(t,{rS:()=>c,xD:()=>d});var i=n(5443),r=n(91075),s=n(48526),o=n(86738),a=n(39829),l=n(82799),u=n(60408);function c(e){return null==e?null:e instanceof r.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?s.A.fromJSON(e):(0,u.ZC)(e)?i.A.fromJSON(e):null}const h={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:s.A,esriGeometryMultiPatch:a.A};function d(e){return e&&h[e]||null}},50498(e,t,n){n.d(t,{Ye:()=>h,gy:()=>c,iI:()=>p,yR:()=>d});var i=n(66552),r=n(5443),s=n(91075),o=n(48526),a=n(86738),l=n(39829),u=n(82799);const c=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),h=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),d={base:s.A,key:"type",typeMap:{extent:r.A,multipoint:o.A,point:a.A,polyline:u.A,polygon:l.A}},p=new i.J({esriGeometryBezier3Curve:"cubic-bezier",esriGeometryCircularArc:"circular-arc",esriGeometryEllipticArc:"elliptic-arc"},{ignoreUnknown:!0})},6518(e,t,n){n.d(t,{F:()=>a});var i=n(44208),r=n(75503),s=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,s.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,n){n.d(t,{A:()=>m});var i=n(4576),r=n(49186),s=n(65529),o=n(53966),a=n(70328),l=n(19419),u=n(90708),c=n(6518),h=n(51441),d=n(37730);const p=(0,a.vt)();class m{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new s.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,r]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,a.Jt)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,l.vt)(),e.geometry),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:s}=e;for(const e in s)n.attributes[e]=s[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,n){n.d(t,{T:()=>r});var i=n(43334);const r={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,n)=>new i.Om(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},33771(e,t,n){n.r(t),n.d(t,{default:()=>w});var i=n(60999),r=n(49186),s=n(53966),o=n(34727),a=n(74887),l=n(67076),u=n(21325),c=n(90708),h=n(83221),d=n(31464),p=n(56390),m=n(85113),f=n(82832),y=n(34322),g=n(95466),_=n(54218),b=n(98623);const x="esri.layers.WFSLayer";class w{constructor(){this._customParameters=null,this._queryEngine=null,this._supportsPagination=!0}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){const{getFeatureUrl:n,getFeatureOutputFormat:i,fields:s,geometryType:o,featureType:l,maxRecordCount:u,maxTotalRecordCount:c,maxPageCount:m,objectIdField:f,customParameters:_}=e,{spatialReference:x,getFeatureSpatialReference:w}=(0,y.UH)(n,l,e.spatialReference);try{await(0,d.Nk)(w,x)}catch{throw new r.A("unsupported-projection","Projection not supported",{inSpatialReference:w,outSpatialReference:x})}(0,a.Te)(t),this._customParameters=_,this._featureType=l,this._fieldsIndex=g.A.fromLayerJSON({fields:s,dateFieldsTimeReference:s.some(e=>"esriFieldTypeDate"===e.type)?{timeZoneIANA:b.n$}:null}),this._geometryType=o,this._getFeatureUrl=n,this._getFeatureOutputFormat=i,this._getFeatureSpatialReference=w,this._maxRecordCount=u,this._maxTotalRecordCount=c,this._maxPageCount=m,this._objectIdField=f,this._spatialReference=x;let v=await this._snapshotFeatures(t);if(v.errors.length>0&&(this._supportsPagination=!1,v=await this._snapshotFeatures(t),v.errors.length>0))throw v.errors[0];const C={type:"object-id",fieldName:f};return this._queryEngine=new p.do({fieldsIndex:this._fieldsIndex,geometryType:o,hasM:!1,hasZ:!1,featureIdInfo:C,spatialReference:x,timeInfo:null,featureStore:new h.A({geometryType:o,hasM:!1,hasZ:!1})}),this._queryEngine.featureStore.addMany(v.features),{warnings:S(v),extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async applyEdits(){throw new r.A("wfs-source:editing-not-supported","applyEdits() is not supported on WFSLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(_.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){return this._customParameters=e.customParameters,this._maxRecordCount=e.maxRecordCount,this._maxTotalRecordCount=e.maxTotalRecordCount,this._maxPageCount=e.maxPageCount,this._snapshotTask?.abort(),this._snapshotTask=(0,i.UT)(e=>this._snapshotFeatures({signal:e})),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),this._queryEngine.featureStore.addMany(e.features);for(const t of S(e))s.A.getLogger(x).warn(new l.A("wfs-layer:refresh-warning",t.message,t.details));e.errors?.length&&s.A.getLogger(x).warn(new l.A("wfs-layer:refresh-error","Refresh completed with errors",{errors:e.errors}))},()=>{this._queryEngine.featureStore.clear()}),await this._waitSnapshotComplete(),{extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _snapshotFeatures(e){const t=e?.signal,n=this._maxTotalRecordCount,i=this._maxPageCount,r=this._supportsPagination&&i>1?await(0,y.E)(this._getFeatureUrl,this._featureType.typeName,{customParameters:this._customParameters,signal:t}):void 0;let s=[];const l=[];if(null==r)try{s=await this._singleQuery(t)}catch(e){(0,a.zf)(e)||l.push(e)}else{const e=Math.min(r,n),u=function*(e,t,n){for(let i=0;i<t;i++)yield e._pageQuery(i,n)}(this,(0,o.qE)(Math.ceil(e/this._maxRecordCount),1,i),t);await Promise.allSettled(Array.from({length:10}).map(()=>async function(e,t,n){let i=e.next();for(;!i.done;){try{const e=await i.value;t.push(...e)}catch(e){(0,a.zf)(e)||n.push(e)}i=e.next()}}(u,s,l)))}return(0,a.Te)(t),{features:s,totalRecordCount:r,maxTotalRecordCount:n,maxPageCount:i,errors:l}}async _singleQuery(e){const t=Number.isFinite(this._maxRecordCount)&&this._maxRecordCount>0?this._maxRecordCount:void 0,n=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,count:t,signal:e});return this._processGeoJSON(n,{signal:e})}async _pageQuery(e,t){const n=e*this._maxRecordCount,i=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,startIndex:n,count:this._maxRecordCount,signal:t});return this._processGeoJSON(i,{startIndex:n,signal:t})}_processGeoJSON(e,t){(0,m.sO)(e,this._getFeatureSpatialReference.wkid);const{startIndex:n,signal:i}=t;(0,a.Te)(i);const r=(0,m.bd)(e,{geometryType:this._geometryType,hasZ:!1,objectIdField:this._objectIdField});if(!(0,u.aI)(this._spatialReference,this._getFeatureSpatialReference))for(const e of r)null!=e.geometry&&(e.geometry=(0,c.Ux)((0,d.Cv)((0,c.zv)(e.geometry,this._geometryType,!1,!1),this._getFeatureSpatialReference,this._spatialReference)));let s=n??1;for(const e of r){const t={};(0,f.MB)(this._fieldsIndex,t,e.attributes,!0),e.attributes=t,null==t[this._objectIdField]&&(e.objectId=t[this._objectIdField]=s++)}return r}}function S(e){const t=[];return null!=e.totalRecordCount&&(e.features.length<e.totalRecordCount&&t.push({name:"wfs-layer:maxRecordCount-too-low",message:`Could only fetch ${e.features.length} of ${e.totalRecordCount} in ${e.maxPageCount} queries. Try increasing the value of WFSLayer.maxRecordCount.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount}}),e.totalRecordCount>e.maxTotalRecordCount&&t.push({name:"wfs-layer:large-dataset",message:`The number of ${e.totalRecordCount} features exceeds the maximum allowed of ${e.maxTotalRecordCount}.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount,maxTotalRecordCount:e.maxTotalRecordCount}})),t}},85113(e,t,n){n.d(t,{BM:()=>T,bd:()=>A,sO:()=>C,xD:()=>h});var i=n(67482),r=n(49186),s=n(21325),o=n(90708),a=n(43334),l=n(92722),u=n(30524);const c={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function h(e){return c[e]}function*d(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*p(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function m(e){for(const t of e)if(t.length>2)return!0;return!1}function f(e){let t=0;for(let n=0;n<e.length;n++){const i=e[n],r=e[(n+1)%e.length];t+=i[0]*r[1]-r[0]*i[1]}return t<=0}function y(e){const t=e[0],n=e[e.length-1];t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]||e.push(t)}function g(e,t){const{coordinates:n,type:i}=e,r=t.hasZ??!1,s=!0;switch(i){case"Point":return new l.A([],[...n],r,!1);case"LineString":return(0,o.Ap)({paths:[n],hasZ:s},r,!1);case"MultiLineString":return(0,o.Ap)({paths:n,hasZ:s},r,!1);case"MultiPoint":return(0,o.PR)({points:n,hasZ:s},r,!1);case"Polygon":case"MultiPolygon":{const e=new l.A([],[],r,!1);for(const t of"Polygon"===i?[n]:n){_(e,t[0],r);for(let n=1;n<t.length;n++)b(e,t[n],r)}return e}}}function _(e,t,n){y(t),function(e){return!f(e)}(t)?w(e,t,n):x(e,t,n)}function b(e,t,n){y(t),function(e){return f(e)}(t)?w(e,t,n):x(e,t,n)}function x(e,t,n){for(const i of t)S(e,i,n);e.lengths.push(t.length)}function w(e,t,n){for(let i=t.length-1;i>=0;i--)S(e,t[i],n);e.lengths.push(t.length)}function S(e,[t,n,i],r){e.coords.push(t,n),r&&e.coords.push(i||0)}function v(e){switch(typeof e){case"string":return(0,i.Br)(e)?"esriFieldTypeDate":"esriFieldTypeString";case"number":return"esriFieldTypeDouble";default:return"unknown"}}function C(e,t=4326){if(!e)throw new r.A("geojson-layer:empty","GeoJSON data is empty");if("Feature"!==e.type&&"FeatureCollection"!==e.type)throw new r.A("geojson-layer:unsupported-geojson-object","missing or not supported GeoJSON object type",{data:e});const{crs:n}=e;if(!n)return;const i="string"==typeof n?n:"name"===n.type?n.properties.name:"EPSG"===n.type?n.properties.code:null,o=(0,s.oT)({wkid:t})?new RegExp(".*(CRS84H?|4326)$","i"):new RegExp(`.*(${t})$`,"i");if(!i||!o.test(i))throw new r.A("geojson:unsupported-crs","unsupported GeoJSON 'crs' member",{crs:n})}function T(e,t={}){const n=[],i=new Set,r=new Set;let s,o=!1,a=null,l=!1,{geometryType:c=null}=t;for(const t of d(e)){const{geometry:e,properties:d,id:f}=t;if((!e||(c||(c=h(e.type)),h(e.type)===c))&&(o||(o=m(p(e))),l||(l=null!=f,l&&(s=typeof f,d&&(a=Object.keys(d).filter(e=>d[e]===f)))),d&&a&&l&&null!=f&&(a.length>1?a=a.filter(e=>d[e]===f):1===a.length&&(a=d[a[0]]===f?a:[])),d))for(const e in d){if(i.has(e))continue;const t=v(d[e]);if("unknown"===t){r.add(e);continue}r.delete(e),i.add(e);const s=(0,u.rS)(e);s&&n.push({name:s,alias:e,type:t})}}const f=(0,u.rS)(1===a?.length&&a[0]||null)??void 0;if(f)for(const e of n)if(e.name===f&&(0,u.WA)(e)){e.type="esriFieldTypeOID";break}return{fields:n,geometryType:c,hasZ:o,objectIdFieldName:f,objectIdFieldType:s,unknownFields:Array.from(r)}}function A(e,t){return Array.from(function*(e,t={}){const{geometryType:n,objectIdField:i}=t;for(const r of e){const{geometry:e,properties:s,id:o}=r;if(e&&h(e.type)!==n)continue;const l=s||{};let u;i&&(u=l[i],null==o||u||(l[i]=u=o)),yield new a.Om(e&&g(e,t),l,null,u)}}(d(e),t))}},82832(e,t,n){n.d(t,{$1:()=>y,CR:()=>f,MB:()=>d,PC:()=>g,Yx:()=>l,bP:()=>c});var i=n(67482),r=n(21325),s=n(30524);class o{constructor(e){this.description=e,this.code=null}}class a{constructor(e){this.globalId=null,this.objectId=null,this.success=!1,this.uniqueId=null,this.error=new o(e)}}function l(e){return new a(e)}class u{constructor(e){this.globalId=null,this.success=!0,this.objectId=this.uniqueId=e}}function c(e){return new u(e)}const h=new Set;function d(e,t,n,i=!1){h.clear();for(const r in n){const o=e.get(r);if(!o)continue;const a=p(o,n[r]);if(h.add(o.name),o&&(i||o.editable)){const e=(0,s.CJ)(o,a);if(e)return l((0,s.uo)(e,o,a));t[o.name]=a}}for(const t of e.requiredFields??[])if(!h.has(t.name))return l(`missing required field "${t.name}"`);return null}function p(e,t){let n=t;return(0,s.WA)(e)&&"string"==typeof t?n=parseFloat(t):(0,s.yM)(e)&&null!=t&&"string"!=typeof t?n=String(t):(0,s.vE)(e)&&"string"==typeof t&&(n=(0,i._U)(t)),(0,s.WX)(n)}let m;function f(e,t){if(!e||!(0,r.fn)(t))return e;if("rings"in e||"paths"in e){if(null==m)throw new TypeError("geometry engine not loaded");return m.simplify(t,e)}return e}async function y(e,t){!(0,r.fn)(e)||"esriGeometryPolygon"!==t&&"esriGeometryPolyline"!==t||await async function(){return null==m&&(m=await n.e(1023).then(n.bind(n,81023))),m}()}const g={supportsAutoIntervalBin:!0,supportsFixedIntervalBin:!0,supportsFixedBoundariesBin:!0,supportsDateBin:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsNormalization:!0,supportedStatisticTypes:["COUNT","SUM","AVG","VAR","STDDEV","MIN","MAX","PERCENTILE_CONT","PERCENTILE_DISC","CentroidAggregate","EnvelopeAggregate","ConvexHullAggregate"],supportedNormalizationTypes:["field","log","naturalLog","percentOfTotal","squareRoot"]}},34322(e,t,n){n.d(t,{E:()=>N,Fu:()=>S,O8:()=>M,UH:()=>G,YW:()=>R,i5:()=>b,mG:()=>F,x$:()=>P});var i=n(11254),r=n(49186),s=n(5479),o=n(84952),a=n(5443),l=n(91218),u=n(16930),c=n(21325),h=n(50498),d=n(85113),p=n(13043),m=n(60694),f=n(20437),y=n(30524);const g="xlink:href",_="2.0.0",b="__esri_wfs_id__",x="wfs-layer:feature-type-not-found",w="wfs-layer:unknown-geometry-type";async function S(e,t){const n=function(e){const t=k(e);(function(e){const t=e.firstElementChild?.getAttribute("version");if(t&&t!==_)throw new r.A("wfs-layer:unsupported-wfs-version",`Unsupported WFS version ${t}. Supported version: ${_}`)})(t),O(t);const n=t.firstElementChild,i=(0,s.PP)(function(e){return(0,p.i)(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",defaultSpatialReference:4326,supportedSpatialReferences:[]},n=new Set;return(0,p.p)(e,{Name:e=>{const{name:n,prefix:i}=j(e.textContent);t.typeName=`${i}:${n}`,t.name=n,t.namespacePrefix=i,t.namespaceUri=e.lookupNamespaceURI(i)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=a.A.fromJSON(function(e){let t,n,i,r;for(const s of e.children)switch(s.localName){case"LowerCorner":[t,n]=s.textContent.split(" ").map(e=>Number.parseFloat(e));break;case"UpperCorner":[i,r]=s.textContent.split(" ").map(e=>Number.parseFloat(e))}return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:c.KK}}(e))},DefaultCRS:e=>{const i=A(e);i&&(t.defaultSpatialReference=i,n.add(i))},OtherCRS:e=>{const t=A(e);t&&n.add(t)}}),t.title||(t.title=t.name),n.add(4326),t.supportedSpatialReferences.push(...n),t}}})}(n));return{operations:T(n),get featureTypes(){return Array.from(i())},readFeatureTypes:i}}((await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:_,...t?.customParameters},signal:t?.signal})).data);return function(e,t){(0,o.m3)(e)&&((0,o.FX)(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=(0,o.lM)(t.operations.DescribeFeatureType.url)),(0,o.FX)(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=(0,o.lM)(t.operations.GetFeature.url)))}(e,n),n}const v=["json","application/json; subtype=geojson; charset=utf-8","application/json; subtype=geojson","application/json","geojson","application/geo+json"];function C(e){for(const t of v){const n=e.findIndex(e=>e.toLowerCase()===t);if(n>=0)return e[n]}return null}function T(e){let t=!0;const n={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}},i=[],s=[];if((0,p.p)(e,{OperationsMetadata:{Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&i.push(e)}}}},Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{n.GetCapabilities.url=e.getAttribute(g)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{n.DescribeFeatureType.url=e.getAttribute(g)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{n.GetFeature.url=e.getAttribute(g)}}},Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&s.push(e)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{t="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{n.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),n.GetFeature.outputFormat=C(s)??C(i),!t)throw new r.A("wfs-layer:kvp-encoding-not-supported","WFS service doesn't support key/value pair (KVP) encoding");if(null==n.GetFeature.outputFormat)throw new r.A("wfs-layer:geojson-not-supported","WFS service doesn't support GeoJSON output format");return n}function A(e){const t=parseInt(e.textContent?.match(/(?<wkid>\d+$)/i)?.groups?.wkid??"",10);if(!Number.isNaN(t))return t}function F(e,t,n){return(0,s.I6)(e,e=>n?e.name===t&&e.namespaceUri===n:e.typeName===t||e.name===t)}async function M(e,t,n,i={}){const{featureType:s,extent:o}=await async function(e,t,n,i={}){const s=e.readFeatureTypes(),o=t?F(s,t,n):s.next().value,{spatialReference:a=new u.A({wkid:o?.defaultSpatialReference})}=i;if(null==o)throw t?new r.A(x,`The type '${t}' could not be found in the service`):new r.A("wfs-layer:empty-service","The service is empty");let h=o.extent;if(h&&!(0,c.aI)(h.spatialReference,a))try{await(0,l.initializeProjection)(h.spatialReference,a,void 0,i),h=(0,l.project)(h,a)}catch{throw new r.A("wfs-layer:unsupported-spatial-reference","Projection not supported")}return{extent:h,spatialReference:a,featureType:o}}(e,t,n,i),{spatialReference:a}=G(e.operations.GetFeature.url,s,i.spatialReference),{fields:h,geometryType:d,swapXY:p,objectIdField:m,geometryField:f}=await async function(e,t,n,i={}){const{typeName:s}=t,[o,a]=await Promise.allSettled([E(e.operations.DescribeFeatureType.url,s,i),I(e,s,n,i)]),l=e=>new r.A("wfs-layer:getWFSLayerTypeInfo-error",`An error occurred while getting info about the feature type '${s}'`,{error:e});if("rejected"===o.status)throw l(o.reason);if("rejected"===a.status)throw l(a.reason);const{fields:u,errors:c}=o.value??{},h=o.value?.geometryType||a.value?.geometryType,d=a.value?.swapXY??!1;if(null==h)throw new r.A(w,`The geometry type could not be determined for type '${s}`,{typeName:s,geometryType:h,fields:u,errors:c});return{...R(u??[]),geometryType:h,swapXY:d}}(e,s,a,i);return{url:e.operations.GetCapabilities.url,name:s.name,namespaceUri:s.namespaceUri,fields:h,geometryField:f,geometryType:d,objectIdField:m,spatialReference:i.spatialReference??new u.A({wkid:s.defaultSpatialReference}),extent:o,swapXY:p,wfsCapabilities:e,customParameters:i.customParameters}}function R(e){const t=e.find(e=>"geometry"===e.type);let n=e.find(e=>"oid"===e.type);return e=e.filter(e=>"geometry"!==e.type),n||(n=new f.A({name:b,type:"oid",alias:b}),e.unshift(n)),{geometryField:t?.name??null,objectIdField:n.name,fields:e}}async function I(e,t,n,r={}){let s,o=!1;const[a,l]=await Promise.all([P(e.operations.GetFeature.url,t,n,e.operations.GetFeature.outputFormat,{...r,count:1}),(0,i.A)(e.operations.GetFeature.url,{responseType:"text",query:z(t,n,void 0,{...r,count:1}),signal:r?.signal})]),u="FeatureCollection"===a.type&&a.features[0]?.geometry;if(u){let e;switch(s=h.gy.fromJSON((0,d.xD)(u.type)),u.type){case"Point":e=u.coordinates;break;case"LineString":case"MultiPoint":e=u.coordinates[0];break;case"MultiLineString":case"Polygon":e=u.coordinates[0][0];break;case"MultiPolygon":e=u.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(l.data);if(t){const n=e[0].toFixed(3),i=e[1].toFixed(3),r=parseFloat(t[1]).toFixed(3);n===parseFloat(t[2]).toFixed(3)&&i===r&&(o=!0)}}return{geometryType:s,swapXY:o}}async function E(e,t,n){return function(e,t){const{name:n}=j(e),i=k(t);O(i);const o=(0,s.I6)((0,p.i)(i.firstElementChild,{element:e=>e}),e=>e.getAttribute("name")===n);if(null!=o){const e=o.getAttribute("type"),t=e?(0,s.I6)((0,p.i)(i.firstElementChild,{complexType:e=>e}),t=>t.getAttribute("name")===j(e).name):(0,s.I6)((0,p.i)(o,{complexType:e=>e}),()=>!0);if(t)return function(e){const t=[],n=[];let i;const s=(0,p.i)(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const o of s){const s=o.getAttribute("name");if(!s)continue;let a,l;if(o.hasAttribute("type")?a=j(o.getAttribute("type")).name:(0,p.p)(o,{simpleType:{restriction:e=>(a=j(e.getAttribute("base")).name,{maxLength:e=>{l=+e.getAttribute("value")}})}}),!a)continue;const u="true"===o.getAttribute("nillable");let c=!1;switch(a.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":n.push(new f.A({name:s,alias:s,type:"integer",nullable:u,length:(0,y._b)("integer")}));break;case"float":case"double":case"decimal":n.push(new f.A({name:s,alias:s,type:"double",nullable:u,length:(0,y._b)("double")}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":n.push(new f.A({name:s,alias:s,type:"string",nullable:u,length:l??(0,y._b)("string")}));break;case"datetime":case"date":n.push(new f.A({name:s,alias:s,type:"date",nullable:u,length:l??(0,y._b)("date")}));break;case"pointpropertytype":i="point",c=!0;break;case"multipointpropertytype":i="multipoint",c=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":i="polyline",c=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":i="polygon",c=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":c=!0,t.push(new r.A(w,`geometry type '${a}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:t.push(new r.A("wfs-layer:unknown-field-type",`Unknown field type '${a}'`,{type:(new XMLSerializer).serializeToString(e)}))}c&&n.push(new f.A({name:s,alias:s,type:"geometry",nullable:u}))}for(const e of n)if("integer"===e.type&&!e.nullable&&B.has(e.name.toLowerCase())){e.type="oid";break}return{geometryType:i,fields:n,errors:t}}(t)}throw new r.A(x,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(i)})}(t,(await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:_,TYPENAME:t,TYPENAMES:t,...n?.customParameters},signal:n?.signal})).data)}const B=new Set(["objectid","fid"]);async function P(e,t,n,s,o){let{data:a}=await(0,i.A)(e,{responseType:"text",query:z(t,n,s,o),signal:o?.signal});a=a.replaceAll(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{return JSON.parse(a)}catch(e){throw new r.A("wfs-layer:malformed-json","Error while parsing the response",{response:a,error:e})}}function z(e,t,n,i){const r="number"==typeof t?t:t.wkid;return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:e,OUTPUTFORMAT:n,SRSNAME:"EPSG:"+r,STARTINDEX:i?.startIndex,COUNT:i?.count,...i?.customParameters}}async function N(e,t,n){const r=await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:t,RESULTTYPE:"hits",...n?.customParameters},signal:n?.signal}),s=/numberMatched=["'](?<numberMatched>\d+)["']/gi.exec(r.data);if(s?.groups)return+s.groups.numberMatched}function k(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function j(e){const[t,n]=e.split(":");return{prefix:n?t:"",name:n??t}}function O(e){let t="",n="";if((0,p.p)(e.firstElementChild,{Exception:e=>(t=e.getAttribute("exceptionCode"),{ExceptionText:e=>{n=e.textContent}})}),t)throw new r.A(`wfs-layer:${t}`,n)}function G(e,t,n){const i={wkid:t.defaultSpatialReference},r=null!=n?.wkid?{wkid:n.wkid}:i;return{spatialReference:r,getFeatureSpatialReference:(0,m.Fi)(e)||r.wkid&&t.supportedSpatialReferences.includes(r.wkid)?{wkid:r.wkid}:{wkid:t.defaultSpatialReference}}}},13043(e,t,n){function i(e,t){if(e&&t)for(const n of e.children)if(n.localName in t){const e=t[n.localName];if("function"==typeof e){const t=e(n);t&&i(n,t)}else i(n,e)}}function*r(e,t){for(const n of e.children)if(n.localName in t){const e=t[n.localName];"function"==typeof e?yield e(n):yield*r(n,e)}}n.d(t,{i:()=>r,p:()=>i})},39357(e,t,n){n.d(t,{A:()=>a});var i,r=n(5482),s=n(25482),o=n(91429);let a=i=class extends s.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new i({name:this.name,code:this.code})}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"name",void 0),(0,r.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],a.prototype,"code",void 0),a=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValue")],a)},53177(e,t,n){n.d(t,{A:()=>c});var i,r=n(5482),s=n(4718),o=n(91429),a=n(39357),l=n(76357),u=n(93223);let c=class extends l.A{static{i=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const n=String(e);this.codedValues.some(e=>(String(e.code)===n&&(t=e.name),!!t))}return t}clone(){return new i({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,r.Cg)([(0,o.MZ)({type:[a.A],json:{write:{isRequired:!0}}})],c.prototype,"codedValues",void 0),(0,r.Cg)([(0,u.e)({codedValue:"coded-value"})],c.prototype,"type",void 0),c=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValueDomain")],c)},76357(e,t,n){n.d(t,{A:()=>u});var i=n(5482),r=n(66552),s=n(25482),o=n(91429),a=n(93223);const l=new r.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends s.o{constructor(e){super(e),this.name=null,this.type=null}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,i.Cg)([(0,a.e)(l),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,i.Cg)([(0,o.$K)("esri.layers.support.Domain")],u)},20437(e,t,n){n.d(t,{A:()=>m});var i,r=n(5482),s=n(66552),o=n(25482),a=n(91429),l=n(56507),u=n(8631),c=n(98453),h=n(36005),d=n(93223);const p=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let m=class extends o.o{static{i=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let n=null;try{n=t?JSON.parse(t):null}catch(e){}return n?.value??null}readValueType(e,{description:t}){let n=null;try{n=t?JSON.parse(t):null}catch(e){}return n?p.fromJSON(n.fieldValueType):null}clone(){return new i({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,r.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"description",void 0),(0,r.Cg)([(0,h.w)("description")],m.prototype,"readDescription",null),(0,r.Cg)([(0,a.MZ)({types:u.g,json:{read:{reader:u.r},write:!0}})],m.prototype,"domain",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,r.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,"length",void 0),(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,r.Cg)([(0,d.e)(c.m)],m.prototype,"type",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"valueType",void 0),(0,r.Cg)([(0,h.w)("valueType",["description"])],m.prototype,"readValueType",null),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=i=(0,r.Cg)([(0,a.$K)("esri.layers.support.Field")],m)},41628(e,t,n){n.d(t,{A:()=>l});var i,r=n(5482),s=n(91429),o=n(76357),a=n(93223);let l=class extends o.A{static{i=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new i({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,r.Cg)([(0,s.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,n){t[n]=[this.minValue||0,e]},isRequired:!0}}})],l.prototype,"maxValue",void 0),(0,r.Cg)([(0,s.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,n){t[n]=[e,this.maxValue||0]},isRequired:!0}}})],l.prototype,"minValue",void 0),(0,r.Cg)([(0,a.e)({range:"range"})],l.prototype,"type",void 0),l=i=(0,r.Cg)([(0,s.$K)("esri.layers.support.RangeDomain")],l)},8631(e,t,n){n.d(t,{r:()=>d,g:()=>h});var i,r=n(53177),s=n(76357),o=n(5482),a=n(91429),l=n(93223);let u=class extends s.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],u.prototype,"type",void 0),u=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],u);var c=n(41628);const h={key:"type",base:s.A,typeMap:{range:c.A,"coded-value":r.A,inherited:u}};function d(e){if(!e?.type)return null;switch(e.type){case"range":return c.A.fromJSON(e);case"codedValue":return r.A.fromJSON(e);case"inherited":return u.fromJSON(e)}return null}},98453(e,t,n){n.d(t,{m:()=>i});const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},2272(e,t,n){n.d(t,{Dl:()=>u,gf:()=>h,jV:()=>l,lF:()=>c});var i=n(92602),r=n(70333),s=n(4718),o=n(84952),a=n(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,s.o8)(e)}function c(e,t,n){const i={};for(const r in e){if("declaredClass"===r)continue;const s=e[r];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))i[r]=s.map(e=>c(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(n?.[r]);i[r]=t?e:JSON.stringify(e)}else i[r]=t?s:JSON.stringify(s);else i[r]=s}return i}async function h(e,t,s){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??r.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!r.id&&i.A.request.useIdentity&&await Promise.all([n.e(7632),n.e(8486),n.e(148)]).then(n.bind(n,50148));const l=await r.id.getCredential(e,s);return l?.token}},926(e,t,n){n.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>m,getApiKey:()=>c,getSessionToken:()=>h});var i=n(92602),r=n(11254),s=n(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function c(e){if(!m(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),n=i.A.apiKeys;if(Array.isArray(n.scopes))for(const e of n.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return n.basemapStyles&&o.test(e)?n.basemapStyles:i.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?i.A.apiKey:null}async function h(e){if(!i.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=c(e);if(!t)return null;u&&await u;const{styleFamily:n="arcgis",autoRefresh:s,duration:a=43200}=i.A.sessions.basemap,h=`${t}:${n}`,d=l.get(h);if(d&&(!s||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,r.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:n,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(h,p)}finally{u=null}return p.sessionToken}function d(){return null!=i.A.apiKey||null!=i.A.apiKeys.basemapStyles}function p(e,t){return t?m(e):null!=c(e)}function m(e){const t=(0,s.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[926,4794],{69540(e,t,n){n.d(t,{OU:()=>c,Pw:()=>h});var i=n(5482),r=n(69622),s=(n(44208),n(4718)),o=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let r=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,r={},l=new Map;for(const t in n){const o=n[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,s.TU)(c,e),null!=c&&null==h)continue;0===a?l.set(t,h):r[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,n]of l)e.set(t,n,0)}return u}};return r=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],r),r},h=c(r.A)},66344(e,t,n){n.d(t,{q:()=>a});const i=!!(0,n(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const n=this._db.get(e.id+t);return n?.size??0}put(e,t,n,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==n&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,n,r,0);if(void 0===n)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,n,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new s(n,r,l)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const n=this._db.get(t);if(!n)return;this._size-=n.size,e.size-=n.size;let i=n.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,n.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}n.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const n=this._db.get(t);if(n)return this._size-=n.size,e.size-=n.size,this._db.delete(t),++this._hit,n.entry;++this._miss}get(e,t){t=e.id+t;const n=this._db.get(t);if(void 0!==n)return this._db.delete(t),n.lives=n.lifetime,this._db.set(t,n),++this._hit,n.entry;++this._miss}peek(e,t){const n=this._db.get(e.id+t);return n?++this._hit:++this._miss,n?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},n=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;n[r]=(n[r]||0)+e.size,this._clients.forEach(n=>{const{id:r,name:s}=n;if(i.startsWith(r)){const n=t[s]||0;t[s]=n+e.size}})});const i={};this._clients.forEach(e=>{const n=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[n]||0;t[n]=r,i[n]=Math.round(100*e.hitRate)+"%"}else i[n]="0%"});const r=Object.keys(t);r.sort((e,n)=>t[n]-t[e]),r.forEach(n=>e[n]=Math.round(t[n]/2**20)+"MB / "+i[n]);for(let t=n.length-1;t>=0;--t){const i=n[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,n)=>{n.startsWith(t)&&(this._size-=e.size,this._db.delete(n),this._notifyRemove(n,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,n]of this._db)t.startsWith(e.id)&&(yield n.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,n,i){const r=this._clients.get(e.split(o)[0])?.removeFunc,s=r?.(t,i,n);return"number"==typeof s?s:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const n=t??this;if(n.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[s,a]of this._db)if(0===a.lifetime&&(!i||s.startsWith(i))){const i=t??this._clients.get(s.split(o)[0]);if(this._purgeItem(s,a,i),n.size<=.9*e)return;r||=this._db.has(s)}}for(const[r,s]of this._db)if(!i||r.startsWith(i)){const i=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,s,i),n.size<=.9*e)return}}_purgeItem(e,t,n){if(this._db.delete(e),t.lives<=1){this._size-=t.size,n&&(n.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,n&&(n.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class s{constructor(e,t,n){this.entry=e,this.size=t,this.lifetime=n,this.lives=n}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new r(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,n=1){this._storage.put(this,e,t,n,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},60999(e,t,n){n.d(t,{DZ:()=>m,Ke:()=>p,Tj:()=>c,UT:()=>f,aD:()=>g,jJ:()=>u});var i=n(5482),r=n(69622),s=n(97768),o=n(74887),a=n(10107),l=n(64108);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function c(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function m(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function f(e,t){return new y(e,t)}let y=class extends r.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},67482(e,t,n){function i(e){return null!=a(e)||null!=o(e)}function r(e){return l.test(e)}function s(e){return a(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let n=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,i=0;for(;!t&&i<=e.length;)t=!u.test(e[i]),i++;n=!t}}return n}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function a(e){const t=l.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,r=+n.month-1,s=+n.day,o=+(n.hours??"0"),a=+(n.minutes??"0"),u=+(n.seconds??"0");if(o>23)return null;if(a>59)return null;if(u>59)return null;const c=n.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,r,s,o,a,u,h);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,r,s,o,a,u,h)}return Number.isNaN(d)?null:d}n.d(t,{Br:()=>r,Cq:()=>i,_U:()=>s});const l=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},75503(e,t,n){n.d(t,{wq:()=>a});var i=n(4576),r=n(21818),s=(n(44208),n(15142)),o=n(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),w.prune(),S.prune(),v.prune(),C.prune()}all(e){l(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(b(e,n))for(w.clear();n;){for(let r=0,s=n.children.length;r<s;r++){const s=n.children[r],o=n.leaf?i(s):s;b(e,o)&&(n.leaf?t(s):_(e,o)?l(s,t):w.push(s))}n=w.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!b(e,t))return!1;for(w.clear();t;){for(let i=0,r=t.children.length;i<r;i++){const r=t.children[i],s=t.leaf?n(r):r;if(b(e,s)){if(t.leaf||_(e,s))return!0;w.push(r)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,n=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(v.clear(),C.clear();n||v.length>0;){if(n||(n=v.pop(),s=v.data[v.length-1],o=C.pop()??0,a=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,r.z)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),v.push(n),this._condense(v),this;a||n.leaf||!_(n,l)?s?(o++,n=s.children[o],a=!1):n=null:(v.push(n),C.push(o),o=0,s=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const r=n-t+1;let s=this._maxEntries;if(r<=s){const i=new F(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(r)/Math.log(s)),s=Math.ceil(r/s**(i-1)));const o=new M([]);o.height=i;const a=Math.ceil(r/s),l=a*Math.ceil(Math.sqrt(s));x(e,t,n,l,this._compareMinX);for(let r=t;r<=n;r+=l){const t=Math.min(r+l-1,n);x(e,r,t,a,this._compareMinY);for(let n=r;n<=t;n+=a){const r=Math.min(n+a-1,t);o.children.push(this._build(e,n,r,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,r=n?e:i(e);v.clear();const s=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,r=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=m(o),l=y(e,o)-a;l<r?(r=l,i=a<i?a:i,n=o):l===r&&a<i&&(i=a,n=o)}t=n||t.children[0]}return t}(r,this._data,t,v);for(s.children.push(e),h(s,r);t>=0&&v.data[t].children.length>this._maxEntries;)this._split(v,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)h(t.data[i],e)}(r,v,t)}_split(e,t){const n=e.data[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i);if(!s)return;const o=n.children.splice(s,n.children.length-s),a=n.leaf?new F(o):new M(o);a.height=n.height,u(n,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this._data=new M([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,r,s;i=r=1/0;for(let o=t;o<=n-t;o++){const t=c(e,0,o,this._toBBox),a=c(e,o,n,this._toBBox),l=g(t,a),u=m(t)+m(a);l<i?(i=l,s=o,r=u<r?u:r):l===i&&u<r&&(r=u,s=o)}return s}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,r=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,r)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const r=this._toBBox,s=c(e,0,t,r),o=c(e,n-t,n,r);let a=f(s)+f(o);for(let i=t;i<n-t;i++){const t=e.children[i];h(s,e.leaf?r(t):t),a+=f(s)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?r(t):t),a+=f(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const r=e.data[t-1],s=r.children;s.splice((0,i.qh)(s,n,s.length,r.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let n=e;for(S.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,r.z)(e));else S.pushArray(n.children);n=S.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,n,i,r){r||(r=new F([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let s,o=t;o<n;o++)s=e.children[o],h(r,e.leaf?i(s):s);return r}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function m(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function f(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,r-n)*Math.max(0,s-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function x(e,t,n,i,r){const s=[t,n];for(;s.length;){const t=s.pop(),n=s.pop();if(t-n<=i)continue;const a=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,a,n,t,r),s.push(n,a,a,t)}}const w=new s.A,S=new s.A,v=new s.A,C=new s.A({deallocator:void 0});class T{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class A extends T{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends A{constructor(e){super(),this.children=e,this.leaf=!0}}class M extends A{constructor(e){super(),this.children=e,this.leaf=!1}}},36708(e,t,n){n.d(t,{C_:()=>d,OH:()=>f,Vh:()=>y,on:()=>h,pc:()=>g,wB:()=>l,z7:()=>u});var i=n(37955),r=n(36563),s=n(97768),o=n(74887),a=n(14012);function l(e,t,n={}){return c(e,t,n,p)}function u(e,t,n={}){return c(e,t,n,m)}function c(e,t,n={},i){let r=null;const o=n.once?(e,n)=>{i(e)&&((0,s.xt)(r),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(r=(0,a.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return r}function h(e,t,n,o={}){let a=null,u=null,c=null;function h(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,s.xt)(c),n(e)}const p=l(e,(e,n)=>{h(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,r.hA)(()=>{p.remove(),h()}),c}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,s.xt)(a)}return new Promise((i,s)=>{a=(0,r.vE)([(0,o.u7)(n,()=>{l(),s((0,o.NK)())}),c(e,e=>{l(),i(e)},{sync:!1,once:!0},t??p)])})}(e,m,t)}function p(e){return!0}function m(e){return!!e}n(80559);const f={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},60408(e,t,n){function i(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function r(e){return void 0!==e.points}function s(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?s(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":i(e)?"esriGeometryEnvelope":r(e)?"esriGeometryMultipoint":null:null}function c(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function h(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}n.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>o,U9:()=>r,W0:()=>h,ZC:()=>i,fT:()=>s,uW:()=>l})},65864(e,t,n){n.d(t,{rS:()=>c,xD:()=>d});var i=n(5443),r=n(91075),s=n(48526),o=n(86738),a=n(39829),l=n(82799),u=n(60408);function c(e){return null==e?null:e instanceof r.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?s.A.fromJSON(e):(0,u.ZC)(e)?i.A.fromJSON(e):null}const h={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:s.A,esriGeometryMultiPatch:a.A};function d(e){return e&&h[e]||null}},50498(e,t,n){n.d(t,{Ye:()=>h,gy:()=>c,iI:()=>p,yR:()=>d});var i=n(66552),r=n(5443),s=n(91075),o=n(48526),a=n(86738),l=n(39829),u=n(82799);const c=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),h=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),d={base:s.A,key:"type",typeMap:{extent:r.A,multipoint:o.A,point:a.A,polyline:u.A,polygon:l.A}},p=new i.J({esriGeometryBezier3Curve:"cubic-bezier",esriGeometryCircularArc:"circular-arc",esriGeometryEllipticArc:"elliptic-arc"},{ignoreUnknown:!0})},6518(e,t,n){n.d(t,{F:()=>a});var i=n(44208),r=n(75503),s=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,s.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,n){n.d(t,{A:()=>m});var i=n(4576),r=n(49186),s=n(65529),o=n(53966),a=n(70328),l=n(19419),u=n(90708),c=n(6518),h=n(51441),d=n(37730);const p=(0,a.vt)();class m{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new s.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,r]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,a.Jt)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,l.vt)(),e.geometry),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:s}=e;for(const e in s)n.attributes[e]=s[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,n){n.d(t,{T:()=>r});var i=n(43334);const r={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,n)=>new i.Om(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},33771(e,t,n){n.r(t),n.d(t,{default:()=>w});var i=n(60999),r=n(49186),s=n(53966),o=n(34727),a=n(74887),l=n(67076),u=n(21325),c=n(90708),h=n(83221),d=n(31464),p=n(56390),m=n(85113),f=n(82832),y=n(34322),g=n(95466),_=n(54218),b=n(98623);const x="esri.layers.WFSLayer";class w{constructor(){this._customParameters=null,this._queryEngine=null,this._supportsPagination=!0}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){const{getFeatureUrl:n,getFeatureOutputFormat:i,fields:s,geometryType:o,featureType:l,maxRecordCount:u,maxTotalRecordCount:c,maxPageCount:m,objectIdField:f,customParameters:_}=e,{spatialReference:x,getFeatureSpatialReference:w}=(0,y.UH)(n,l,e.spatialReference);try{await(0,d.Nk)(w,x)}catch{throw new r.A("unsupported-projection","Projection not supported",{inSpatialReference:w,outSpatialReference:x})}(0,a.Te)(t),this._customParameters=_,this._featureType=l,this._fieldsIndex=g.A.fromLayerJSON({fields:s,dateFieldsTimeReference:s.some(e=>"esriFieldTypeDate"===e.type)?{timeZoneIANA:b.n$}:null}),this._geometryType=o,this._getFeatureUrl=n,this._getFeatureOutputFormat=i,this._getFeatureSpatialReference=w,this._maxRecordCount=u,this._maxTotalRecordCount=c,this._maxPageCount=m,this._objectIdField=f,this._spatialReference=x;let v=await this._snapshotFeatures(t);if(v.errors.length>0&&(this._supportsPagination=!1,v=await this._snapshotFeatures(t),v.errors.length>0))throw v.errors[0];const C={type:"object-id",fieldName:f};return this._queryEngine=new p.do({fieldsIndex:this._fieldsIndex,geometryType:o,hasM:!1,hasZ:!1,featureIdInfo:C,spatialReference:x,timeInfo:null,featureStore:new h.A({geometryType:o,hasM:!1,hasZ:!1})}),this._queryEngine.featureStore.addMany(v.features),{warnings:S(v),extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async applyEdits(){throw new r.A("wfs-source:editing-not-supported","applyEdits() is not supported on WFSLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(_.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){return this._customParameters=e.customParameters,this._maxRecordCount=e.maxRecordCount,this._maxTotalRecordCount=e.maxTotalRecordCount,this._maxPageCount=e.maxPageCount,this._snapshotTask?.abort(),this._snapshotTask=(0,i.UT)(e=>this._snapshotFeatures({signal:e})),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),this._queryEngine.featureStore.addMany(e.features);for(const t of S(e))s.A.getLogger(x).warn(new l.A("wfs-layer:refresh-warning",t.message,t.details));e.errors?.length&&s.A.getLogger(x).warn(new l.A("wfs-layer:refresh-error","Refresh completed with errors",{errors:e.errors}))},()=>{this._queryEngine.featureStore.clear()}),await this._waitSnapshotComplete(),{extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _snapshotFeatures(e){const t=e?.signal,n=this._maxTotalRecordCount,i=this._maxPageCount,r=this._supportsPagination&&i>1?await(0,y.E)(this._getFeatureUrl,this._featureType.typeName,{customParameters:this._customParameters,signal:t}):void 0;let s=[];const l=[];if(null==r)try{s=await this._singleQuery(t)}catch(e){(0,a.zf)(e)||l.push(e)}else{const e=Math.min(r,n),u=function*(e,t,n){for(let i=0;i<t;i++)yield e._pageQuery(i,n)}(this,(0,o.qE)(Math.ceil(e/this._maxRecordCount),1,i),t);await Promise.allSettled(Array.from({length:10}).map(()=>async function(e,t,n){let i=e.next();for(;!i.done;){try{const e=await i.value;t.push(...e)}catch(e){(0,a.zf)(e)||n.push(e)}i=e.next()}}(u,s,l)))}return(0,a.Te)(t),{features:s,totalRecordCount:r,maxTotalRecordCount:n,maxPageCount:i,errors:l}}async _singleQuery(e){const t=Number.isFinite(this._maxRecordCount)&&this._maxRecordCount>0?this._maxRecordCount:void 0,n=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,count:t,signal:e});return this._processGeoJSON(n,{signal:e})}async _pageQuery(e,t){const n=e*this._maxRecordCount,i=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,startIndex:n,count:this._maxRecordCount,signal:t});return this._processGeoJSON(i,{startIndex:n,signal:t})}_processGeoJSON(e,t){(0,m.sO)(e,this._getFeatureSpatialReference.wkid);const{startIndex:n,signal:i}=t;(0,a.Te)(i);const r=(0,m.bd)(e,{geometryType:this._geometryType,hasZ:!1,objectIdField:this._objectIdField});if(!(0,u.aI)(this._spatialReference,this._getFeatureSpatialReference))for(const e of r)null!=e.geometry&&(e.geometry=(0,c.Ux)((0,d.Cv)((0,c.zv)(e.geometry,this._geometryType,!1,!1),this._getFeatureSpatialReference,this._spatialReference)));let s=n??1;for(const e of r){const t={};(0,f.MB)(this._fieldsIndex,t,e.attributes,!0),e.attributes=t,null==t[this._objectIdField]&&(e.objectId=t[this._objectIdField]=s++)}return r}}function S(e){const t=[];return null!=e.totalRecordCount&&(e.features.length<e.totalRecordCount&&t.push({name:"wfs-layer:maxRecordCount-too-low",message:`Could only fetch ${e.features.length} of ${e.totalRecordCount} in ${e.maxPageCount} queries. Try increasing the value of WFSLayer.maxRecordCount.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount}}),e.totalRecordCount>e.maxTotalRecordCount&&t.push({name:"wfs-layer:large-dataset",message:`The number of ${e.totalRecordCount} features exceeds the maximum allowed of ${e.maxTotalRecordCount}.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount,maxTotalRecordCount:e.maxTotalRecordCount}})),t}},85113(e,t,n){n.d(t,{BM:()=>T,bd:()=>A,sO:()=>C,xD:()=>h});var i=n(67482),r=n(49186),s=n(21325),o=n(90708),a=n(43334),l=n(92722),u=n(30524);const c={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function h(e){return c[e]}function*d(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*p(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function m(e){for(const t of e)if(t.length>2)return!0;return!1}function f(e){let t=0;for(let n=0;n<e.length;n++){const i=e[n],r=e[(n+1)%e.length];t+=i[0]*r[1]-r[0]*i[1]}return t<=0}function y(e){const t=e[0],n=e[e.length-1];t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]||e.push(t)}function g(e,t){const{coordinates:n,type:i}=e,r=t.hasZ??!1,s=!0;switch(i){case"Point":return new l.A([],[...n],r,!1);case"LineString":return(0,o.Ap)({paths:[n],hasZ:s},r,!1);case"MultiLineString":return(0,o.Ap)({paths:n,hasZ:s},r,!1);case"MultiPoint":return(0,o.PR)({points:n,hasZ:s},r,!1);case"Polygon":case"MultiPolygon":{const e=new l.A([],[],r,!1);for(const t of"Polygon"===i?[n]:n){_(e,t[0],r);for(let n=1;n<t.length;n++)b(e,t[n],r)}return e}}}function _(e,t,n){y(t),function(e){return!f(e)}(t)?w(e,t,n):x(e,t,n)}function b(e,t,n){y(t),function(e){return f(e)}(t)?w(e,t,n):x(e,t,n)}function x(e,t,n){for(const i of t)S(e,i,n);e.lengths.push(t.length)}function w(e,t,n){for(let i=t.length-1;i>=0;i--)S(e,t[i],n);e.lengths.push(t.length)}function S(e,[t,n,i],r){e.coords.push(t,n),r&&e.coords.push(i||0)}function v(e){switch(typeof e){case"string":return(0,i.Br)(e)?"esriFieldTypeDate":"esriFieldTypeString";case"number":return"esriFieldTypeDouble";default:return"unknown"}}function C(e,t=4326){if(!e)throw new r.A("geojson-layer:empty","GeoJSON data is empty");if("Feature"!==e.type&&"FeatureCollection"!==e.type)throw new r.A("geojson-layer:unsupported-geojson-object","missing or not supported GeoJSON object type",{data:e});const{crs:n}=e;if(!n)return;const i="string"==typeof n?n:"name"===n.type?n.properties.name:"EPSG"===n.type?n.properties.code:null,o=(0,s.oT)({wkid:t})?new RegExp(".*(CRS84H?|4326)$","i"):new RegExp(`.*(${t})$`,"i");if(!i||!o.test(i))throw new r.A("geojson:unsupported-crs","unsupported GeoJSON 'crs' member",{crs:n})}function T(e,t={}){const n=[],i=new Set,r=new Set;let s,o=!1,a=null,l=!1,{geometryType:c=null}=t;for(const t of d(e)){const{geometry:e,properties:d,id:f}=t;if((!e||(c||(c=h(e.type)),h(e.type)===c))&&(o||(o=m(p(e))),l||(l=null!=f,l&&(s=typeof f,d&&(a=Object.keys(d).filter(e=>d[e]===f)))),d&&a&&l&&null!=f&&(a.length>1?a=a.filter(e=>d[e]===f):1===a.length&&(a=d[a[0]]===f?a:[])),d))for(const e in d){if(i.has(e))continue;const t=v(d[e]);if("unknown"===t){r.add(e);continue}r.delete(e),i.add(e);const s=(0,u.rS)(e);s&&n.push({name:s,alias:e,type:t})}}const f=(0,u.rS)(1===a?.length&&a[0]||null)??void 0;if(f)for(const e of n)if(e.name===f&&(0,u.WA)(e)){e.type="esriFieldTypeOID";break}return{fields:n,geometryType:c,hasZ:o,objectIdFieldName:f,objectIdFieldType:s,unknownFields:Array.from(r)}}function A(e,t){return Array.from(function*(e,t={}){const{geometryType:n,objectIdField:i}=t;for(const r of e){const{geometry:e,properties:s,id:o}=r;if(e&&h(e.type)!==n)continue;const l=s||{};let u;i&&(u=l[i],null==o||u||(l[i]=u=o)),yield new a.Om(e&&g(e,t),l,null,u)}}(d(e),t))}},82832(e,t,n){n.d(t,{$1:()=>y,CR:()=>f,MB:()=>d,PC:()=>g,Yx:()=>l,bP:()=>c});var i=n(67482),r=n(21325),s=n(30524);class o{constructor(e){this.description=e,this.code=null}}class a{constructor(e){this.globalId=null,this.objectId=null,this.success=!1,this.uniqueId=null,this.error=new o(e)}}function l(e){return new a(e)}class u{constructor(e){this.globalId=null,this.success=!0,this.objectId=this.uniqueId=e}}function c(e){return new u(e)}const h=new Set;function d(e,t,n,i=!1){h.clear();for(const r in n){const o=e.get(r);if(!o)continue;const a=p(o,n[r]);if(h.add(o.name),o&&(i||o.editable)){const e=(0,s.CJ)(o,a);if(e)return l((0,s.uo)(e,o,a));t[o.name]=a}}for(const t of e.requiredFields??[])if(!h.has(t.name))return l(`missing required field "${t.name}"`);return null}function p(e,t){let n=t;return(0,s.WA)(e)&&"string"==typeof t?n=parseFloat(t):(0,s.yM)(e)&&null!=t&&"string"!=typeof t?n=String(t):(0,s.vE)(e)&&"string"==typeof t&&(n=(0,i._U)(t)),(0,s.WX)(n)}let m;function f(e,t){if(!e||!(0,r.fn)(t))return e;if("rings"in e||"paths"in e){if(null==m)throw new TypeError("geometry engine not loaded");return m.simplify(t,e)}return e}async function y(e,t){!(0,r.fn)(e)||"esriGeometryPolygon"!==t&&"esriGeometryPolyline"!==t||await async function(){return null==m&&(m=await n.e(1023).then(n.bind(n,81023))),m}()}const g={supportsAutoIntervalBin:!0,supportsFixedIntervalBin:!0,supportsFixedBoundariesBin:!0,supportsDateBin:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsNormalization:!0,supportedStatisticTypes:["COUNT","SUM","AVG","VAR","STDDEV","MIN","MAX","PERCENTILE_CONT","PERCENTILE_DISC","CentroidAggregate","EnvelopeAggregate","ConvexHullAggregate"],supportedNormalizationTypes:["field","log","naturalLog","percentOfTotal","squareRoot"]}},34322(e,t,n){n.d(t,{E:()=>N,Fu:()=>S,O8:()=>M,UH:()=>G,YW:()=>R,i5:()=>b,mG:()=>F,x$:()=>P});var i=n(11254),r=n(49186),s=n(5479),o=n(84952),a=n(5443),l=n(91218),u=n(16930),c=n(21325),h=n(50498),d=n(85113),p=n(13043),m=n(60694),f=n(20437),y=n(30524);const g="xlink:href",_="2.0.0",b="__esri_wfs_id__",x="wfs-layer:feature-type-not-found",w="wfs-layer:unknown-geometry-type";async function S(e,t){const n=function(e){const t=k(e);(function(e){const t=e.firstElementChild?.getAttribute("version");if(t&&t!==_)throw new r.A("wfs-layer:unsupported-wfs-version",`Unsupported WFS version ${t}. Supported version: ${_}`)})(t),O(t);const n=t.firstElementChild,i=(0,s.PP)(function(e){return(0,p.i)(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",defaultSpatialReference:4326,supportedSpatialReferences:[]},n=new Set;return(0,p.p)(e,{Name:e=>{const{name:n,prefix:i}=j(e.textContent);t.typeName=`${i}:${n}`,t.name=n,t.namespacePrefix=i,t.namespaceUri=e.lookupNamespaceURI(i)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=a.A.fromJSON(function(e){let t,n,i,r;for(const s of e.children)switch(s.localName){case"LowerCorner":[t,n]=s.textContent.split(" ").map(e=>Number.parseFloat(e));break;case"UpperCorner":[i,r]=s.textContent.split(" ").map(e=>Number.parseFloat(e))}return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:c.KK}}(e))},DefaultCRS:e=>{const i=A(e);i&&(t.defaultSpatialReference=i,n.add(i))},OtherCRS:e=>{const t=A(e);t&&n.add(t)}}),t.title||(t.title=t.name),n.add(4326),t.supportedSpatialReferences.push(...n),t}}})}(n));return{operations:T(n),get featureTypes(){return Array.from(i())},readFeatureTypes:i}}((await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:_,...t?.customParameters},signal:t?.signal})).data);return function(e,t){(0,o.m3)(e)&&((0,o.FX)(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=(0,o.lM)(t.operations.DescribeFeatureType.url)),(0,o.FX)(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=(0,o.lM)(t.operations.GetFeature.url)))}(e,n),n}const v=["json","application/json; subtype=geojson; charset=utf-8","application/json; subtype=geojson","application/json","geojson","application/geo+json"];function C(e){for(const t of v){const n=e.findIndex(e=>e.toLowerCase()===t);if(n>=0)return e[n]}return null}function T(e){let t=!0;const n={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}},i=[],s=[];if((0,p.p)(e,{OperationsMetadata:{Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&i.push(e)}}}},Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{n.GetCapabilities.url=e.getAttribute(g)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{n.DescribeFeatureType.url=e.getAttribute(g)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{n.GetFeature.url=e.getAttribute(g)}}},Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&s.push(e)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{t="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{n.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),n.GetFeature.outputFormat=C(s)??C(i),!t)throw new r.A("wfs-layer:kvp-encoding-not-supported","WFS service doesn't support key/value pair (KVP) encoding");if(null==n.GetFeature.outputFormat)throw new r.A("wfs-layer:geojson-not-supported","WFS service doesn't support GeoJSON output format");return n}function A(e){const t=parseInt(e.textContent?.match(/(?<wkid>\d+$)/i)?.groups?.wkid??"",10);if(!Number.isNaN(t))return t}function F(e,t,n){return(0,s.I6)(e,e=>n?e.name===t&&e.namespaceUri===n:e.typeName===t||e.name===t)}async function M(e,t,n,i={}){const{featureType:s,extent:o}=await async function(e,t,n,i={}){const s=e.readFeatureTypes(),o=t?F(s,t,n):s.next().value,{spatialReference:a=new u.A({wkid:o?.defaultSpatialReference})}=i;if(null==o)throw t?new r.A(x,`The type '${t}' could not be found in the service`):new r.A("wfs-layer:empty-service","The service is empty");let h=o.extent;if(h&&!(0,c.aI)(h.spatialReference,a))try{await(0,l.initializeProjection)(h.spatialReference,a,void 0,i),h=(0,l.project)(h,a)}catch{throw new r.A("wfs-layer:unsupported-spatial-reference","Projection not supported")}return{extent:h,spatialReference:a,featureType:o}}(e,t,n,i),{spatialReference:a}=G(e.operations.GetFeature.url,s,i.spatialReference),{fields:h,geometryType:d,swapXY:p,objectIdField:m,geometryField:f}=await async function(e,t,n,i={}){const{typeName:s}=t,[o,a]=await Promise.allSettled([E(e.operations.DescribeFeatureType.url,s,i),I(e,s,n,i)]),l=e=>new r.A("wfs-layer:getWFSLayerTypeInfo-error",`An error occurred while getting info about the feature type '${s}'`,{error:e});if("rejected"===o.status)throw l(o.reason);if("rejected"===a.status)throw l(a.reason);const{fields:u,errors:c}=o.value??{},h=o.value?.geometryType||a.value?.geometryType,d=a.value?.swapXY??!1;if(null==h)throw new r.A(w,`The geometry type could not be determined for type '${s}`,{typeName:s,geometryType:h,fields:u,errors:c});return{...R(u??[]),geometryType:h,swapXY:d}}(e,s,a,i);return{url:e.operations.GetCapabilities.url,name:s.name,namespaceUri:s.namespaceUri,fields:h,geometryField:f,geometryType:d,objectIdField:m,spatialReference:i.spatialReference??new u.A({wkid:s.defaultSpatialReference}),extent:o,swapXY:p,wfsCapabilities:e,customParameters:i.customParameters}}function R(e){const t=e.find(e=>"geometry"===e.type);let n=e.find(e=>"oid"===e.type);return e=e.filter(e=>"geometry"!==e.type),n||(n=new f.A({name:b,type:"oid",alias:b}),e.unshift(n)),{geometryField:t?.name??null,objectIdField:n.name,fields:e}}async function I(e,t,n,r={}){let s,o=!1;const[a,l]=await Promise.all([P(e.operations.GetFeature.url,t,n,e.operations.GetFeature.outputFormat,{...r,count:1}),(0,i.A)(e.operations.GetFeature.url,{responseType:"text",query:z(t,n,void 0,{...r,count:1}),signal:r?.signal})]),u="FeatureCollection"===a.type&&a.features[0]?.geometry;if(u){let e;switch(s=h.gy.fromJSON((0,d.xD)(u.type)),u.type){case"Point":e=u.coordinates;break;case"LineString":case"MultiPoint":e=u.coordinates[0];break;case"MultiLineString":case"Polygon":e=u.coordinates[0][0];break;case"MultiPolygon":e=u.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(l.data);if(t){const n=e[0].toFixed(3),i=e[1].toFixed(3),r=parseFloat(t[1]).toFixed(3);n===parseFloat(t[2]).toFixed(3)&&i===r&&(o=!0)}}return{geometryType:s,swapXY:o}}async function E(e,t,n){return function(e,t){const{name:n}=j(e),i=k(t);O(i);const o=(0,s.I6)((0,p.i)(i.firstElementChild,{element:e=>e}),e=>e.getAttribute("name")===n);if(null!=o){const e=o.getAttribute("type"),t=e?(0,s.I6)((0,p.i)(i.firstElementChild,{complexType:e=>e}),t=>t.getAttribute("name")===j(e).name):(0,s.I6)((0,p.i)(o,{complexType:e=>e}),()=>!0);if(t)return function(e){const t=[],n=[];let i;const s=(0,p.i)(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const o of s){const s=o.getAttribute("name");if(!s)continue;let a,l;if(o.hasAttribute("type")?a=j(o.getAttribute("type")).name:(0,p.p)(o,{simpleType:{restriction:e=>(a=j(e.getAttribute("base")).name,{maxLength:e=>{l=+e.getAttribute("value")}})}}),!a)continue;const u="true"===o.getAttribute("nillable");let c=!1;switch(a.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":n.push(new f.A({name:s,alias:s,type:"integer",nullable:u,length:(0,y._b)("integer")}));break;case"float":case"double":case"decimal":n.push(new f.A({name:s,alias:s,type:"double",nullable:u,length:(0,y._b)("double")}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":n.push(new f.A({name:s,alias:s,type:"string",nullable:u,length:l??(0,y._b)("string")}));break;case"datetime":case"date":n.push(new f.A({name:s,alias:s,type:"date",nullable:u,length:l??(0,y._b)("date")}));break;case"pointpropertytype":i="point",c=!0;break;case"multipointpropertytype":i="multipoint",c=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":i="polyline",c=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":i="polygon",c=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":c=!0,t.push(new r.A(w,`geometry type '${a}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:t.push(new r.A("wfs-layer:unknown-field-type",`Unknown field type '${a}'`,{type:(new XMLSerializer).serializeToString(e)}))}c&&n.push(new f.A({name:s,alias:s,type:"geometry",nullable:u}))}for(const e of n)if("integer"===e.type&&!e.nullable&&B.has(e.name.toLowerCase())){e.type="oid";break}return{geometryType:i,fields:n,errors:t}}(t)}throw new r.A(x,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(i)})}(t,(await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:_,TYPENAME:t,TYPENAMES:t,...n?.customParameters},signal:n?.signal})).data)}const B=new Set(["objectid","fid"]);async function P(e,t,n,s,o){let{data:a}=await(0,i.A)(e,{responseType:"text",query:z(t,n,s,o),signal:o?.signal});a=a.replaceAll(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{return JSON.parse(a)}catch(e){throw new r.A("wfs-layer:malformed-json","Error while parsing the response",{response:a,error:e})}}function z(e,t,n,i){const r="number"==typeof t?t:t.wkid;return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:e,OUTPUTFORMAT:n,SRSNAME:"EPSG:"+r,STARTINDEX:i?.startIndex,COUNT:i?.count,...i?.customParameters}}async function N(e,t,n){const r=await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:t,RESULTTYPE:"hits",...n?.customParameters},signal:n?.signal}),s=/numberMatched=["'](?<numberMatched>\d+)["']/gi.exec(r.data);if(s?.groups)return+s.groups.numberMatched}function k(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function j(e){const[t,n]=e.split(":");return{prefix:n?t:"",name:n??t}}function O(e){let t="",n="";if((0,p.p)(e.firstElementChild,{Exception:e=>(t=e.getAttribute("exceptionCode"),{ExceptionText:e=>{n=e.textContent}})}),t)throw new r.A(`wfs-layer:${t}`,n)}function G(e,t,n){const i={wkid:t.defaultSpatialReference},r=null!=n?.wkid?{wkid:n.wkid}:i;return{spatialReference:r,getFeatureSpatialReference:(0,m.Fi)(e)||r.wkid&&t.supportedSpatialReferences.includes(r.wkid)?{wkid:r.wkid}:{wkid:t.defaultSpatialReference}}}},13043(e,t,n){function i(e,t){if(e&&t)for(const n of e.children)if(n.localName in t){const e=t[n.localName];if("function"==typeof e){const t=e(n);t&&i(n,t)}else i(n,e)}}function*r(e,t){for(const n of e.children)if(n.localName in t){const e=t[n.localName];"function"==typeof e?yield e(n):yield*r(n,e)}}n.d(t,{i:()=>r,p:()=>i})},39357(e,t,n){n.d(t,{A:()=>a});var i,r=n(5482),s=n(25482),o=n(91429);let a=i=class extends s.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new i({name:this.name,code:this.code})}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"name",void 0),(0,r.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],a.prototype,"code",void 0),a=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValue")],a)},53177(e,t,n){n.d(t,{A:()=>c});var i,r=n(5482),s=n(4718),o=n(91429),a=n(39357),l=n(76357),u=n(93223);let c=class extends l.A{static{i=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const n=String(e);this.codedValues.some(e=>(String(e.code)===n&&(t=e.name),!!t))}return t}clone(){return new i({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,r.Cg)([(0,o.MZ)({type:[a.A],json:{write:{isRequired:!0}}})],c.prototype,"codedValues",void 0),(0,r.Cg)([(0,u.e)({codedValue:"coded-value"})],c.prototype,"type",void 0),c=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValueDomain")],c)},76357(e,t,n){n.d(t,{A:()=>u});var i=n(5482),r=n(66552),s=n(25482),o=n(91429),a=n(93223);const l=new r.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends s.o{constructor(e){super(e),this.name=null,this.type=null}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,i.Cg)([(0,a.e)(l),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,i.Cg)([(0,o.$K)("esri.layers.support.Domain")],u)},20437(e,t,n){n.d(t,{A:()=>m});var i,r=n(5482),s=n(66552),o=n(25482),a=n(91429),l=n(56507),u=n(8631),c=n(98453),h=n(36005),d=n(93223);const p=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let m=class extends o.o{static{i=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let n=null;try{n=t?JSON.parse(t):null}catch(e){}return n?.value??null}readValueType(e,{description:t}){let n=null;try{n=t?JSON.parse(t):null}catch(e){}return n?p.fromJSON(n.fieldValueType):null}clone(){return new i({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,r.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"description",void 0),(0,r.Cg)([(0,h.w)("description")],m.prototype,"readDescription",null),(0,r.Cg)([(0,a.MZ)({types:u.g,json:{read:{reader:u.r},write:!0}})],m.prototype,"domain",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,r.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,"length",void 0),(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,r.Cg)([(0,d.e)(c.m)],m.prototype,"type",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"valueType",void 0),(0,r.Cg)([(0,h.w)("valueType",["description"])],m.prototype,"readValueType",null),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=i=(0,r.Cg)([(0,a.$K)("esri.layers.support.Field")],m)},41628(e,t,n){n.d(t,{A:()=>l});var i,r=n(5482),s=n(91429),o=n(76357),a=n(93223);let l=class extends o.A{static{i=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new i({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,r.Cg)([(0,s.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,n){t[n]=[this.minValue||0,e]},isRequired:!0}}})],l.prototype,"maxValue",void 0),(0,r.Cg)([(0,s.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,n){t[n]=[e,this.maxValue||0]},isRequired:!0}}})],l.prototype,"minValue",void 0),(0,r.Cg)([(0,a.e)({range:"range"})],l.prototype,"type",void 0),l=i=(0,r.Cg)([(0,s.$K)("esri.layers.support.RangeDomain")],l)},8631(e,t,n){n.d(t,{r:()=>d,g:()=>h});var i,r=n(53177),s=n(76357),o=n(5482),a=n(91429),l=n(93223);let u=class extends s.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],u.prototype,"type",void 0),u=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],u);var c=n(41628);const h={key:"type",base:s.A,typeMap:{range:c.A,"coded-value":r.A,inherited:u}};function d(e){if(!e?.type)return null;switch(e.type){case"range":return c.A.fromJSON(e);case"codedValue":return r.A.fromJSON(e);case"inherited":return u.fromJSON(e)}return null}},98453(e,t,n){n.d(t,{m:()=>i});const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},2272(e,t,n){n.d(t,{Dl:()=>u,gf:()=>h,jV:()=>l,lF:()=>c});var i=n(92602),r=n(70333),s=n(4718),o=n(84952),a=n(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,s.o8)(e)}function c(e,t,n){const i={};for(const r in e){if("declaredClass"===r)continue;const s=e[r];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))i[r]=s.map(e=>c(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(n?.[r]);i[r]=t?e:JSON.stringify(e)}else i[r]=t?s:JSON.stringify(s);else i[r]=s}return i}async function h(e,t,s){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??r.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!r.id&&i.A.request.useIdentity&&await Promise.all([n.e(7632),n.e(4580),n.e(148)]).then(n.bind(n,50148));const l=await r.id.getCredential(e,s);return l?.token}},926(e,t,n){n.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>m,getApiKey:()=>c,getSessionToken:()=>h});var i=n(92602),r=n(11254),s=n(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function c(e){if(!m(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),n=i.A.apiKeys;if(Array.isArray(n.scopes))for(const e of n.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return n.basemapStyles&&o.test(e)?n.basemapStyles:i.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?i.A.apiKey:null}async function h(e){if(!i.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=c(e);if(!t)return null;u&&await u;const{styleFamily:n="arcgis",autoRefresh:s,duration:a=43200}=i.A.sessions.basemap,h=`${t}:${n}`,d=l.get(h);if(d&&(!s||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,r.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:n,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(h,p)}finally{u=null}return p.sessionToken}function d(){return null!=i.A.apiKey||null!=i.A.apiKeys.basemapStyles}function p(e,t){return t?m(e):null!=c(e)}function m(e){const t=(0,s.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}}}]);
|