@arcgis/core 5.1.0-next.66 → 5.1.0-next.67

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.
Files changed (70) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{97e15e66e55d9149fd48.js → 2e1aecdf59ad3421bbad.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{224461c1d9755966d0b6.js → 2f8ed1e7c1b10cb30972.js} +1 -1
  4. package/assets/esri/core/workers/chunks/3d9032217347dadcbe41.js +1 -0
  5. package/assets/esri/core/workers/chunks/{0d650b0d090a425c9c18.js → 4fd1bf82939e3bb9bc03.js} +1 -1
  6. package/assets/esri/core/workers/chunks/684ea7f75a7a5fb52cde.js +1 -0
  7. package/assets/esri/core/workers/chunks/{e0df7554b1679168663d.js → 6c40b3c2b9071edb758d.js} +1 -1
  8. package/assets/esri/core/workers/chunks/6ef3b8d67b498d655a99.js +1 -0
  9. package/assets/esri/core/workers/chunks/{3464a38e758c687a28d4.js → 7d73472696ec76458758.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{4141a3a93732996601e8.js → a8ef9ed9b59de95f2b23.js} +2 -2
  11. package/assets/esri/core/workers/chunks/{deddf6ae4498a3d0d0e5.js → abd5c1d4b7b91d9ea1eb.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{eab1b45ab5a802e29f8c.js → af007ec833ab49e4c958.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{468c70e5fdb61dfaad80.js → afea4a4b072c329d3749.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{bcb8a25438c66815e37a.js → b5648a0b92cf1a2c81ad.js} +1 -1
  15. package/assets/esri/core/workers/chunks/c9461568e1002ebac534.js +1 -0
  16. package/assets/esri/core/workers/chunks/{62a2da0ffc67f98445c1.js → e268e5be096392c2e69b.js} +1 -1
  17. package/chunks/GaussianSplat.glsl.js +8 -10
  18. package/config.js +1 -1
  19. package/interfaces.d.ts +0 -7
  20. package/kernel.js +1 -1
  21. package/layers/OrientedImageryLayer.js +1 -1
  22. package/layers/mixins/ArcGISImageService.js +1 -1
  23. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  24. package/layers/orientedImagery/core/utils.js +1 -1
  25. package/layers/raster/datasets/MRFRaster.js +1 -1
  26. package/layers/raster/functions/changeDetectionUtils.js +1 -1
  27. package/layers/support/ExportImageServiceParameters.js +1 -1
  28. package/networks/UnitIdentifierManager.d.ts +61 -0
  29. package/networks/UnitIdentifierManager.js +1 -1
  30. package/networks/UtilityNetwork.d.ts +0 -60
  31. package/networks/UtilityNetwork.js +1 -1
  32. package/package.json +2 -2
  33. package/popup/Features.d.ts +8 -28
  34. package/popup/Features.js +1 -1
  35. package/popup/actionUtils.js +2 -0
  36. package/popup/actions.js +2 -0
  37. package/popup/types.d.ts +11 -0
  38. package/rest/featureService/types.d.ts +1 -1
  39. package/support/revision.js +1 -1
  40. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  41. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  42. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  43. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  44. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  45. package/views/3d/layers/graphics/QueryEngine.js +1 -1
  46. package/views/3d/layers/graphics/QueryEngineContext.js +1 -1
  47. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  48. package/views/3d/layers/support/SceneLayerViewRequiredFields.js +1 -1
  49. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  50. package/views/analysis/ExclusiveOperationManager.js +1 -1
  51. package/views/interactive/sketch/SketchOptions.d.ts +34 -0
  52. package/widgets/Editor.js +1 -1
  53. package/widgets/FeatureTable/ColumnVisibilityMenuVisibleElements.d.ts +8 -1
  54. package/widgets/FeatureTable/ColumnVisibilityMenuVisibleElements.js +1 -1
  55. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  56. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  57. package/widgets/FeatureTable.d.ts +13 -0
  58. package/widgets/FeatureTable.js +1 -1
  59. package/widgets/OrientedImageryViewer/navigation/NavigationManager.js +1 -1
  60. package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
  61. package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
  62. package/widgets/OrientedImageryViewer.js +1 -1
  63. package/widgets/Popup/actionUtils.js +1 -1
  64. package/widgets/Sketch/VisibleElements.js +1 -1
  65. package/widgets/Sketch.js +1 -1
  66. package/assets/esri/core/workers/chunks/62d96b012c2d6f601863.js +0 -1
  67. package/assets/esri/core/workers/chunks/66692d6edc1bd96645e2.js +0 -1
  68. package/assets/esri/core/workers/chunks/a971e61336f455b953d5.js +0 -1
  69. package/assets/esri/core/workers/chunks/ed60b5eaa5765bfcb99c.js +0 -1
  70. /package/assets/esri/core/workers/chunks/{4141a3a93732996601e8.js.LICENSE.txt → a8ef9ed9b59de95f2b23.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2293,4342],{46140(e,t,r){r.d(t,{A:()=>o});var i=r(49186);class o{constructor(e,t,r=""){this.major=e,this.minor=t,this._context=r}lessThan(e,t){return this.major<e||e===this.major&&this.minor<t}greaterEqual(e,t){return!this.lessThan(e,t)}toString(){return`${this.major}.${this.minor}`}validate(e){if(this.major!==e.major){const t=this._context&&this._context+":",r=this._context&&this._context+" ";throw new i.A(t+"unsupported-version",`Required major ${r}version is '${this.major}', but got '\${version.major}.\${version.minor}'`,{version:e})}}clone(){return new o(this.major,this.minor,this._context)}static parse(e,t=""){const[r,n]=e.split("."),s=/^\s*\d+\s*$/;if(!r?.match||!s.test(r))throw new i.A((t&&t+":")+"invalid-version","Expected major version to be a number, but got '${version}'",{version:e});if(!n?.match||!s.test(n))throw new i.A((t&&t+":")+"invalid-version","Expected minor version to be a number, but got '${version}'",{version:e});const a=parseInt(r,10),l=parseInt(n,10);return new o(a,l,t)}}},62815(e,t,r){r.d(t,{N:()=>a,d:()=>l});var i=r(86211),o=r(73941),n=r(21325),s=r(52006);function a(e,t,r){const i=l(t,r);if(1!==i)switch(e){case"point":case"esriGeometryPoint":return e=>function(e,t){null!=e?.z&&(e.z*=t)}(e,i);case"polyline":case"esriGeometryPolyline":return e=>function(e,t){if(e){if(e.curvePaths)for(const r of e.curvePaths)for(const e of r){const r=(0,s.yP)(e);r.length>2&&(r[2]*=t)}if(e.paths)for(const r of e.paths)for(const e of r)e.length>2&&(e[2]*=t)}}(e,i);case"polygon":case"esriGeometryPolygon":return e=>function(e,t){if(e){if(e.curveRings)for(const r of e.curveRings)for(const e of r){const r=(0,s.yP)(e);r.length>2&&(r[2]*=t)}if(e.rings)for(const r of e.rings)for(const e of r)e.length>2&&(e[2]*=t)}}(e,i);case"multipoint":case"esriGeometryMultipoint":return e=>function(e,t){if(e)for(const r of e.points)r.length>2&&(r[2]*=t)}(e,i);case"extent":case"esriGeometryEnvelope":return e=>function(e,t){e&&null!=e.zmin&&null!=e.zmax&&(e.zmin*=t,e.zmax*=t)}(e,i);default:return}}function l(e,t){return null==e||null==t||t.vcsWkid||(0,n.aI)(e,t)||(0,o.xP)(e)||(0,o.xP)(t)?1:(0,i.G9)(e)/(0,i.G9)(t)}},16852(e,t,r){r.r(t),r.d(t,{default:()=>P});var i=r(5482),o=r(49186),n=r(4718),s=r(93637),a=r(91429),l=r(16930),p=r(55156),c=r(60950),u=r(89808),d=r(99959);const y=Symbol("isOrientedImageryGraphicOrigin");var f;class h extends d.A{get[(f=y,c.ym)](){return this.layer}get[p.e](){return this.layer}get[u.Q](){return this.layer}constructor(e){super(),this[f]=!0,this.type="oriented-imagery",this.layer=e}get id(){return this.layer.id}}var g=r(18589),m=r(82935),v=r(23281),w=r(20437),C=r(43440),M=r(79677);const b=new Set(["demPathPrefix","demPathSuffix","depthImagePathPrefix","depthImagePathSuffix","elevationSource","horizontalMeasurementUnit","imageGeometryField","imageReferenceField","referenceIDField","sequenceOrderField","verticalMeasurementUnit","videoPathPrefix","videoPathSuffix","timeAnimation","visibilityTimeExtent"]),j=new Set(["elevationSource"]),Z=(e,t)=>!b.has(t)&&e;function x(e,t,r,i){const{name:o,write:n,read:s}=((e,t,r)=>{const i=`orientedImageryProperties.${e}`,o={allowNull:j.has(e),ignoreOrigin:!0};return{name:i,write:t?{...o,target:i,writer:t}:o,read:r?{ignoreOrigin:!0,source:i,reader:r}:{ignoreOrigin:!0}}})(e,t,r),a={name:o,write:n,read:s,origins:{service:{name:`orientedImageryInfo.${o}`,write:t,read:r},"web-scene":{name:o,write:Z(n,e),read:Z(s,e)},"web-map":{name:o,write:n,read:s}}};return i&&a.origins?(a.type=i,a.origins["web-map"].type=i,a.origins["web-scene"].type=i,a):a}let S=class extends g.default{constructor(e){super(e),this.attributeTableTemplate=null,this.cameraHeading=null,this.cameraHeight=null,this.cameraPitch=null,this.cameraRoll=null,this.coveragePercent=null,this.demPathPrefix=null,this.demPathSuffix=null,this.depthImagePathPrefix=null,this.depthImagePathSuffix=null,this.elevationSource=null,this.farDistance=null,this.geometryType="point",this.graphicOrigin=new h(this),this.horizontalFieldOfView=null,this.horizontalMeasurementUnit=null,this.imageGeometryField="ImageGeometry",this.imagePathPrefix=null,this.imagePathSuffix=null,this.imageReferenceField="OIObjectID",this.imageRotation=null,this.maximumDistance=null,this.nearDistance=null,this.operationalLayerType="OrientedImageryLayer",this.orientationAccuracy=null,this.orientedImageryType=null,this.referenceIDField="OBJECTID",this.sequenceOrderField="SequenceOrder",this.subtypeField=null,this.subtypes=null,this.supportedSourceTypes=new Set(["Oriented Imagery Layer"]),this.type="oriented-imagery",this.timeIntervalUnit="days",this.useViewTime=!0,this.verticalFieldOfView=null,this.verticalMeasurementUnit=null,this.verticalSearchRange=null,this.videoPathPrefix=null,this.videoPathSuffix=null,this.virtualCacheDirectory=null,this.dataStoreID=null,this.visibilityTimeExtent=null}get effectiveElevationSource(){const{elevationSource:e,demPathPrefix:t,demPathSuffix:r}=this;return(0,v.eR)(e,t,r)}get effectiveSequenceOrderField(){const{sequenceOrderField:e,fields:t}=this;return(0,v.o)(e,t)}get portalItem(){return super.portalItem}set portalItem(e){super.portalItem=e}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}findFirstValidLayerId(e){return e.layers?.find(({type:e})=>!!e&&this.supportedSourceTypes.has(e))?.id}_verifySource(){if(super._verifySource(),"point"!==this.geometryType)throw new o.A("oriented-imagery-layer:invalid-geometry-type","OrientedImageryLayer only supports point geometry type")}};var T;(0,i.Cg)([(0,a.MZ)({type:C.A,json:{write:!1,read:!1}})],S.prototype,"attributeTableTemplate",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("cameraHeading")})],S.prototype,"cameraHeading",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("cameraHeight")})],S.prototype,"cameraHeight",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("cameraPitch")})],S.prototype,"cameraPitch",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("cameraRoll")})],S.prototype,"cameraRoll",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("coveragePercent")})],S.prototype,"coveragePercent",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("demPathPrefix")})],S.prototype,"demPathPrefix",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("demPathSuffix")})],S.prototype,"demPathSuffix",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("depthImagePathPrefix")})],S.prototype,"depthImagePathPrefix",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("depthImagePathSuffix")})],S.prototype,"depthImagePathSuffix",void 0),(0,i.Cg)([(0,a.MZ)({type:Object,json:x("elevationSource")})],S.prototype,"elevationSource",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],S.prototype,"effectiveElevationSource",null),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],S.prototype,"effectiveSequenceOrderField",null),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("farDistance")})],S.prototype,"farDistance",void 0),(0,i.Cg)([(0,a.MZ)({type:[w.A]})],S.prototype,"fields",void 0),(0,i.Cg)([(0,a.MZ)()],S.prototype,"geometryType",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0,clonable:!1})],S.prototype,"graphicOrigin",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("horizontalFieldOfView")})],S.prototype,"horizontalFieldOfView",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("horizontalMeasurementUnit")})],S.prototype,"horizontalMeasurementUnit",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{...x("imageGeometryField"),default:"ImageGeometry"}})],S.prototype,"imageGeometryField",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("imagePathPrefix")})],S.prototype,"imagePathPrefix",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("imagePathSuffix")})],S.prototype,"imagePathSuffix",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{...x("imageReferenceField"),default:"OIObjectID"}})],S.prototype,"imageReferenceField",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("imageRotation")})],S.prototype,"imageRotation",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("maximumDistance")})],S.prototype,"maximumDistance",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("nearDistance")})],S.prototype,"nearDistance",void 0),(0,i.Cg)([(0,a.MZ)({type:["OrientedImageryLayer"],json:{origins:{"portal-item":{name:"layerType",write:{enabled:!0,ignoreOrigin:!0}}}}})],S.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,a.MZ)({json:{...x("orientationAccuracy",(e,t,r)=>{(0,s.sM)(r,e.join(";"),t)},e=>{const t=e?.split(";")?.map(Number);return(0,v.Qv)(t)?(0,v.Yp)(t):[0,0,0,0,0,0,0,0]},String)}})],S.prototype,"orientationAccuracy",void 0),(0,i.Cg)([(0,a.MZ)({json:{...x("orientedImageryType",v.fs.write,v.fs.read,v.fs.jsonValues.slice(1))}})],S.prototype,"orientedImageryType",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{...x("referenceIDField"),default:"OBJECTID"}})],S.prototype,"referenceIDField",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{...x("sequenceOrderField"),default:"SequenceOrder"}})],S.prototype,"sequenceOrderField",void 0),(0,i.Cg)([(0,a.MZ)({type:l.A})],S.prototype,"spatialReference",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],S.prototype,"subtypeField",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],S.prototype,"subtypes",void 0),(0,i.Cg)([(0,a.MZ)({json:{read:!1},value:"oriented-imagery",readOnly:!0})],S.prototype,"type",void 0),(0,i.Cg)([(0,a.MZ)({type:v.RR.apiValues,json:{...x("timeIntervalUnit",v.RR.write,v.RR.read,v.RR.jsonValues)}})],S.prototype,"timeIntervalUnit",void 0),(0,i.Cg)([(0,a.MZ)((T=(0,n.o8)(m.B),T.json?(T.json.origins=T.json.origins??{},T.json.origins["web-scene"]={write:!1,read:!1},T):T))],S.prototype,"useViewTime",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("verticalFieldOfView")})],S.prototype,"verticalFieldOfView",void 0),(0,i.Cg)([(0,a.MZ)({type:v.l6.apiValues,json:{...x("verticalMeasurementUnit",v.l6.write,v.l6.read,v.l6.jsonValues)}})],S.prototype,"verticalMeasurementUnit",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:x("verticalSearchRange")})],S.prototype,"verticalSearchRange",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("videoPathPrefix")})],S.prototype,"videoPathPrefix",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:x("videoPathSuffix")})],S.prototype,"videoPathSuffix",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.orientedImageryProperties.virtualCacheDirectory",read:!0}}}})],S.prototype,"virtualCacheDirectory",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.dsid",read:!0}}}})],S.prototype,"dataStoreID",void 0),(0,i.Cg)([(0,a.MZ)({type:M.A,json:{origins:{"web-scene":{write:!1,read:!1}}}})],S.prototype,"visibilityTimeExtent",void 0),S=(0,i.Cg)([(0,a.$K)("esri.layers.OrientedImageryLayer")],S);const P=S},32756(e,t,r){r.d(t,{Rr:()=>a,fY:()=>p,ne:()=>l});var i=r(5482),o=r(93637),n=r(91429),s=r(91880);function a(e,t,r){if(!e)return null;const i=e.find(e=>!!e.field);if(!i)return null;const o=new s.A;return o.read(i,r),[o]}const l={type:[s.A],json:{origins:{"web-scene":{write:!1,read:!1}},name:"layerDefinition.orderBy",read:{reader:a},write:{writer:function(e,t,r,i){const n=e.find(e=>!!e.field);n&&(0,o.sM)(r,[n.toJSON()],t)}}}},p=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.orderBy=null}};return(0,i.Cg)([(0,n.MZ)(l)],r.prototype,"orderBy",void 0),r=(0,i.Cg)([(0,n.$K)("esri.layers.mixins.OrderedLayer")],r),r}},63490(e,t,r){r.d(t,{E1:()=>p,Mr:()=>l,TH:()=>a});var i=r(5482),o=r(69540),n=r(25482),s=r(91429);let a=class extends((0,o.OU)(n.o)){constructor(){super(...arguments),this.url=null}};(0,i.Cg)([(0,s.MZ)({type:Number,json:{write:!0}})],a.prototype,"lod",void 0),(0,i.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],a.prototype,"rasterFunction",void 0),(0,i.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],a.prototype,"url",void 0),a=(0,i.Cg)([(0,s.$K)("esri.layers.orientedImagery.core.ElevationSourceDefinitions.ElevationSource")],a);let l=class extends((0,o.OU)(n.o)){constructor(e){super(e),this.constantElevation=null}};(0,i.Cg)([(0,s.MZ)({type:Number,json:{write:!0}})],l.prototype,"constantElevation",void 0),l=(0,i.Cg)([(0,s.$K)("esri.layers.orientedImagery.core.ElevationSourceDefinitions.ConstantElevation")],l);const p=e=>null!=e&&"number"==typeof e.constantElevation},23281(e,t,r){r.d(t,{eR:()=>b,Qv:()=>D,fs:()=>x,Yp:()=>N,o:()=>O,RR:()=>j,l6:()=>Z});var i=r(66552),o=(r(86211),r(28735),r(5482)),n=r(69540),s=r(25482),a=r(91429),l=r(69622),p=r(21325);let c=class extends l.A{set horizontalWKID(e){e?(0,p.fn)({wkid:+e})?this._set("horizontalWKID",+e):this._set("horizontalWKID",e):this._set("horizontalWKID",null)}set verticalWKID(e){e?this._set("verticalWKID",isFinite(e)&&(0,p.fn)({wkid:+e})?+e:null):this._set("verticalWKID",null)}get isAdvanced(){const{affineTransformations:e,focalLength:t,principalOffsetPoint:r,radialDistortionCoefficients:i,tangentialDistortionCoefficients:o}=this;return e?.length>1&&!Number.isNaN(t)&&r?.length>1&&i?.length>1&&o?.length>1}};(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"affineTransformations",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"focalLength",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"principalOffsetPoint",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"radialDistortionCoefficients",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"tangentialDistortionCoefficients",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"horizontalWKID",null),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"verticalWKID",null),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"x",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"y",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"z",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],c.prototype,"type",void 0),c=(0,o.Cg)([(0,a.$K)("esri.layers.orientedImagery.core.CameraOrientation")],c);const u=c;let d=class extends((0,n.OU)((0,s.T)(u))){constructor(){super(...arguments),this.type=1}toString(){const{type:e,horizontalWKID:t,verticalWKID:r,x:i,y:o,z:n,heading:s,pitch:a,roll:l,affineTransformations:p,focalLength:c,principalOffsetPoint:u,radialDistortionCoefficients:d,tangentialDistortionCoefficients:y}=this,f=[e,t,r,i,o,n,s,a,l];return this.isAdvanced&&(p?.forEach(e=>f.push(e)),f.push(c),u?.forEach(e=>f.push(e)),d?.forEach(e=>f.push(e)),y?.forEach(e=>f.push(e))),f.map(e=>Number.isNaN(e)?"":e).join("|")}};(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],d.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],d.prototype,"affineTransformations",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"focalLength",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],d.prototype,"principalOffsetPoint",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],d.prototype,"radialDistortionCoefficients",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],d.prototype,"tangentialDistortionCoefficients",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"heading",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"pitch",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"roll",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"x",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"y",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],d.prototype,"z",void 0),d=(0,o.Cg)([(0,a.$K)("esri.layers.orientedImagery.core.CameraOrientationHPR")],d);const y=d;let f=class extends((0,n.OU)((0,s.T)(u))){constructor(){super(...arguments),this.type=4}toString(){const{type:e,latitude:t,longitude:r,ellipsoidRadius:i,squaredEccentricity:o,properties:n}=this,s=`${n}`.split("|");return s.splice(1,1),`${e}|${t}|${r}|${i}|${o}|${s.join("|")}`}};(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],f.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0},type:Number})],f.prototype,"latitude",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0},type:Number})],f.prototype,"longitude",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0},type:Number})],f.prototype,"ellipsoidRadius",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0},type:Number})],f.prototype,"squaredEccentricity",void 0),(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],f.prototype,"properties",void 0),f=(0,o.Cg)([(0,a.$K)("esri.layers.orientedImagery.core.CameraOrientationLTP")],f);const h=f;let g=class extends((0,n.OU)((0,s.T)(u))){constructor(){super(...arguments),this.type=2}toString(){const{type:e,horizontalWKID:t,verticalWKID:r,x:i,y:o,z:n,omega:s,phi:a,kappa:l,affineTransformations:p,focalLength:c,principalOffsetPoint:u,radialDistortionCoefficients:d,tangentialDistortionCoefficients:y}=this,f=[e,t,r,i,o,n,s,a,l];return this.isAdvanced&&(p?.forEach(e=>f.push(e)),f.push(c),u?.forEach(e=>f.push(e)),d?.forEach(e=>f.push(e)),y?.forEach(e=>f.push(e))),f.map(e=>isNaN(e)?"":e).join("|")}};(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],g.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],g.prototype,"affineTransformations",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"focalLength",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],g.prototype,"principalOffsetPoint",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],g.prototype,"radialDistortionCoefficients",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],g.prototype,"tangentialDistortionCoefficients",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"omega",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"phi",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"kappa",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"x",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"y",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],g.prototype,"z",void 0),g=(0,o.Cg)([(0,a.$K)("esri.layers.orientedImagery.core.CameraOrientationOPK")],g);const m=g;let v=class extends((0,n.OU)((0,s.T)(u))){constructor(){super(...arguments),this.type=3}get isAdvanced(){const{affineTransformations:e,focalLength:t,principalOffsetPoint:r,radialDistortionCoefficients:i,tangentialDistortionCoefficients:o}=this;return e?.length>1||!Number.isNaN(t)||r?.length>1||i?.length>1||o?.length>1}toString(){const{type:e,horizontalWKID:t,verticalWKID:r,x:i,y:o,z:n,yaw:s,pitch:a,roll:l,affineTransformations:p,focalLength:c,principalOffsetPoint:u,radialDistortionCoefficients:d,tangentialDistortionCoefficients:y}=this,f=[e,t,r,i,o,n,s,a,l];return this.isAdvanced&&(p?.forEach(e=>f.push(e)),f.push(c),u?.forEach(e=>f.push(e)),u?.forEach(e=>f.push(e)),d?.forEach(e=>f.push(e)),y?.forEach(e=>f.push(e))),f.map(e=>Number.isNaN(e)?"":e).join("|")}};(0,o.Cg)([(0,a.MZ)({json:{write:!0}})],v.prototype,"type",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],v.prototype,"affineTransformations",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],v.prototype,"focalLength",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],v.prototype,"principalOffsetPoint",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],v.prototype,"radialDistortionCoefficients",void 0),(0,o.Cg)([(0,a.MZ)({type:[Number],json:{write:!0}})],v.prototype,"tangentialDistortionCoefficients",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],v.prototype,"yaw",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],v.prototype,"pitch",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],v.prototype,"roll",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],v.prototype,"x",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],v.prototype,"y",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],v.prototype,"z",void 0),v=(0,o.Cg)([(0,a.$K)("esri.layers.orientedImagery.core.CameraOrientationYPR")],v);const w=v,C=new Map;C.set("2",{desc:"Using Omega Phi Kappa",constructor:m}),C.set("1",{desc:"Using Heading, Pitch and Roll",constructor:y}),C.set("3",{desc:"Using Yaw, Pitch and Roll",constructor:w}),C.set("4",{desc:"Using Local Tangent Plane",constructor:h});var M=r(63490);function b(e,t,r){return e?(0,M.E1)(e)?new M.Mr(e):function(e,t,r){let{url:i}=e;return i?(i=function(e,t,r){return t&&(e=`${t}${e}`),r&&(e+=`${r}`),e}(i,t,r),new M.TH({...e,url:i})):null}(e,t,r):e}const j=new i.J({Minutes:"minutes",Hours:"hours",Days:"days",Weeks:"weeks",Months:"months",Years:"years"}),Z=new i.J({Feet:"feet",Meter:"meter"}),x=new i.J({360:"360",Horizontal:"horizontal",Inspection:"inspection",Nadir:"nadir",Oblique:"oblique",Terrestrial360Video:"terrestrial-360-video",TerrestrialFrameVideo:"terrestrial-frame-video",Aerial360Video:"aerial-360-video",AerialFrameVideo:"aerial-frame-video","":null}),S=new Map;S.set("1",function(e){const[t,r,i,o,n,s,a,l,p,c,u,d,y,f,h,g,m,v,w,C,M,b]=e.slice(1);return{horizontalWKID:t,verticalWKID:r,x:i,y:o,z:n,heading:s,pitch:a,roll:l,...P([p,c,u,d,y,f],[g,m],[v,w,C],[M,b],h)}}),S.set("3",function(e){const[t,r,i,o,n,s,a,l,p,c,u,d,y,f,h,g,m,v,w,C,M,b]=e.slice(1);return{horizontalWKID:t,verticalWKID:r,x:i,y:o,z:n,yaw:s,pitch:a,roll:l,...P([p,c,u,d,y,f],[g,m],[v,w,C],[M,b],h)}}),S.set("2",function(e){const[t,r,i,o,n,s,a,l,p,c,u,d,y,f,h,g,m,v,w,C,M,b]=e.slice(1);return{horizontalWKID:t,verticalWKID:r,x:i,y:o,z:n,omega:s,phi:a,kappa:l,...P([p,c,u,d,y,f],[g,m],[v,w,C],[M,b],h)}}),S.set("4",function(e){const[t,r,i,o,n,...s]=e.slice(1),a=S.get(n),l=C.get(n)?.constructor;return a&&l?{latitude:t,longitude:r,ellipsoidRadius:i,squaredEccentricity:o,properties:new l(a([n,"",...s]))}:null});const T=e=>{const t=e.map(e=>parseFloat(e)).filter(e=>!isNaN(e));if(t.length===e.length)return t};function P(e,t,r,i,o){const n=T(e),s=T(t),a=T(r),l=T(i);return{affineTransformations:6===n?.length?n:void 0,focalLength:6===n?.length?parseFloat(o):void 0,principalOffsetPoint:2!==s?.length?[0,0]:s,radialDistortionCoefficients:3!==a?.length?[0,0,0]:a,tangentialDistortionCoefficients:2!==l?.length?[0,0]:l}}function D(e){return Array.isArray(e)&&e?.length>5&&!e.some(isNaN)}function N(e){for(e=e.slice(0,8);e.length<8;)e.push(0);return e}const _="sequenceorder";function O(e,t){if(!e){const e=t.find(e=>e.name.toLocaleLowerCase()===_.toLocaleLowerCase());return e?[{fieldName:e.name,sortOrder:"asc"}]:null}return e.split(";").map(e=>{const[r,i]=e.split(/\s+/).map(e=>e.trim()),o=t.find(e=>e.name.toLowerCase()===r.toLowerCase());return o?{fieldName:o?o.name:_,sortOrder:"desc"===i?"desc":"asc"}:null}).filter(e=>null!=e)}},33143(e,t,r){r.d(t,{A:()=>u});var i=r(5482),o=r(69540),n=r(25482),s=r(91429),a=r(8631),l=r(29005),p=r(36005),c=r(43937);let u=class extends((0,o.OU)(n.o)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const r of Object.keys(e))t[r]=(0,a.r)(e[r]);return t}writeDomains(e,t){const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,i.Cg)([(0,s.MZ)({json:{write:!0}})],u.prototype,"id",void 0),(0,i.Cg)([(0,s.MZ)({json:{write:!0}})],u.prototype,"name",void 0),(0,i.Cg)([(0,s.MZ)({json:{write:!0}})],u.prototype,"domains",void 0),(0,i.Cg)([(0,p.w)("domains")],u.prototype,"readDomains",null),(0,i.Cg)([(0,c.K)("domains")],u.prototype,"writeDomains",null),(0,i.Cg)([(0,s.MZ)({type:[l.A],json:{write:!0}})],u.prototype,"templates",void 0),u=(0,i.Cg)([(0,s.$K)("esri.layers.support.FeatureType")],u)},91880(e,t,r){r.d(t,{A:()=>p});var i,o=r(5482),n=r(66552),s=r(25482),a=r(91429);const l=new n.J({asc:"ascending",desc:"descending"});let p=class extends s.o{static{i=this}constructor(e){super(e),this.field=null,this.valueExpression=null,this.order="ascending"}clone(){return new i({field:this.field,valueExpression:this.valueExpression,order:this.order})}};(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],p.prototype,"field",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],p.prototype,"valueExpression",void 0),(0,o.Cg)([(0,a.MZ)({type:l.apiValues,json:{type:l.jsonValues,read:l.read,write:l.write}})],p.prototype,"order",void 0),p=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.OrderByInfo")],p)},73681(e,t,r){r.d(t,{n:()=>l});var i=r(49186),o=r(53966),n=r(46140),s=r(95466),a=r(55674);class l{static async from(e,t,r){const s=e.dictionary_version?n.A.parse(e.dictionary_version):null,c=new Set(e.itemsNames),u={};if(t)for(const e in t)u[e]=t[e];if(e.authoringInfo.configuration)for(const t of e.authoringInfo.configuration)u.hasOwnProperty(t.name)||(u[t.name]=t.value);const d=new Set(e.authoringInfo.symbol);for(const e of Object.keys(r))d.delete(e);d.size&&o.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("missing-fields: fieldMap entries for the following symbol fields are missing",{symbolFields:d});const y=await(0,a.xR)(e.expression,null,u);if(!y)throw new i.A("dictionary-renderer:expression-error","Unable to create dictionary renderer expression");const f=!s||!s.greaterEqual(4,0);f&&o.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("Dictionary script does not support native field types. Applying fallback",{version:s});const h=new p(r,f);return new l(f,c,y,h)}constructor(e,t,r,i){this._requiresFieldCoercionToString=e,this._itemNames=t,this._compiled=r,this._reader=i}get itemNames(){return this._itemNames}evaluate(e,t,r,i){try{return this._reader.bind(e,r,i),this._compiled.evaluate(this._reader,{$view:{scale:t}})}catch(e){o.A.getLogger("esri.renderers.support.DictionaryScriptEvaluator").warnOnce("arcade: dictionary script evaluation failed",{error:e})}return null}createDictionaryFieldsIndex(e){if(!this._requiresFieldCoercionToString)return new s.A(e);const t=e.map(e=>({...e,type:"esriFieldTypeString"}));return new s.A(t)}}class p extends a.Gj{constructor(e,t){super(),this._fieldMap=e,this._requiresFieldCoercionToString=t}_getField(e){const t=this._fieldMap[e]??e;return this._boundSchema.fieldsIndex.get(t)}field(e){if(!this._requiresFieldCoercionToString)return super.field(e,!1);const t=this._getField(e);return null==t||null==this._boundTarget.attributes[t.name]?"":""+this._boundTarget.attributes[t.name]}}},58501(e,t,r){r.d(t,{q:()=>o});var i=r(62815);function o(e,t,r){if(!r?.features||!r.hasZ)return;const o=(0,i.N)(r.geometryType,t,e.outSpatialReference);if(o)for(const e of r.features)o(e.geometry)}},22671(e,t,r){r.d(t,{A:()=>v});var i,o=r(5482),n=r(52106),s=r(66552),a=r(25482),l=r(4718),p=r(91429),c=r(16930),u=r(60408),d=r(65864),y=r(50498),f=r(20437),h=r(36005),g=r(43937);const m=new s.J({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let v=i=class extends a.o{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){return this.readFeaturesWithClass(e,t,n.A)}writeGeometryType(e,t,r,i){if(e)return void m.write(e,t,r,i);const{features:o}=this;if(o)for(const e of o)if(null!=e?.geometry)return void m.write(e.geometry.type,t,r,i)}readQueryGeometry(e,t){if(!e)return null;const r=!!e.spatialReference,i=(0,d.rS)(e);return i&&!r&&t.spatialReference&&(i.spatialReference=c.A.fromJSON(t.spatialReference)),i}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:r}=this;if(r)for(const e of r)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new i(this.cloneProperties())}cloneProperties(){return(0,l.o8)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let r=0;r<t.features.length;r++){const i=t.features[r];if(i.geometry){const t=e?.[r];i.geometry=t?.toJSON()||i.geometry}}return t}quantize(e){const{scale:[t,r],translate:[i,o]}=e,n=this.features,s=this._getQuantizationFunction(this.geometryType,e=>Math.round((e-i)/t),e=>Math.round((o-e)/r));for(let e=0,t=n.length;e<t;e++)s?.(n[e].geometry)||(n.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:r}=this;if(!r)return this;const{translate:[i,o],scale:[n,s]}=r;let a=null,l=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;a=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;l=r=>null==r?r:r*t+e}const p=this._getHydrationFunction(e,e=>e*n+i,e=>o-e*s,a,l);for(const{geometry:e}of t)null!=e&&p&&p(e);return this.transform=null,this}readFeaturesWithClass(e,t,r){const i=c.A.fromJSON(t.spatialReference),o=[];for(let t=0;t<e.length;t++){const n=e[t],s=r.fromJSON(n),a=n.geometry?.spatialReference;null==s.geometry||a||(s.geometry.spatialReference=i);const l=n.aggregateGeometries,p=s.aggregateGeometries;if(l&&null!=p)for(const e in p){const t=p[e],r=l[e],o=r?.spatialReference;null==t||o||(t.spatialReference=i)}o.push(s)}return o}_quantizePoints(e,t,r){let i,o;const n=[];for(let s=0,a=e.length;s<a;s++){const a=e[s];if(s>0){const e=t(a[0]),s=r(a[1]);e===i&&s===o||(n.push([e-i,s-o]),i=e,o=s)}else i=t(a[0]),o=r(a[1]),n.push([i,o])}return n.length>0?n:null}_getQuantizationFunction(e,t,r){return"point"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):"polyline"===e||"polygon"===e?e=>{const i=(0,u.Bi)(e)?e.rings:e.paths,o=[];for(let e=0,n=i.length;e<n;e++){const n=i[e],s=this._quantizePoints(n,t,r);s&&o.push(s)}return o.length>0?((0,u.Bi)(e)?e.rings=o:e.paths=o,e):null}:"multipoint"===e?e=>{const i=this._quantizePoints(e.points,t,r);return i&&i.length>0?(e.points=i,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,r,i,o){return"point"===e?e=>{e.x=t(e.x),e.y=r(e.y),i&&(e.z=i(e.z))}:"polyline"===e||"polygon"===e?e=>{const n=(0,u.Bi)(e)?e.rings:e.paths;let s,a;for(let e=0,i=n.length;e<i;e++){const i=n[e];for(let e=0,o=i.length;e<o;e++){const o=i[e];e>0?(s+=o[0],a+=o[1]):(s=o[0],a=o[1]),o[0]=t(s),o[1]=r(a)}}if(i&&o)for(let e=0,t=n.length;e<t;e++){const t=n[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2]),r[3]=o(r[3])}}else if(i)for(let e=0,t=n.length;e<t;e++){const t=n[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=i(r[2])}}else if(o)for(let e=0,t=n.length;e<t;e++){const t=n[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=o(r[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),i&&null!=e.zmax&&null!=e.zmin&&(e.zmax=i(e.zmax),e.zmin=i(e.zmin)),o&&null!=e.mmax&&null!=e.mmin&&(e.mmax=o(e.mmax),e.mmin=o(e.mmin))}:"multipoint"===e?e=>{const n=e.points;let s,a;for(let e=0,i=n.length;e<i;e++){const i=n[e];e>0?(s+=i[0],a+=i[1]):(s=i[0],a=i[1]),i[0]=t(s),i[1]=r(a)}if(i&&o)for(let e=0,t=n.length;e<t;e++){const t=n[e];t[2]=i(t[2]),t[3]=o(t[3])}else if(i)for(let e=0,t=n.length;e<t;e++){const t=n[e];t[2]=i(t[2])}else if(o)for(let e=0,t=n.length;e<t;e++){const t=n[e];t[2]=o(t[2])}}:null}};(0,o.Cg)([(0,p.MZ)({type:String,json:{write:!0}})],v.prototype,"displayFieldName",void 0),(0,o.Cg)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"exceededTransferLimit",void 0),(0,o.Cg)([(0,p.MZ)({type:[n.A],json:{write:!0}})],v.prototype,"features",void 0),(0,o.Cg)([(0,h.w)("features")],v.prototype,"readFeatures",null),(0,o.Cg)([(0,p.MZ)({type:[f.A],json:{write:!0}})],v.prototype,"fields",void 0),(0,o.Cg)([(0,p.MZ)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:m.read}}})],v.prototype,"geometryType",void 0),(0,o.Cg)([(0,g.K)("geometryType")],v.prototype,"writeGeometryType",null),(0,o.Cg)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasM",void 0),(0,o.Cg)([(0,p.MZ)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasZ",void 0),(0,o.Cg)([(0,p.MZ)({types:y.yR,json:{write:!0}})],v.prototype,"queryGeometry",void 0),(0,o.Cg)([(0,h.w)("queryGeometry")],v.prototype,"readQueryGeometry",null),(0,o.Cg)([(0,p.MZ)({type:c.A,json:{write:!0}})],v.prototype,"spatialReference",void 0),(0,o.Cg)([(0,g.K)("spatialReference")],v.prototype,"writeSpatialReference",null),(0,o.Cg)([(0,p.MZ)({json:{write:!0}})],v.prototype,"transform",void 0),v=i=(0,o.Cg)([(0,p.$K)("esri.rest.support.FeatureSet")],v),v.prototype.toJSON.isDefaultToJSON=!0},55674(e,t,r){r.d(t,{Ad:()=>y,Gj:()=>g,QY:()=>d,lL:()=>m,xR:()=>f});var i=r(66131),o=r(49186),n=(r(44208),r(44729)),s=r(15032),a=r(65864),l=r(95466),p=r(43668),c=r(98623);const u=["geometry","scale","timeProperties"];function d(e,t){if(null!=t)for(const r of u)t.hasArcadeDependency(r)&&e.add(r);return e}function y(e,t){return h.create(e,t,null,["$feature","$view"])}function f(e,t,r){return h.create(e,t,r,["$feature","$view","$config"])}class h{static async create(e,t,r,i){const{arcade:n,Dictionary:s}=await(0,p.l)();let a;try{a=n.parseScript(e)}catch(t){throw new o.A("arcade-bad-expression","Failed to parse arcade script",{script:e,error:t})}const l=n.scriptUsesGeometryEngine(a);l&&await n.enableGeometrySupport(),await n.loadDependentModules(new Set,a,null,!1,l);const c={vars:i.reduce((e,t)=>({...e,[t]:null}),{}),spatialReference:t,useAsync:!1},u=n.compileScript(a,c);let d=null;null!=r&&(d=new s(r),d.immutable=!0);const y=new s;return y.immutable=!1,y.setField("scale",0),new h(e,n,a,u,t,y,d,s)}constructor(e,t,r,i,o,n,s,a){this.script=e,this._arcade=t,this._syntaxTree=r,this._compiled=i,this._spatialReference=o,this._viewDict=n,this._configDict=s,this._dictionaryCtor=a,this._dependencies=new Map,this._featureReader=new g,this._dependencies.set("geometry",t.scriptTouchesGeometry(this._syntaxTree)),this._dependencies.set("scale",this._arcade.referencesMember(this._syntaxTree,"scale")),this._dependencies.set("timeProperties",this._arcade.scriptUsesViewProperties(this._syntaxTree,["timeProperties"]))}evaluate(e,t){const r=t.$view?.timeZone;if(t.$view){let e;if(this._viewDict.setField("scale",t.$view.scale),null!=t.$view.timeProperties){const{currentStart:o,currentEnd:n}=t.$view.timeProperties;e=new this._dictionaryCtor({currentStart:null!=o?null!=r?i.lY.epochToArcadeDate(o,r):i.lY.unknownEpochToArcadeDate(o):void 0,currentEnd:null!=n?null!=r?i.lY.epochToArcadeDate(n,r):i.lY.unknownEpochToArcadeDate(n):void 0,startIncluded:!0,endIncluded:!0})}this._viewDict.setField("timeProperties",e)}return this._compiled({vars:{$view:this._viewDict,$config:this._configDict,$feature:e},spatialReference:this._spatialReference,timeZone:r})}repurposeFeature(e,t){return this._featureReader.bind(e,t,this._spatialReference),this._featureReader}references(e){return this._dependencies.get(e)??!1}}class g{constructor(){this._boundTarget=null,this._boundSchema={fields:null,fieldsIndex:null,spatialReference:null,get geometryType(){return null},get objectIdField(){return null}},this.arcadeDeclaredClass="esri.arcade.Feature",this._contextTimeZone=null}bind(e,t,r){const i=t??new l.A(m(e.attributes));this._boundTarget=e,this._boundSchema.fields=i.fields,this._boundSchema.fieldsIndex=i,this._boundSchema.spatialReference=r}_getField(e){return this._boundSchema.fieldsIndex.get(e)}get contextTimeZone(){return this._contextTimeZone}set contextTimeZone(e){this._contextTimeZone=e}readArcadeFeature(){return this}hasField(e){return this._boundSchema.fieldsIndex.has(e)}geometry(){if("fromJSON"in this._boundTarget)return this._boundTarget.geometry;const e=(0,a.rS)(this._boundTarget.geometry);if(e){if(!this._boundSchema.spatialReference)throw new Error("InternalError: Expected spatial reference to be defined");e.spatialReference=this._boundSchema.spatialReference}return e}_hasGeometry(){return null!=this._boundTarget.geometry}isUnknownDateTimeField(e){return this._boundSchema.fieldsIndex.getTimeZone(e)===c.L5}field(e,t=!0){const r=this._getField(e);if(r){const t=this._boundTarget.attributes[r.name];if(null==t)return null;switch(r.type){case"date-only":case"esriFieldTypeDateOnly":return n.n.fromReader(t);case"time-only":case"esriFieldTypeTimeOnly":return s.k.fromReader(t);case"esriFieldTypeTimestampOffset":case"timestamp-offset":return i.lY.fromReaderAsTimeStampOffset(t);case"date":case"esriFieldTypeDate":return this.isUnknownDateTimeField(e)?i.lY.unknownEpochToArcadeDate(t):i.lY.epochToArcadeDate(t,this.contextTimeZone??c.qU);default:return t}}if(t)throw new Error(`Field ${e} does not exist`);return null}setField(e,t){throw new Error("Unable to update feature attribute values, feature is readonly")}keys(){return this._boundSchema.fieldsIndex.fields.map(e=>e.name)}isEmpty(){return this._boundSchema.fields.length<=0&&!this._hasGeometry()}castToText(e=!1){return JSON.stringify(this._boundTarget)}gdbVersion(){return null}fullSchema(){return this._boundSchema}castAsJson(e=null){return{attributes:this._boundTarget.attributes,geometry:!0===e?.keepGeometryType?this.geometry():this.geometry()?.toJSON()??null}}castAsJsonAsync(e=null,t=null){return Promise.resolve(this.castAsJson(t))}}function m(e){const t=[];for(const r in e)t.push({name:r,alias:r,type:"string"==typeof e[r]?"esriFieldTypeString":"esriFieldTypeDouble"});return t}}}]);
@@ -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(17676),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(17676);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(17676),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(3129),r.e(9466),r.e(5482),r.e(148),r.e(8050)]).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(17676),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(17676);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(17676),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(5100),r.e(9466),r.e(5482),r.e(148),r.e(8050)]).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,16 +1,14 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{RejectBySlicePass as i}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as r,addLightingGlobalFactor as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ReadShadowMapPassFragment as l,ReadShadowMapPassVertex as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as m}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ComputeCovariance as u}from"../views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js";import{GaussianSplatUnpackingPassParameters as v,GaussianSplatUnpacking as g}from"../views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import{QuaternionToRotationMatrix as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import{RgbNormalizedDepthEncoding as p}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{Float2BindUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as x}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as b}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as P,If as C}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as S}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DUintPassUniform as D}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{getGaussianSplatAlphaCutoffValue as R}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as z}from"../views/webgl/ShaderBuilder.js";class M extends v{constructor(){super(...arguments),this.clipMinCameraRelative=n(),this.clipMaxCameraRelative=n(),this.focalLength=-1,this.minSplatRadius=-1,this.tanFov=a(),this.origin=n()}}function j(a){const{clippingEnabled:n,fragmentShadows:v,hasSlicePlane:M,spherical:j}=a,A=new z;A.varyings.add("vColor","vec4"),A.varyings.add("conicOpacity","vec4"),A.varyings.add("offsetFromCenter","vec2"),F(a)&&A.varyings.add("fragmentPositionCameraRelative","vec3"),A.vertex.uniforms.add(new D("splatOrderTexture",e=>e.splatOrder),new D("splatFadingTexture",e=>e.splatFading),new D("splatAtlasTexture",e=>e.splatAtlas),new b("focalLength",e=>e.focalLength),new b("minSplatRadius",e=>e.minSplatRadius),new x("tanFov",e=>e.tanFov),new h("screenSize",({camera:a})=>e(T,a.fullWidth,a.fullHeight)),new S("proj",e=>e.camera.projectionMatrix),new S("view",e=>e.camera.viewMatrix),new h("nearFar",e=>e.camera.nearFar),new w("cameraPosition",e=>e.camera.eye)),n&&(A.vertex.uniforms.add(new y("clipMin",e=>e.clipMinCameraRelative),new y("clipMax",e=>e.clipMaxCameraRelative)),A.fragment.uniforms.add(new y("clipMin",e=>e.clipMinCameraRelative),new y("clipMax",e=>e.clipMaxCameraRelative))),A.vertex.include(g),A.vertex.include(f),A.vertex.include(u),A.vertex.include(i,a),v?(A.fragment.uniforms.add(new w("cameraPosition",e=>e.camera.eye)),A.fragment.include(t,a)):A.vertex.include(t,a),A.include(s,a),r(v?A.fragment:A.vertex),o(v?A.fragment:A.vertex),A.include(m,a),A.include(v?l:d,a),A.outputs.add("fragColor","vec4",0),A.outputs.add("fragDepthColor","vec4",1);const I=R(a.alphaCutoff),L=Math.log(I),k=-2*L,G=P`float groundLightAlignment = dot(groundNormal, mainLightDirection);
2
+ import{set as e}from"../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as n}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{splatAtlasTextureWidth as i,elementsPerSplatPage as t}from"../views/3d/support/gaussianSplatting/GaussianSplatAtlasPages.js";import{RejectBySlicePass as o}from"../views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js";import{EvaluateSceneLighting as r,addAmbientBoostFactor as s,addLightingGlobalFactor as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{NormalUtils as c}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as d}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{ReadShadowMapPassFragment as m,ReadShadowMapPassVertex as g}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{terrainDepthTest as u}from"../views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import{ComputeCovariance as v}from"../views/3d/webgl-engine/core/shaderLibrary/util/ComputeCovariance.glsl.js";import{GaussianSplatUnpackingPassParameters as p,GaussianSplatUnpacking as f}from"../views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import{QuaternionToRotationMatrix as h}from"../views/3d/webgl-engine/core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import{RgbNormalizedDepthEncoding as x}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{Float2BindUniform as w}from"../views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js";import{Float2PassUniform as y}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as b}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as P}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as C}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as S,If as D}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as R}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DUintPassUniform as M}from"../views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js";import{getGaussianSplatAlphaCutoffValue as z}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as j}from"../views/webgl/ShaderBuilder.js";class F extends p{constructor(){super(...arguments),this.clipMinCameraRelative=n(),this.clipMaxCameraRelative=n(),this.focalLength=-1,this.minSplatRadius=-1,this.tanFov=a(),this.origin=n()}}function T(a){const{clippingEnabled:n,fragmentShadows:i,hasSlicePlane:t,spherical:p}=a,F=new j;F.varyings.add("vColor","vec4"),F.varyings.add("conicOpacity","vec4"),F.varyings.add("gaussianLogAlphaCutoff","float"),F.varyings.add("offsetFromCenter","vec2"),L(a)&&F.varyings.add("fragmentPositionCameraRelative","vec3"),F.vertex.uniforms.add(new M("splatOrderTexture",e=>e.splatOrder),new M("splatFadingTexture",e=>e.splatFading),new M("splatAtlasTexture",e=>e.splatAtlas),new C("focalLength",e=>e.focalLength),new C("minSplatRadius",e=>e.minSplatRadius),new y("tanFov",e=>e.tanFov),new w("inverseScreenSize",({camera:a})=>e(A,1/a.fullWidth,1/a.fullHeight)),new R("proj",e=>e.camera.projectionMatrix),new R("view",e=>e.camera.viewMatrix),new w("nearFar",e=>e.camera.nearFar),new b("cameraPosition",e=>e.camera.eye)),n&&(F.vertex.uniforms.add(new P("clipMin",e=>e.clipMinCameraRelative),new P("clipMax",e=>e.clipMaxCameraRelative)),F.fragment.uniforms.add(new P("clipMin",e=>e.clipMinCameraRelative),new P("clipMax",e=>e.clipMaxCameraRelative))),F.vertex.include(f),F.vertex.include(h),F.vertex.include(v),F.vertex.include(o,a),i?(F.fragment.uniforms.add(new b("cameraPosition",e=>e.camera.eye)),F.fragment.include(r,a)):F.vertex.include(r,a),F.include(c,a),s(i?F.fragment:F.vertex),l(i?F.fragment:F.vertex),F.include(u,a),F.include(i?m:g,a),F.outputs.add("fragColor","vec4",0),F.outputs.add("fragDepthColor","vec4",1);const T=z(a.alphaCutoff),B=Math.log(T),O=S`float groundLightAlignment = dot(groundNormal, mainLightDirection);
3
3
  float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);
4
- vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,W=P`
5
- vec3 groundNormal = ${j?P`normalize(cameraRelativePosition + cameraPosition)`:P`vec3(0.0, 0.0, 1.0)`};
6
- ${G}
4
+ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,E=S`
5
+ vec3 groundNormal = ${p?S`normalize(cameraRelativePosition + cameraPosition)`:S`vec3(0.0, 0.0, 1.0)`};
6
+ ${O}
7
7
  float shadow = readShadowVertex(additionalAmbientScale, cameraRelativePosition, -viewPos.z);
8
8
  vColor.rgb = evaluateSceneLighting(groundNormal, vColor.rgb, shadow, 0.0, additionalLight);
9
- `,B=P`
10
- vec3 groundNormal = ${j?P`normalize(fragmentPositionCameraRelative + cameraPosition)`:P`vec3(0.0, 0.0, 1.0)`};
11
- ${G}
9
+ `,N=S`
10
+ vec3 groundNormal = ${p?S`normalize(fragmentPositionCameraRelative + cameraPosition)`:S`vec3(0.0, 0.0, 1.0)`};
11
+ ${O}
12
12
  float shadow = readShadow(additionalAmbientScale, fragmentPositionCameraRelative);
13
13
  shadedColor = evaluateSceneLighting(groundNormal, vColor.rgb, shadow, 0.0, additionalLight);
14
- `;return A.vertex.code.add(P`vec2 ndcToPixel(vec2 ndcCoord, vec2 screenSize) {
15
- return ((ndcCoord + 1.0) * screenSize - 1.0) * 0.5;
16
- }`),A.vertex.main.add(`\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n uint splatAtlasWidth = uint(textureSize(splatAtlasTexture, 0).x);\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex % splatAtlasWidth;\n uint gaussianIndexY = gaussianIndex / splatAtlasWidth;\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n // Fetch the header associated with the packed Gaussian (contains tile origin and number of fractional bits)\n uint pageNum = gaussianIndex / 1024u;\n uint headerIndex = (pageNum + 1u) * 1024u - 1u;\n uint headerIndexX = headerIndex % splatAtlasWidth;\n uint headerIndexY = headerIndex / splatAtlasWidth;\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n\n // Handle fading\n ${C(a.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n // set default position outside clipspace for early returns\n gl_Position = ${c};\n\n if(vColor.a < ${I}) {\n return;\n }\n\n vec3 scale = unpackScale(packedGaussian);\n vec4 quaternion = unpackQuaternion(packedGaussian);\n mat3 rotation = quaternionToRotationMatrix(quaternion);\n vec3 tileOriginRelativePosition = unpackTileOriginRelativePosition(packedGaussian);\n\n vec3 cameraRelativePosition = unpackCameraRelativeGaussianPosition(packedHeader, tileOriginRelativePosition);\n\n ${C(n,"\n if (cameraRelativePosition.x < clipMin.x || cameraRelativePosition.y < clipMin.y || cameraRelativePosition.z < clipMin.z ||\n cameraRelativePosition.x > clipMax.x || cameraRelativePosition.y > clipMax.y || cameraRelativePosition.z > clipMax.z) {\n return;\n }\n ")}\n\n ${C(M,"if (rejectBySlice(cameraRelativePosition)) {\n return;\n }")}\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n return;\n }\n\n forwardViewPosDepth(viewPos.xyz);\n\n // Handle environment (scene lighting) per vertex, delay to fragment shader if fragment shadows are enabled\n // for a crisper shadow border at the cost of more computations in the fragment shader\n ${C(v,"forwardLinearDepth(-viewPos.z);",W)}\n\n vec3 covarianceA;\n vec3 covarianceB;\n computeCovariance3D(rotation, scale.xyz, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Compute the Gaussians extent in screen space by finding the eigenvalues lambda1 and lambda2\n // of the 2D covariance matrix\n float mid = 0.5 * (covariance2D.x + covariance2D.z);\n float radius = length(vec2((covariance2D.x - covariance2D.z) * 0.5, covariance2D.y));\n float lambda1 = mid + radius;\n float lambda2 = mid - radius;\n\n // Compute the extents along the principal axes\n float l1 = ceil(sqrt(lambda1 * ${k}));\n float l2 = ceil(sqrt(lambda2 * ${k}));\n\n float maxRadius = max(l1, l2);\n\n // Ignore gaussians with very small contribution, with tolerance based on the quality profile\n if(minSplatRadius > 0.0) {\n float effectiveSize = maxRadius * vColor.a;\n if(effectiveSize < minSplatRadius) {\n return;\n }\n }\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n\n // Screen space frustum culling\n vec2 radiusNDC = maxRadius * 2.0 / screenSize;\n\n if (any(greaterThan(abs(ndcPos.xy) - radiusNDC, vec2(1.0)))) {\n return;\n }\n\n // Compute the principal diagonal direction (eigenvector for lambda1)\n vec2 diagonalVector = normalize(vec2(covariance2D.y, lambda1 - covariance2D.x));\n\n vec2 majorAxis = l1 * diagonalVector;\n vec2 minorAxis = l2 * vec2(diagonalVector.y, -diagonalVector.x);\n\n vec2 gaussianCenterScreenPos = ndcToPixel(ndcPos.xy, screenSize);\n\n // This maps vertex IDs 0, 1, 2, 3 to (-1,-1), (1,-1), (-1,1), (1,1)\n vec2 corner = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2) - 1.0;\n offsetFromCenter = corner.x * majorAxis + corner.y * minorAxis;\n\n ${C(F(a),"float viewSpacePixelScale = -viewPos.z / focalLength;\n vec3 fragmentViewOffset = vec3(offsetFromCenter * viewSpacePixelScale, 0.0);\n fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * fragmentViewOffset;")}\n\n // Invert covariance (EWA algorithm)\n float determinant = (covariance2D.x * covariance2D.z - covariance2D.y * covariance2D.y);\n if (determinant <= 0.) {\n return;\n }\n float invDeterminant = 1. / determinant;\n\n // We use a conic function to derive the opacity\n vec3 conic = vec3(covariance2D.z, -covariance2D.y, covariance2D.x) * invDeterminant;\n conicOpacity = vec4(conic, vColor.a);\n\n // Convert from screen-space to clip-space using center + offset\n vec2 clipPos = (gaussianCenterScreenPos + offsetFromCenter) / screenSize * 2. - 1.;\n\n gl_Position = vec4(clipPos, ndcPos.z, 1.0);\n\n `),A.fragment.include(p),A.fragment.include(i,a),A.fragment.main.add(`\n ${C(n,"if (fragmentPositionCameraRelative.x < clipMin.x || fragmentPositionCameraRelative.y < clipMin.y || fragmentPositionCameraRelative.z < clipMin.z ||\n fragmentPositionCameraRelative.x > clipMax.x || fragmentPositionCameraRelative.y > clipMax.y || fragmentPositionCameraRelative.z > clipMax.z) {\n discard;\n }")}\n ${C(M,"if (rejectBySlice(fragmentPositionCameraRelative)) { discard; }")}\n discardByTerrainDepth();\n\n // Evaluate the 2D elliptical Gaussian exponent using the general conic form: Ax^2+2Bxy+Cy^2\n float x = offsetFromCenter.x;\n float y = offsetFromCenter.y;\n float conic = dot(conicOpacity.xyz, vec3(x * x, 2.0 * x * y, y * y));\n float gaussianExponent = -0.5 * conic;\n\n // A positive exponent indicates alpha > 1, this should not happen\n // We also early check the alphaCutoff (i.e., ln(alphaCutoff)), to avoid unnecessary exp()\n if (gaussianExponent > 0.0 || gaussianExponent < ${L}) {\n discard;\n }\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n vec3 shadedColor = vColor.rgb;\n ${C(v,B)}\n fragColor = vec4(shadedColor * alpha, alpha);\n\n // We simulate first hit based depth using 0.25 as the opacity threshold.\n // This works because we render in front-to-back order,\n // i.e. the first hit that counts completelly saturates the alpha channel\n // and further splats do not contribute.\n float countHit = step(0.25, alpha);\n float normalizedDepth = gl_FragCoord.z;\n fragDepthColor = vec4(encodeNormalizedDepthToRGB(normalizedDepth) * countHit, countHit);\n `),A}function F(e){const{clippingEnabled:a,fragmentShadows:n,hasSlicePlane:i}=e;return n||i||a}const T=a(),A=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:M,build:j},Symbol.toStringTag,{value:"Module"}));export{M as G,A as a,j as b};
14
+ `;return F.vertex.main.add(`\n uint instanceID = uint(gl_InstanceID);\n\n // Transform the instanceID into 2D coordinates\n uint orderTextureWidth = uint(textureSize(splatOrderTexture, 0).x);\n uint x = instanceID % orderTextureWidth;\n uint y = instanceID / orderTextureWidth;\n\n // Fetch the index of the remaining frontmost Gaussian\n uint gaussianIndex = texelFetch(splatOrderTexture, ivec2(x, y), 0).r;\n\n // Fetch the packed Gaussian according to the index\n uint gaussianIndexX = gaussianIndex & ${I}u;\n uint gaussianIndexY = gaussianIndex >> ${$}u;\n uvec4 packedGaussian = texelFetch(splatAtlasTexture, ivec2(gaussianIndexX, gaussianIndexY), 0);\n\n uint pageNum = gaussianIndex >> ${k}u;\n\n // Unpack the Gaussian\n vColor = unpackColor(packedGaussian);\n\n // Handle fading\n ${D(a.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n // set default position outside clipspace for early returns\n gl_Position = ${d};\n\n if(vColor.a < ${T}) {\n return;\n }\n\n // Delay the page header fetch until the splat survives the opacity reject.\n uint headerIndex = gaussianIndex | ${G}u;\n uint headerIndexX = headerIndex & ${I}u;\n uint headerIndexY = headerIndex >> ${$}u;\n uvec4 packedHeader = texelFetch(splatAtlasTexture, ivec2(headerIndexX, headerIndexY), 0);\n\n vec3 tileOriginRelativePosition = unpackTileOriginRelativePosition(packedGaussian);\n vec3 cameraRelativePosition = unpackCameraRelativeGaussianPosition(packedHeader, tileOriginRelativePosition);\n\n ${D(n,"\n if (cameraRelativePosition.x < clipMin.x || cameraRelativePosition.y < clipMin.y || cameraRelativePosition.z < clipMin.z ||\n cameraRelativePosition.x > clipMax.x || cameraRelativePosition.y > clipMax.y || cameraRelativePosition.z > clipMax.z) {\n return;\n }\n ")}\n\n ${D(t,"if (rejectBySlice(cameraRelativePosition)) {\n return;\n }")}\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n return;\n }\n\n vec3 scale = unpackScale(packedGaussian);\n vec4 quaternion = unpackQuaternion(packedGaussian);\n mat3 rotation = quaternionToRotationMatrix(quaternion);\n\n vec3 covarianceA;\n vec3 covarianceB;\n computeCovariance3D(rotation, scale.xyz, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Invert covariance (EWA algorithm)\n float determinant = (covariance2D.x * covariance2D.z - covariance2D.y * covariance2D.y);\n if (determinant <= 0.) {\n return;\n }\n\n // Compute the Gaussians extent in screen space by finding the eigenvalues lambda1 and lambda2\n // of the 2D covariance matrix\n float mid = 0.5 * (covariance2D.x + covariance2D.z);\n float radius = length(vec2((covariance2D.x - covariance2D.z) * 0.5, covariance2D.y));\n float lambda1 = mid + radius;\n float lambda2 = mid - radius;\n\n\n // Fold the per-splat opacity into the log cutoff so the vertex-side ellipse\n // bound matches the fragment alpha discard after fading.\n gaussianLogAlphaCutoff = ${B} - log(vColor.a);\n // Compute the extents along the principal axes\n float gaussianEllipseThreshold = max(0.0, -2.0 * gaussianLogAlphaCutoff);\n float l1 = ceil(sqrt(lambda1 * gaussianEllipseThreshold));\n float l2 = ceil(sqrt(lambda2 * gaussianEllipseThreshold));\n\n float maxRadius = max(l1, l2);\n\n // Ignore gaussians with very small contribution, with tolerance based on the quality profile\n if(minSplatRadius > 0.0) {\n float effectiveSize = maxRadius * vColor.a;\n if(effectiveSize < minSplatRadius) {\n return;\n }\n }\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;\n\n // Screen space frustum culling\n vec2 radiusNDC = maxRadius * clipSpacePixelScale;\n\n if (any(greaterThan(abs(ndcPos.xy) - radiusNDC, vec2(1.0)))) {\n return;\n }\n\n // Compute the principal diagonal direction (eigenvector for lambda1)\n vec2 diagonalVector = normalize(vec2(covariance2D.y, lambda1 - covariance2D.x));\n\n vec2 majorAxis = l1 * diagonalVector;\n vec2 minorAxis = l2 * vec2(diagonalVector.y, -diagonalVector.x);\n\n // This maps vertex IDs 0, 1, 2, 3 to (-1,-1), (1,-1), (-1,1), (1,1)\n vec2 corner = vec2((gl_VertexID << 1) & 2, gl_VertexID & 2) - 1.0;\n offsetFromCenter = corner.x * majorAxis + corner.y * minorAxis;\n\n ${D(L(a),"float viewSpacePixelScale = -viewPos.z / focalLength;\n vec3 fragmentViewOffset = vec3(offsetFromCenter * viewSpacePixelScale, 0.0);\n fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * fragmentViewOffset;")}\n\n float invDeterminant = 1. / determinant;\n\n // We use a conic function to derive the opacity\n vec3 conic = vec3(covariance2D.z, -covariance2D.y, covariance2D.x) * invDeterminant;\n conicOpacity = vec4(conic, vColor.a);\n\n forwardViewPosDepth(viewPos.xyz);\n\n // Handle environment (scene lighting) per vertex, delay to fragment shader if fragment shadows are enabled\n // for a crisper shadow border at the cost of more computations in the fragment shader\n ${D(i,"forwardLinearDepth(-viewPos.z);",E)}\n\n // Convert from screen-space to clip-space using center + offset\n vec2 clipPos = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;\n\n gl_Position = vec4(clipPos, ndcPos.z, 1.0);\n\n `),F.fragment.include(x),F.fragment.include(o,a),F.fragment.main.add(`\n ${D(n,"if (fragmentPositionCameraRelative.x < clipMin.x || fragmentPositionCameraRelative.y < clipMin.y || fragmentPositionCameraRelative.z < clipMin.z ||\n fragmentPositionCameraRelative.x > clipMax.x || fragmentPositionCameraRelative.y > clipMax.y || fragmentPositionCameraRelative.z > clipMax.z) {\n discard;\n }")}\n ${D(t,"if (rejectBySlice(fragmentPositionCameraRelative)) { discard; }")}\n\n // Evaluate the 2D elliptical Gaussian exponent using the general conic form: Ax^2+2Bxy+Cy^2\n float x = offsetFromCenter.x;\n float y = offsetFromCenter.y;\n float conic = dot(conicOpacity.xyz, vec3(x * x, 2.0 * x * y, y * y));\n float gaussianExponent = -0.5 * conic;\n\n // A positive exponent indicates alpha > 1, this should not happen\n // We also early check the opacity-aware alpha cutoff to avoid unnecessary exp().\n if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogAlphaCutoff) {\n discard;\n }\n\n discardByTerrainDepth();\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n vec3 shadedColor = vColor.rgb;\n ${D(i,N)}\n fragColor = vec4(shadedColor * alpha, alpha);\n\n // We simulate first hit based depth using 0.25 as the opacity threshold.\n // This works because we render in front-to-back order,\n // i.e. the first hit that counts completelly saturates the alpha channel\n // and further splats do not contribute.\n float countHit = step(0.25, alpha);\n float normalizedDepth = gl_FragCoord.z;\n fragDepthColor = vec4(encodeNormalizedDepthToRGB(normalizedDepth) * countHit, countHit);\n `),F}function L(e){const{clippingEnabled:a,fragmentShadows:n,hasSlicePlane:i}=e;return n||i||a}const A=a(),I=i-1,$=Math.log2(i),G=t-1,k=Math.log2(t),B=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:F,build:T},Symbol.toStringTag,{value:"Module"}));export{F as G,B as a,T as b};
package/config.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.1.0-next.66";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
2
+ import"./core/has.js";import{deepMerge as e}from"./core/object.js";const s={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&(e(s,globalThis.esriConfig,!0),delete s.has),!s.assetsPath){{const e="5.1.0-next.67";s.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}/assets`}s.defaultAssetsPath=s.assetsPath}export{s as default};
package/interfaces.d.ts CHANGED
@@ -6355,17 +6355,10 @@ declare namespace __esri {
6355
6355
  /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
6356
6356
  export type PopupFeaturesProperties = import("./popup/Features.js").FeaturesProperties;
6357
6357
 
6358
- /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
6359
- export type PopupFeaturesEvents = import("./popup/Features.js").FeaturesEvents;
6360
-
6361
6358
  /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
6362
6359
  export type PopupFeatures = import("./popup/Features.js").default;
6363
6360
  export const PopupFeatures: typeof import("./popup/Features.js").default;
6364
6361
 
6365
- /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
6366
- export type PopupFeaturesTriggerAction = import("./popup/Features.js").default;
6367
- export const PopupFeaturesTriggerAction: typeof import("./popup/Features.js").default;
6368
-
6369
6362
  /** @deprecated since 5.0. Refactor using \@arcgis/codemod */
6370
6363
  export type FieldInfoProperties = import("./popup/FieldInfo.js").FieldInfoProperties;
6371
6364
 
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.66",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
2
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.67",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../core/Error.js";import{clone as i}from"../core/lang.js";import{setDeepValue as r}from"../core/object.js";import{property as o,subclass as a}from"../core/accessorSupport/decorators.js";import n from"../geometry/SpatialReference.js";import s from"../graphic/OrientedImageryGraphicOrigin.js";import p from"./FeatureLayer.js";import{useViewTimeProperty as l}from"./mixins/TemporalLayer.js";import{getEffectiveElevationSource as d,orientedImageryTypeMap as m,timeIntervalUnitTypeMap as y,verticalMeasurementTypeMap as u,isOrientationAccuracy as c,padAccuracyArray as h}from"./orientedImagery/core/utils.js";import g from"./support/Field.js";import f from"../tables/AttributeTableTemplate.js";import v from"../time/TimeExtent.js";const S=new Set(["demPathPrefix","demPathSuffix","depthImagePathPrefix","depthImagePathSuffix","elevationSource","horizontalMeasurementUnit","imageGeometryField","imageReferenceField","referenceIDField","sequenceOrderField","verticalMeasurementUnit","videoPathPrefix","videoPathSuffix","timeAnimation","visibilityTimeExtent"]),j=new Set(["elevationSource"]),P=(e,t)=>!S.has(t)&&e,I=(e,t,i)=>{const r=`orientedImageryProperties.${e}`,o={allowNull:j.has(e),ignoreOrigin:!0};return{name:r,write:t?{...o,target:r,writer:t}:o,read:i?{ignoreOrigin:!0,source:r,reader:i}:{ignoreOrigin:!0}}};function O(e){return e.json?(e.json.origins=e.json.origins??{},e.json.origins["web-scene"]={write:!1,read:!1},e):e}function b(e,t,i,r){const{name:o,write:a,read:n}=I(e,t,i),s={name:o,write:a,read:n,origins:{service:{name:`orientedImageryInfo.${o}`,write:t,read:i},"web-scene":{name:o,write:P(a,e),read:P(n,e)},"web-map":{name:o,write:a,read:n}}};return r&&s.origins?(s.type=r,s.origins["web-map"].type=r,s.origins["web-scene"].type=r,s):s}let x=class extends p{constructor(e){super(e),this.attributeTableTemplate=null,this.cameraHeading=null,this.cameraHeight=null,this.cameraPitch=null,this.cameraRoll=null,this.coveragePercent=null,this.demPathPrefix=null,this.demPathSuffix=null,this.depthImagePathPrefix=null,this.depthImagePathSuffix=null,this.elevationSource=null,this.farDistance=null,this.geometryType="point",this.graphicOrigin=new s(this),this.horizontalFieldOfView=null,this.horizontalMeasurementUnit=null,this.imageGeometryField="ImageGeometry",this.imagePathPrefix=null,this.imagePathSuffix=null,this.imageReferenceField="OIObjectID",this.imageRotation=null,this.maximumDistance=null,this.nearDistance=null,this.operationalLayerType="OrientedImageryLayer",this.orientationAccuracy=null,this.orientedImageryType=null,this.referenceIDField="OBJECTID",this.sequenceOrderField="SequenceOrder",this.subtypeField=null,this.subtypes=null,this.supportedSourceTypes=new Set(["Oriented Imagery Layer"]),this.type="oriented-imagery",this.timeIntervalUnit="days",this.useViewTime=!0,this.verticalFieldOfView=null,this.verticalMeasurementUnit=null,this.verticalSearchRange=null,this.videoPathPrefix=null,this.videoPathSuffix=null,this.virtualCacheDirectory=null,this.dataStoreID=null,this.visibilityTimeExtent=null}get effectiveElevationSource(){const{elevationSource:e,demPathPrefix:t,demPathSuffix:i}=this;return d(e,t,i)}get effectiveSequenceOrderField(){const{sequenceOrderField:e,fields:t}=this;return t.find(t=>t.name.toLowerCase()===e?.toLowerCase())?.name??"SequenceOrder"}get portalItem(){return super.portalItem}set portalItem(e){super.portalItem=e}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}findFirstValidLayerId(e){return e.layers?.find(({type:e})=>!!e&&this.supportedSourceTypes.has(e))?.id}_verifySource(){if(super._verifySource(),"point"!==this.geometryType)throw new t("oriented-imagery-layer:invalid-geometry-type","OrientedImageryLayer only supports point geometry type")}};e([o({type:f,json:{write:!1,read:!1}})],x.prototype,"attributeTableTemplate",void 0),e([o({type:Number,json:b("cameraHeading")})],x.prototype,"cameraHeading",void 0),e([o({type:Number,json:b("cameraHeight")})],x.prototype,"cameraHeight",void 0),e([o({type:Number,json:b("cameraPitch")})],x.prototype,"cameraPitch",void 0),e([o({type:Number,json:b("cameraRoll")})],x.prototype,"cameraRoll",void 0),e([o({type:Number,json:b("coveragePercent")})],x.prototype,"coveragePercent",void 0),e([o({type:String,json:b("demPathPrefix")})],x.prototype,"demPathPrefix",void 0),e([o({type:String,json:b("demPathSuffix")})],x.prototype,"demPathSuffix",void 0),e([o({type:String,json:b("depthImagePathPrefix")})],x.prototype,"depthImagePathPrefix",void 0),e([o({type:String,json:b("depthImagePathSuffix")})],x.prototype,"depthImagePathSuffix",void 0),e([o({type:Object,json:b("elevationSource")})],x.prototype,"elevationSource",void 0),e([o({readOnly:!0})],x.prototype,"effectiveElevationSource",null),e([o({readOnly:!0})],x.prototype,"effectiveSequenceOrderField",null),e([o({type:Number,json:b("farDistance")})],x.prototype,"farDistance",void 0),e([o({type:[g]})],x.prototype,"fields",void 0),e([o()],x.prototype,"geometryType",void 0),e([o({readOnly:!0,clonable:!1})],x.prototype,"graphicOrigin",void 0),e([o({type:Number,json:b("horizontalFieldOfView")})],x.prototype,"horizontalFieldOfView",void 0),e([o({type:String,json:b("horizontalMeasurementUnit")})],x.prototype,"horizontalMeasurementUnit",void 0),e([o({type:String,json:{...b("imageGeometryField"),default:"ImageGeometry"}})],x.prototype,"imageGeometryField",void 0),e([o({type:String,json:b("imagePathPrefix")})],x.prototype,"imagePathPrefix",void 0),e([o({type:String,json:b("imagePathSuffix")})],x.prototype,"imagePathSuffix",void 0),e([o({type:String,json:{...b("imageReferenceField"),default:"OIObjectID"}})],x.prototype,"imageReferenceField",void 0),e([o({type:Number,json:b("imageRotation")})],x.prototype,"imageRotation",void 0),e([o({type:Number,json:b("maximumDistance")})],x.prototype,"maximumDistance",void 0),e([o({type:Number,json:b("nearDistance")})],x.prototype,"nearDistance",void 0),e([o({type:["OrientedImageryLayer"],json:{origins:{"portal-item":{name:"layerType",write:{enabled:!0,ignoreOrigin:!0}}}}})],x.prototype,"operationalLayerType",void 0),e([o({json:{...b("orientationAccuracy",(e,t,i)=>{r(i,e.join(";"),t)},e=>{const t=e?.split(";")?.map(Number);return c(t)?h(t):[0,0,0,0,0,0,0,0]},String)}})],x.prototype,"orientationAccuracy",void 0),e([o({json:{...b("orientedImageryType",m.write,m.read,m.jsonValues.slice(1))}})],x.prototype,"orientedImageryType",void 0),e([o({type:String,json:{...b("referenceIDField"),default:"OBJECTID"}})],x.prototype,"referenceIDField",void 0),e([o({type:String,json:{...b("sequenceOrderField"),default:"SequenceOrder"}})],x.prototype,"sequenceOrderField",void 0),e([o({type:n})],x.prototype,"spatialReference",void 0),e([o({readOnly:!0})],x.prototype,"subtypeField",void 0),e([o({readOnly:!0})],x.prototype,"subtypes",void 0),e([o({json:{read:!1},value:"oriented-imagery",readOnly:!0})],x.prototype,"type",void 0),e([o({type:y.apiValues,json:{...b("timeIntervalUnit",y.write,y.read,y.jsonValues)}})],x.prototype,"timeIntervalUnit",void 0),e([o(O(i(l)))],x.prototype,"useViewTime",void 0),e([o({type:Number,json:b("verticalFieldOfView")})],x.prototype,"verticalFieldOfView",void 0),e([o({type:u.apiValues,json:{...b("verticalMeasurementUnit",u.write,u.read,u.jsonValues)}})],x.prototype,"verticalMeasurementUnit",void 0),e([o({type:Number,json:b("verticalSearchRange")})],x.prototype,"verticalSearchRange",void 0),e([o({type:String,json:b("videoPathPrefix")})],x.prototype,"videoPathPrefix",void 0),e([o({type:String,json:b("videoPathSuffix")})],x.prototype,"videoPathSuffix",void 0),e([o({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.orientedImageryProperties.virtualCacheDirectory",read:!0}}}})],x.prototype,"virtualCacheDirectory",void 0),e([o({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.dsid",read:!0}}}})],x.prototype,"dataStoreID",void 0),e([o({type:v,json:{origins:{"web-scene":{write:!1,read:!1}}}})],x.prototype,"visibilityTimeExtent",void 0),x=e([a("esri.layers.OrientedImageryLayer")],x);const w=x;export{w as default};
2
+ import{__decorate as e}from"tslib";import t from"../core/Error.js";import{clone as i}from"../core/lang.js";import{setDeepValue as r}from"../core/object.js";import{property as o,subclass as a}from"../core/accessorSupport/decorators.js";import n from"../geometry/SpatialReference.js";import s from"../graphic/OrientedImageryGraphicOrigin.js";import p from"./FeatureLayer.js";import{useViewTimeProperty as l}from"./mixins/TemporalLayer.js";import{getEffectiveElevationSource as d,parseSequenceOrderFields as m,orientedImageryTypeMap as y,timeIntervalUnitTypeMap as u,verticalMeasurementTypeMap as c,isOrientationAccuracy as h,padAccuracyArray as g}from"./orientedImagery/core/utils.js";import f from"./support/Field.js";import v from"../tables/AttributeTableTemplate.js";import j from"../time/TimeExtent.js";const S=new Set(["demPathPrefix","demPathSuffix","depthImagePathPrefix","depthImagePathSuffix","elevationSource","horizontalMeasurementUnit","imageGeometryField","imageReferenceField","referenceIDField","sequenceOrderField","verticalMeasurementUnit","videoPathPrefix","videoPathSuffix","timeAnimation","visibilityTimeExtent"]),P=new Set(["elevationSource"]),I=(e,t)=>!S.has(t)&&e,O=(e,t,i)=>{const r=`orientedImageryProperties.${e}`,o={allowNull:P.has(e),ignoreOrigin:!0};return{name:r,write:t?{...o,target:r,writer:t}:o,read:i?{ignoreOrigin:!0,source:r,reader:i}:{ignoreOrigin:!0}}};function b(e){return e.json?(e.json.origins=e.json.origins??{},e.json.origins["web-scene"]={write:!1,read:!1},e):e}function x(e,t,i,r){const{name:o,write:a,read:n}=O(e,t,i),s={name:o,write:a,read:n,origins:{service:{name:`orientedImageryInfo.${o}`,write:t,read:i},"web-scene":{name:o,write:I(a,e),read:I(n,e)},"web-map":{name:o,write:a,read:n}}};return r&&s.origins?(s.type=r,s.origins["web-map"].type=r,s.origins["web-scene"].type=r,s):s}let w=class extends p{constructor(e){super(e),this.attributeTableTemplate=null,this.cameraHeading=null,this.cameraHeight=null,this.cameraPitch=null,this.cameraRoll=null,this.coveragePercent=null,this.demPathPrefix=null,this.demPathSuffix=null,this.depthImagePathPrefix=null,this.depthImagePathSuffix=null,this.elevationSource=null,this.farDistance=null,this.geometryType="point",this.graphicOrigin=new s(this),this.horizontalFieldOfView=null,this.horizontalMeasurementUnit=null,this.imageGeometryField="ImageGeometry",this.imagePathPrefix=null,this.imagePathSuffix=null,this.imageReferenceField="OIObjectID",this.imageRotation=null,this.maximumDistance=null,this.nearDistance=null,this.operationalLayerType="OrientedImageryLayer",this.orientationAccuracy=null,this.orientedImageryType=null,this.referenceIDField="OBJECTID",this.sequenceOrderField="SequenceOrder",this.subtypeField=null,this.subtypes=null,this.supportedSourceTypes=new Set(["Oriented Imagery Layer"]),this.type="oriented-imagery",this.timeIntervalUnit="days",this.useViewTime=!0,this.verticalFieldOfView=null,this.verticalMeasurementUnit=null,this.verticalSearchRange=null,this.videoPathPrefix=null,this.videoPathSuffix=null,this.virtualCacheDirectory=null,this.dataStoreID=null,this.visibilityTimeExtent=null}get effectiveElevationSource(){const{elevationSource:e,demPathPrefix:t,demPathSuffix:i}=this;return d(e,t,i)}get effectiveSequenceOrderField(){const{sequenceOrderField:e,fields:t}=this;return m(e,t)}get portalItem(){return super.portalItem}set portalItem(e){super.portalItem=e}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}findFirstValidLayerId(e){return e.layers?.find(({type:e})=>!!e&&this.supportedSourceTypes.has(e))?.id}_verifySource(){if(super._verifySource(),"point"!==this.geometryType)throw new t("oriented-imagery-layer:invalid-geometry-type","OrientedImageryLayer only supports point geometry type")}};e([o({type:v,json:{write:!1,read:!1}})],w.prototype,"attributeTableTemplate",void 0),e([o({type:Number,json:x("cameraHeading")})],w.prototype,"cameraHeading",void 0),e([o({type:Number,json:x("cameraHeight")})],w.prototype,"cameraHeight",void 0),e([o({type:Number,json:x("cameraPitch")})],w.prototype,"cameraPitch",void 0),e([o({type:Number,json:x("cameraRoll")})],w.prototype,"cameraRoll",void 0),e([o({type:Number,json:x("coveragePercent")})],w.prototype,"coveragePercent",void 0),e([o({type:String,json:x("demPathPrefix")})],w.prototype,"demPathPrefix",void 0),e([o({type:String,json:x("demPathSuffix")})],w.prototype,"demPathSuffix",void 0),e([o({type:String,json:x("depthImagePathPrefix")})],w.prototype,"depthImagePathPrefix",void 0),e([o({type:String,json:x("depthImagePathSuffix")})],w.prototype,"depthImagePathSuffix",void 0),e([o({type:Object,json:x("elevationSource")})],w.prototype,"elevationSource",void 0),e([o({readOnly:!0})],w.prototype,"effectiveElevationSource",null),e([o({readOnly:!0})],w.prototype,"effectiveSequenceOrderField",null),e([o({type:Number,json:x("farDistance")})],w.prototype,"farDistance",void 0),e([o({type:[f]})],w.prototype,"fields",void 0),e([o()],w.prototype,"geometryType",void 0),e([o({readOnly:!0,clonable:!1})],w.prototype,"graphicOrigin",void 0),e([o({type:Number,json:x("horizontalFieldOfView")})],w.prototype,"horizontalFieldOfView",void 0),e([o({type:String,json:x("horizontalMeasurementUnit")})],w.prototype,"horizontalMeasurementUnit",void 0),e([o({type:String,json:{...x("imageGeometryField"),default:"ImageGeometry"}})],w.prototype,"imageGeometryField",void 0),e([o({type:String,json:x("imagePathPrefix")})],w.prototype,"imagePathPrefix",void 0),e([o({type:String,json:x("imagePathSuffix")})],w.prototype,"imagePathSuffix",void 0),e([o({type:String,json:{...x("imageReferenceField"),default:"OIObjectID"}})],w.prototype,"imageReferenceField",void 0),e([o({type:Number,json:x("imageRotation")})],w.prototype,"imageRotation",void 0),e([o({type:Number,json:x("maximumDistance")})],w.prototype,"maximumDistance",void 0),e([o({type:Number,json:x("nearDistance")})],w.prototype,"nearDistance",void 0),e([o({type:["OrientedImageryLayer"],json:{origins:{"portal-item":{name:"layerType",write:{enabled:!0,ignoreOrigin:!0}}}}})],w.prototype,"operationalLayerType",void 0),e([o({json:{...x("orientationAccuracy",(e,t,i)=>{r(i,e.join(";"),t)},e=>{const t=e?.split(";")?.map(Number);return h(t)?g(t):[0,0,0,0,0,0,0,0]},String)}})],w.prototype,"orientationAccuracy",void 0),e([o({json:{...x("orientedImageryType",y.write,y.read,y.jsonValues.slice(1))}})],w.prototype,"orientedImageryType",void 0),e([o({type:String,json:{...x("referenceIDField"),default:"OBJECTID"}})],w.prototype,"referenceIDField",void 0),e([o({type:String,json:{...x("sequenceOrderField"),default:"SequenceOrder"}})],w.prototype,"sequenceOrderField",void 0),e([o({type:n})],w.prototype,"spatialReference",void 0),e([o({readOnly:!0})],w.prototype,"subtypeField",void 0),e([o({readOnly:!0})],w.prototype,"subtypes",void 0),e([o({json:{read:!1},value:"oriented-imagery",readOnly:!0})],w.prototype,"type",void 0),e([o({type:u.apiValues,json:{...x("timeIntervalUnit",u.write,u.read,u.jsonValues)}})],w.prototype,"timeIntervalUnit",void 0),e([o(b(i(l)))],w.prototype,"useViewTime",void 0),e([o({type:Number,json:x("verticalFieldOfView")})],w.prototype,"verticalFieldOfView",void 0),e([o({type:c.apiValues,json:{...x("verticalMeasurementUnit",c.write,c.read,c.jsonValues)}})],w.prototype,"verticalMeasurementUnit",void 0),e([o({type:Number,json:x("verticalSearchRange")})],w.prototype,"verticalSearchRange",void 0),e([o({type:String,json:x("videoPathPrefix")})],w.prototype,"videoPathPrefix",void 0),e([o({type:String,json:x("videoPathSuffix")})],w.prototype,"videoPathSuffix",void 0),e([o({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.orientedImageryProperties.virtualCacheDirectory",read:!0}}}})],w.prototype,"virtualCacheDirectory",void 0),e([o({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.dsid",read:!0}}}})],w.prototype,"dataStoreID",void 0),e([o({type:j,json:{origins:{"web-scene":{write:!1,read:!1}}}})],w.prototype,"visibilityTimeExtent",void 0),w=e([a("esri.layers.OrientedImageryLayer")],w);const F=w;export{F as default};