UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 57.7 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5804,7885],{8303(e,t,r){r.d(t,{A:()=>b});var i=r(5482),o=r(92602),s=r(70333),n=r(11254),a=r(60999),l=r(49186),u=r(53966),d=r(97768),p=r(74887),c=r(84952),h=r(91429),y=r(77548),g=r(20655),f=r(80812),m=r(41318),v=r(10407),w=r(36005),C=r(43937);const b=e=>{const t=e;let b=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,d.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get("portalItem")}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new f.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:i}=await r.e(1204).then(r.bind(r,41204));return(0,p.Te)(t),await i({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,p.zf)(e)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch(e=>((0,p.QP)(e),!0)))}async setUserPrivileges(e,t){if(!o.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:i},content:{updateItem:o}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",i),this._set("userHasUpdateItemPrivileges",o)}catch(e){(0,p.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);const i=!s.id?.findCredential(this.url),o=e===r.id;if(o&&r.portal.user)return this._getUserPrivileges(r,i);let n,a;if(o)n=r.portal.url;else try{n=await(0,y.wI)(this.url,t)}catch(e){(0,p.QP)(e)}if(!n||!(0,c.b8)(n,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;a=await(s.id?.getCredential(`${n}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,p.QP)(e)}const l=!0,u=!1,d=!1;if(!a)return{features:{edit:l,fullEdit:u},content:{updateItem:d}};try{if(o?await r.reload():(r=new f.default({id:e,portal:{url:n}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,i)}catch(e){(0,p.QP)(e)}return{features:{edit:l,fullEdit:u},content:{updateItem:d}}}_getUserPrivileges(e,t){const r=(0,v.It)(e);return t&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,p.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?s.id?.findCredential(this.url):null;if(!t)return!0;const r=S.credential===t?S.user:await this._fetchEditingUser(e);return S.credential=t,S.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const r=s.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const i=`${r.owningSystemUrl}/sharing/rest`,o=g.A.getDefault();if(o&&o.loaded&&(0,c.S8)(o.restUrl)===(0,c.S8)(i))return o.user;const l=`${i}/community/self`,u=null!=e?e.signal:null,d=await(0,a.Ke)((0,n.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:u}));return d.ok?m.A.fromJSON(d.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,i=this.portalItem?.id&&(this.portalItem.portal||g.A.getDefault());return r&&i&&!(0,c.ut)(i.restUrl,r.restUrl)?(t.messages&&t.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,i.Cg)([(0,h.MZ)({type:f.default})],b.prototype,"portalItem",null),(0,i.Cg)([(0,w.w)("web-document","portalItem",["itemId"])],b.prototype,"readPortalItem",null),(0,i.Cg)([(0,C.K)("web-document","portalItem",{itemId:{type:String}})],b.prototype,"writePortalItem",null),(0,i.Cg)([(0,h.MZ)({clonable:!1})],b.prototype,"resourceReferences",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,readOnly:!0})],b.prototype,"userHasEditingPrivileges",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,readOnly:!0})],b.prototype,"userHasFullEditingPrivileges",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,readOnly:!0})],b.prototype,"userHasUpdateItemPrivileges",void 0),b=(0,i.Cg)([(0,h.$K)("esri.layers.mixins.PortalLayer")],b),b},S={credential:null,user:null}},10407(e,t,r){r.d(t,{It:()=>h,LG:()=>n,OM:()=>u,Sm:()=>d,Y:()=>a,bK:()=>l,mm:()=>c,sQ:()=>p});var i=r(91218),o=r(16930),s=r(28735);function n(e,t){if(!a(e,t)){const r=e.typeKeywords;r?r.push(t):e.typeKeywords=[t]}}function a(e,t){return!!e.typeKeywords?.includes(t)}function l(e){return a(e,c.HOSTED_SERVICE)}function u(e,t){const r=e.typeKeywords;if(r){const e=r.indexOf(t);e>-1&&r.splice(e,1)}}function d(e,t,r){r?n(e,t):u(e,t)}async function p(e){const t=e.clone().normalize();let r;if(t.length>1)for(const e of t)r?e.width>r.width&&(r=e):r=e;else r=t[0];return async function(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return(0,s.ci)(e);const r=o.A.WGS84;return await(0,i.initializeProjection)(t,r),(0,i.project)(e,r)}(r)}const c={CHARTS:"Charts",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery"};function h(e){const{portal:t,isOrgItem:r,itemControl:i}=e,o=t.user?.privileges;let s=!o||o.includes("features:user:edit"),n=!!r&&!!o?.includes("features:user:fullEdit");const a="update"===i||"admin"===i;return a?n=s=!0:n&&(s=!0),{features:{edit:s,fullEdit:n},content:{updateItem:a}}}},13069(e,t,r){r.d(t,{AG:()=>a,lk:()=>o,vD:()=>n,yS:()=>s});const i="randomUUID"in crypto;function o(){if(i)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function s(){return`{${o().toUpperCase()}}`}function n(){return`{${o()}}`}function a(e){const t=e.toUpperCase();return e.startsWith("{")?t:`{${t}}`}},15804(e,t,r){r.d(t,{addOrUpdateResources:()=>a,bg:()=>c,cL:()=>p,fetchResources:()=>n,removeAllResources:()=>u,removeResource:()=>l});var i=r(11254),o=r(49186),s=r(84952);async function n(e,t={},r){await e.load(r);const i=(0,s.fj)(e.itemUrl,"resources"),{start:o=1,num:n=10,sortOrder:a="asc",sortField:l="resource"}=t,u={query:{start:o,num:n,sortOrder:a,sortField:l,token:e.apiKey},signal:r?.signal},d=await e.portal.request(i,u);return{total:d.total,nextStart:d.nextStart,resources:d.resources.map(({created:t,size:r,resource:i})=>({created:new Date(t),size:r,resource:e.resourceFromPath(i)}))}}async function a(e,t,r,i){const n=new Map;for(const{resource:e,content:i,compress:s,access:a}of t){if(!e.hasPath())throw new o.A(`portal-item-resource-${r}:invalid-path`,"Resource does not have a valid path");const[t,l]=d(e.path),u=`${t}/${s??""}/${a??""}`;n.has(u)||n.set(u,{prefix:t,compress:s,access:a,files:[]}),n.get(u).files.push({fileName:l,content:i})}await e.load(i);const a=(0,s.fj)(e.userItemUrl,"add"===r?"addResources":"updateResources");for(const{prefix:t,compress:r,access:o,files:s}of n.values()){const n=25;for(let l=0;l<s.length;l+=n){const u=s.slice(l,l+n),d=new FormData;t&&"."!==t&&d.append("resourcesPrefix",t),r&&d.append("compress","true"),o&&d.append("access",o);let p=0;for(const{fileName:e,content:t}of u)d.append("file"+ ++p,t,e);d.append("f","json"),await e.portal.request(a,{method:"post",body:d,signal:i?.signal})}}}async function l(e,t,r){if(!t.hasPath())throw new o.A("portal-item-resources-remove:invalid-path","Resource does not have a valid path");await e.load(r);const i=(0,s.fj)(e.userItemUrl,"removeResources");await e.portal.request(i,{method:"post",query:{resource:t.path},signal:r?.signal}),t.portalItem=null}async function u(e,t){await e.load(t);const r=(0,s.fj)(e.userItemUrl,"removeResources");return e.portal.request(r,{method:"post",query:{deleteAll:!0},signal:t?.signal})}function d(e){const t=e.lastIndexOf("/");return-1===t?[".",e]:[e.slice(0,t),e.slice(t+1)]}async function p(e){return"blob"===e.type?e.blob:"json"===e.type?new Blob([e.jsonString],{type:"application/json"}):(await(0,i.A)(e.url,{responseType:"blob"})).data}function c(e,t){if(!e.hasPath())return null;const[r,,i]=function(e){const[t,r]=function(e){const t=(0,s.Zo)(e);return null==t?[e,""]:[e.slice(0,e.length-t.length-1),`.${t}`]}(e),[i,o]=d(t);return[i,o,r]}(e.path);return e.portalItem.resourceFromPath((0,s.fj)(r,t+i))}},17036(e,t,r){r.d(t,{p:()=>l});var i=r(44208),o=r(53966),s=r(20437),n=r(95466),a=r(30524);function l(){return{fields:{type:[s.A],value:null,set:function(e){if(e&&(0,i.A)("big-integer-warning-enabled")){const t=e.filter(e=>"big-integer"===e.type||"oid"===e.type&&(e.length||0)>=8);if(t.length){const e=t.map(e=>`'${e.name}'`).join(", ");o.A.getLogger(this).warn("#fields",`Layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}') references big-integer field(s): ${e}, support for which is experimental. Only integers less than ${Number.MAX_SAFE_INTEGER} (Number.MAX_SAFE_INTEGER) are supported.`)}}this._set("fields",e)}},fieldsIndex:{readOnly:!0,get(){return n.A.fromLayer(this)}},outFields:{type:[String],json:{read:!1},set:function(e){this._userOutFields=e,this.notifyChange("outFields")},get:function(){const e=this._userOutFields;if(!e?.length)return null;if(e.includes("*"))return["*"];if(!this.fields)return e;for(const t of e){const r=this.fieldsIndex?.has(t);r||o.A.getLogger("esri.layers.support.fieldProperties").error("field-attributes-layer:invalid-field",`Invalid field ${t} found in outFields`,{layer:this,outFields:e})}return(0,a.DB)(this.fieldsIndex,e)}}}}},18768(e,t,r){r.d(t,{b:()=>a});var i=r(5482),o=r(53966),s=r(91429),n=r(60694);const a=e=>{const t=e;let r=class extends t{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,n.qg)(this.url);if(e?.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,n.Jf)(e,o.A.getLogger(this)))}};return(0,i.Cg)([(0,s.MZ)()],r.prototype,"title",null),(0,i.Cg)([(0,s.MZ)({type:String})],r.prototype,"url",null),r=(0,i.Cg)([(0,s.$K)("esri.layers.mixins.ArcGISService")],r),r}},19356(e,t,r){r.d(t,{i:()=>i});const i=new(r(66552).J)({none:"none",lowFourBit:"low-four-bit",highFourBit:"high-four-bit",absoluteValue:"absolute-value",moduloTen:"modulo-ten"})},20061(e,t,r){r.d(t,{A:()=>h});var i,o=r(5482),s=r(69540),n=r(66552),a=r(25482),l=r(91429),u=r(56507),d=r(93223);const p=(0,n.O)()({ascendingValues:"ascending-values",descendingValues:"descending-values"});let c=i=class extends((0,s.OU)(a.o)){static from(e){return(0,u.PZ)(i,e)}constructor(e){super(e),this.title=null,this.order=null}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],c.prototype,"title",void 0),(0,o.Cg)([(0,d.e)(p)],c.prototype,"order",void 0),c=i=(0,o.Cg)([(0,l.$K)("esri.renderers.support.RendererLegendOptions")],c);const h=c},24212(e,t,r){r.d(t,{$7:()=>a,B:()=>n,XF:()=>u,tW:()=>l,w7:()=>s});var i=r(56512),o=r(86211);function s(e,t){return function(e,t){return t?.mode?t.mode:function(e){return e?d:p}(e).mode}(null==e||(e.hasZ??!1),t)}function n(e,t,r){return r&&r.mode!==t?`${e} only support ${t} elevation mode`:null}function a(e,t,r){return r?.mode===t?`${e} do not support ${t} elevation mode`:null}function l(e,t){return null!=t?.featureExpressionInfo&&"0"!==t.featureExpressionInfo.expression?`${e} do not support featureExpressionInfo`:null}function u(e,t){t&&e.warn(".elevationInfo=",t)}r(16271),(0,i.B)((e,t,r)=>{if(!e)return 0;if("decimal-degrees"===t)return 0;const i="unknown"!==t&&t?t:"meters",s=(0,o.mq)(r);return s?(0,o.oU)(e,i,s):0});const d={mode:"absolute-height",offset:0},p={mode:"on-the-ground",offset:null}},25036(e,t,r){r.d(t,{j:()=>s});var i=r(5482),o=r(91429);const s=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){const e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;void 0!==t?.effectiveScaleRange&&function(e,t){e.minScale=e.minScale>0?t.minScale>0?Math.min(e.minScale,t.minScale):e.minScale:t.minScale,e.maxScale=e.maxScale>0?t.maxScale>0?Math.max(e.maxScale,t.maxScale):e.maxScale:t.maxScale}(e,t.effectiveScaleRange);const r=this._get("effectiveScaleRange");return r&&r.minScale===e.minScale&&r.maxScale===e.maxScale?r:e}};return(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"minScale",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],r.prototype,"maxScale",void 0),(0,i.Cg)([(0,o.MZ)({readOnly:!0})],r.prototype,"effectiveScaleRange",null),r=(0,i.Cg)([(0,o.$K)("esri.layers.mixins.ScaleRangeLayer")],r),r}},26121(e,t,r){r.d(t,{ci:()=>n,dL:()=>s});var i=r(49186),o=(r(77548),r(59923));async function s(e){const t=[];for(const r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){const e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}function n(e,t,r){let s=(e.messages??[]).filter(({type:e})=>"error"===e).map(({name:e,message:t,details:r})=>new i.A(e,t,r));if(e.blockedRelativeUrls&&(s=s.concat(e.blockedRelativeUrls.map(e=>(0,o.GL)("url",`Relative url '${e}' is not supported`)))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:i}=r;e&&(s=s.filter(({name:e})=>!(o.MG.has(e)||t.includes(e)))),i&&(s=s.filter(e=>"web-document-write:property-required"!==e.name))}if(s.length>0)throw new i.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:s})}},30291(e,t,r){r.d(t,{tn:()=>u});var i=r(37838),o=r(30524),s=r(41227),n=r(89893),a=r(66159),l=r(68780);function u({displayField:e,editFieldsInfo:t,fields:r,objectIdField:l,title:u},h){if(!r)return null;const g=function(e,t){const r=t?.visibleFieldNames;return function({fields:e,ignoreFieldTypes:t,sortDisabled:r}){const i=e;return t&&(e=e.filter(e=>!t.includes(e.type))),e===i&&(e=e.slice()),!0!==r&&e.sort(p),e}({fields:e.fields??[],ignoreFieldTypes:t?.ignoreFieldTypes||y,sortDisabled:t?.sortDisabled}).map(t=>new s.A({fieldName:t.name,isEditable:(0,o.R$)(t,e),label:t.alias,format:c(t),visible:d(t,{...e,visibleFieldNames:r})}))}({editFieldsInfo:t,fields:r,objectIdField:l},h);if(!g.length)return null;const f=function(e){const t=(0,o.mB)(e),{titleBase:r}=e;return t?`${r}: {${t.trim()}}`:r??""}({titleBase:u,fields:r,displayField:e}),m=[new a.A,new n.A];return new i.A({title:f,content:m,fieldInfos:g})}const d=(e,t)=>t.visibleFieldNames?t.visibleFieldNames.has(e.name):(0,o.Bz)(e,t);function p(e,t){return"oid"===e.type?-1:"oid"===t.type?1:h(e)?-1:h(t)?1:(e.alias||e.name).toLocaleLowerCase().localeCompare((t.alias||t.name).toLocaleLowerCase())}function c(e){switch(e.type){case"small-integer":case"integer":return new l.A({digitSeparator:!0,places:0});case"single":case"double":return new l.A({digitSeparator:!0,places:2});case"string":return(0,o.JL)(e.name)?new l.A({digitSeparator:!0,places:0}):void 0;default:return}}function h(e){if("name"===(e.name&&e.name.toLowerCase()))return!0;const t=e.alias?.toLowerCase();return"name"===t}const y=["geometry","blob","raster","guid","xml"]},46130(e,t,r){r.d(t,{v:()=>o});var i=r(76553);function o(e){e?.writtenProperties&&e.writtenProperties.forEach(({target:e,propName:t,newOrigin:r})=>{(0,i.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)})}},48425(e,t,r){r.d(t,{A:()=>m});var i,o=r(5482),s=r(4718),n=r(91429),a=r(51857),l=r(20061),u=r(68197),d=r(25482),p=r(56507);let c=i=class extends d.o{constructor(e){super(e),this.description=null,this.label=null,this.values=null,this.color=null}clone(){return new i({description:this.description,label:this.label,values:(0,s.o8)(this.values),color:(0,s.o8)(this.color)})}};(0,o.Cg)([(0,n.MZ)({type:String,json:{write:!0}})],c.prototype,"description",void 0),(0,o.Cg)([(0,n.MZ)({type:String,json:{write:!0}})],c.prototype,"label",void 0),(0,o.Cg)([(0,n.MZ)({type:[String],json:{write:{isRequired:!0}}})],c.prototype,"values",void 0),(0,o.Cg)([(0,n.MZ)({type:u.A,json:{type:[p.jz],write:{isRequired:!0}}})],c.prototype,"color",void 0),c=i=(0,o.Cg)([(0,n.$K)("esri.renderers.support.pointCloud.ColorUniqueValueInfo")],c);const h=c;var y,g=r(19356),f=r(93223);let m=y=class extends a.A{constructor(e){super(e),this.type="point-cloud-unique-value",this.field=null,this.fieldTransformType=null,this.colorUniqueValueInfos=null,this.legendOptions=null}clone(){return new y({...this.cloneProperties(),field:(0,s.o8)(this.field),fieldTransformType:(0,s.o8)(this.fieldTransformType),colorUniqueValueInfos:(0,s.o8)(this.colorUniqueValueInfos),legendOptions:(0,s.o8)(this.legendOptions)})}};(0,o.Cg)([(0,f.e)({pointCloudUniqueValueRenderer:"point-cloud-unique-value"})],m.prototype,"type",void 0),(0,o.Cg)([(0,n.MZ)({json:{write:{isRequired:!0}},type:String})],m.prototype,"field",void 0),(0,o.Cg)([(0,n.MZ)({type:g.i.apiValues,json:{type:g.i.jsonValues,read:g.i.read,write:g.i.write}})],m.prototype,"fieldTransformType",void 0),(0,o.Cg)([(0,n.MZ)({type:[h],json:{write:{isRequired:!0}}})],m.prototype,"colorUniqueValueInfos",void 0),(0,o.Cg)([(0,n.MZ)({type:l.A,json:{write:!0}})],m.prototype,"legendOptions",void 0),m=y=(0,o.Cg)([(0,n.$K)("esri.renderers.PointCloudUniqueValueRenderer")],m)},51857(e,t,r){r.d(t,{A:()=>S});var i,o=r(5482),s=r(66552),n=r(25482),a=r(4718),l=r(91429);let u=i=class extends n.o{constructor(e){super(e),this.field=null,this.minValue=0,this.maxValue=255}clone(){return new i({field:this.field,minValue:this.minValue,maxValue:this.maxValue})}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"field",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"minValue",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],u.prototype,"maxValue",void 0),u=i=(0,o.Cg)([(0,l.$K)("esri.renderers.support.pointCloud.ColorModulation")],u);const d=u,p=new s.J({pointCloudFixedSizeAlgorithm:"fixed-size",pointCloudSplatAlgorithm:"splat"});let c=class extends n.o{};(0,o.Cg)([(0,l.MZ)({type:p.apiValues,readOnly:!0,nonNullable:!0,json:{type:p.jsonValues,read:!1,write:{writer:p.write,isRequired:!0}}})],c.prototype,"type",void 0),c=(0,o.Cg)([(0,l.$K)("esri.renderers.support.pointCloud.PointSizeAlgorithm")],c);const h=c;var y,g=r(93223);let f=y=class extends h{constructor(e){super(e),this.type="fixed-size",this.size=0,this.useRealWorldSymbolSizes=null}clone(){return new y({size:this.size,useRealWorldSymbolSizes:this.useRealWorldSymbolSizes})}};(0,o.Cg)([(0,g.e)({pointCloudFixedSizeAlgorithm:"fixed-size"})],f.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}})],f.prototype,"size",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"useRealWorldSymbolSizes",void 0),f=y=(0,o.Cg)([(0,l.$K)("esri.renderers.support.pointCloud.PointSizeFixedSizeAlgorithm")],f);const m=f;var v;let w=v=class extends h{constructor(e){super(e),this.type="splat",this.scaleFactor=1}clone(){return new v({scaleFactor:this.scaleFactor})}};(0,o.Cg)([(0,g.e)({pointCloudSplatAlgorithm:"splat"})],w.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,value:1,nonNullable:!0,json:{write:{isRequired:!0}}})],w.prototype,"scaleFactor",void 0),w=v=(0,o.Cg)([(0,l.$K)("esri.renderers.support.pointCloud.PointSizeSplatAlgorithm")],w);const C={key:"type",base:h,typeMap:{"fixed-size":m,splat:w}},b=(0,s.O)()({pointCloudClassBreaksRenderer:"point-cloud-class-breaks",pointCloudRGBRenderer:"point-cloud-rgb",pointCloudStretchRenderer:"point-cloud-stretch",pointCloudUniqueValueRenderer:"point-cloud-unique-value"});let S=class extends n.o{constructor(e){super(e),this.type=void 0,this.pointSizeAlgorithm=null,this.colorModulation=null,this.pointsPerInch=10}clone(){return console.warn(".clone() is not implemented for "+this.declaredClass),null}cloneProperties(){return{pointSizeAlgorithm:(0,a.o8)(this.pointSizeAlgorithm),colorModulation:(0,a.o8)(this.colorModulation),pointsPerInch:(0,a.o8)(this.pointsPerInch)}}};(0,o.Cg)([(0,l.MZ)({type:b.apiValues,readOnly:!0,nonNullable:!0,json:{type:b.jsonValues,read:!1,write:{writer:b.write,isRequired:!0}}})],S.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({types:C,json:{write:!0}})],S.prototype,"pointSizeAlgorithm",void 0),(0,o.Cg)([(0,l.MZ)({type:d,json:{write:!0}})],S.prototype,"colorModulation",void 0),(0,o.Cg)([(0,l.MZ)({json:{write:!0},nonNullable:!0,type:Number})],S.prototype,"pointsPerInch",void 0),S=(0,o.Cg)([(0,l.$K)("esri.renderers.PointCloudRenderer")],S)},52136(e,t,r){r.d(t,{p:()=>s});var i=r(5482),o=r(91429);const s=e=>{const t=e;let r=class extends t{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,i.Cg)([(0,o.MZ)({type:String})],r.prototype,"apiKey",null),r=(0,i.Cg)([(0,o.$K)("esri.layers.mixins.APIKeyMixin")],r),r}},54239(e,t,r){r.d(t,{A:()=>f});var i,o=r(5482),s=r(4576),n=r(66552),a=r(25482),l=r(86211),u=r(67076),d=r(91429),p=r(43937),c=r(36005);const h=(0,n.O)()({orthometric:"gravity-related-height",gravity_related_height:"gravity-related-height",ellipsoidal:"ellipsoidal"}),y=h.jsonValues.slice();(0,s.Xy)(y,"orthometric");const g=(0,n.O)()({meter:"meters",foot:"feet","us-foot":"us-feet","clarke-foot":"clarke-feet","clarke-yard":"clarke-yards","clarke-link":"clarke-links","sears-yard":"sears-yards","sears-foot":"sears-feet","sears-chain":"sears-chains","benoit-1895-b-chain":"benoit-1895-b-chains","indian-yard":"indian-yards","indian-1937-yard":"indian-1937-yards","gold-coast-foot":"gold-coast-feet","sears-1922-truncated-chain":"sears-1922-truncated-chains","50-kilometers":"50-kilometers","150-kilometers":"150-kilometers"});let f=i=class extends a.o{constructor(e){super(e),this.heightModel="gravity-related-height",this.heightUnit="meters",this.vertCRS=null}writeHeightModel(e,t,r){return h.write(e,t,r)}readHeightModel(e,t,r){return h.read(e)||(r?.messages&&r.messages.push(function(e,t){return new u.A("height-model:unsupported",`Height model of value '${e}' is not supported`,t)}(e,{context:r})),null)}readHeightUnit(e,t,r){return g.read(e)||(r?.messages&&r.messages.push(m(e,{context:r})),null)}readHeightUnitService(e,t,r){return(0,l.LA)(e)||g.read(e)||(r?.messages&&r.messages.push(m(e,{context:r})),null)}readVertCRS(e,t){return t.vertCRS||t.ellipsoid||t.geoid}clone(){return new i({heightModel:this.heightModel,heightUnit:this.heightUnit,vertCRS:this.vertCRS})}equals(e){return!!e&&(this===e||this.heightModel===e.heightModel&&this.heightUnit===e.heightUnit&&this.vertCRS===e.vertCRS)}static deriveUnitFromSR(e,t){const r=(0,l.k1)(t);return new i({heightModel:e.heightModel,heightUnit:r??void 0,vertCRS:e.vertCRS})}write(e,t){return t={origin:"web-scene",...t},super.write(e,t)}static fromJSON(e){if(!e)return null;const t=new i;return t.read(e,{origin:"web-scene"}),t}};function m(e,t){return new u.A("height-unit:unsupported",`Height unit of value '${e}' is not supported`,t)}(0,o.Cg)([(0,d.MZ)({type:h.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:y,default:"ellipsoidal",write:{isRequired:!0}}}}})],f.prototype,"heightModel",void 0),(0,o.Cg)([(0,p.K)("web-scene","heightModel")],f.prototype,"writeHeightModel",null),(0,o.Cg)([(0,c.w)(["web-scene","service"],"heightModel")],f.prototype,"readHeightModel",null),(0,o.Cg)([(0,d.MZ)({type:g.apiValues,constructOnly:!0,json:{origins:{"web-scene":{type:g.jsonValues,write:{writer:g.write,isRequired:!0}}}}})],f.prototype,"heightUnit",void 0),(0,o.Cg)([(0,c.w)("web-scene","heightUnit")],f.prototype,"readHeightUnit",null),(0,o.Cg)([(0,c.w)("service","heightUnit")],f.prototype,"readHeightUnitService",null),(0,o.Cg)([(0,d.MZ)({type:String,constructOnly:!0,json:{origins:{"web-scene":{write:!0}}}})],f.prototype,"vertCRS",void 0),(0,o.Cg)([(0,c.w)("service","vertCRS",["vertCRS","ellipsoid","geoid"])],f.prototype,"readVertCRS",null),f=i=(0,o.Cg)([(0,d.$K)("esri.geometry.HeightModelInfo")],f)},56512(e,t,r){function i(e){let t,r,i=[],o=!1;return function(...s){return o&&t===this&&function(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;++r)if(e[r]!==t[r])return!1;return!0}(s,i)||(r=e.apply(this,s),t=this,i=s,o=!0),r}}r.d(t,{B:()=>i})},58947(e,t,r){r.d(t,{w6:()=>I,qM:()=>x});var i=r(5482),o=r(11254),s=r(49186),n=r(53966),a=r(74887),l=r(91429),u=r(46130),d=r(5443),p=r(54239),c=r(16930),h=r(60694),y=r(10873),g=r(83898),f=r(73179);var m=r(20655),v=r(80812),w=r(88788),C=r(91682),b=r(26121),S=r(36005);const I=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.spatialReference=null,this.fullExtent=null,this.heightModelInfo=null,this.minScale=0,this.maxScale=0,this.version={major:Number.NaN,minor:Number.NaN,versionString:""},this.copyright=null,this.sublayerTitleMode="item-title",this.title=null,this.layerId=null,this.url=null,this.indexInfo=null,this._debouncedSaveOperations=(0,a.sg)(async(e,t,r)=>{switch(e){case 0:return this._save(t);case 1:return this._saveAs(r,t)}})}readSpatialReference(e,t){return M(t)}readFullExtent(e,t,r){if(null!=e&&"object"==typeof e){const i=null==e.spatialReference?{...e,spatialReference:M(t)}:e;return d.A.fromJSON(i,r)}const i=t.store,o=M(t);return null==o||null==i?.extent||!Array.isArray(i.extent)||i.extent.some(e=>e<A)?null:new d.A({xmin:i.extent[0],ymin:i.extent[1],xmax:i.extent[2],ymax:i.extent[3],spatialReference:o})}parseVersionString(e){const t={major:Number.NaN,minor:Number.NaN,versionString:e},r=e.split(".");return r.length>=2&&(t.major=parseInt(r[0],10),t.minor=parseInt(r[1],10)),t}readVersion(e,t){const r=t.store,i=null!=r.version?r.version.toString():"";return this.parseVersionString(i)}readTitlePortalItem(e){return"item-title"!==this.sublayerTitleMode?void 0:e}readTitleService(e,t){if("item-title"===this.sublayerTitleMode)return this.url?(0,h.yG)(this.url,t.name):t.name;let r=t.name;if(!r&&this.url){const e=(0,h.qg)(this.url);null!=e&&(r=e.title)}const i=this.portalItem?.title;return"item-title-and-service-name"===this.sublayerTitleMode&&i&&(r=i+" - "+r),(0,h.cr)(r)}get parsedUrl(){return(0,f.h)(this,{separator:"layers"})}async _fetchIndexAndUpdateExtent(e,t){this.indexInfo=(0,g.F)(this.parsedUrl?.path??"",this.rootNode,e,this.customParameters,this.apiKey,n.A.getLogger(this),t);const{fullExtent:r}=this;null==r||r.hasZ||this._updateExtent(r,await this.indexInfo)}_updateExtent(e,t){if("page"===t?.type){const r=t.rootIndex%t.pageSize,i=t.rootPage?.nodes?.[r];x(e,i?.obb)}else if("node"===t?.type){const r=t.rootNode?.mbs;if(!Array.isArray(r)||4!==r.length||r[0]<A)return;const i=r[2],o=r[3];e.zmin=i-o,e.zmax=i+o}}async _fetchService(e){if(null==this.url)throw new s.A("sceneservice:url-not-set","Scene service can not be loaded without valid portal item or url");if(null==this.layerId&&/SceneServer\/*$/i.test(this.url)){const t=await this._fetchFirstLayerId(e);null!=t&&(this.layerId=t)}return this._fetchServiceLayer(e)}async _fetchFirstLayerId(e){const t=await(0,o.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});if(t.data&&Array.isArray(t.data.layers)&&t.data.layers.length>0)return t.data.layers[0].id}async _fetchServiceLayer(e){const t=await(0,o.A)(this.parsedUrl?.path??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e});t.ssl&&this.url&&(this.url=this.url.replace(/^http:/i,"https:"));let r=!1;if(t.data.layerType&&"Voxel"===t.data.layerType&&(r=!0),r)return this._fetchVoxelServiceLayer();const i=t.data;this.read(i,this._getServiceContext()),this.validateLayer(i)}async _fetchVoxelServiceLayer(e){const t=(await(0,o.A)(this.parsedUrl?.path+"/layer",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e})).data;this.read(t,this._getServiceContext()),this.validateLayer(t)}_getServiceContext(){return{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl}}async _ensureLoadBeforeSave(){await this.load(),"beforeSave"in this&&"function"==typeof this.beforeSave&&await this.beforeSave()}validateLayer(e){}async _saveAs(e,t){const r={..._,...t};let i=v.default.from(e);if(!i)throw new s.A("sceneservice:portal-item-required","_saveAs() requires a portal item to save to");i.id&&(i=i.clone(),i.id=null);const o=i.portal||m.A.getDefault();await this._ensureLoadBeforeSave(),i.type=P,i.portal=o;const n=(0,w.m)(i,"portal-item",!0),a={layers:[this.write({},n)]};return await Promise.all(n.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(a,n,r),this.url&&(i.url=this.url),i.title||(i.title=this.title),R(i,r,1),await o.signIn(),await o.user.addItem({item:i,folder:r?.folder,data:a}),await(0,C.r)(this.resourceReferences,n),this.portalItem=i,(0,u.v)(n),n.portalItem=i,i}async _save(e){const t={..._,...e};if(!this.portalItem)throw new s.A("sceneservice:portal-item-not-set","Portal item to save to has not been set on this SceneService");if(this.portalItem.type!==P)throw new s.A("sceneservice:portal-item-wrong-type",`Portal item needs to have type "${P}"`);await this._ensureLoadBeforeSave();const r=(0,w.m)(this.portalItem,"portal-item",!0),i={layers:[this.write({},r)]};return await Promise.all(r.resources.pendingOperations??[]),await this._validateAgainstJSONSchema(i,r,t),this.url&&(this.portalItem.url=this.url),this.portalItem.title||(this.portalItem.title=this.title),R(this.portalItem,t,0),await(0,C.S)(this.portalItem,i,this.resourceReferences,r),(0,u.v)(r),this.portalItem}async _validateAgainstJSONSchema(e,t,r){const i=r?.validationOptions;(0,b.ci)(t,{errorName:"sceneservice:save"},{ignoreUnsupported:i?.ignoreUnsupported,supplementalUnsupportedErrors:["scenemodification:unsupported"]});const o=i?.enabled,a=null;if(o&&a){const t=(await a()).validate(e,r.portalItemLayerType);if(!t.length)return;const o=`Layer item did not validate:\n${t.join("\n")}`;if(n.A.getLogger(this).error(`_validateAgainstJSONSchema(): ${o}`),"throw"===i.failPolicy){const e=t.map(e=>new s.A("sceneservice:schema-validation",e));throw new s.A("sceneservice-validate:error","Failed to save layer item due to schema validation, see `details.errors`.",{validationErrors:e})}}}};return(0,i.Cg)([(0,l.MZ)(y.id)],r.prototype,"id",void 0),(0,i.Cg)([(0,l.MZ)({type:c.A})],r.prototype,"spatialReference",void 0),(0,i.Cg)([(0,S.w)("spatialReference",["spatialReference","store.indexCRS","store.geographicCRS"])],r.prototype,"readSpatialReference",null),(0,i.Cg)([(0,l.MZ)({type:d.A})],r.prototype,"fullExtent",void 0),(0,i.Cg)([(0,S.w)("fullExtent",["fullExtent","store.extent","spatialReference","store.indexCRS","store.geographicCRS"])],r.prototype,"readFullExtent",null),(0,i.Cg)([(0,l.MZ)({readOnly:!0,type:p.A})],r.prototype,"heightModelInfo",void 0),(0,i.Cg)([(0,l.MZ)({type:Number,json:{name:"layerDefinition.minScale",write:!0,origins:{service:{read:{source:"minScale"},write:!1}}}})],r.prototype,"minScale",void 0),(0,i.Cg)([(0,l.MZ)({type:Number,json:{name:"layerDefinition.maxScale",write:!0,origins:{service:{read:{source:"maxScale"},write:!1}}}})],r.prototype,"maxScale",void 0),(0,i.Cg)([(0,l.MZ)({readOnly:!0})],r.prototype,"version",void 0),(0,i.Cg)([(0,S.w)("version",["store.version"])],r.prototype,"readVersion",null),(0,i.Cg)([(0,l.MZ)({type:String,json:{read:{source:"copyrightText"}}})],r.prototype,"copyright",void 0),(0,i.Cg)([(0,l.MZ)({type:String,json:{read:!1}})],r.prototype,"sublayerTitleMode",void 0),(0,i.Cg)([(0,l.MZ)({type:String})],r.prototype,"title",void 0),(0,i.Cg)([(0,S.w)("portal-item","title")],r.prototype,"readTitlePortalItem",null),(0,i.Cg)([(0,S.w)("service","title",["name"])],r.prototype,"readTitleService",null),(0,i.Cg)([(0,l.MZ)({type:Number,json:{origins:{service:{read:{source:"id"}},"portal-item":{write:{target:"id",isRequired:!0,ignoreOrigin:!0},read:!1}}}})],r.prototype,"layerId",void 0),(0,i.Cg)([(0,l.MZ)((0,f.b)({separator:"layers"}))],r.prototype,"url",void 0),(0,i.Cg)([(0,l.MZ)({readOnly:!0})],r.prototype,"parsedUrl",null),(0,i.Cg)([(0,l.MZ)({readOnly:!0})],r.prototype,"store",void 0),(0,i.Cg)([(0,l.MZ)({type:String,readOnly:!0,json:{read:{source:"store.rootNode"}}})],r.prototype,"rootNode",void 0),r=(0,i.Cg)([(0,l.$K)("esri.layers.mixins.SceneService")],r),r},A=-1e38;function M(e){if(null!=e.spatialReference)return c.A.fromJSON(e.spatialReference);const t=e.store,r=t.indexCRS||t.geographicCRS,i=r&&parseInt(r.slice(r.lastIndexOf("/")+1),10);return null!=i?new c.A(i):null}function x(e,t){if(null==t?.center||null==t.halfSize)throw new s.A("sceneservice:invalid-node-page","Invalid node page.");if(t.center[0]<A)return;const r=t.halfSize,i=t.center[2],o=Math.sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]);e.zmin=i-o,e.zmax=i+o}function R(e,t,r){e.typeKeywords||(e.typeKeywords=[]);const i=t.getTypeKeywords();for(const t of i)e.typeKeywords.push(t);e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t),1===r&&(e.typeKeywords=e.typeKeywords.filter(e=>"Hosted Service"!==e)))}const P="Scene Service",_={getTypeKeywords:()=>[],portalItemLayerType:"unknown",validationOptions:{enabled:!0,ignoreUnsupported:!1,failPolicy:"throw"}}},60999(e,t,r){r.d(t,{DZ:()=>y,Ke:()=>h,Tj:()=>d,UT:()=>g,aD:()=>m,jJ:()=>u});var i=r(5482),o=r(69622),s=r(97768),n=r(74887),a=r(10107),l=r(64108);function u(e,t,r){return(0,n.Lx)(e.map((e,i)=>t.apply(r,[e,i])))}async function d(e,t,r){return(await(0,n.Lx)(e.map((e,i)=>t.apply(r,[e,i])))).map(e=>e.value)}function p(e){return{ok:!0,value:e}}function c(e){return{ok:!1,error:e}}async function h(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return p(await e)}catch(e){return c(e)}}async function y(e){try{return p(await e)}catch(e){return(0,n.QP)(e),c(e)}}function g(e,t){return new f(e,t)}let f=class extends o.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then(e=>{this._result=p(e),this._cleanup()},e=>{this._result=c(e),this._cleanup()}),this._abortHandle=(0,n.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],f.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],f.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],f.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],f.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],f.prototype,"_result",void 0),f=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],f);class m{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},63531(e,t,r){r.d(t,{A:()=>m});var i,o=r(5482),s=r(4718),n=r(91429),a=r(51857),l=r(20061),u=r(68197),d=r(25482),p=r(56507);let c=i=class extends d.o{constructor(e){super(e),this.description=null,this.label=null,this.minValue=0,this.maxValue=0,this.color=null}clone(){return new i({description:this.description,label:this.label,minValue:this.minValue,maxValue:this.maxValue,color:(0,s.o8)(this.color)})}};(0,o.Cg)([(0,n.MZ)({type:String,json:{write:!0}})],c.prototype,"description",void 0),(0,o.Cg)([(0,n.MZ)({type:String,json:{write:!0}})],c.prototype,"label",void 0),(0,o.Cg)([(0,n.MZ)({type:Number,json:{read:{source:"classMinValue"},write:{target:"classMinValue",isRequired:!0}}})],c.prototype,"minValue",void 0),(0,o.Cg)([(0,n.MZ)({type:Number,json:{read:{source:"classMaxValue"},write:{target:"classMaxValue",isRequired:!0}}})],c.prototype,"maxValue",void 0),(0,o.Cg)([(0,n.MZ)({type:u.A,json:{type:[p.jz],write:{isRequired:!0}}})],c.prototype,"color",void 0),c=i=(0,o.Cg)([(0,n.$K)("esri.renderers.support.pointCloud.ColorClassBreakInfo")],c);const h=c;var y,g=r(19356),f=r(93223);let m=y=class extends a.A{constructor(e){super(e),this.type="point-cloud-class-breaks",this.field=null,this.legendOptions=null,this.fieldTransformType=null,this.colorClassBreakInfos=null}clone(){return new y({...this.cloneProperties(),field:this.field,fieldTransformType:this.fieldTransformType,colorClassBreakInfos:(0,s.o8)(this.colorClassBreakInfos),legendOptions:(0,s.o8)(this.legendOptions)})}};(0,o.Cg)([(0,f.e)({pointCloudClassBreaksRenderer:"point-cloud-class-breaks"})],m.prototype,"type",void 0),(0,o.Cg)([(0,n.MZ)({json:{write:{isRequired:!0}},type:String})],m.prototype,"field",void 0),(0,o.Cg)([(0,n.MZ)({type:l.A,json:{write:!0}})],m.prototype,"legendOptions",void 0),(0,o.Cg)([(0,n.MZ)({type:g.i.apiValues,json:{type:g.i.jsonValues,read:g.i.read,write:g.i.write}})],m.prototype,"fieldTransformType",void 0),(0,o.Cg)([(0,n.MZ)({type:[h],json:{write:{isRequired:!0}}})],m.prototype,"colorClassBreakInfos",void 0),m=y=(0,o.Cg)([(0,n.$K)("esri.renderers.PointCloudClassBreaksRenderer")],m)},68197(e,t,r){r.d(t,{A:()=>u});var i=r(40876),o=r(4576),s=r(34727),n=r(56507);function a(e){return(0,s.qE)((0,n.Vr)(e),0,255)}function l(e,t){const r=e.toString(16).padStart(2,"0");return t?r.slice(0,1):r}class u{static blendColors(e,t,r,i=new u){return i.r=Math.round(e.r+(t.r-e.r)*r),i.g=Math.round(e.g+(t.g-e.g)*r),i.b=Math.round(e.b+(t.b-e.b)*r),i.a=e.a+(t.a-e.a)*r,i._sanitize()}static fromRgb(e,t){const r=(0,i.lT)(e);return r?u.fromArray(r,t):null}static fromHex(e,t=new u){const r=(0,i.oW)(e);return r?u.fromArray(r,t):null}static fromArray(e,t=new u){return t._set(Number(e[0]),Number(e[1]),Number(e[2]),Number(e[3])),isNaN(t.a)&&(t.a=1),t._sanitize()}static fromString(e,t){const r=(0,i.Eq)(e);return r?u.fromArray(r,t):null}static fromJSON(e){return null!=e?new u([e[0],e[1],e[2],(e[3]??255)/255]):void 0}toUnitRGB(){return[this.r/255,this.g/255,this.b/255]}toUnitRGBA(e){return e??=[0,0,0,0],e[0]=this.r/255,e[1]=this.g/255,e[2]=this.b/255,e[3]=null!=this.a?this.a:1,e}constructor(e){this.r=255,this.g=255,this.b=255,this.a=1,e&&this.setColor(e)}get isBright(){return.299*this.r+.587*this.g+.114*this.b>=127}setColor(e){if("string"==typeof e)u.fromString(e,this);else if((0,o.yc)(e))u.fromArray(e,this);else{const t=e;this._set(t.r??0,t.g??0,t.b??0,t.a??1),e instanceof u||this._sanitize()}return this}toRgb(){return[this.r,this.g,this.b]}toRgba(){return[this.r,this.g,this.b,this.a]}toHex(e){const t=e?.capitalize??!1,r=e?.digits??6,i=3===r||4===r,o=4===r||8===r,s=`#${l(this.r,i)}${l(this.g,i)}${l(this.b,i)}${o?l(Math.round(255*this.a),i):""}`;return t?s.toUpperCase():s}toCss(e=!1){const t=this.r+", "+this.g+", "+this.b;return e?`rgba(${t}, ${this.a})`:`rgb(${t})`}toString(){return this.toCss(!0)}toJSON(){return this.toArray()}toArray(e=0){const t=a(this.r),r=a(this.g),i=a(this.b);return 0===e||1!==this.a?[t,r,i,a(255*this.a)]:[t,r,i]}clone(){return new u(this.toRgba())}hash(){return this.r<<24|this.g<<16|this.b<<8|255*this.a}equals(e){return null!=e&&e.r===this.r&&e.g===this.g&&e.b===this.b&&e.a===this.a}_sanitize(){return this.r=(0,i.c1)(this.r),this.g=(0,i.c1)(this.g),this.b=(0,i.c1)(this.b),this.a=(0,i.G1)(this.a),this}_set(e,t,r,i){this.r=e,this.g=t,this.b=r,this.a=i}}u.prototype.declaredClass="esri.Color"},69208(e,t,r){r.d(t,{d:()=>s});var i=r(5482),o=r(91429);const s=e=>{const t=e;let r=class extends t{constructor(){super(...arguments),this.customParameters=null}};return(0,i.Cg)([(0,o.MZ)({type:Object,json:{write:{overridePolicy:e=>({enabled:!!(e&&Object.keys(e).length>0)})}}})],r.prototype,"customParameters",void 0),r=(0,i.Cg)([(0,o.$K)("esri.layers.mixins.CustomParametersMixin")],r),r}},69846(e,t,r){r.d(t,{A:()=>c});var i,o=r(5482),s=r(4718),n=r(91429),a=r(51857),l=r(20061),u=r(19356),d=r(72500),p=r(93223);let c=i=class extends a.A{constructor(e){super(e),this.type="point-cloud-stretch",this.field=null,this.legendOptions=null,this.fieldTransformType=null,this.stops=null}clone(){return new i({...this.cloneProperties(),field:(0,s.o8)(this.field),fieldTransformType:(0,s.o8)(this.fieldTransformType),stops:(0,s.o8)(this.stops),legendOptions:(0,s.o8)(this.legendOptions)})}};(0,o.Cg)([(0,p.e)({pointCloudStretchRenderer:"point-cloud-stretch"})],c.prototype,"type",void 0),(0,o.Cg)([(0,n.MZ)({json:{write:{isRequired:!0}},type:String})],c.prototype,"field",void 0),(0,o.Cg)([(0,n.MZ)({type:l.A,json:{write:!0}})],c.prototype,"legendOptions",void 0),(0,o.Cg)([(0,n.MZ)({type:u.i.apiValues,json:{type:u.i.jsonValues,read:u.i.read,write:u.i.write}})],c.prototype,"fieldTransformType",void 0),(0,o.Cg)([(0,n.MZ)({type:[d.A],json:{write:{isRequired:!0}}})],c.prototype,"stops",void 0),c=i=(0,o.Cg)([(0,n.$K)("esri.renderers.PointCloudStretchRenderer")],c)},72500(e,t,r){r.d(t,{A:()=>p});var i,o=r(5482),s=r(68197),n=r(25482),a=r(91429),l=r(56507),u=r(43937);let d=i=class extends n.o{constructor(e){super(e),this.color=null,this.label=null,this.value=null}writeValue(e,t,r){t[r]=e??0}clone(){return new i({color:this.color&&this.color.clone(),label:this.label,value:this.value})}};(0,o.Cg)([(0,a.MZ)({type:s.A,json:{type:[l.jz],write:{isRequired:!0}}})],d.prototype,"color",void 0),(0,o.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],d.prototype,"label",void 0),(0,o.Cg)([(0,a.MZ)({type:Number,json:{write:{writerEnsuresNonNull:!0}}})],d.prototype,"value",void 0),(0,o.Cg)([(0,u.K)("value")],d.prototype,"writeValue",null),d=i=(0,o.Cg)([(0,a.$K)("esri.renderers.visualVariables.support.ColorStop")],d);const p=d},73179(e,t,r){r.d(t,{b:()=>l,h:()=>u});var i=r(4718),o=r(53966),s=r(84952),n=r(60694),a=r(10873);function l(e){const{nonStandardUrlAllowed:t=!1,separator:r}=e??{},s=(0,i.o8)(a.OZ),l=s.json?.write;return"object"==typeof l&&l&&(l.writer=function(e,t,i,o){(0,n.LS)(this,e,r,t,o)}),{...s,set:function(e){if(null==e)return void this._set("url",e);const r=(0,n.HZ)({layer:this,url:e,nonStandardUrlAllowed:t,logger:o.A.getLogger(this)});this._set("url",r.url),null!=r.layerId&&this._set("layerId",r.layerId)}}}function u(e,t){const{separator:r}=t??{},i=(0,s.An)(e.url);return null!=i&&(null!=e.dynamicDataSource?i.path=(0,s.fj)(i.path,"dynamicLayer"):null!=e.layerId&&(i.path=(0,s.fj)(i.path,r??"",e.layerId.toString()))),i}},76553(e,t,r){function i(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>i})},77885(e,t,r){r.r(t),r.d(t,{default:()=>ae});var i=r(5482),o=r(37838),s=r(11254),n=r(69540),a=r(49186),l=r(4718),u=r(53966),d=r(25728),p=r(93637),c=r(74887),h=r(84952),y=r(91429),g=r(60950),f=r(89808),m=r(99959);const v=Symbol("isPointCloudGraphicOrigin");var w;class C extends m.A{get[(w=v,g.ym)](){return this.layer}get[f.Q](){return this.layer}constructor(e){super(),this[w]=!0,this.type="point-cloud",this.layer=e}get id(){return this.layer.id}}var b=r(4146),S=r(52136),I=r(18768),A=r(69208),M=r(16131),x=r(8303),R=r(25036),P=r(58947),_=r(56507),j=r(25482);let T=class extends j.o{constructor(e){super(e),this.field=null,this.type=null}clone(){return console.warn(".clone() is not implemented for "+this.declaredClass),null}};(0,i.Cg)([(0,y.MZ)({type:String,json:{write:{enabled:!0,isRequired:!0}}})],T.prototype,"field",void 0),(0,i.Cg)([(0,y.MZ)({readOnly:!0,nonNullable:!0,json:{read:!1,write:{isRequired:!0}}})],T.prototype,"type",void 0),T=(0,i.Cg)([(0,y.$K)("esri.layers.pointCloudFilters.PointCloudFilter")],T);const Z=T;var O,U=r(93223);let E=O=class extends Z{constructor(e){super(e),this.requiredClearBits=null,this.requiredSetBits=null,this.type="bitfield"}clone(){return new O({field:this.field,requiredClearBits:(0,l.o8)(this.requiredClearBits),requiredSetBits:(0,l.o8)(this.requiredSetBits)})}};(0,i.Cg)([(0,y.MZ)({type:[_.jz],json:{write:{enabled:!0,overridePolicy(){return{enabled:!0,isRequired:!this.requiredSetBits}}}}})],E.prototype,"requiredClearBits",void 0),(0,i.Cg)([(0,y.MZ)({type:[_.jz],json:{write:{enabled:!0,overridePolicy(){return{enabled:!0,isRequired:!this.requiredClearBits}}}}})],E.prototype,"requiredSetBits",void 0),(0,i.Cg)([(0,U.e)({pointCloudBitfieldFilter:"bitfield"})],E.prototype,"type",void 0),E=O=(0,i.Cg)([(0,y.$K)("esri.layers.pointCloudFilters.PointCloudBitfieldFilter")],E);const q=E;var N;let F=N=class extends Z{constructor(e){super(e),this.includedReturns=[],this.type="return"}clone(){return new N({field:this.field,includedReturns:(0,l.o8)(this.includedReturns)})}};(0,i.Cg)([(0,y.MZ)({type:[["firstOfMany","last","lastOfMany","single"]],json:{write:{enabled:!0,isRequired:!0}}})],F.prototype,"includedReturns",void 0),(0,i.Cg)([(0,U.e)({pointCloudReturnFilter:"return"})],F.prototype,"type",void 0),F=N=(0,i.Cg)([(0,y.$K)("esri.layers.pointCloudFilters.PointCloudReturnFilter")],F);const L=F;var $;let V=$=class extends Z{constructor(e){super(e),this.mode="exclude",this.type="value",this.values=[]}clone(){return new $({field:this.field,mode:this.mode,values:(0,l.o8)(this.values)})}};(0,i.Cg)([(0,y.MZ)({type:["exclude","include"],json:{write:{enabled:!0,isRequired:!0}}})],V.prototype,"mode",void 0),(0,i.Cg)([(0,U.e)({pointCloudValueFilter:"value"})],V.prototype,"type",void 0),(0,i.Cg)([(0,y.MZ)({type:[Number],json:{write:{enabled:!0,isRequired:!0}}})],V.prototype,"values",void 0),V=$=(0,i.Cg)([(0,y.$K)("esri.layers.pointCloudFilters.PointCloudValueFilter")],V);const K={key:"type",base:Z,typeMap:{value:V,bitfield:q,return:L}};var k,B=r(10873),z=r(20437),H=r(17036),D=r(93705),G=r(63531),J=r(51857);let Y=k=class extends J.A{constructor(e){super(e),this.type="point-cloud-rgb",this.field=null}clone(){return new k({...this.cloneProperties(),field:(0,l.o8)(this.field)})}};(0,i.Cg)([(0,U.e)({pointCloudRGBRenderer:"point-cloud-rgb"})],Y.prototype,"type",void 0),(0,i.Cg)([(0,y.MZ)({type:String,json:{write:{isRequired:!0}}})],Y.prototype,"field",void 0),Y=k=(0,i.Cg)([(0,y.$K)("esri.renderers.PointCloudRGBRenderer")],Y);const Q=Y;var W=r(69846),X=r(48425);const ee={key:"type",base:J.A,typeMap:{"point-cloud-class-breaks":G.A,"point-cloud-rgb":Q,"point-cloud-stretch":W.A,"point-cloud-unique-value":X.A},errorContext:"renderer"};var te=r(24212),re=r(30291),ie=r(36005),oe=r(43937);const se=(0,H.p)();let ne=class extends((0,P.w6)((0,I.b)((0,M.q)((0,x.A)((0,R.j)((0,d.M)((0,A.d)((0,S.p)((0,n.OU)(b.A)))))))))){constructor(...e){super(...e),this.operationalLayerType="PointCloudLayer",this.popupEnabled=!0,this.popupTemplate=null,this.opacity=1,this.filters=[],this.fields=null,this.fieldsIndex=null,this.outFields=null,this.path=null,this.legendEnabled=!0,this.renderer=null,this.type="point-cloud",this.graphicOrigin=new C(this),this.rootPagePromise=null}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}get defaultPopupTemplate(){return this.attributeStorageInfo?this.createPopupTemplate():null}getFieldDomain(e){const t=this.fieldsIndex.get(e);return t?.domain?t.domain:null}readServiceFields(e,t,r){return Array.isArray(e)?e.map(e=>{const t=new z.A;return"FieldTypeInteger"===e.type&&((e=(0,l.o8)(e)).type="esriFieldTypeInteger"),t.read(e,r),t}):Array.isArray(t.attributeStorageInfo)?t.attributeStorageInfo.map(e=>new z.A({name:e.name,type:"ELEVATION"===e.name?"double":"integer"})):null}set elevationInfo(e){null!=e&&"absolute-height"!==e.mode||this._set("elevationInfo",e),this._validateElevationInfo(e)}writeRenderer(e,t,r,i){(0,p.sM)("layerDefinition.drawingInfo.renderer",e.write({},i),t)}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){await this.loadFromPortal({supportedTypes:["Scene Service"]},e).catch(c.QP),await this._fetchService(e?.signal),await this._fetchRootPageAndUpdateExtent(e?.signal)}async _fetchRootPageAndUpdateExtent(e){this.rootPagePromise=this._fetchRootPage(e);const{fullExtent:t}=this;if(null!=t&&!t.hasZ){const e=await this.rootPagePromise;(0,P.qM)(t,e?.nodes?.[0]?.obb)}}async _fetchRootPage(e){const t=`${this.parsedUrl?.path??""}/nodepages/0`;try{return(await(0,s.A)(t,{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e})).data}catch(e){throw new a.A("pointcloudlayer:root-page-missing","Root page missing.",{error:e,url:t})}}createPopupTemplate(e){const t=(0,re.tn)(this,e);return t&&(this._formatPopupTemplateReturnsField(t),this._formatPopupTemplateRGBField(t)),t}_formatPopupTemplateReturnsField(e){const t=this.fieldsIndex.get("RETURNS");if(!t)return;const r=e.fieldInfos?.find(e=>e.fieldName===t.name);if(!r)return;const i=new D.A({name:"pcl-returns-decoded",title:t.alias||t.name,expression:`\n var returnValue = $feature.${t.name};\n return (returnValue % 16) + " / " + Floor(returnValue / 16);\n `});e.expressionInfos=[...e.expressionInfos||[],i],r.fieldName="expression/pcl-returns-decoded"}_formatPopupTemplateRGBField(e){const t=this.fieldsIndex.get("RG