@arcgis/core 4.29.0-next.20231110 → 4.29.0-next.20231111
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/sketch/constraints.js +1 -1
- package/views/interactive/sketch/normalizedPoint.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/tooltip/constraintUtils.js +1 -1
- package/views/support/angularMeasurementUtils.js +1 -1
- package/views/interactive/snapping/snappingPointUtils.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
var RemoteClient;(()=>{var e={88277:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},43697:(e,t,r)=>{"use strict";function n(e,t,r,n){var s,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}r.d(t,{_:()=>n}),"function"==typeof SuppressedError&&SuppressedError},68773:(e,t,r)=>{"use strict";r.d(t,{default:()=>o}),r(80442);var n=r(78286),s=r(17202);const o={apiKey:void 0,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",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:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:6e4,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&((0,n.RH)(o,globalThis.esriConfig,!0),delete o.has),!o.assetsPath){{const e="4.29.0";o.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}-next.${s.r}/assets`}o.defaultAssetsPath=o.assetsPath}},92036:(e,t,r)=>{"use strict";r.d(t,{Z:()=>x});var n=r(60235),s=r(61247),o=r(92604),i=r(70586),a=r(88022),c=r(67723),l=r(7628),u=(r(80442),r(22974)),f=r(71143),d=r(97831),h=r(42100),p=r(31263),g=r(58971),y=r(44550);class b extends h.s{constructor(e,t){super(),this.propertyName=e,this.metadata=t,this._accessed=null,this._handles=null,this.flags=0,this.flags=y.v.Dirty|(t.nonNullable?y.v.NonNullable:0)|(t.hasOwnProperty("value")?y.v.HasDefaultValue:0)|(void 0===t.get?y.v.DepTrackingInitialized:0)|(void 0===t.dependsOn?y.v.AutoTracked:0)}destroy(){this.flags&y.v.Dirty&&this.onCommitted(),super.destroy(),this._accessed=null,this._clearObservationHandles()}getComputed(e){(0,g.it)(this);const t=e.store,r=this.propertyName,n=this.flags,s=t.get(r);if(n&y.v.Computing)return s;if(~n&y.v.Dirty&&t.has(r))return s;this.flags|=y.v.Computing;const o=e.host;let i;n&y.v.AutoTracked?i=(0,g.LJ)(this,this.metadata.get,o):((0,g.GF)(o,this),i=this.metadata.get.call(o)),t.set(r,i,p.s3.COMPUTED);const a=t.get(r);return a===s?this.flags&=~y.v.Dirty:(0,g.gb)(this.commit,this),this.flags&=~y.v.Computing,a}onObservableAccessed(e){if(e===this)return;let t=this._accessed;if(null==t)t=[],this._accessed=t;else if(t.includes(e))return;t.push(e)}onTrackingEnd(){this._clearObservationHandles(),this.flags|=y.v.DepTrackingInitialized;const e=this._accessed;if(null==e||0===e.length)return;let t=this._handles;null==t&&(t=[],this._handles=t);for(let r=0;r<e.length;++r)t.push(e[r].observe(this));e.length=0}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}commit(){this.flags&=~y.v.Dirty,this.onCommitted()}_clearObservationHandles(){const e=this._handles;if(null!==e){for(let t=0;t<e.length;++t)e[t].remove();e.length=0}}onInvalidated(){~this.flags&y.v.Overriden&&(this.flags|=y.v.Dirty);const e=this._observers;if(e&&e.length>0)for(const t of e)t.onInvalidated()}onCommitted(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onCommitted()}}}class m{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new m;return this._values.forEach(((r,n)=>{e&&e.has(n)||t.set(n,(0,u.d9)(r))})),t}get(e){return this._values.get(e)}originOf(){return p.s3.USER}keys(){return[...this._values.keys()]}set(e,t){this._values.set(e,t)}delete(e){this._values.delete(e)}has(e){return this._values.has(e)}forEach(e){this._values.forEach(e)}}function _(e,t,r){return void 0!==e}function v(e,t,r,n){return!(void 0===e||null==r&&e.flags&y.v.NonNullable&&(n.lifecycle,d.F.INITIALIZING,1))}function w(e){return e&&"function"==typeof e.destroy}o.Z.getLogger("esri.core.accessorSupport.Properties");class O{constructor(e){this.host=e,this.propertiesByName=new Map,this.ctorArgs=null,this.destroyed=!1,this.lifecycle=d.F.INITIALIZING,this.store=new m,this._origin=p.s3.USER;const t=this.host.constructor.__accessorMetadata__;for(const e in t){const r=new b(e,t[e]);this.propertiesByName.set(e,r)}this.metadatas=t}initialize(){this.lifecycle=d.F.CONSTRUCTING}constructed(){this.lifecycle=d.F.CONSTRUCTED}destroy(){this.destroyed=!0;for(const[e,t]of this.propertiesByName){if(t.metadata.autoDestroy){const r=this.internalGet(e);r&&w(r)&&(r.destroy(),~t.flags&y.v.NonNullable&&this._internalSet(t,null))}t.destroy()}}get initialized(){return this.lifecycle!==d.F.INITIALIZING}get(e){const t=this.propertiesByName.get(e);if(t.metadata.get)return t.getComputed(this);(0,g.it)(t);const r=this.store;return r.has(e)?r.get(e):t.metadata.value}originOf(e){const t=this.store.originOf(e);if(void 0===t){const t=this.propertiesByName.get(e);if(void 0!==t&&t.flags&y.v.HasDefaultValue)return"defaults"}return(0,p.x3)(t)}has(e){return!!this.propertiesByName.has(e)&&this.store.has(e)}keys(){return[...this.propertiesByName.keys()]}internalGet(e){const t=this.propertiesByName.get(e);if(_(t))return this.store.has(e)?this.store.get(e):t.metadata.value}internalSet(e,t){const r=this.propertiesByName.get(e);_(r)&&this._internalSet(r,t)}getDependsInfo(e,t,r){const n=this.propertiesByName.get(t);if(!_(n))return"";const s=new Set,o=(0,g.LJ)({onObservableAccessed:e=>s.add(e),onTrackingEnd:()=>{}},(()=>n.metadata.get?.call(e)));let i=`${r}${e.declaredClass.split(".").pop()}.${t}: ${o}\n`;if(0===s.size)return i;r+=" ";for(const e of s)e instanceof b&&(i+=`${r}${e.propertyName}: undefined\n`);return i}setAtOrigin(e,t,r){const n=this.propertiesByName.get(e);if(_(n))return this._setAtOrigin(n,t,r)}isOverridden(e){const t=this.propertiesByName.get(e);return void 0!==t&&!!(t.flags&y.v.Overriden)}clearOverride(e){const t=this.propertiesByName.get(e);t&&t.flags&y.v.Overriden&&(t.flags&=~y.v.Overriden,t.notifyChange())}override(e,t){const r=this.propertiesByName.get(e);if(!v(r,0,t,this))return;const n=r.metadata.cast;if(n){const e=this._cast(n,t),{valid:r,value:s}=e;if(A.release(e),!r)return;t=s}r.flags|=y.v.Overriden,this._internalSet(r,t)}set(e,t){const r=this.propertiesByName.get(e);if(!v(r,0,t,this))return;const n=r.metadata.cast;if(n){const e=this._cast(n,t),{valid:r,value:s}=e;if(A.release(e),!r)return;t=s}const s=r.metadata.set;s?s.call(this.host,t):this._internalSet(r,t)}setDefaultOrigin(e){this._origin=(0,p.M9)(e)}getDefaultOrigin(){return(0,p.x3)(this._origin)}notifyChange(e){const t=this.propertiesByName.get(e);void 0!==t&&t.notifyChange()}invalidate(e){const t=this.propertiesByName.get(e);void 0!==t&&t.invalidate()}commit(e){const t=this.propertiesByName.get(e);void 0!==t&&t.commit()}_internalSet(e,t){const r=this.lifecycle!==d.F.INITIALIZING?this._origin:p.s3.DEFAULTS;this._setAtOrigin(e,t,r)}_setAtOrigin(e,t,r){const n=this.store,s=e.propertyName;n.has(s,r)&&(0,u.fS)(t,n.get(s))&&~e.flags&y.v.Overriden&&r===n.originOf(s)||(e.invalidate(),n.set(s,t,r),e.commit(),(0,g.mS)(this.host,e))}_cast(e,t){const r=A.acquire();return r.valid=!0,r.value=t,e&&(r.value=e.call(this.host,t,r)),r}}const A=new f.Z(class{constructor(){this.value=null,this.valid=!0}acquire(){this.valid=!0}release(){this.value=null}});var S=r(37697);var k;!function(e){e[e.Ignore=0]="Ignore",e[e.Destroy=1]="Destroy",e[e.ThrowError=2]="ThrowError"}(k||(k={}));var T,E,N=r(26258),j=r(5600),C=r(52011);function P(e){if(null==e)return{value:e};if(Array.isArray(e))return{type:[e[0]],value:null};switch(typeof e){case"object":return e.constructor?.__accessorMetadata__||e instanceof Date?{type:e.constructor,value:e}:e;case"boolean":return{type:Boolean,value:e};case"string":return{type:String,value:e};case"number":return{type:Number,value:e};case"function":return{type:e,value:null};default:return}}const M=Symbol("Accessor-Handles"),I=Symbol("Accessor-Initialized");class x{static createSubclass(e={}){if(Array.isArray(e))throw new Error("Multi-inheritance unsupported since 4.16");const{properties:t,declaredClass:r,constructor:n}=e;delete e.declaredClass,delete e.properties,delete e.constructor;const s=this;class o extends s{constructor(...e){super(...e),this.inherited=null,n&&n.apply(this,e)}}(0,l.fp)(o.prototype);for(const t in e){const r=e[t];o.prototype[t]="function"==typeof r?function(...e){const n=this.inherited;let o;this.inherited=function(...e){if(s.prototype[t])return s.prototype[t].apply(this,e)};try{o=r.apply(this,e)}catch(e){throw this.inherited=n,e}return this.inherited=n,o}:e[t]}for(const e in t){const r=P(t[e]);(0,j.Cb)(r)(o.prototype,e)}return(0,C.j)(r)(o)}constructor(...e){if(this[T]=null,this[E]=!1,this.constructor===x)throw new Error("[accessor] cannot instantiate Accessor. This can be fixed by creating a subclass of Accessor");const t=new O(this);Object.defineProperty(this,"__accessor__",{enumerable:!1,value:t}),e.length>0&&this.normalizeCtorArgs&&(t.ctorArgs=this.normalizeCtorArgs.apply(this,e))}postscript(e){const t=this.__accessor__,r=t.ctorArgs||e;t.initialize(),r&&(this.set(r),t.ctorArgs=null),t.constructed(),this.initialize(),this[I]=!0}initialize(){}[a.l](){this[M]=(0,i.SC)(this[M])}destroy(){this.destroyed||((0,N.BT)(this),this.__accessor__.destroy())}[Symbol.dispose](){this.destroy()}get constructed(){return this.__accessor__&&this.__accessor__.initialized||!1}get initialized(){return this[I]}get destroyed(){return this.__accessor__&&this.__accessor__.destroyed||!1}commitProperty(e){(0,c.U2)(this,e)}get(e){return(0,n.XV)(o.Z.getLogger(this),"`Accessor.get` is deprecated in favor of using optional chaining",{version:"4.28",see:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining"}),(0,c.U2)(this,e)}hasOwnProperty(e){return this.__accessor__?this.__accessor__.has(e):Object.prototype.hasOwnProperty.call(this,e)}keys(){return this.__accessor__?this.__accessor__.keys():[]}set(e,t){return(0,S.t)(this,e,t),this}watch(e,t,r){return(0,N.YP)(this,e,t,r)}addHandles(e,t){if(this.destroyed){const t=Array.isArray(e)?e:[e];for(const e of t)e.remove();return}let r=this[M];null==r&&(r=this[M]=new s.Z),r.add(e,t)}removeHandles(e){const t=this[M];null!=t&&t.remove(e)}removeAllHandles(){const e=this[M];null!=e&&e.removeAll()}hasHandles(e){const t=this[M];return null!=t&&t.has(e)}_override(e,t){void 0===t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_clearOverride(e){return this.__accessor__.clearOverride(e)}_overrideIfSome(e,t){null==t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_isOverridden(e){return this.__accessor__.isOverridden(e)}notifyChange(e){this.__accessor__.notifyChange(e)}_get(e){return this.__accessor__.internalGet(e)}_set(e,t){return this.__accessor__.internalSet(e,t),this}}T=M,E=I},3894:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(71143);function s(e){e.length=0}class o{constructor(e=50,t=50){this._pool=new n.Z(Array,void 0,s,t,e)}acquire(){return this._pool.acquire()}release(e){this._pool.release(e)}prune(){this._pool.prune(0)}static acquire(){return i.acquire()}static release(e){return i.release(e)}static prune(){i.prune()}}const i=new o(100)},20102:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(22974),s=r(92604),o=r(58896);class i extends o.Z{constructor(e,t,r){super(e,t,r)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((e,t)=>{if(t&&"object"==typeof t&&"function"==typeof t.toJSON)return t;try{return(0,n.d9)(t)}catch(e){return"[object]"}})))}}catch(e){throw s.Z.getLogger("esri.core.Error").error(e),e}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new i(e.name,e.message,e.details)}}i.prototype.type="error"},61247:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(66374);class s{constructor(){this._groups=new Map}destroy(){this.removeAll()}get size(){let e=0;return this._groups.forEach((t=>{e+=t.length})),e}add(e,t){if((0,n.TW)(e)){const r=this._getOrCreateGroup(t);for(const t of e)this._isHandle(t)&&r.push(t)}else this._isHandle(e)&&this._getOrCreateGroup(t).push(e);return this}forEach(e,t){if("function"==typeof e)this._groups.forEach((t=>t.forEach(e)));else{const r=this._getGroup(e);r&&t&&r.forEach(t)}}has(e){return this._groups.has(this._ensureGroupKey(e))}remove(e){if("string"!=typeof e&&(0,n.TW)(e)){for(const t of e)this.remove(t);return this}return this.has(e)?(this._removeAllFromGroup(this._getGroup(e)),this._groups.delete(this._ensureGroupKey(e)),this):this}removeAll(){return this._groups.forEach((e=>this._removeAllFromGroup(e))),this._groups.clear(),this}_isHandle(e){return e&&(!!e.remove||e instanceof s)}_getOrCreateGroup(e){if(this.has(e))return this._getGroup(e);const t=[];return this._groups.set(this._ensureGroupKey(e),t),t}_getGroup(e){return this._groups.get(this._ensureGroupKey(e))}_ensureGroupKey(e){return e||"_default_"}_removeAllFromGroup(e){for(const t of e)t instanceof s?t.removeAll():t.remove()}}},96674:(e,t,r)=>{"use strict";r.d(t,{wq:()=>b,eC:()=>p,AK:()=>y});var n=r(43697),s=r(92036),o=r(22974),i=r(31263);class a{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new a;return this._values.forEach(((r,n)=>{e&&e.has(n)||t.set(n,(0,o.d9)(r.value),r.origin)})),t}get(e,t){t=this._normalizeOrigin(t);const r=this._values.get(e);return null==t||r?.origin===t?r?.value:void 0}originOf(e){return this._values.get(e)?.origin??i.s3.USER}keys(e){e=this._normalizeOrigin(e);const t=[...this._values.keys()];return null==e?t:t.filter((t=>this._values.get(t)?.origin===e))}set(e,t,r){if((r=this._normalizeOrigin(r))===i.s3.DEFAULTS){const t=this._values.get(e);if(null!=t?.origin&&t.origin>r)return}this._values.set(e,new c(t,r))}delete(e,t){null!=(t=this._normalizeOrigin(t))&&this._values.get(e)?.origin!==t||this._values.delete(e)}has(e,t){return null!=(t=this._normalizeOrigin(t))?this._values.get(e)?.origin===t:this._values.has(e)}forEach(e){this._values.forEach((({value:t},r)=>e(t,r)))}_normalizeOrigin(e){if(null!=e)return e===i.s3.DEFAULTS?e:i.s3.USER}}class c{constructor(e,t){this.value=e,this.origin=t}}var l=r(41103),u=r(50549),f=r(1153),d=r(76169),h=r(52011);const p=e=>{let t=class extends e{constructor(...e){super(...e);const t=(0,f.vw)(this),r=t.store,n=new a;t.store=n,(0,l.M)(t,r,n)}read(e,t){(0,u.i)(this,e,t)}write(e,t){return(0,d.c)(this,e??{},t)}toJSON(e){return this.write({},e)}static fromJSON(e,t){return g.call(this,e,t)}};return t=(0,n._)([(0,h.j)("esri.core.JSONSupport")],t),t.prototype.toJSON.isDefaultToJSON=!0,t};function g(e,t){if(!e)return null;if(e.declaredClass)throw new Error("JSON object is already hydrated");const r=new this;return r.read(e,t),r}function y(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}let b=class extends(p(s.Z)){};b=(0,n._)([(0,h.j)("esri.core.JSONSupport")],b)},92604:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(68773),s=(r(80442),r(19153));const o={info:0,warn:1,error:2,none:3};class i{constructor(e){this.level=null,this._module="",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=e.level&&(this.level=e.level),null!=e.writer&&(this.writer=e.writer),this._module=e.module,i._loggers.set(this.module,this);const t=this.module.lastIndexOf(".");-1!==t&&(this._parent=i.getLogger(this.module.slice(0,t)))}get module(){return this._module}get parent(){return this._parent}error(...e){this._log("error","always",...e)}warn(...e){this._log("warn","always",...e)}info(...e){this._log("info","always",...e)}errorOnce(...e){this._log("error","once",...e)}warnOnce(...e){this._log("warn","once",...e)}infoOnce(...e){this._log("info","once",...e)}errorOncePerTick(...e){this._log("error","oncePerTick",...e)}warnOncePerTick(...e){this._log("warn","oncePerTick",...e)}infoOncePerTick(...e){this._log("info","oncePerTick",...e)}get test(){const e=this;return{loggedMessages:e._loggedMessages,clearLoggedWarnings:()=>e._loggedMessages.warn.clear()}}static get test(){return{resetLoggers(e=new Map){const t=i._loggers;return i._loggers=e,t},set throttlingDisabled(e){i._throttlingDisabled=e}}}static getLogger(e){return e="string"!=typeof e?e.declaredClass:e,i._loggers.get(e)||new i({module:e})}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!i._throttlingDisabled){const n=this._argsToKey(r),s=this._loggedMessages[e].get(n);if("once"===t&&null!=s||"oncePerTick"===t&&s&&s>=i._tickCounter)return;this._loggedMessages[e].set(n,i._tickCounter),i._scheduleTickCounterIncrement()}for(const t of n.default.log.interceptors)if(t(e,this.module,...r))return;this._inheritedWriter()(e,this.module,...r)}}_parentWithMember(e,t){let r=this;for(;null!=r;){const t=r[e];if(null!=t)return t;r=r.parent}return t}_inheritedWriter(){return this._parentWithMember("writer",this._consoleWriter)}_consoleWriter(e,t,...r){console[e](`[${t}]`,...r)}_matchLevel(e){const t=n.default.log.level||"warn";return o[this._parentWithMember("level",t)]<=o[e]}_argsToKey(...e){return(0,s.hP)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}static _scheduleTickCounterIncrement(){i._tickCounterScheduled||(i._tickCounterScheduled=!0,Promise.resolve().then((()=>{i._tickCounter++,i._tickCounterScheduled=!1})))}}i._loggers=new Map,i._tickCounter=0,i._tickCounterScheduled=!1,i._throttlingDisabled=!1},30175:(e,t,r)=>{"use strict";function n(e,t,r){const n=e.get(t);if(void 0!==n)return n;const s=r();return e.set(t,s),s}r.d(t,{s1:()=>n})},58896:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(78286);class s{constructor(e,t,r){this.name=e,this.details=r,this.message=(t&&function(e,t){return e.replaceAll(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,((e,r)=>""===r?"$":((0,n.hS)(r,t)??"").toString()))}(t,r))??""}toString(){return"["+this.name+"]: "+this.message}}},71143:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});class n{constructor(e,t,r,n=1,s=0){if(this._ctor=e,this._acquireFunction=t,this._releaseFunction=r,this.allocationSize=n,this._pool=new Array(s),this._initialSize=s,this._ctor)for(let e=0;e<s;e++)this._pool[e]=new this._ctor;this.allocationSize=Math.max(n,1)}destroy(){this.prune(0)}acquire(...e){let t;if(n.test.disabled)t=new this._ctor;else{if(0===this._pool.length){const e=this.allocationSize;for(let t=0;t<e;t++)this._pool[t]=new this._ctor}t=this._pool.pop()}return this._acquireFunction?this._acquireFunction(t,...e):function(e){return e?.acquire&&"function"==typeof e.acquire}(t)&&t.acquire(...e),t}release(e){var t;e&&!n.test.disabled&&(this._releaseFunction?this._releaseFunction(e):(t=e,t?.release&&"function"==typeof t.release&&e.release()),this._pool.push(e))}prune(e=this._initialSize){if(!(e>=this._pool.length)){for(let t=e;t<this._pool.length;++t){const e=this._pool[t];this._dispose(e)}this._pool.length=e}}_dispose(e){e.dispose&&"function"==typeof e.dispose&&e.dispose()}}n.test={disabled:!1}},54790:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});class n{constructor(e,t=30){this.name=e,this._counter=0,this._samples=new Array(t)}record(e){null!=e&&(this._samples[++this._counter%this._samples.length]=e)}get median(){return this._samples.slice().sort(((e,t)=>e-t))[Math.floor(this._samples.length/2)]}get average(){return this._samples.reduce(((e,t)=>e+t),0)/this._samples.length}get last(){return this._samples[this._counter%this._samples.length]}}},44553:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n,s=r(67676);!function(e){const t=(e,t,r,n)=>{let s=t,o=t;const i=r>>>1,a=e[s-1];for(;o<=i;){o=s<<1,o<r&&n(e[o-1],e[o])<0&&++o;const t=e[o-1];if(n(t,a)<=0)break;e[s-1]=t,s=o}e[s-1]=a},r=(e,t)=>e<t?-1:e>t?1:0;e.sort=function(e,n,s,o){void 0===n&&(n=0),void 0===s&&(s=e.length),void 0===o&&(o=r);for(let r=s>>>1;r>n;r--)t(e,r,s,o);const i=n+1;for(let r=s-1;r>n;r--){const s=e[n];e[n]=e[r],e[r]=s,t(e,i,r,o)}},e.iterableSort=function*(e,n,s,o){void 0===n&&(n=0),void 0===s&&(s=e.length),void 0===o&&(o=r);for(let r=s>>>1;r>n;r--)t(e,r,s,o),yield;const i=n+1;for(let r=s-1;r>n;r--){const s=e[n];e[n]=e[r],e[r]=s,t(e,i,r,o),yield}}}(n||(n={}));const o=n;class i{constructor(e){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new s.SO,e&&(e.initialSize&&(this.data=new Array(e.initialSize)),e.allocator&&(this._allocator=e.allocator),void 0!==e.deallocator&&(this._deallocator=e.deallocator),e.shrink&&(this._shrink=()=>a(this)))}toArray(){return this.data.slice(0,this.length)}filter(e){const t=new Array;for(let r=0;r<this._length;r++){const n=this.data[r];e(n)&&t.push(n)}return t}at(e){if((e=Math.trunc(e)||0)<0&&(e+=this._length),!(e<0||e>=this._length))return this.data[e]}includes(e,t){const r=this.data.indexOf(e,t);return-1!==r&&r<this.length}get length(){return this._length}set length(e){if(e>this._length){if(this._allocator){for(;this._length<e;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=e}else{if(this._deallocator)for(let t=e;t<this._length;++t)this.data[t]=this._deallocator(this.data[t]);this._length=e,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(e){this.data[this._length++]=e}pushArray(e,t=e.length){for(let r=0;r<t;r++)this.data[this._length++]=e[r]}fill(e,t){for(let r=0;r<t;r++)this.data[this._length++]=e}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const e=this.data[this._length];return++this._length,e}unshift(e){this.data.unshift(e),this._length++,a(this)}pop(){if(0===this.length)return;const e=this.data[this.length-1];return this.length=this.length-1,this._shrink(),e}remove(e){const t=(0,s.cq)(this.data,e,this.length,this._hint);if(-1!==t)return this.data.splice(t,1),this.length=this.length-1,e}removeUnordered(e){return this.removeUnorderedIndex((0,s.cq)(this.data,e,this.length,this._hint))}removeUnorderedIndex(e){if(!(e>=this.length||e<0))return this.swapElements(e,this.length-1),this.pop()}removeUnorderedMany(e,t=e.length,r){this.length=(0,s.FY)(this.data,e,this.length,t,this._hint,r),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(e,t){if(e>=this.length||t>=this.length||e===t)return;const r=this.data[e];this.data[e]=this.data[t],this.data[t]=r}sort(e){o.sort(this.data,0,this.length,e)}iterableSort(e){return o.iterableSort(this.data,0,this.length,e)}some(e,t){for(let r=0;r<this.length;++r)if(e.call(t,this.data[r],r,this.data))return!0;return!1}find(e,t){for(let r=0;r<this.length;++r){const n=this.data[r];if(e.call(t,n,r))return n}}filterInPlace(e,t){let r=0;for(let n=0;n<this._length;++n){const s=this.data[n];e.call(t,s,n,this.data)&&(this.data[n]=this.data[r],this.data[r]=s,r++)}if(this._deallocator)for(let e=r;e<this._length;e++)this.data[e]=this._deallocator(this.data[e]);return this._length=r,this._shrink(),this}forAll(e,t){const r=this.length,n=this.data;for(let s=0;s<r;++s)e.call(t,n[s],s,n)}forEach(e,t){for(let r=0;r<this.length;++r)e.call(t,this.data[r],r,this.data)}map(e,t){const r=new Array(this.length);for(let n=0;n<this.length;++n)r[n]=e.call(t,this.data[n],n,this.data);return r}reduce(e,t){let r=t;for(let t=0;t<this.length;++t)r=e(r,this.data[t],t,this.data);return r}has(e){const t=this.length,r=this.data;for(let n=0;n<t;++n)if(r[n]===e)return!0;return!1}}function a(e){e.data.length>1.5*e.length&&(e.data.length=Math.floor(1.1*e.length))}},77734:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});class n{constructor(e=1){this._seed=e}set seed(e){this._seed=e??Math.random()*n._m}getInt(){return this._seed=(n._a*this._seed+n._c)%n._m,this._seed}getFloat(){return this.getInt()/(n._m-1)}getIntRange(e,t){return Math.round(this.getFloatRange(e,t))}getFloatRange(e,t){const r=t-e;return e+this.getInt()/n._m*r}}n._m=2147483647,n._a=48271,n._c=0},20941:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(58896);class s extends n.Z{constructor(e,t,r){super(e,t,r)}}s.prototype.type="warning"},42100:(e,t,r)=>{"use strict";r.d(t,{s:()=>i});var n=r(50758),s=r(67676);class o{constructor(e,t){this._observers=e,this._observer=t}remove(){(0,s.Od)(this._observers,this._observer)}}class i{constructor(){this._observers=null,this.destroyed=!1}observe(e){if(this.destroyed||e.destroyed)return a;null==this._observers&&(this._observers=[]);const t=this._observers;let r=!1,n=!1;const s=t.length;for(let o=0;o<s;++o){const s=t[o];if(s.destroyed)n=!0;else if(s===e){r=!0;break}}return r||(t.push(e),n&&this._removeDestroyedObservers()),new o(t,e)}_removeDestroyedObservers(){const e=this._observers;if(!e||0===e.length)return;const t=e.length;let r=0;for(let n=0;n<t;++n){for(;n+r<t&&e[n+r].destroyed;)++r;if(r>0){if(!(n+r<t))break;e[n]=e[n+r]}}e.length=t-r}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this._observers;if(null!=e){for(const t of e)t.onCommitted();this._observers=null}}}const a=(0,n.kB)()},31263:(e,t,r)=>{"use strict";var n;r.d(t,{M9:()=>o,Wm:()=>a,kk:()=>s,s3:()=>n,x3:()=>i}),function(e){e[e.DEFAULTS=0]="DEFAULTS",e[e.COMPUTED=1]="COMPUTED",e[e.SERVICE=2]="SERVICE",e[e.PORTAL_ITEM=3]="PORTAL_ITEM",e[e.WEB_SCENE=4]="WEB_SCENE",e[e.WEB_MAP=5]="WEB_MAP",e[e.LINK_CHART=6]="LINK_CHART",e[e.USER=7]="USER"}(n||(n={}));const s=n.USER+1;function o(e){switch(e){case"defaults":return n.DEFAULTS;case"service":return n.SERVICE;case"portal-item":return n.PORTAL_ITEM;case"web-scene":return n.WEB_SCENE;case"web-map":return n.WEB_MAP;case"link-chart":return n.LINK_CHART;case"user":return n.USER;default:return null}}function i(e){switch(e){case n.DEFAULTS:return"defaults";case n.SERVICE:return"service";case n.PORTAL_ITEM:return"portal-item";case n.WEB_SCENE:return"web-scene";case n.WEB_MAP:return"web-map";case n.LINK_CHART:return"link-chart";case n.USER:return"user"}}function a(e){return i(e)}},88022:(e,t,r)=>{"use strict";r.d(t,{l:()=>n});const n=Symbol("Accessor-beforeDestroy")},5600:(e,t,r)=>{"use strict";r.d(t,{CJ:()=>l,Cb:()=>c,Eg:()=>u});var n=r(92604),s=r(75215),o=r(67723),i=r(7628),a=r(37697);function c(e={}){return(t,r)=>{if(t===Function.prototype)throw new Error(`Inappropriate use of @property() on a static field: ${t.name}.${r}. Accessor does not support static properties.`);const c=Object.getOwnPropertyDescriptor(t,r),l=(0,i.Oe)(t,r);c&&(c.get||c.set?(l.get=c.get||l.get,l.set=c.set||l.set):"value"in c&&("value"in e&&n.Z.getLogger("esri.core.accessorSupport.decorators.property").warn(`@property() will redefine the value of "${r}" on "${t.constructor.name}" already defined in the metadata`,e),l.value=e.value=c.value)),null!=e.readOnly&&(l.readOnly=e.readOnly);const f=e.aliasOf;if(f){const e="string"==typeof f?f:f.source,t="string"==typeof f?null:!0===f.overridable;let n;l.dependsOn=[e],l.get=function(){let t=(0,o.U2)(this,e);if("function"==typeof t){n||(n=e.split(".").slice(0,-1).join("."));const r=(0,o.U2)(this,n);r&&(t=t.bind(r))}return t},l.readOnly||(l.set=t?function(e){this._override(r,e)}:function(t){(0,a.t)(this,e,t)})}const d=e.type,h=e.types;l.cast||(d?l.cast=function(e){let t=0,r=e;if((0,s.AY)(e))return(0,s.sY)(e);for(;Array.isArray(r)&&1===r.length&&"string"!=typeof r[0]&&"number"!=typeof r[0];)r=r[0],t++;const n=r;if((0,s.gB)(n))return 0===t?(0,s.i$)(n):(0,s.Iu)((0,s.i$)(n),t);if(1===t)return(0,s.rY)(n);if(t>1)return(0,s.di)(n,t);const o=e;return o.from?o.from:(0,s.se)(o)}(d):h&&(Array.isArray(h)?l.cast=(0,s.Ls)((0,s.N7)(h[0])):l.cast=(0,s.N7)(h))),(0,i.tz)(l,e),e.range&&(l.cast=u(l.cast,e.range))}}function l(e,t,r){const n=(0,i.Oe)(e,r);n.json||(n.json={});let s=n.json;return void 0!==t&&(s.origins||(s.origins={}),s.origins[t]||(s.origins[t]={}),s=s.origins[t]),s}function u(e,t){return r=>{let n=+e(r);return null!=t.step&&(n=Math.round(n/t.step)*t.step),null!=t.min&&(n=Math.max(t.min,n)),null!=t.max&&(n=Math.min(t.max,n)),n}}},52011:(e,t,r)=>{"use strict";r.d(t,{j:()=>u}),r(80442);var n=r(88022),s=r(97831),o=r(7628),i=r(58971),a=r(53906);const c=new Set,l=new Set;function u(e){return t=>{e??="esri.core.Accessor",t.prototype.declaredClass=e,d(t);const r=[],s=[];let i=t.prototype;for(;i;)i.hasOwnProperty("initialize")&&!c.has(i.initialize)&&(c.add(i.initialize),r.push(i.initialize)),i.hasOwnProperty("destroy")&&!l.has(i.destroy)&&(l.add(i.destroy),s.push(i.destroy)),i=Object.getPrototypeOf(i);c.clear(),l.clear();const a=class extends t{constructor(...e){if(super(...e),this.constructor===a&&"function"==typeof this.postscript){if(r.length&&Object.defineProperty(this,"initialize",{enumerable:!1,configurable:!0,value(){for(let e=r.length-1;e>=0;e--)r[e].call(this)}}),s.length){let e=!1;const t=this[n.l];Object.defineProperty(this,"destroy",{enumerable:!1,configurable:!0,value(){if(!e){e=!0,t.call(this);for(let e=0;e<s.length;e++)s[e].call(this)}}})}Object.defineProperty(this,Symbol.dispose,{enumerable:!1,configurable:!0,value(){this.destroy()}}),this.postscript(...e)}}};a.__accessorMetadata__=(0,o.fp)(t.prototype),a.prototype.declaredClass=e;const u=(e||"AccessorSubclass").split(".").slice(-1)[0];return Object.defineProperty(a,"name",{value:u,configurable:!0}),a}}function f(e,t){return null==t.get?function(){const t=this.__accessor__,r=t.propertiesByName.get(e);if(void 0===r)return;(0,i.it)(r);const n=t.store;return n.has(e)?n.get(e):r.metadata.value}:function(){const t=this.__accessor__,r=t.propertiesByName.get(e);if(void 0!==r)return r.getComputed(t)}}function d(e){const t=e.prototype,r=(0,o.fp)(t),n={};for(const e of Object.getOwnPropertyNames(r)){const t=r[e];(0,a.OM)(t),n[e]={enumerable:!0,configurable:!0,get:f(e,t),set(r){const n=this.__accessor__;if(void 0!==n){if(!Object.isFrozen(this)){if(n.initialized&&t.readOnly)throw new TypeError(`[accessor] cannot assign to read-only property '${e}' of ${this.declaredClass}`);if(n.lifecycle===s.F.CONSTRUCTED&&t.constructOnly)throw new TypeError(`[accessor] cannot assign to construct-only property '${e}' of ${this.declaredClass}`);n.set(e,r)}}else Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:r})}}}Object.defineProperties(e.prototype,n)}},41103:(e,t,r)=>{"use strict";r.d(t,{M:()=>s});var n=r(31263);function s(e,t,r){t.keys().forEach((e=>{r.set(e,t.get(e),n.s3.DEFAULTS)}));const s=e.metadatas;Object.keys(s).forEach((t=>{e.internalGet(t)&&r.set(t,e.internalGet(t),n.s3.DEFAULTS)}))}},75215:(e,t,r)=>{"use strict";r.d(t,{AY:()=>C,Iu:()=>A,Ls:()=>v,N7:()=>E,TJ:()=>y,V5:()=>j,Zs:()=>c,di:()=>S,gB:()=>k,i$:()=>T,q9:()=>l,rY:()=>w,sY:()=>P,se:()=>_,vU:()=>u,z8:()=>N}),r(80442);var n=r(92604),s=r(30175);const o=n.Z.getLogger("esri.core.accessorSupport.ensureTypes");function i(e){return null==e?e:new Date(e)}function a(e){return null==e?e:!!e}function c(e){return null==e?e:e.toString()}function l(e){return null==e?e:(e=parseFloat(e),isNaN(e)?0:e)}function u(e){return null==e?e:Math.round(parseFloat(e))}function f(e){return e?.constructor&&void 0!==e.constructor.__accessorMetadata__}function d(e,t){return null!=t&&e&&!(t instanceof e)}function h(e){return e&&"isCollection"in e}function p(e){return e?.Type?"function"==typeof e.Type?e.Type:e.Type.base:null}function g(e,t){return!!f(t)&&(o.error("Accessor#set","Assigning an instance of '"+(t.declaredClass||"unknown")+"' which is not a subclass of '"+b(e)+"'"),!0)}function y(e,t){return null==t?t:h(e)?function(e,t){if(!t?.constructor||!h(t.constructor))return g(e,t)?t:new e(t);const r=p(e.prototype.itemType),n=p(t.constructor.prototype.itemType);return r?n?r===n?t:r.prototype.isPrototypeOf(n.prototype)?new e(t):(g(e,t),t):new e(t):t}(e,t):d(e,t)?g(e,t)?t:new e(t):t}function b(e){return e?.prototype?.declaredClass||"unknown"}const m=new WeakMap;function _(e,t){const r=function(e){switch(e){case Number:return l;case N:return u;case Boolean:return a;case String:return c;case Date:return i;default:return(0,s.s1)(m,e,(()=>y.bind(null,e)))}}(e);return 1===arguments.length?r:r(t)}function v(e,t,r){return 1===arguments.length?v.bind(null,e):t?Array.isArray(t)?t.map((t=>e(t,r))):[e(t,r)]:t}function w(e,t){return 1===arguments.length?v((t=>_(e,t))):v((t=>_(e,t)),t)}function O(e,t,r){return 0!==t&&Array.isArray(r)?r.map((r=>O(e,t-1,r))):e(r)}function A(e,t,r){if(2===arguments.length)return r=>A(e,t,r);if(!r)return r;r=O(e,t,r);let n=t,s=r;for(;n>0&&Array.isArray(s);)n--,s=s[0];if(void 0!==s)for(let e=0;e<n;e++)r=[r];return r}function S(e,t,r){return 2===arguments.length?A((t=>_(e,t)),t):A((t=>_(e,t)),t,r)}function k(e){return!!Array.isArray(e)&&!e.some((t=>{const r=typeof t;return!("string"===r||"number"===r||"function"===r&&e.length>1)}))}function T(e,t){if(2===arguments.length)return T(e).call(null,t);const r=new Set,n=e.filter((e=>"function"!=typeof e)),s=e.filter((e=>"function"==typeof e));for(const t of e)"string"!=typeof t&&"number"!=typeof t||r.add(t);let i=null,a=null;return(e,t)=>{if(null==e)return e;const c=typeof e,l="string"===c||"number"===c;return l&&(r.has(e)||s.some((e=>"string"===c&&e===String||"number"===c&&e===Number)))||"object"===c&&s.some((t=>!d(e,t)))?e:(l&&n.length?(i||(i=n.map((e=>"string"==typeof e?`'${e}'`:`${e}`)).join(", ")),o.error("Accessor#set",`'${e}' is not a valid value for this property, only the following values are valid: ${i}`)):"object"==typeof e&&s.length?(a||(a=s.map((e=>b(e))).join(", ")),o.error("Accessor#set",`'${e}' is not a valid value for this property, value must be one of ${a}`)):o.error("Accessor#set",`'${e}' is not a valid value for this property`),t&&(t.valid=!1),null)}}function E(e,t){if(2===arguments.length)return E(e).call(null,t);const r={},n=[],s=[];for(const t in e.typeMap){const o=e.typeMap[t];r[t]=_(o),n.push(b(o)),s.push(t)}const i=()=>`'${n.join("', '")}'`,a=()=>`'${s.join("', '")}'`,c="string"==typeof e.key?t=>t[e.key]:e.key;return t=>{if(e.base&&!d(e.base,t))return t;if(null==t)return t;const n=c(t)||e.defaultKeyValue,s=r[n];if(!s)return o.error("Accessor#set",`Invalid property value, value needs to be one of ${i()}, or a plain object that can autocast (having .type = ${a()})`),null;if(!d(e.typeMap[n],t))return t;if("string"==typeof e.key&&!f(t)){const r={};for(const n in t)n!==e.key&&(r[n]=t[n]);return s(r)}return s(t)}}class N{}const j={native:e=>({type:"native",value:e}),array:e=>({type:"array",value:e}),oneOf:e=>({type:"one-of",values:e})};function C(e){if(!e||!("type"in e))return!1;switch(e.type){case"native":case"array":case"one-of":return!0}return!1}function P(e){switch(e.type){case"native":return _(e.value);case"array":return v(P(e.value));case"one-of":return function(e){let t=null;return(r,n)=>I(r,e)?r:(null==t&&(t=M(e)),o.error("Accessor#set",`Invalid property value, value needs to be of type ${t}`),n&&(n.valid=!1),null)}(e);default:return null}}function M(e){switch(e.type){case"native":switch(e.value){case Number:return"number";case String:return"string";case Boolean:return"boolean";case N:return"integer";case Date:return"date";default:return b(e.value)}case"array":return`array of ${M(e.value)}`;case"one-of":{const t=e.values.map((e=>M(e)));return`one of ${t.slice(0,-1)} or ${t[t.length-1]}`}}return"unknown"}function I(e,t){if(null==e)return!0;switch(t.type){case"native":switch(t.value){case Number:case N:return"number"==typeof e;case Boolean:return"boolean"==typeof e;case String:return"string"==typeof e}return e instanceof t.value;case"array":return!!Array.isArray(e)&&!e.some((e=>!I(e,t.value)));case"one-of":return t.values.some((t=>I(e,t)))}}},53906:(e,t,r)=>{"use strict";r.d(t,{hk:()=>u,HS:()=>f,Ah:()=>d,OM:()=>b});var n=r(75215),s=r(63213);function o(e){if(e.json||(e.json={}),a(e.json),c(e.json),i(e.json),e.json.origins)for(const t in e.json.origins)a(e.json.origins[t]),c(e.json.origins[t]),i(e.json.origins[t]);return!0}function i(e){e.name&&(e.read&&"object"==typeof e.read?void 0===e.read.source&&(e.read.source=e.name):e.read={source:e.name},e.write&&"object"==typeof e.write?void 0===e.write.target&&(e.write.target=e.name):e.write={target:e.name})}function a(e){"boolean"==typeof e.read?e.read={enabled:e.read}:"function"==typeof e.read?e.read={enabled:!0,reader:e.read}:e.read&&"object"==typeof e.read&&void 0===e.read.enabled&&(e.read.enabled=!0)}function c(e){"boolean"==typeof e.write?e.write={enabled:e.write}:"function"==typeof e.write?e.write={enabled:!0,writer:e.write}:e.write&&"object"==typeof e.write&&void 0===e.write.enabled&&(e.write.enabled=!0)}var l=r(827);function u(e,t){return h(e,"any",t?.origin)}function f(e,t){return h(e,"read",t?.origin)}function d(e,t){return h(e,"write",t?.origin)}function h(e,t,r){let n=e?.json;if(n?.origins&&r){let e;e="link-chart"===r?n.origins[r]&&("any"===t||t in n.origins[r])?n.origins[r]:n.origins["web-map"]:n.origins[r],e&&("any"===t||t in e)&&(n=e)}return n}function p(e){return e.type?g(e):y(e)}function g(e){if(!e.type)return;let t=0,r=e.type;for(;Array.isArray(r)&&!(0,n.gB)(r);)r=r[0],t++;return{type:r,ndimArray:t}}function y(e){if(!e.types)return;let t=0,r=e.types;for(;Array.isArray(r);)r=r[0],t++;return{types:r,ndimArray:t}}function b(e){o(e)&&(function(e){if(e.json&&e.json.origins){const t=e.json.origins,r={"web-document":["web-scene","web-map"]};for(const e in r)if(t[e]){const n=t[e];r[e].forEach((e=>{t[e]=n})),delete t[e]}}}(e),function(e){const t=function(e){return e.json.types?y(e.json):e.type?g(e):y(e)}(e);if(e.json.origins)for(const r in e.json.origins){const n=e.json.origins[r],o=n.types?p(n):t;(0,s.U)(o,n,!1),n.types&&!n.write&&e.json.write&&e.json.write.enabled&&(n.write={...e.json.write}),(0,l.U)(o,n)}(0,s.U)(t,e.json,!0),(0,l.U)(t,e.json)}(e))}},63213:(e,t,r)=>{"use strict";r.d(t,{U:()=>l,d:()=>u});var n=r(92604),s=r(78286),o=r(20941),i=r(7628),a=r(14062);const c=n.Z.getLogger("esri.core.accessorSupport.extensions.serializableProperty.reader");function l(e,t,r){e&&(!r&&!t.read||t.read?.reader||!1===t.read?.enabled||function(e){return"types"in e?y(e.types):g(e.type)}(e)&&(0,s.RB)("read.reader",u(e),t))}function u(e){const t=e.ndimArray??0;if(t>1)return function(e){const t=f(e),r=d.bind(null,t),n=e.ndimArray??0;return(e,t,s)=>{if(null==e)return e;e=r(e,s,n);let o=n,i=e;for(;o>0&&Array.isArray(i);)o--,i=i[0];if(void 0!==i)for(let t=0;t<o;t++)e=[e];return e}}(e);if(1===t)return h(e);if("type"in e&&p(e.type)){const t=e.type.prototype?.itemType?.Type,r=h("function"==typeof t?{type:t}:{types:t});return(t,n,s)=>{const o=r(t,n,s);return o?new e.type(o):o}}return f(e)}function f(e){return"type"in e?function(e){return e.prototype.read?(t,r,n)=>{if(null==t)return t;const s=typeof t;if("object"!==s)return void c.error(`Expected JSON value of type 'object' to deserialize type '${e.prototype.declaredClass}', but got '${s}'`);const o=new e;return o.read(t,n),o}:e.fromJSON}(e.type):function(e){let t=null;const r=e.errorContext??"type",n=e.validate;return(s,a,l)=>{if(null==s)return s;const u=typeof s;if("object"!==u)return void c.error(`Expected JSON value of type 'object' to deserialize, but got '${u}'`);t||(t=function(e){const t={};for(const r in e.typeMap){const n=e.typeMap[r],s=(0,i.fp)(n.prototype);if("function"==typeof e.key)continue;const o=s[e.key];if(!o)continue;o.json?.type&&Array.isArray(o.json.type)&&1===o.json.type.length&&"string"==typeof o.json.type[0]&&(t[o.json.type[0]]=n);const a=o.json?.write;if(!a?.writer){t[r]=n;continue}const c=a.target,l="string"==typeof c?c:e.key,u={};a.writer(r,u,l),u[l]&&(t[u[l]]=n)}return t}(e));const f=e.key;if("string"!=typeof f)return;const d=s[f],h=d?t[d]:e.defaultKeyValue?e.typeMap[e.defaultKeyValue]:void 0;if(!h){const e=`Type '${d||"unknown"}' is not supported`;return l?.messages&&s&&l.messages.push(new o.Z(`${r}:unsupported`,e,{definition:s,context:l})),void c.error(e)}const p=new h;return p.read(s,l),n?n(p):p}}(e.types)}function d(e,t,r,n){return 0!==n&&Array.isArray(t)?t.map((t=>d(e,t,r,n-1))):e(t,void 0,r)}function h(e){const t=f(e);return(e,r,n)=>{if(null==e)return e;if(Array.isArray(e)){const r=[];for(const s of e){const e=t(s,void 0,n);void 0!==e&&r.push(e)}return r}const s=t(e,void 0,n);return void 0!==s?[s]:void 0}}function p(e){if(!(0,a.u)(e))return!1;const t=e.prototype.itemType;return!(!t||!t.Type)&&("function"==typeof t.Type?g(t.Type):y(t.Type))}function g(e){return!Array.isArray(e)&&!!e&&e.prototype&&("read"in e.prototype||"fromJSON"in e||p(e))}function y(e){for(const t in e.typeMap)if(!g(e.typeMap[t]))return!1;return!0}},14062:(e,t,r)=>{"use strict";function n(e){return!!e&&e.prototype?.declaredClass&&0===e.prototype.declaredClass.indexOf("esri.core.Collection")}r.d(t,{u:()=>n})},827:(e,t,r)=>{"use strict";r.d(t,{U:()=>a,k:()=>f});var n=r(20102),s=r(92604),o=r(78286),i=r(14062);function a(e,t){if(!t.write||t.write.writer||!1===t.write.enabled&&!t.write.overridePolicy)return;const r=e?.ndimArray??0;e&&(1===r||"type"in e&&(0,i.u)(e.type))?t.write.writer=d:r>1?t.write.writer=function(e){return(t,r,n,s)=>{let i;if(null===t)i=null;else{i=h(t,s,e);let r=e,n=i;for(;r>0&&Array.isArray(n);)r--,n=n[0];if(void 0!==n)for(let e=0;e<r;e++)i=[i]}(0,o.RB)(n,i,r)}}(r):t.types?Array.isArray(t.types)?t.write.writer=function(e){return(t,r,n,s)=>t&&Array.isArray(t)?l(t.filter((t=>c(t,e,s))),r,n,s):l(t,r,n,s)}(t.types[0]):t.write.writer=function(e){return(t,r,n,s)=>t?c(t,e,s)?l(t,r,n,s):void 0:l(t,r,n,s)}(t.types):t.write.writer=l}function c(e,t,r){for(const r in t.typeMap)if(e instanceof t.typeMap[r])return!0;if(r?.messages){const o=t.errorContext??"type",i=`Values of type '${("function"!=typeof t.key?e[t.key]:e.declaredClass)??"Unknown"}' cannot be written`;r&&r.messages&&e&&r.messages.push(new n.Z(`${o}:unsupported`,i,{definition:e,context:r})),s.Z.getLogger("esri.core.accessorSupport.extensions.serializableProperty.writer").error(i)}return!1}function l(e,t,r,n){(0,o.RB)(r,u(e,n),t)}function u(e,t){return e&&"function"==typeof e.write?e.write({},t):e&&"function"==typeof e.toJSON?e.toJSON():"number"==typeof e?f(e):e}function f(e){return e===-1/0?-Number.MAX_VALUE:e===1/0?Number.MAX_VALUE:isNaN(e)?null:e}function d(e,t,r,n){let s;null===e?s=null:e&&"function"==typeof e.map?(s=e.map((e=>u(e,n))),"function"==typeof s.toArray&&(s=s.toArray())):s=[u(e,n)],(0,o.RB)(r,s,t)}function h(e,t,r){return 0!==r&&Array.isArray(e)?e.map((e=>h(e,t,r-1))):u(e,t)}},67723:(e,t,r)=>{"use strict";r.d(t,{$z:()=>i,Gg:()=>c,U2:()=>a});var n=r(1153);function s(e,t){const r="?"===e[e.length-1]?e.slice(0,-1):e;if(null!=t.getItemAt||Array.isArray(t)){const e=parseInt(r,10);if(!isNaN(e))return Array.isArray(t)?t[e]:t.at(e)}const s=(0,n.vw)(t);return(0,n.b6)(s,r)?s.get(r):t[r]}function o(e,t,r){if(null==e)return e;const n=s(t[r],e);return!n&&r<t.length-1?void 0:r===t.length-1?n:o(n,t,r+1)}function i(e,t,r=0){return"string"!=typeof t||t.includes(".")?o(e,(0,n.NI)(t),r):s(t,e)}function a(e,t){return i(e,t)}function c(e,t){return void 0!==i(t,e)}},97831:(e,t,r)=>{"use strict";var n;r.d(t,{F:()=>n}),function(e){e[e.INITIALIZING=0]="INITIALIZING",e[e.CONSTRUCTING=1]="CONSTRUCTING",e[e.CONSTRUCTED=2]="CONSTRUCTED"}(n||(n={}))},7628:(e,t,r)=>{"use strict";r.d(t,{Oe:()=>i,fp:()=>o,tz:()=>a});var n=r(22974),s=r(1153);function o(e){let t=e.constructor.__accessorMetadata__;const r=Object.prototype.hasOwnProperty.call(e.constructor,"__accessorMetadata__");if(t){if(!r){t=Object.create(t);for(const e in t)t[e]=(0,n.d9)(t[e]);Object.defineProperty(e.constructor,"__accessorMetadata__",{value:t,enumerable:!1,configurable:!0,writable:!0})}}else t={},Object.defineProperty(e.constructor,"__accessorMetadata__",{value:t,enumerable:!1,configurable:!0,writable:!0});return e.constructor.__accessorMetadata__}function i(e,t){const r=o(e);let n=r[t];return n||(n=r[t]={}),n}function a(e,t){return(0,s.TS)(e,t,l)}const c=/^(?:[^.]+\.)?(?:value|type|(?:json\.type|json\.origins\.[^.]\.type))$/;function l(e){return c.test(e)?"replace":"merge"}},50549:(e,t,r)=>{"use strict";r.d(t,{$:()=>f,i:()=>u});var n=r(67723),s=r(1153),o=r(53906);function i(e,t,r){if(!e?.read||!1===e.read.enabled||!e.read.source)return!1;const s=e.read.source;if("string"==typeof s){if(s===t)return!0;if(s.includes(".")&&0===s.indexOf(t)&&(0,n.Gg)(s,r))return!0}else for(const e of s){if(e===t)return!0;if(e.includes(".")&&0===e.indexOf(t)&&(0,n.Gg)(e,r))return!0}return!1}function a(e,t,r,n,s){let a=(0,o.HS)(t[r],s);(function(e){return e&&(!e.read||!1!==e.read.enabled&&!e.read.source)})(a)&&(e[r]=!0);for(const c of Object.getOwnPropertyNames(t))a=(0,o.HS)(t[c],s),i(a,r,n)&&(e[c]=!0)}function c(e,t,r,n){const s=r.metadatas,i=(0,o.hk)(s[t],n),a=i?.default;if(void 0===a)return;const c="function"==typeof a?a.call(e,t,n):a;void 0!==c&&r.set(t,c)}const l={origin:"service"};function u(e,t,r=l){if(!t||"object"!=typeof t)return;const i=(0,s.vw)(e),u=i.metadatas,f={};for(const e of Object.getOwnPropertyNames(t))a(f,u,e,t,r);i.setDefaultOrigin(r.origin);for(const s of Object.getOwnPropertyNames(f)){const a=(0,o.HS)(u[s],r).read,c=a?.source;let l;l=c&&"string"==typeof c?(0,n.$z)(t,c):t[s],a?.reader&&(l=a.reader.call(e,l,t,r)),void 0!==l&&i.set(s,l)}if(!r||!r.ignoreDefaults){i.setDefaultOrigin("defaults");for(const t of Object.getOwnPropertyNames(u))f[t]||c(e,t,i,r)}i.setDefaultOrigin("user")}function f(e,t,r,n=l){const s={...n,messages:[]};r(s),s.messages?.forEach((t=>{"warning"!==t.type||e.loaded?n?.messages&&n.messages.push(t):e.loadWarnings.push(t)}))}},37697:(e,t,r)=>{"use strict";r.d(t,{t:()=>i});var n=r(20102),s=r(80442),o=(r(92604),r(67723));function i(e,t,r){if(e&&t)if("object"==typeof t)for(const r of Object.getOwnPropertyNames(t))i(e,r,t[r]);else{if(t.includes(".")){const n=t.split("."),s=n.splice(-1,1)[0];return void i((0,o.U2)(e,n),s,r)}const a=e.__accessor__;null!=a&&function(e,t){if((0,s.Z)("esri-unknown-property-errors")&&!function(e,t){return null!=t.metadatas[e]}(e,t))throw new n.Z("set:unknown-property",function(e,t){return"setting unknown property '"+e+"' on instance of "+t.host.declaredClass}(e,t))}(t,a),e[t]=r}}},58971:(e,t,r)=>{"use strict";r.d(t,{GF:()=>_,LJ:()=>d,gb:()=>h,it:()=>l,mS:()=>b}),r(80442);var n=r(92604),s=r(1153),o=r(44550);const i={onObservableAccessed:()=>{},onTrackingEnd:()=>{}},a=[];let c=i;function l(e){c.onObservableAccessed(e)}let u=!1,f=!1;function d(e,t,r){if(u)return p(e,t,r);g(e);const n=t.call(r);return y(),n}function h(e,t){return d(i,e,t)}function p(e,t,r){const s=u;u=!0,g(e);let o=null;try{o=t.call(r)}catch(e){f&&n.Z.getLogger("esri.core.accessorSupport.tracking").error(e)}return y(),u=s,o}function g(e){c=e,a.push(e)}function y(){const e=a.length;if(e>1){const t=a.pop();c=a[e-2],t.onTrackingEnd()}else if(1===e){const e=a.pop();c=i,e.onTrackingEnd()}else c=i}function b(e,t){if(t.flags&o.v.DepTrackingInitialized)return;const r=f;f=!1,t.flags&o.v.AutoTracked?p(t,t.metadata.get,e):_(e,t),f=r}const m=[];function _(e,t){t.flags&o.v.ExplicitlyTracking||(t.flags|=o.v.ExplicitlyTracking,p(t,(()=>{const r=t.metadata.dependsOn||m;for(const t of r)if("string"!=typeof t||t.includes(".")){const r=(0,s.NI)(t);for(let t=0,n=e;t<r.length&&null!=n&&"object"==typeof n;++t)n=v(n,r[t],t!==r.length-1)}else v(e,t,!1)})),t.flags&=~o.v.ExplicitlyTracking)}function v(e,t,r){const n="?"===t[t.length-1]?t.slice(0,-1):t;if(null!=e.getItemAt||Array.isArray(e)){const t=parseInt(n,10);if(!isNaN(t))return Array.isArray(e)?e[t]:e.at(t)}const o=(0,s.vw)(e);if(o){const t=o.propertiesByName.get(n);t&&(l(t),b(e,t))}return r?e[n]:void 0}},44550:(e,t,r)=>{"use strict";var n;r.d(t,{v:()=>n}),function(e){e[e.Dirty=1]="Dirty",e[e.Overriden=2]="Overriden",e[e.Computing=4]="Computing",e[e.NonNullable=8]="NonNullable",e[e.HasDefaultValue=16]="HasDefaultValue",e[e.DepTrackingInitialized=32]="DepTrackingInitialized",e[e.AutoTracked=64]="AutoTracked",e[e.ExplicitlyTracking=128]="ExplicitlyTracking"}(n||(n={}))},38805:(e,t,r)=>{"use strict";r.d(t,{M:()=>n});class n{constructor(e){this._accessed=[],this._handles=[],this._observerObject=new s(e),o.register(this,new WeakRef(this._observerObject),this)}destroy(){o.unregister(this._observerObject),this._accessed.length=0,this._observerObject?.destroy(),this.clear()}onObservableAccessed(e){const t=this._accessed;t.includes(e)||t.push(e)}onTrackingEnd(){const e=this._handles,t=this._accessed,r=this._observerObject;for(let n=0;n<t.length;++n)e.push(t[n].observe(r));t.length=0}clear(){const e=this._handles;for(let t=0;t<e.length;++t)e[t].remove();e.length=0}}class s{constructor(e){this._notify=e,this._invalidCount=0,this.destroyed=!1}onInvalidated(){this._invalidCount++}onCommitted(){if(this.destroyed)return;const e=this._invalidCount;if(1===e)return this._invalidCount=0,void this._notify();this._invalidCount=e>0?e-1:0}destroy(){this.destroyed=!0,this._notify=i}}const o=new FinalizationRegistry((e=>{e.deref()?.destroy()}));function i(){}},87538:(e,t,r)=>{"use strict";r.d(t,{EH:()=>u,U5:()=>c,Xz:()=>l});var n=r(50758),s=r(58971),o=r(38805);let i=!1;const a=[];function c(e,t){let r=new o.M((function n(){if(!r||c)return;if(i)return void f(n);const o=a;r.clear(),i=!0,c=!0,a=(0,s.LJ)(r,e),c=!1,i=!1,t(a,o),d()})),a=null,c=!1;return c=!0,a=(0,s.LJ)(r,e),c=!1,(0,n.kB)((function(){r&&(r.destroy(),r=null,a=null)}))}function l(e,t){let r=new o.M((function(){t(i,a)})),i=null;function a(){return r?(r.clear(),i=(0,s.LJ)(r,e),i):null}return a(),(0,n.kB)((function(){r&&(r.destroy(),r=null),i=null}))}function u(e){let t=new o.M((function n(){t&&!r&&(i?f(n):(t.clear(),i=!0,r=!0,(0,s.LJ)(t,e),r=!1,i=!1,d()))})),r=!1;return r=!0,(0,s.LJ)(t,e),r=!1,(0,n.kB)((function(){t&&(t.destroy(),t=null)}))}function f(e){a.includes(e)||a.unshift(e)}function d(){for(;a.length;)a.pop()()}},1153:(e,t,r)=>{"use strict";r.d(t,{NI:()=>l,Qc:()=>f,TS:()=>a,b6:()=>i,vw:()=>o});var n=r(50758),s=r(22974);function o(e){return e.__accessor__??null}function i(e,t){return null!=e?.metadatas?.[t]}function a(e,t,r){return c(e,t,r?{policy:r,path:""}:null)}function c(e,t,r){return t?Object.keys(t).reduce(((e,n)=>{const o=n;let i=null,a="merge";if(r&&(i=r.path?`${r.path}.${n}`:n,a=r.policy(i)),"replace"===a)return e[o]=t[o],e;if("replace-arrays"===a&&Array.isArray(e[o]))return e[o]=t[o],e;if(void 0===e[o])return e[o]=(0,s.d9)(t[o]),e;let l=e[o],u=t[o];if(l===u)return e;if(Array.isArray(u)||Array.isArray(e))l=l?Array.isArray(l)?e[o]=l.concat():e[o]=[l]:e[o]=[],u&&(Array.isArray(u)||(u=[u]),u.forEach((e=>{l.includes(e)||l.push(e)})));else if(u&&"object"==typeof u)if(r){const t=r.path;r.path=i,e[o]=c(l,u,r),r.path=t}else e[o]=c(l,u,null);else e.hasOwnProperty(n)&&!t.hasOwnProperty(n)||(e[o]=u);return e}),e||{}):e}function l(e){return Array.isArray(e)?e:e.split(".")}function u(e){return e.includes(",")?e.split(",").map((e=>e.trim())):[e.trim()]}function f(e,t,r,s){const o=function(e){if(Array.isArray(e)){const t=[];for(const r of e)t.push(...u(r));return t}return u(e)}(t);if(1!==o.length){const t=o.map((t=>s(e,t,r)));return(0,n.AL)(t)}return s(e,o[0],r)}},26258:(e,t,r)=>{"use strict";r.d(t,{BT:()=>w,YP:()=>k,aQ:()=>T});var n=r(3894),s=r(50758),o=r(22974),i=r(71143);class a extends i.Z{constructor(){super(...arguments),this._set=new Set}destroy(){super.destroy(),this._set=null}acquire(...e){const t=super.acquire(...e);return this._set.delete(t),t}release(e){e&&!this._set.has(e)&&(super.release(e),this._set.add(e))}_dispose(e){this._set.delete(e),super._dispose(e)}}var c,l,u=r(1654),f=r(99001),d=r(67723),h=r(87538),p=r(1153);(l=c||(c={}))[l.Untracked=0]="Untracked",l[l.Tracked=1]="Tracked";class g{constructor(){this.uid=(0,f.D)(),this.removed=!1,this.type=null,this.oldValue=null,this.callback=null,this.getValue=null,this.target=null,this.path=null,this.equals=null}static acquireUntracked(e,t,r,n,s){return this.pool.acquire(c.Untracked,e,t,r,n,s,o.fS)}static acquireTracked(e,t,r,n){return this.pool.acquire(c.Tracked,e,t,r,null,null,n)}notify(e,t){this.type===c.Untracked?this.callback.call(this.target,e,t,this.path,this.target):this.callback.call(null,e,t,void 0,void 0)}acquire(e,t,r,n,s,o,i){this.uid=(0,f.D)(),this.removed=!1,this.type=e,this.oldValue=t,this.callback=r,this.getValue=n,this.target=s,this.path=o,this.equals=i}release(){this.target=this.path=this.oldValue=this.callback=this.getValue=null,this.uid=(0,f.D)(),this.removed=!0}}g.pool=new a(g);const y=new n.Z,b=new Set;let m;function _(e){b.delete(e),b.add(e),m||(m=(0,u.Os)(O))}function v(e){if(e.removed)return;const t=e.oldValue,r=e.getValue();e.equals(t,r)||(e.oldValue=r,e.notify(r,t))}function w(e){for(const t of b.values())t.target===e&&(t.removed=!0)}function O(){let e=10;for(;m&&e--;){m=null;const e=A(),t=y.acquire();for(const r of e){const e=r.uid;v(r),e===r.uid&&r.removed&&t.push(r)}for(const e of b)e.removed&&(t.push(e),b.delete(e));for(const e of t)g.pool.release(e);y.release(t),y.release(e),S.forEach((e=>e()))}}function A(){const e=y.acquire();e.length=b.size;let t=0;for(const r of b)e[t]=r,++t;return b.clear(),e}const S=new Set;function k(e,t,r,n=!1){return!e.__accessor__||e.__accessor__.destroyed?(0,s.kB)():n?function(e,t,r){const n=(0,p.Qc)(e,t,r,((e,t,r)=>{let s=!1;return(0,h.U5)((()=>(0,d.$z)(e,t)),((i,a)=>{e.__accessor__.destroyed?n.remove():s||(s=!0,(0,o.fS)(a,i)||r.call(e,i,a,t,e),s=!1)}))}));return n}(e,t,r):function(e,t,r){let n=(0,p.Qc)(e,t,r,((e,t,r)=>{let o,i,a=(0,h.Xz)((()=>(0,d.$z)(e,t)),((s,a)=>{e.__accessor__.destroyed||o&&o.uid!==i?n.remove():(o||(o=g.acquireUntracked(s,r,a,e,t),i=o.uid),_(o))}));return(0,s.kB)((()=>{a.remove(),o&&(o.uid!==i||o.removed||(o.removed=!0,_(o)),o=null),n=a=null}))}));return n}(e,t,r)}function T(e,t,r=!1,n=o.y7){return r?function(e,t,r){let n=!1;return(0,h.U5)(e,((e,s)=>{n||(n=!0,r(s,e)||t(e,s),n=!1)}))}(e,t,n):function(e,t,r){let n,o,i=(0,h.Xz)(e,((e,s)=>{n&&n.uid!==o?i.remove():(n||(n=g.acquireTracked(e,t,s,r),o=n.uid),_(n))}));return(0,s.kB)((()=>{i.remove(),n&&(n.uid!==o||n.removed||(n.removed=!0,_(n)),n=null),i=null}))}(e,t,n)}},76169:(e,t,r)=>{"use strict";r.d(t,{c:()=>h,d:()=>d});var n=r(67676),s=r(20102),o=r(92604),i=r(67723),a=r(31263),c=r(1153),l=r(53906);function u(e,t,r,n,s){const o={};return t.write?.writer?.call(e,n,o,r,s),o}function f(e,t,r,c,l,u){if(!c?.write)return!1;const f=(0,i.U2)(e,r);if(!l&&c.write.overridePolicy){const t=c.write.overridePolicy.call(e,f,r,u??void 0);void 0!==t&&(l=t)}if(l||(l=c.write),!l||!1===l.enabled)return!1;if(l.layerContainerTypes&&u?.layerContainerType&&!l.layerContainerTypes.includes(u.layerContainerType))return!1;if((null===f&&!l.allowNull&&!l.writerEnsuresNonNull||void 0===f)&&l.isRequired){const t=new s.Z("web-document-write:property-required",`Missing value for required property '${r}' on '${e.declaredClass}'`,{propertyName:r,target:e});return t&&u?.messages?u.messages.push(t):t&&!u&&o.Z.getLogger("esri.core.accessorSupport.write").error(t.name,t.message),!1}return!(void 0===f||null===f&&!l.allowNull&&!l.writerEnsuresNonNull||!(l.alwaysWriteDefaults||t.store.multipleOriginsSupported&&t.store.originOf(r)!==a.s3.DEFAULTS)&&function(e,t,r,s,o){const i=s.default;if(void 0===i)return!1;if(null!=s.defaultEquals)return s.defaultEquals(o);if("function"==typeof i){if(Array.isArray(o)){const s=i.call(e,t,r??void 0);return(0,n.fS)(s,o)}return!1}return i===o}(e,r,u,c,f)||!l.ignoreOrigin&&u?.origin&&t.store.multipleOriginsSupported&&t.store.originOf(r)<(0,a.M9)(u.origin))}function d(e,t,r,n){const s=(0,c.vw)(e),o=s.metadatas,i=(0,l.Ah)(o[t],n);return!!i&&f(e,s,t,i,r,n)}function h(e,t,r){if(e&&"function"==typeof e.toJSON&&(!e.toJSON.isDefaultToJSON||!e.write))return(0,c.TS)(t,e.toJSON(r));const n=(0,c.vw)(e),s=n.metadatas;for(const o in s){const d=(0,l.Ah)(s[o],r);if(!f(e,n,o,d,void 0,r))continue;const h=(0,i.U2)(e,o),p=u(e,d,d.write&&"string"==typeof d.write.target?d.write.target:o,h,r);Object.keys(p).length>0&&(t=(0,c.TS)(t,p),r?.resources?.pendingOperations?.length&&r.resources.pendingOperations.push(Promise.all(r.resources.pendingOperations).then((()=>(0,c.TS)(t,p,(()=>"replace-arrays"))))),r?.writtenProperties&&r.writtenProperties.push({target:e,propName:o,oldOrigin:(0,a.Wm)(n.store.originOf(o)),newOrigin:r.origin}))}return t}},67676:(e,t,r)=>{"use strict";r.d(t,{FY:()=>y,Od:()=>b,SO:()=>f,Vx:()=>o,a9:()=>l,cq:()=>h,e$:()=>p,e5:()=>i,fS:()=>s,pC:()=>m,wR:()=>u,zG:()=>a});var n=r(77734);function s(e,t,r){if(null==e&&null==t)return!0;if(null==e||null==t||e.length!==t.length)return!1;if(r){for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function o(e,t){let r=e.length!==t.length;r&&(e.length=t.length);for(let n=0;n<t.length;++n)e[n]!==t[n]&&(e[n]=t[n],r=!0);return r}function i(e,t,r){let n,s;return r?(n=t.filter((t=>!e.some((e=>r(e,t))))),s=e.filter((e=>!t.some((t=>r(t,e)))))):(n=t.filter((t=>!e.includes(t))),s=e.filter((e=>!t.includes(e)))),{added:n,removed:s}}function a(e){return e&&"number"==typeof e.length}const c=!!Array.prototype.fill;function l(e,t){if(c)return new Array(e).fill(t);const r=new Array(e);for(let n=0;n<e;n++)r[n]=t;return r}function u(e,t){void 0===t&&(t=e,e=0);const r=new Array(t-e);for(let n=e;n<t;n++)r[n-e]=n;return r}class f{constructor(){this.last=0}}const d=new f;function h(e,t,r,n){n=n||d;const s=Math.max(0,n.last-10);for(let o=s;o<r;++o)if(e[o]===t)return n.last=o,o;const o=Math.min(s,r);for(let r=0;r<o;++r)if(e[r]===t)return n.last=r,r;return-1}function p(e,t,r,n){const s=r??e.length,o=h(e,t,s,n);if(-1!==o)return e[o]=e[s-1],null==r&&e.pop(),t}const g=new Set;function y(e,t,r=e.length,n=t.length,s,o){if(0===n||0===r)return r;g.clear();for(let e=0;e<n;++e)g.add(t[e]);s=s||d;const i=Math.max(0,s.last-10);for(let t=i;t<r;++t)if(g.has(e[t])&&(o?.push(e[t]),g.delete(e[t]),e[t]=e[r-1],--r,--t,0===g.size||0===r))return g.clear(),r;for(let t=0;t<i;++t)if(g.has(e[t])&&(o?.push(e[t]),g.delete(e[t]),e[t]=e[r-1],--r,--t,0===g.size||0===r))return g.clear(),r;return g.clear(),r}function b(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}function m(e,t){return null!=e}new n.Z},43090:(e,t,r)=>{"use strict";function n(e){return 32+e.length}function s(){return 16}function o(e){if(!e)return 0;let t=l;for(const r in e)if(e.hasOwnProperty(r)){const s=e[r];switch(typeof s){case"string":t+=n(s);break;case"number":t+=16;break;case"boolean":t+=4}}return t}function i(e){if(!e)return 0;if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return 32+8*t;let r=u;for(let n=0;n<t;n++)r+=a(e[n]);return r}(e);let t=l;for(const r in e)e.hasOwnProperty(r)&&(t+=a(e[r]));return t}function a(e){switch(typeof e){case"object":return i(e);case"string":return n(e);case"number":return 16;case"boolean":return 4;default:return 8}}function c(e,t){return u+e.length*t}r.d(t,{G3:()=>s,Ul:()=>i,do:()=>c,f2:()=>o});const l=32,u=16},60235:(e,t,r)=>{"use strict";r.d(t,{Mr:()=>a,XV:()=>i,x9:()=>c});var n=r(80442);const s=new Set;function o(e,t,r=!1){r&&s.has(t)||(r&&s.add(t),e.warn(`🛑 DEPRECATED - ${t}`))}function i(e,t,r={}){if((0,n.Z)("esri-deprecation-warnings")){const{moduleName:n}=r;c(e,"Function: "+(n?n+"::":"")+t+"()",r)}}function a(e,t,r={}){if((0,n.Z)("esri-deprecation-warnings")){const{moduleName:n}=r;c(e,"Property: "+(n?n+"::":"")+t,r)}}function c(e,t,r={}){if((0,n.Z)("esri-deprecation-warnings")){const{replacement:n,version:s,see:i,warnOnce:a}=r;let c=t;n&&(c+=`\n\t🛠️ Replacement: ${n}`),s&&(c+=`\n\t⚙️ Version: ${s}`),i&&(c+=`\n\t🔗 See ${i} for more details.`),o(e,c,a)}}},91460:(e,t,r)=>{"use strict";r.d(t,{IH:()=>i,on:()=>o,vT:()=>s});var n=r(50758);function s(e){return e&&("function"==typeof e.on||"function"==typeof e.addEventListener)}function o(e,t,r){if(!s(e))throw new TypeError("target is not a Evented or EventTarget object");if("on"in e)return e.on(t,r);if(Array.isArray(t)){const s=t.slice();for(const t of s)e.addEventListener(t,r);return(0,n.kB)((()=>{for(const t of s)e.removeEventListener(t,r)}))}return e.addEventListener(t,r),(0,n.kB)((()=>e.removeEventListener(t,r)))}function i(e,t,r){if(!s(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const n=o(e,t,(t=>{n.remove(),r.call(e,t)}));return n}},50758:(e,t,r)=>{"use strict";r.d(t,{AL:()=>o,kB:()=>s});const n={remove:()=>{}};function s(e){return e?{remove(){e&&(e(),e=void 0)}}:n}function o(e){return s((()=>function(e){e.forEach((e=>e?.remove()))}(e)))}},80442:(e,t,r)=>{"use strict";let n;function s(e){return"function"==typeof n[e]?n[e]=n[e](globalThis):n[e]}r.d(t,{Z:()=>s}),n=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},s.add=(e,t,r,o)=>((o||void 0===n[e])&&(n[e]=t),r&&s(e)),s.cache=n,s.add("big-integer-warning-enabled",!0),s.add("esri-deprecation-warnings",!0),s.add("esri-tests-disable-screenshots",!1),s.add("esri-tests-use-full-window",!1),s.add("esri-tests-post-to-influx",!0),(()=>{s.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(s.add("host-browser",e),s.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),s.add("dom",e),s("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(s.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),s.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),s.add("khtml",r.includes("Konqueror")?n:void 0),s.add("edge",parseFloat(t.split("Edge/")[1])||void 0),s.add("opr",parseFloat(t.split("OPR/")[1])||void 0),s.add("webkit",!s("wp")&&!s("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),s.add("chrome",!s("edge")&&!s("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),s.add("android",!s("wp")&&parseFloat(t.split("Android ")[1])||void 0),s.add("safari",!r.includes("Safari")||s("wp")||s("chrome")||s("android")||s("edge")||s("opr")?void 0:parseFloat(r.split("Version/")[1])),s.add("mac",r.includes("Macintosh")),!s("wp")&&/(iPhone|iPod|iPad)/.test(t)){const e=RegExp.$1.replace(/P/,"p"),r=/OS ([\d_]+)/.test(t)?RegExp.$1:"1",n=parseFloat(r.replace(/_/,".").replaceAll("_",""));s.add(e,n),s.add("ios",n)}s("webkit")||(!t.includes("Gecko")||s("wp")||s("khtml")||s("edge")||s.add("mozilla",n),s("mozilla")&&s.add("ff",parseFloat(t.split("Firefox/")[1]||t.split("Minefield/")[1])||void 0))}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),r=/iPhone/i.test(e);t&&s.add("esri-mobile",t),r&&s.add("esri-iPhone",r),s.add("esri-geolocation",!!navigator.geolocation)}s.add("esri-wasm","WebAssembly"in globalThis),s.add("esri-performance-mode-frames-between-render",20),s.add("esri-force-performance-mode",!1),s.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,t=!1===globalThis.crossOriginIsolated;return e&&!t})),s.add("wasm-simd",(()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])))),s.add("esri-atomics","Atomics"in globalThis),s.add("esri-workers","Worker"in globalThis),s.add("web-feat:cache","caches"in globalThis),s.add("esri-workers-arraybuffer-transfer",!s("safari")||Number(s("safari"))>=12),s.add("workers-pool-size",8),s.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),s.add("featurelayer-simplify-payload-size-factors",[1,1,4]),s.add("featurelayer-animation-enabled",!0),s.add("featurelayer-snapshot-enabled",!0),s.add("featurelayer-snapshot-point-min-threshold",8e4),s.add("featurelayer-snapshot-point-max-threshold",4e5),s.add("featurelayer-snapshot-point-coverage",.1),s.add("featurelayer-advanced-symbols",!1),s.add("featurelayer-pbf",!0),s.add("featurelayer-pbf-statistics",!1),s.add("feature-layers-workers",!0),s.add("feature-polyline-generalization-factor",1),s.add("mapview-transitions-duration",200),s.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),s.add("mapserver-pbf-version-support",10.81),s.add("mapservice-popup-identify-max-tolerance",20),s.add("heatmap-allow-raster-fallback",!1),s.add("heatmap-force-raster",!1),s("host-webworker")||s("host-browser")&&(s.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),s.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{s.add("esri-image-decode",!0,!0,!0)})).catch((()=>{s.add("esri-image-decode",!1,!0,!0)}))}return!1})),s.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})))})()},66374:(e,t,r)=>{"use strict";function n(e){const t=[];return function*(){yield*t;for(const r of e)t.push(r),yield r}}function s(e,t){for(const r of e)if(null!=r&&t(r))return r}function o(e){return null!=e&&"function"==typeof e[Symbol.iterator]}r.d(t,{Fs:()=>n,TW:()=>o,sE:()=>s})},22974:(e,t,r)=>{"use strict";r.d(t,{Vo:()=>a,d9:()=>i,fS:()=>h,tZ:()=>c,y7:()=>p,yd:()=>o});var n=r(67676),s=r(1533);function o(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&o(e[r],!0));else for(r in e)e.hasOwnProperty(r)&&void 0===e[r]&&delete e[r];return e}function i(e){if(!e||"object"!=typeof e||"function"==typeof e)return e;const t=d(e);if(null!=t)return t;if(c(e))return e.clone();if(l(e))return e.map(i);if(u(e))return e.clone();const r={};for(const t of Object.getOwnPropertyNames(e))r[t]=i(e[t]);return r}function a(e){if(!e||"object"!=typeof e||"function"==typeof e||"HTMLElement"in globalThis&&e instanceof HTMLElement)return e;const t=d(e);if(null!=t)return t;if(l(e)){let t=!0;const r=e.map((e=>{const r=a(e);return null!=e&&null==r&&(t=!1),r}));return t?r:null}if(c(e))return e.clone();if(e instanceof File||e instanceof Blob)return e;if(!u(e)){const t=new(0,Object.getPrototypeOf(e).constructor);for(const r of Object.getOwnPropertyNames(e)){const n=e[r],s=a(n);if(null!=n&&null==s)return null;t[r]=s}return t}return null}function c(e){return"function"==typeof e.clone}function l(e){return"function"==typeof e.map&&"function"==typeof e.forEach}function u(e){return"function"==typeof e.notifyChange&&"function"==typeof e.watch}function f(e){if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function d(e){if((0,s.W0)(e)||(0,s.lq)(e)||(0,s.KZ)(e)||(0,s.z3)(e)||(0,s.Uc)(e)||(0,s.Hx)(e)||(0,s.ZY)(e)||(0,s.xZ)(e)||(0,s.fS)(e))return e.slice();if(e instanceof Date)return new Date(e.getTime());if(e instanceof ArrayBuffer)return e.slice(0,e.byteLength);if(e instanceof Map){const t=new Map;for(const[r,n]of e)t.set(r,i(n));return t}if(e instanceof Set){const t=new Set;for(const r of e)t.add(i(r));return t}return null}function h(e,t){return e===t||"number"==typeof e&&isNaN(e)&&"number"==typeof t&&isNaN(t)||"function"==typeof e?.getTime&&"function"==typeof t?.getTime&&e.getTime()===t.getTime()||!1}function p(e,t){return e===t||(null==e||"string"==typeof e?e===t:"number"==typeof e?e===t||"number"==typeof t&&isNaN(e)&&isNaN(t):e instanceof Date?t instanceof Date&&e.getTime()===t.getTime():Array.isArray(e)?Array.isArray(t)&&(0,n.fS)(e,t):e instanceof Set?t instanceof Set&&function(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}(e,t):e instanceof Map?t instanceof Map&&function(e,t){if(e.size!==t.size)return!1;for(const[r,n]of e){const e=t.get(r);if(e!==n||void 0===e&&!t.has(r))return!1}return!0}(e,t):!!f(e)&&f(t)&&function(e,t){if(null===e||null===t)return!1;const r=Object.keys(e);if(null===t||Object.keys(t).length!==r.length)return!1;for(const n of r)if(e[n]!==t[n]||!Object.prototype.hasOwnProperty.call(t,n))return!1;return!0}(e,t))}},70586:(e,t,r)=>{"use strict";function n(e,t){if(null==e)throw new Error(t??"value is None")}function s(e){return e?.destroy(),null}function o(e){return e?.dispose(),null}function i(e){return e?.remove(),null}function a(e){return e?.abort(),null}function c(e){return e?.release(),null}function l(e,t,r){return null!=e&&null!=t?null!=r?r(e,t):e.equals(t):e===t}r.d(t,{IM:()=>a,M2:()=>o,O3:()=>n,RY:()=>c,SC:()=>s,_W:()=>l,hw:()=>i})},41213:(e,t,r)=>{"use strict";r.d(t,{Y:()=>s});const n=[];function s(e){n.push(e),1===n.length&&queueMicrotask((()=>{const e=n.slice();n.length=0;for(const t of e)t()}))}},78286:(e,t,r)=>{"use strict";r.d(t,{RB:()=>i,RH:()=>s,hS:()=>o});var n=r(22974);function s(e,t,r=!1){return c(e,t,r)}function o(e,t){if(null!=t)return t[e]||a(e.split("."),!1,t)}function i(e,t,r){const n=e.split("."),s=n.pop(),o=a(n,!0,r);o&&s&&(o[s]=t)}function a(e,t,r){let n=r;for(const r of e){if(null==n)return;if(!(r in n)){if(!t)return;n[r]={}}n=n[r]}return n}function c(e,t,r){return t?Object.keys(t).reduce(((e,s)=>{let o=e[s],i=t[s];return o===i?e:void 0===o?(e[s]=(0,n.d9)(i),e):(Array.isArray(i)||Array.isArray(e)?(o=o?Array.isArray(o)?e[s]=o.concat():e[s]=[o]:e[s]=[],i&&(Array.isArray(i)||(i=[i]),r?i.forEach((e=>{o.includes(e)||o.push(e)})):e[s]=i.concat())):i&&"object"==typeof i?e[s]=c(o,i,r):e.hasOwnProperty(s)&&!t.hasOwnProperty(s)||(e[s]=i),e)}),e||{}):e}},95330:(e,t,r)=>{"use strict";r.d(t,{e4:()=>S,UO:()=>A,OT:()=>O,zE:()=>l,hh:()=>N,Ds:()=>E,as:()=>v,WW:()=>w,R8:()=>_,D_:()=>m,Hc:()=>d,y8:()=>k,fu:()=>g,$F:()=>y,r9:()=>h,k_:()=>u,H9:()=>p,Yn:()=>j,gx:()=>T,Hl:()=>b});var n=r(50758);const s=(o=globalThis,{setTimeout:(e,t)=>{const r=o.setTimeout(e,t);return(0,n.kB)((()=>o.clearTimeout(r)))}});var o,i=r(20102),a=r(91460),c=(r(92604),r(70586));function l(e="Aborted"){return new i.Z("AbortError",e)}function u(e,t="Aborted"){if(d(e))throw l(t)}function f(e){return null!=e?"aborted"in e?e:e.signal:e}function d(e){const t=f(e);return null!=t&&t.aborted}function h(e){if(m(e))throw e}function p(e){if(!m(e))throw e}function g(e,t){const r=f(e);if(null!=r){if(!r.aborted)return(0,a.IH)(r,"abort",(()=>t()));t()}}function y(e,t){const r=f(e);if(null!=r)return u(r),(0,a.IH)(r,"abort",(()=>t(l())))}function b(e,t){return null==f(t)?e:new Promise(((r,n)=>{let s=g(t,(()=>n(l())));const o=()=>{s=(0,c.hw)(s)};e.then(o,o),e.then(r,n)}))}function m(e){return"AbortError"===e?.name}async function _(e){try{return await e}catch(e){if(!m(e))throw e;return}}async function v(e){if(!e)return;if("function"!=typeof e.forEach){const t=Object.keys(e),r=t.map((t=>e[t])),n=await v(r),s={};return t.map(((e,t)=>s[e]=n[t])),s}const t=e;return Promise.allSettled(t).then((e=>Array.from(t,((t,r)=>{const n=e[r];return"fulfilled"===n.status?{promise:t,value:n.value}:{promise:t,error:n.reason}}))))}async function w(e){return(await v(e)).filter((e=>!!e.value)).map((e=>e.value))}async function O(e){return(await Promise.allSettled(e)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}async function A(e){return(await Promise.allSettled(e)).filter((e=>"rejected"===e.status)).map((e=>e.reason))}function S(e,t=void 0,r){const n=new AbortController;return g(r,(()=>n.abort())),new Promise(((r,s)=>{let o=setTimeout((()=>{o=0,r(t)}),e);g(n,(()=>{o&&(clearTimeout(o),s(l()))}))}))}function k(e){return e&&"function"==typeof e.then}function T(e){return k(e)?e:Promise.resolve(e)}function E(e,t=-1){let r,n,s,o,i=null;const a=(...c)=>{if(r){n=c,o&&o.reject(l()),o=N();const e=o.promise;if(i){const e=i;i=null,e.abort()}return e}if(s=o||N(),o=null,t>0){const n=new AbortController;r=T(e(...c,n.signal));const s=r;S(t).then((()=>{r===s&&(o?n.abort():i=n)}))}else r=1,r=T(e(...c));const u=()=>{const e=n;n=s=r=i=null,null!=e&&a(...e)},f=r,d=s;return f.then(u,u),f.then(d.resolve,d.reject),d.promise};return a}function N(){let e,t;const r=new Promise(((r,n)=>{e=r,t=n})),n=t=>{e(t)};return n.resolve=t=>e(t),n.reject=e=>t(e),n.timeout=(e,t)=>s.setTimeout((()=>n.reject(t)),e),n.promise=r,n}async function j(e){await Promise.resolve(),u(e)}},1654:(e,t,r)=>{"use strict";r.d(t,{MU:()=>_,Os:()=>g});var n=r(41213),s=r(54790),o=r(44553),i=r(95330),a=r(76882);class c{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let l=0;const u={time:(0,a.HA)(0),deltaTime:(0,a.HA)(0),elapsedFrameTime:(0,a.HA)(0),frameDuration:(0,a.HA)(0)},f=["prepare","preRender","render","postRender","update","finish"],d=[],h=new o.Z,p={frameTasks:h,willDispatch:!1,clearFrameTasks:function(e=!1){h.forAll((e=>{e.removed=!0})),e&&b()},dispatch:m,executeFrameTasks:function(e){const t=(0,a.HA)(e-l);l=e;const r=1e3/60,n=Math.max(0,t-r);u.time=e,u.frameDuration=(0,a.HA)(r-n);for(let r=0;r<f.length;r++){const n=performance.now(),s=f[r];h.forAll((n=>{n.paused||n.removed||(0===r&&n.ticks++,n.phases[s]&&(u.elapsedFrameTime=(0,a.HA)(performance.now()-e),u.deltaTime=0===n.ticks?(0,a.HA)(0):t,n.phases[s]?.call(n,u)))})),v[r].record(performance.now()-n)}b(),w.record(performance.now()-e)}};function g(e){const t=new c(e);return d.push(t),p.willDispatch||(p.willDispatch=!0,(0,n.Y)(m)),t}const y=new o.Z;function b(){h.forAll((e=>{e.removed&&y.push(e)})),h.removeUnorderedMany(y.data,y.length),y.clear()}function m(){for(;d.length;){const e=d.shift();e.isActive&&e.callback()}p.willDispatch=!1}function _(e=1,t){const r=(0,i.hh)(),s=()=>{(0,i.Hc)(t)?r.reject((0,i.zE)()):0===e?r():(--e,(0,n.Y)((()=>s())))};return s(),r.promise}const v=f.map((e=>new s.Z(e))),w=new s.Z("total")},19153:(e,t,r)=>{"use strict";r.d(t,{Cb:()=>l,Qs:()=>a,gx:()=>i,hP:()=>c});var n=r(78286);const s=/\{([^\}]+)\}/g;function o(e){return e??""}function i(e,t){return t?e.replaceAll(s,"object"==typeof t?(e,r)=>o((0,n.hS)(r,t)):(e,r)=>o(t(r))):e}function a(e,t){return e.replaceAll(/([\.$?*|{}\(\)\[\]\\\/\+\-^])/g,(e=>t&&t.includes(e)?e:`\\${e}`))}function c(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t}function l(e){return(new DOMParser).parseFromString(e||"","text/html").body.innerText||""}},76882:(e,t,r)=>{"use strict";function n(e){return e}function s(e){return 1e3*e}function o(e){return e}r.d(t,{HA:()=>n,_H:()=>o,up:()=>s})},1533:(e,t,r)=>{"use strict";r.d(t,{B3:()=>m,Hx:()=>u,KZ:()=>a,Op:()=>v,Q7:()=>_,Uc:()=>l,W0:()=>o,Xw:()=>g,ZY:()=>f,c8:()=>b,eP:()=>s,fS:()=>h,kJ:()=>p,lq:()=>i,xZ:()=>d,z3:()=>c});var n=r(43090);function s(e){return e instanceof ArrayBuffer}function o(e){return"Int8Array"===e?.constructor?.name}function i(e){return"Uint8Array"===e?.constructor?.name}function a(e){return"Uint8ClampedArray"===e?.constructor?.name}function c(e){return"Int16Array"===e?.constructor?.name}function l(e){return"Uint16Array"===e?.constructor?.name}function u(e){return"Int32Array"===e?.constructor?.name}function f(e){return"Uint32Array"===e?.constructor?.name}function d(e){return"Float32Array"===e?.constructor?.name}function h(e){return"Float64Array"===e?.constructor?.name}function p(e){return!("buffer"in e)}function g(...e){return e.reduce(((e,t)=>e+(t?p(t)?(0,n.do)(t,(0,n.G3)()):t.byteLength+y:0)),0)}r(80442);const y=145,b=1024;function m(e){return h(e)||d(e)||u(e)||c(e)||o(e)}function _(e){return h(e)||d(e)}function v(e){return h(e)?179769e303:d(e)?3402823e32:f(e)?4294967295:l(e)?65535:i(e)||a(e)?255:u(e)?2147483647:c(e)?32767:o(e)?127:256}},99001:(e,t,r)=>{"use strict";r.d(t,{D:()=>s});let n=0;function s(){return++n}},17452:(e,t,r)=>{"use strict";r.d(t,{$U:()=>ce,AH:()=>Q,B7:()=>j,D6:()=>z,Fv:()=>Z,HK:()=>Y,Hu:()=>me,IR:()=>Ae,Ie:()=>ye,L:()=>T,Ml:()=>we,P$:()=>G,PF:()=>W,Qj:()=>ge,R9:()=>w,TI:()=>k,YP:()=>V,Yd:()=>de,ZN:()=>_e,Zo:()=>R,_l:()=>re,b7:()=>C,ed:()=>U,fZ:()=>Oe,fl:()=>ve,fw:()=>se,gi:()=>ne,hF:()=>q,hO:()=>le,io:()=>oe,jc:()=>K,kl:()=>F,mN:()=>E,oC:()=>ie,oh:()=>B,qg:()=>P,rS:()=>X,sJ:()=>te,tD:()=>$,tm:()=>L,u0:()=>N,v_:()=>J,vt:()=>he,xs:()=>pe});var n=r(68773),s=r(67676),o=r(20102),i=r(96674),a=r(92604),c=r(19745),l=r(49917);const u=a.Z.getLogger("esri.core.urlUtils"),f=n.default.request,d="esri/config: esriConfig.request.proxyUrl is not set.",h=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,p=/^\s*http:/i,g=/^\s*https:/i,y=/^\s*file:/i,b=/:\d+$/,m=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,_=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),v=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$");class w{constructor(e=""){this.uri=e,this.scheme=null,this.authority=null,this.path=null,this.query=null,this.fragment=null,this.user=null,this.password=null,this.host=null,this.port=null;let t=this.uri.match(_);this.scheme=t[2]||(t[1]?"":null),this.authority=t[4]||(t[3]?"":null),this.path=t[5],this.query=t[7]||(t[6]?"":null),this.fragment=t[9]||(t[8]?"":null),null!=this.authority&&(t=this.authority.match(v),this.user=t[3]||null,this.password=t[4]||null,this.host=t[6]||t[7],this.port=t[9]||null)}toString(){return this.uri}}const O={};let A=new w(n.default.applicationUrl);let S=function(){const e=A.path,t=e.substring(0,e.lastIndexOf(e.split("/")[e.split("/").length-1]));return`${A.scheme}://${A.host}${null!=A.port?`:${A.port}`:""}${t}`}();const k=()=>A,T=()=>S;function E(e){if(!e)return null;const t={path:null,query:null},r=new w(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.substring(0,n),t.query=N(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.substring(0,t.path.length-(r.fragment.length+1)))),t}function N(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,s;t<0?(n=decodeURIComponent(e),s=""):(n=decodeURIComponent(e.slice(0,t)),s=decodeURIComponent(e.slice(t+1)));let o=r[n];"string"==typeof o&&(o=r[n]=[o]),Array.isArray(o)?o.push(s):r[n]=s}return r}function j(e,t){return e?t&&"function"==typeof t?Object.keys(e).map((r=>encodeURIComponent(r)+"="+encodeURIComponent(t(r,e[r])))).join("&"):Object.keys(e).map((r=>{const n=e[r];if(null==n)return"";const s=encodeURIComponent(r)+"=",o=t?.[r];return o?s+encodeURIComponent(o(n)):Array.isArray(n)?n.map((e=>(0,i.AK)(e)?s+encodeURIComponent(JSON.stringify(e)):s+encodeURIComponent(e))).join("&"):(0,i.AK)(n)?s+encodeURIComponent(JSON.stringify(n)):s+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function C(e=!1){let t,r=f.proxyUrl;if("string"==typeof e){t=ce(e);const n=U(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw u.warn(d),new o.Z("urlutils:proxy-not-set",d);return t&&ue()&&(r=le(r)),E(r)}function P(e){const t=U(e);let r,n;if(t){const e=I(t.proxyUrl);r=e.path,n=e.query?N(e.query):null}if(r){const t=E(e);e=r+"?"+t.path;const s=j({...n,...t.query});s&&(e=`${e}?${s}`)}return e}const M={path:"",query:""};function I(e){const t=e.indexOf("?");return-1!==t?(M.path=e.slice(0,t),M.query=e.slice(t+1)):(M.path=e,M.query=null),M}function x(e){return(e=fe(e=pe(e=I(e).path),!0)).toLowerCase()}function $(e){const t={proxyUrl:e.proxyUrl,urlPrefix:x(e.urlPrefix)},r=f.proxyRules,n=t.urlPrefix;let s=r.length;for(let e=0;e<r.length;e++){const t=r[e].urlPrefix;if(0===n.indexOf(t)){if(n.length===t.length)return-1;s=e;break}0===t.indexOf(n)&&(s=e+1)}return r.splice(s,0,t),s}function U(e){const t=f.proxyRules,r=x(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function R(e,t){if(!e||!t)return!1;e=D(e),t=D(t);const r=(0,c.a)(e),n=(0,c.a)(t);return null!=r&&null!=n?r.portalHostname===n.portalHostname:null==r&&null==n&&z(e,t,!0)}function L(e,t){return e=D(e),t=D(t),fe(e)===fe(t)}function D(e){const t=(e=Z(e)).indexOf("/sharing");return t>0?e.substring(0,t):e.replace(/\/+$/,"")}function B(e){const t=t=>null==t||t instanceof RegExp&&t.test(e)||"string"==typeof t&&e.startsWith(t),r=f.interceptors;if(r)for(const e of r)if(Array.isArray(e.urls)){if(e.urls.some(t))return e}else if(t(e.urls))return e;return null}function z(e,t,r=!1){if(!e||!t)return!1;const n=be(e),s=be(t);return!(!r&&n.scheme!==s.scheme)&&null!=n.host&&null!=s.host&&n.host.toLowerCase()===s.host.toLowerCase()&&n.port===s.port}function F(e){if("string"==typeof e){if(!V(e))return!0;e=be(e)}if(z(e,A))return!0;const t=f.trustedServers||[];for(let r=0;r<t.length;r++){const n=H(t[r]);for(let t=0;t<n.length;t++)if(z(e,n[t]))return!0}return!1}function H(e){return O[e]||(ae(e)||ie(e)?O[e]=[new w(q(e))]:O[e]=[new w(`http://${e}`),new w(`https://${e}`)]),O[e]}function q(e,t=S,r){return ie(e)?r&&r.preserveProtocolRelative?e:"http"===A.scheme&&A.authority===G(e).slice(2)?`http:${e}`:`https:${e}`:ae(e)?e:J("/"===e[0]?function(e){const t=e.indexOf("//"),r=e.indexOf("/",t+2);return-1===r?e:e.slice(0,r)}(t):t,e)}function W(e,t=S,r){if(null==e||!V(e))return e;const n=Z(e),s=n.toLowerCase(),o=Z(t).toLowerCase().replace(/\/+$/,""),i=r?Z(r).toLowerCase().replace(/\/+$/,""):null;if(i&&0!==o.indexOf(i))return e;const a=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=a(s,"/",s.indexOf("//")+2),l=-1;for(;s.slice(0,c+1)===o.slice(0,c)+"/"&&(l=c+1,c!==s.length);)c=a(s,"/",c+1);if(-1===l)return e;if(i&&l<i.length)return e;e=n.slice(l);const u=o.slice(l-1).replaceAll(/[^/]+/g,"").length;if(u>0)for(let t=0;t<u;t++)e=`../${e}`;else e=`./${e}`;return e}function Z(e){return function(e){const t=f.httpsDomains;if(!function(e){return null!=e&&p.test(e)||"http"===A.scheme&&ie(e)}(e))return e;const r=e.indexOf("/",7);let n;if(n=-1===r?e:e.slice(0,r),n=n.toLowerCase().slice(7),b.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===A.scheme&&n===A.authority&&!m.test(e)||(ue()&&n===A.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||ue()&&!U(e))&&(e=le(e)),e}(e=function(e){return e.replace(/^(https?:\/\/)(arcgis\.com)/i,"$1www.$2")}(e=function(e){if(/^https?:\/\//i.test(e)){const t=I(e);e=(e=t.path.replaceAll(/\/{2,}/g,"/")).replace("/","//"),t.query&&(e+=`?${t.query}`)}return e}(e=q(e=e.trim()))))}function J(...e){const t=e.filter(s.pC);if(!t?.length)return;const r=[];if(V(t[0])){const e=t[0],n=e.indexOf("//");-1!==n&&(r.push(e.slice(0,n+1)),function(e){return null!=e&&y.test(e)}(t[0])&&(r[0]+="/"),t[0]=e.slice(n+2))}else"/"===t[0][0]&&r.push("");const n=t.reduce(((e,t)=>t?e.concat(t.split("/")):e),[]);for(let e=0;e<n.length;e++){const t=n[e];".."===t&&r.length>0&&".."!==r[r.length-1]?r.pop():(!t&&e===n.length-1||t&&("."!==t||0===r.length))&&r.push(t)}return r.join("/")}function G(e,t=!1){if(null==e||K(e)||Y(e))return null;let r=e.indexOf("://");if(-1===r&&ie(e))r=2;else{if(-1===r)return null;r+=3}const n=e.indexOf("/",r);return-1!==n&&(e=e.slice(0,n)),t&&(e=fe(e,!0)),e}function V(e){return ie(e)||ae(e)}function K(e){return null!=e&&"blob:"===e.slice(0,5)}function Y(e){return null!=e&&"data:"===e.slice(0,5)}function Q(e){const t=te(e);return t&&t.isBase64?(0,l.R)(t.data):null}function X(e){return(0,l.s)(e).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}const ee=/^data:(.*?)(;base64)?,(.*)$/;function te(e){const t=e.match(ee);if(!t)return null;const[,r,n,s]=t;return{mediaType:r,isBase64:!!n,data:s}}function re(e){return e.isBase64?`data:${e.mediaType};base64,${e.data}`:`data:${e.mediaType},${e.data}`}async function ne(e){return(await fetch(e)).blob()}function se(e){const t=Q(e);if(!t)return null;const r=te(e);return new Blob([t],{type:r.mediaType})}function oe(e,t){!function(e,t){if(!e)return!1;const r=document.createElement("a");if(!("download"in r))return!1;const n=URL.createObjectURL(e);r.download=t,r.href=n,r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}(e,t)}function ie(e){return null!=e&&"/"===e[0]&&"/"===e[1]}function ae(e){return null!=e&&h.test(e)}function ce(e){return null!=e&&g.test(e)||"https"===A.scheme&&ie(e)}function le(e){return ie(e)?`https:${e}`:e.replace(p,"https:")}function ue(){return"https"===A.scheme}function fe(e,t=!1){return ie(e)?e.slice(2):(e=e.replace(h,""),t&&e.length>1&&"/"===e[0]&&"/"===e[1]&&(e=e.slice(2)),e)}function de(e){let t=0;if(V(e)){const r=e.indexOf("//");-1!==r&&(t=r+2)}const r=e.lastIndexOf("/");return r<t?e:e.slice(0,r+1)}function he(e,t){if(!e)return"";const r=E(e).path.replace(/\/+$/,""),n=r.substring(r.lastIndexOf("/")+1);if(!t?.length)return n;const s=new RegExp(`.(${t.join("|")})$`,"ig");return n.replace(s,"")}function pe(e){return e.endsWith("/")?e:`${e}/`}function ge(e){return e.replace(/\/+$/,"")}function ye(e,t,r){if(!(t&&r&&e&&V(e)))return e;const n=e.indexOf("//"),s=e.indexOf("/",n+2),o=e.indexOf(":",n+2),i=Math.min(s<0?e.length:s,o<0?e.length:o);return e.slice(n+2,i).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(i)}`}function be(e){return"string"==typeof e?new w(q(e)):(e.scheme||(e.scheme=A.scheme),e)}function me(e,t){const r=E(e),n=Object.keys(r.query||{});return n.length>0&&t&&t.warn("removeQueryParameters()",`Url query parameters are not supported, the following parameters have been removed: ${n.join(", ")}.`),r.path}function _e(e,t,r){const n=E(e),s=n.query||{};return s[t]=String(r),`${n.path}?${j(s)}`}function ve(e,t){if(!t)return e;const r=E(e),n=r.query||{};for(const[e,r]of Object.entries(t))null!=r&&(n[e]=r);const s=j(n);return s?`${r.path}?${s}`:r.path}function we(e){if(null==e)return null;const t=e.match(Se);return t?t[2]:null}function Oe(e){if(null==e)return null;const t=e.match(Se);return t?{path:t[1],extension:t[2]}:{path:e,extension:null}}async function Ae(e){return"string"==typeof e?te(e)??{data:e}:new Promise(((t,r)=>{const n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(te(n.result)),n.onerror=e=>r(e)}))}const Se=/([^.]*)\.([^\/]*)$/},728:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>_});var n=r(40330),s=r(20102),o=r(91460),i=r(50758),a=r(70586),c=r(95330);const l={statsWorker:()=>Promise.all([r.e(7126),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(7267)]).then(r.bind(r,37267)),geometryEngineWorker:()=>Promise.all([r.e(5837),r.e(8228)]).then(r.bind(r,48227)),CSVSourceWorker:()=>Promise.all([r.e(7126),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(3794),r.e(5883)]).then(r.bind(r,27793)),EdgeProcessingWorker:()=>Promise.all([r.e(6481),r.e(3677),r.e(2043),r.e(3557)]).then(r.bind(r,49594)),ElevationSamplerWorker:()=>Promise.all([r.e(3615),r.e(3952),r.e(3215),r.e(6481),r.e(6459),r.e(9995)]).then(r.bind(r,61787)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(7126),r.e(957),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(4599),r.e(9e3),r.e(9213),r.e(3794),r.e(664)]).then(r.bind(r,65967)),GeoJSONSourceWorker:()=>Promise.all([r.e(7126),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(3794),r.e(1690)]).then(r.bind(r,97845)),LercWorker:()=>r.e(3027).then(r.bind(r,23027)),MemorySourceWorker:()=>Promise.all([r.e(7126),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(3794),r.e(946)]).then(r.bind(r,30639)),PBFDecoderWorker:()=>Promise.all([r.e(3952),r.e(3215),r.e(1916)]).then(r.bind(r,61916)),Pipeline:()=>Promise.all([r.e(7126),r.e(957),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(4599),r.e(9e3),r.e(9213),r.e(3794),r.e(4325),r.e(3966),r.e(3742)]).then(r.bind(r,27937)),PointCloudWorker:()=>Promise.all([r.e(3952),r.e(6170),r.e(5476),r.e(9005)]).then(r.bind(r,75326)),RasterWorker:()=>Promise.all([r.e(3615),r.e(3952),r.e(3215),r.e(6610),r.e(4216),r.e(1419)]).then(r.bind(r,61576)),SceneLayerSnappingSourceWorker:()=>Promise.all([r.e(6481),r.e(6170),r.e(3677),r.e(2043),r.e(4275)]).then(r.bind(r,73248)),SceneLayerWorker:()=>Promise.all([r.e(3952),r.e(1412)]).then(r.bind(r,31412)),WFSSourceWorker:()=>Promise.all([r.e(7126),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(3794),r.e(8089),r.e(3606)]).then(r.bind(r,43230)),WorkerTileHandler:()=>Promise.all([r.e(4325),r.e(9805),r.e(3425),r.e(5027)]).then(r.bind(r,56456)),Lyr3DWorker:()=>r.e(1455).then(r.bind(r,41455))};var u=r(94362),f=r(17202);const{CLOSE:d,ABORT:h,INVOKE:p,RESPONSE:g,OPEN_PORT:y,ON:b}=u.MessageType;class m{constructor(e){this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._invoke=e,this._timer=null,this._process=this._process.bind(this)}push(e){e.type===u.MessageType.ABORT?this._cancelledJobIds.add(e.jobId):(this._invokeMessages.push(e),null===this._timer&&(this._timer=setTimeout(this._process,0)))}clear(){this._invokeMessages.length=0,this._cancelledJobIds.clear(),this._timer=null}_process(){this._timer=null;for(const e of this._invokeMessages)this._cancelledJobIds.has(e.jobId)||this._invoke(e);this._cancelledJobIds.clear(),this._invokeMessages.length=0}}class _{static connect(e){const t=new MessageChannel;let r;r="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const n=new _(t.port1,{channel:t,client:r});return"object"==typeof r&&"remoteClient"in r&&(r.remoteClient=n),_.clients.set(n,r),t.port2}static loadWorker(e){const t=l[e];return t?t():Promise.resolve(null)}constructor(e,t,r){this._port=e,this._jobQueue=r,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new m((e=>this._onInvokeMessage(e))),this._client=t.client,this._onMessage=this._onMessage.bind(this),this._channel=t.channel,this._schedule=t.schedule,this._port.addEventListener("message",this._onMessage),this._port.start()}close(){this._post({type:d}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){const n=r?.signal,o=r?.transferList;if(!this._port)return Promise.reject(new s.Z("worker:port-closed",`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const i=(0,u.jt)();return new Promise(((r,s)=>{if((0,c.Hc)(n))return this._processWork(),void s((0,c.zE)());const l=(0,c.fu)(n,(()=>{const e=this._outJobs.get(i);e&&(this._outJobs.delete(i),this._processWork(),(0,a.hw)(e.abortHandle),this._post({type:h,jobId:i}),s((0,c.zE)()))})),u={resolve:r,reject:s,abortHandle:l,debugInfo:e};this._outJobs.set(i,u),this._post({type:p,jobId:i,methodName:e,abortable:null!=n},t,o)}))}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:u.MessageType.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),(0,i.kB)((()=>{r.port1.postMessage({type:u.MessageType.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}))}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:y,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=2)return;const e=this._jobQueue?.pop();if(!e)return;const{methodName:t,data:r,invokeOptions:n,resolver:s}=e;this.invoke(t,r,n).then((e=>s.resolve(e))).catch((e=>s.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{(0,a.hw)(e.abortHandle),e.reject((0,c.zE)(`Worker closing, aborting job calling '${e.debugInfo}'`))})),this._inJobs.clear(),this._outJobs.clear(),this._invokeQueue.clear(),this._port=null,this._client=null,this._schedule=null}_onMessage(e){null!=this._schedule?this._schedule((()=>this._processMessage(e))):this._processMessage(e)}_processMessage(e){const t=(0,u.QM)(e);if(t)switch(t.type){case g:this._onResponseMessage(t);break;case p:this._invokeQueue.push(t);break;case h:this._onAbortMessage(t);break;case d:this._onCloseMessage();break;case y:this._onOpenPortMessage(t);break;case b:this._onOnMessage(t)}}_onAbortMessage(e){const t=this._inJobs,r=e.jobId,n=t.get(r);this._invokeQueue.push(e),n&&(n.controller&&n.controller.abort(),t.delete(r))}_onCloseMessage(){const e=this._client;this._close(),e&&"destroy"in e&&_.clients.get(this)===e&&e.destroy(),_.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n,abortable:s}=e,o=s?new AbortController:null,i=this._inJobs;let a,l=this._client,f=l[t];try{if(!f&&t&&t.includes(".")){const e=t.split(".");for(let t=0;t<e.length-1;t++)l=l[e[t]],f=l[e[t+1]]}if("function"!=typeof f)throw new TypeError(`${t} is not a function`);a=f.call(l,n,{client:this,signal:o?o.signal:null})}catch(e){return void this._post({type:g,jobId:r,error:(0,u.AB)(e)})}(0,c.y8)(a)?(i.set(r,{controller:o,promise:a}),a.then((e=>{i.has(r)&&(i.delete(r),this._post({type:g,jobId:r},e))}),(e=>{i.has(r)&&(i.delete(r),(0,c.D_)(e)||this._post({type:g,jobId:r,error:(0,u.AB)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:g,jobId:r},a)}_onOpenPortMessage(e){new _(e.port,{client:this._client})}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,o.on)(e.port,"message",(e=>{const s=(0,u.QM)(e);s?.type===u.MessageType.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){const{jobId:t,error:r,data:n}=e,o=this._outJobs;if(!o.has(t))return;const i=o.get(t);o.delete(t),this._processWork(),(0,a.hw)(i.abortHandle),r?i.reject(s.Z.fromJSON(JSON.parse(r))):i.resolve(n)}_post(e,t,r){return(0,u.oi)(this._port,e,t,r)}}_.kernelInfo={buildDate:f.r,fullVersion:n.bR,revision:f.$},_.clients=new Map},94362:(e,t,r)=>{"use strict";r.d(t,{AB:()=>a,MessageType:()=>n,QM:()=>l,jt:()=>i,oi:()=>c});var n,s=r(80442);!function(e){e[e.HANDSHAKE=0]="HANDSHAKE",e[e.OPEN=1]="OPEN",e[e.OPENED=2]="OPENED",e[e.RESPONSE=3]="RESPONSE",e[e.INVOKE=4]="INVOKE",e[e.ABORT=5]="ABORT",e[e.CLOSE=6]="CLOSE",e[e.OPEN_PORT=7]="OPEN_PORT",e[e.ON=8]="ON"}(n||(n={}));let o=0;function i(){return o++}function a(e){return e?"string"==typeof e?JSON.stringify({name:"message",message:e}):e.toJSON?JSON.stringify(e):JSON.stringify({name:e.name,message:e.message,details:e.details||{stack:e.stack}}):null}function c(e,t,r,o){if(t.type===n.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==n.INVOKE&&t.type!==n.RESPONSE)return void e.postMessage(t);let i;if(function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(i=u(r.transferList),t.data=r.result):(i=u(o),t.data=r),i){if((0,s.Z)("ff"))for(const r of i)if("byteLength"in r&&r.byteLength>267386880){const r="Worker call with large ArrayBuffer would crash Firefox";switch(t.type){case n.INVOKE:throw r;case n.RESPONSE:return void c(e,{type:n.RESPONSE,jobId:t.jobId,error:a(r)})}}e.postMessage(t,i)}else e.postMessage(t)}function l(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function u(e){if(!e?.length)return null;if((0,s.Z)("esri-workers-arraybuffer-transfer"))return e;const t=e.filter((e=>!function(e){return e instanceof ArrayBuffer||"ArrayBuffer"===e?.constructor?.name}(e)));return t.length?t:null}},40330:(e,t,r)=>{"use strict";r.d(t,{Dp:()=>u,bR:()=>c,i8:()=>i,id:()=>a,qh:()=>l});var n=r(80442),s=r(17452),o=r(17202);Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const i="4.29";let a,c=i;function l(e){a=e}function u(e){const t=a?.findCredential(e);return t?.token?(0,s.ZN)(e,"token",t.token):e}c=`4.29.0-next.${o.r}`,(0,n.Z)("host-webworker")},19745:(e,t,r)=>{"use strict";r.d(t,{P:()=>i,a:()=>o});const n=/^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i,s={devext:{customBaseUrl:"mapsdevext.arcgis.com",portalHostname:"devext.arcgis.com"},qaext:{customBaseUrl:"mapsqa.arcgis.com",portalHostname:"qaext.arcgis.com"},www:{customBaseUrl:"maps.arcgis.com",portalHostname:"www.arcgis.com"}};function o(e){const t=e?.match(n);if(!t)return null;const[,r,o,i]=t;if(!r)return null;let a=null,c=null,l=null;const{devext:u,qaext:f,www:d}=s;if(o)if(a=r,i)switch(i.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=u);break;case"qa":({customBaseUrl:c,portalHostname:l}=f);break;default:return null}else({customBaseUrl:c,portalHostname:l}=d);else switch(r.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=u);break;case"qaext":({customBaseUrl:c,portalHostname:l}=f);break;case"www":({customBaseUrl:c,portalHostname:l}=d);break;default:return null}return{customBaseUrl:c,isPortal:!1,portalHostname:l,urlKey:a}}function i(e){return/\/(sharing|usrsvcs)\/(appservices|servers)\//i.test(e)}},49917:(e,t,r)=>{"use strict";function n(e){const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r.buffer}function s(e){const t=new Uint8Array(e);let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return btoa(r)}r.d(t,{R:()=>n,s:()=>s})},17202:(e,t,r)=>{"use strict";r.d(t,{$:()=>s,r:()=>n});const n="20231110",s="ce0ff3e463f9b7c018011a1eebc047a15a44c201"}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.m=e,r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[])),r.u=e=>"chunks/"+{24:"faf41c28fb9bac9eb277",118:"a12da7d99dd02e72d851",163:"872e8c3d0b09ebdf19af",247:"a9f83bbccf3b5f229262",299:"21d2adc1c23b36222547",304:"a3b844e904c5ca20b55b",540:"8f4646bd3aac81136eb7",565:"01ec6da0c371bf43f48c",572:"2bfec29b5a5ef68f914b",576:"c5c56b6d99db96a6755a",661:"39ae4b9b766f674bc6f2",664:"663592355a0be6c68929",716:"a03aa57b038365069aeb",770:"5ac6ffab5c8fb41a4f42",819:"d1ead6e8aa7e8e21fbc6",821:"4b40ae3de54d0003b9c7",861:"a702f44bf45379b46006",946:"014867cbc1dcc8b6e5d3",951:"1ca29cd0f1d4218c5691",957:"de186cf0b4679af7ca9a",1073:"9275ab11ba306dc32df0",1158:"de8abbe1356873fdce87",1316:"1c0d7eb69c130cae77a2",1412:"7fe97648e04f14433640",1419:"9261e6393dd38d45ce54",1421:"9244c52ad4bc86ebdd5c",1423:"b6fb06965c077d8bd1a0",1433:"4d5bdf18feeb9c8cb6ff",1444:"b91af6a65d382b92b162",1445:"17e6fdd33890e623fb5a",1455:"b2daa4ffaf1e54b2de4f",1537:"973ea30dd63bf40c22d6",1566:"853358f7d0300631bf92",1690:"e766c59bcb1fb32e04f8",1767:"57306b121d8054ac43d2",1773:"f1bd2b65bf56462c083f",1790:"dfa08348e79346c9a8a2",1826:"d242b821f213870d84ad",1916:"b86d124744efd3ce02c5",2043:"653be2571163ac727a43",2046:"c6d1a6db8cfa0a7e3bd2",2118:"f23d32396d8a4e154547",2134:"1d74767a28375cea0c62",2330:"9b879567dabea7d6c6c4",2421:"4b7810df32e91fecd0b4",2438:"8c3e05aadde58cc63c88",2539:"13f5471191ea5cdc0545",2594:"ef04fb44a0f5e4456c9a",2664:"1c6bc33025cc33c2c5d9",2712:"fd0f9ba2cae72d569611",2713:"bbb58a904cfd2054a27c",2763:"2a328f628f3884b9b98e",2834:"58b404cb320f0a202f42",2879:"4a4dfe393c4c5e9435f9",2934:"f0e7100562270a98ef9b",3007:"ae757efdb38a1c39ebdd",3027:"112a16f143fa21637849",3073:"99fd09dd42b75a932e84",3215:"e003c8f84acc8ce6cdff",3222:"6920535308bb68f093c2",3310:"e83c9a71d2cce98c5a57",3425:"92f2d65c05cda68dafb7",3529:"89de59d0f9a6901aed37",3557:"2020f808ba29dbe22dd7",3601:"76d3bfee82c065894f28",3606:"d00ec2a5a56ebabb7185",3615:"b95bd1c7a8561554065a",3637:"8e8fdf1749a54c66318c",3677:"f6ed6b17d2e5653318f6",3742:"0c5db731744165e818c0",3758:"7ed53cbbbf0a040465e9",3778:"976ab1abff568e660c9b",3794:"94b12274cb24ecec7933",3852:"f0c62bb406bb93b1408a",3861:"a97302e33553a3111f3a",3914:"31bb1bda647ab7c523ba",3952:"acdd9267bc73941932b5",3966:"6f3f9d657bff641a53ff",3992:"8926596796aa0a5abd4e",4041:"9a7cc762e57714cbf00a",4166:"4a98e4df168f0a57b2b5",4216:"7a8a63c6bfb6390ef92c",4275:"51a987195f49e338ef3d",4325:"f3e723075f460c36b819",4330:"8763baec3f635b35c272",4358:"e861936eea34ee3c97e9",4371:"28154e3c66879fd39e0c",4475:"50e0c75fcbc5fa66658f",4492:"914adb8839e250bb8390",4499:"c83b0b5799bdae61fa8c",4573:"2b47ef3571f54c946683",4599:"7cf7f2b991a7cbdad2ce",4695:"4ae8308e5b9c7772a11f",4697:"064d9d10308efed08179",4720:"d7637c89848ee4f5f4db",4723:"cf02dded7a6e71de13a4",4828:"d30780908f3787dff51c",4998:"ae5227b7d0f6dee577b6",5027:"9f9daf3872379a0e4d7b",5234:"8b6b963230df56850580",5329:"1b37f92306f1305f0460",5334:"80bf6cf1bef17215bca4",5389:"f723fa99bcd1b58e480f",5463:"b7e7312dfe53e1f19b0d",5476:"e2e3558c8b64d6e3ba40",5481:"e032488953ddfde78b9c",5618:"27665a4f225e55701812",5642:"610afd59e4844a9f198f",5732:"83f7e22a12d90ef93e62",5837:"9d2f3de6953a8ebafdd3",5883:"b402c811253900d87b9d",5935:"60a08ce29d09cb07ef06",5936:"6f48119e0d6162237699",5946:"14c399a5dc8e867a676d",6e3:"af4763f751b630390cf6",6047:"fee5293e0232f0950bb3",6055:"ce1472df4c8320d4a633",6124:"fa66f82e551de2d3b7c2",6136:"3247c1e122909404f0d7",6170:"80aae4ef1469c0a7f8d1",6233:"45d2d63f90a83472acd0",6237:"6f1c298509e89a7479ee",6324:"b5e8002ec496db38b389",6413:"08d031fa9a940e52b134",6459:"8f0339a4b1aa954ca624",6481:"41bebad0a39213a63405",6594:"0b2c9cf8de6e681c0937",6610:"c6f32f03029b891bfeea",6710:"c20b22aab4b9f7ab101f",6774:"d7270cb3689d6a08f530",6882:"a6aa56c3ef9fd7a44894",7021:"473ca48dfae4c4740b90",7085:"b436b84c7c9f4b4b0197",7126:"0f804e3f888cb4998f46",7157:"6b3965d9b42877ed62cf",7215:"ea72d13f64a74519ff7f",7267:"b6cc8d7dcc710231fe72",7277:"f442f1397636cd3d8b40",7307:"76c11b2eb1d80cc9e130",7360:"4354b5696fce0421927a",7374:"25d97c2b966de1eb1a8c",7528:"7ce5d621312cbbd140d0",7863:"f1a1519dbb4b583d9728",7873:"0e79e6dff936855463b1",7899:"36b82bbcac805e3a85ed",7902:"a6c99d14f4ec39975b56",7915:"16bba7f162a2d3ac7e29",8008:"712f14c4a3ab8cd716dd",8062:"d633a32953a0191249a5",8083:"632eef0f17e23eb1669a",8089:"0bfa83140b479d5c202b",8092:"70738db8ca6367a52ef5",8096:"63c8bf00120a4e67f5b0",8153:"7ebda506648e0e75eeed",8228:"e5352dc8983d06d4ee0f",8592:"24d04cca452ba2fec5d4",8636:"c90b91b0617e12d6e0a6",8652:"7420bd599fa5834d8e15",8758:"b6bd31674076e543d8b2",8828:"2f8a4c55f69f48aec4d0",8968:"c9306fb3ec1a2d5e137a",9e3:"de30ff1fcb6079178958",9005:"e5f5b14061137340b597",9016:"d93c567f6a406dd24efa",9153:"793890ebbe4501f48a55",9169:"a360534e89a337871921",9213:"56cbd01bb8219f62be26",9238:"c6f809e742d2a5f06bf1",9243:"5bb8f1fb77682ee36444",9248:"7cc56b132c46c5922dac",9266:"549b93f8023f60d51dd8",9291:"d191267d91a53db42956",9296:"dd841949503f3a4bcc3a",9379:"72ab1dd8542de1c1c3aa",9507:"1687431f7b233d950195",9717:"f0a76660fa11186aebca",9735:"d96fc85312ec3f5829cf",9790:"4c749590c841e07388a3",9805:"c734116e34106810a3bf",9884:"68b0e0aa33880bc1ba77",9889:"92037523c10a697baf55",9904:"3009e3a62da9460ac6fd",9931:"ac25e8806015fa90f03e",9970:"23aacb16383c60826e2d",9971:"34049f81c2a6b8cd7b2f",9995:"e87cc3b2d7188ba38de4"}[e]+".js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&!e;)e=n[s--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={134:1};r.f.i=(t,n)=>{e[t]||importScripts(r.p+r.u(t))};var t=self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[],n=t.push.bind(t);t.push=t=>{var[s,o,i]=t;for(var a in o)r.o(o,a)&&(r.m[a]=o[a]);for(i&&i(r);s.length;)e[s.pop()]=1;n(t)}})(),r(88277);var n=r(728);RemoteClient=n})();
|
|
1
|
+
var RemoteClient;(()=>{var e={88277:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},43697:(e,t,r)=>{"use strict";function n(e,t,r,n){var s,o=arguments.length,i=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(i=(o<3?s(i):o>3?s(t,r,i):s(t,r))||i);return o>3&&i&&Object.defineProperty(t,r,i),i}r.d(t,{_:()=>n}),"function"==typeof SuppressedError&&SuppressedError},68773:(e,t,r)=>{"use strict";r.d(t,{default:()=>o}),r(80442);var n=r(78286),s=r(17202);const o={apiKey:void 0,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",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:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:6e4,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&((0,n.RH)(o,globalThis.esriConfig,!0),delete o.has),!o.assetsPath){{const e="4.29.0";o.assetsPath=`https://cdn.jsdelivr.net/npm/@arcgis/core@${e}-next.${s.r}/assets`}o.defaultAssetsPath=o.assetsPath}},92036:(e,t,r)=>{"use strict";r.d(t,{Z:()=>x});var n=r(60235),s=r(61247),o=r(92604),i=r(70586),a=r(88022),c=r(67723),l=r(7628),u=(r(80442),r(22974)),f=r(71143),d=r(97831),h=r(42100),p=r(31263),g=r(58971),y=r(44550);class b extends h.s{constructor(e,t){super(),this.propertyName=e,this.metadata=t,this._accessed=null,this._handles=null,this.flags=0,this.flags=y.v.Dirty|(t.nonNullable?y.v.NonNullable:0)|(t.hasOwnProperty("value")?y.v.HasDefaultValue:0)|(void 0===t.get?y.v.DepTrackingInitialized:0)|(void 0===t.dependsOn?y.v.AutoTracked:0)}destroy(){this.flags&y.v.Dirty&&this.onCommitted(),super.destroy(),this._accessed=null,this._clearObservationHandles()}getComputed(e){(0,g.it)(this);const t=e.store,r=this.propertyName,n=this.flags,s=t.get(r);if(n&y.v.Computing)return s;if(~n&y.v.Dirty&&t.has(r))return s;this.flags|=y.v.Computing;const o=e.host;let i;n&y.v.AutoTracked?i=(0,g.LJ)(this,this.metadata.get,o):((0,g.GF)(o,this),i=this.metadata.get.call(o)),t.set(r,i,p.s3.COMPUTED);const a=t.get(r);return a===s?this.flags&=~y.v.Dirty:(0,g.gb)(this.commit,this),this.flags&=~y.v.Computing,a}onObservableAccessed(e){if(e===this)return;let t=this._accessed;if(null==t)t=[],this._accessed=t;else if(t.includes(e))return;t.push(e)}onTrackingEnd(){this._clearObservationHandles(),this.flags|=y.v.DepTrackingInitialized;const e=this._accessed;if(null==e||0===e.length)return;let t=this._handles;null==t&&(t=[],this._handles=t);for(let r=0;r<e.length;++r)t.push(e[r].observe(this));e.length=0}notifyChange(){this.onInvalidated(),this.onCommitted()}invalidate(){this.onInvalidated()}commit(){this.flags&=~y.v.Dirty,this.onCommitted()}_clearObservationHandles(){const e=this._handles;if(null!==e){for(let t=0;t<e.length;++t)e[t].remove();e.length=0}}onInvalidated(){~this.flags&y.v.Overriden&&(this.flags|=y.v.Dirty);const e=this._observers;if(e&&e.length>0)for(const t of e)t.onInvalidated()}onCommitted(){const e=this._observers;if(e&&e.length>0){const t=e.slice();for(const e of t)e.onCommitted()}}}class m{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new m;return this._values.forEach(((r,n)=>{e&&e.has(n)||t.set(n,(0,u.d9)(r))})),t}get(e){return this._values.get(e)}originOf(){return p.s3.USER}keys(){return[...this._values.keys()]}set(e,t){this._values.set(e,t)}delete(e){this._values.delete(e)}has(e){return this._values.has(e)}forEach(e){this._values.forEach(e)}}function _(e,t,r){return void 0!==e}function v(e,t,r,n){return!(void 0===e||null==r&&e.flags&y.v.NonNullable&&(n.lifecycle,d.F.INITIALIZING,1))}function w(e){return e&&"function"==typeof e.destroy}o.Z.getLogger("esri.core.accessorSupport.Properties");class O{constructor(e){this.host=e,this.propertiesByName=new Map,this.ctorArgs=null,this.destroyed=!1,this.lifecycle=d.F.INITIALIZING,this.store=new m,this._origin=p.s3.USER;const t=this.host.constructor.__accessorMetadata__;for(const e in t){const r=new b(e,t[e]);this.propertiesByName.set(e,r)}this.metadatas=t}initialize(){this.lifecycle=d.F.CONSTRUCTING}constructed(){this.lifecycle=d.F.CONSTRUCTED}destroy(){this.destroyed=!0;for(const[e,t]of this.propertiesByName){if(t.metadata.autoDestroy){const r=this.internalGet(e);r&&w(r)&&(r.destroy(),~t.flags&y.v.NonNullable&&this._internalSet(t,null))}t.destroy()}}get initialized(){return this.lifecycle!==d.F.INITIALIZING}get(e){const t=this.propertiesByName.get(e);if(t.metadata.get)return t.getComputed(this);(0,g.it)(t);const r=this.store;return r.has(e)?r.get(e):t.metadata.value}originOf(e){const t=this.store.originOf(e);if(void 0===t){const t=this.propertiesByName.get(e);if(void 0!==t&&t.flags&y.v.HasDefaultValue)return"defaults"}return(0,p.x3)(t)}has(e){return!!this.propertiesByName.has(e)&&this.store.has(e)}keys(){return[...this.propertiesByName.keys()]}internalGet(e){const t=this.propertiesByName.get(e);if(_(t))return this.store.has(e)?this.store.get(e):t.metadata.value}internalSet(e,t){const r=this.propertiesByName.get(e);_(r)&&this._internalSet(r,t)}getDependsInfo(e,t,r){const n=this.propertiesByName.get(t);if(!_(n))return"";const s=new Set,o=(0,g.LJ)({onObservableAccessed:e=>s.add(e),onTrackingEnd:()=>{}},(()=>n.metadata.get?.call(e)));let i=`${r}${e.declaredClass.split(".").pop()}.${t}: ${o}\n`;if(0===s.size)return i;r+=" ";for(const e of s)e instanceof b&&(i+=`${r}${e.propertyName}: undefined\n`);return i}setAtOrigin(e,t,r){const n=this.propertiesByName.get(e);if(_(n))return this._setAtOrigin(n,t,r)}isOverridden(e){const t=this.propertiesByName.get(e);return void 0!==t&&!!(t.flags&y.v.Overriden)}clearOverride(e){const t=this.propertiesByName.get(e);t&&t.flags&y.v.Overriden&&(t.flags&=~y.v.Overriden,t.notifyChange())}override(e,t){const r=this.propertiesByName.get(e);if(!v(r,0,t,this))return;const n=r.metadata.cast;if(n){const e=this._cast(n,t),{valid:r,value:s}=e;if(A.release(e),!r)return;t=s}r.flags|=y.v.Overriden,this._internalSet(r,t)}set(e,t){const r=this.propertiesByName.get(e);if(!v(r,0,t,this))return;const n=r.metadata.cast;if(n){const e=this._cast(n,t),{valid:r,value:s}=e;if(A.release(e),!r)return;t=s}const s=r.metadata.set;s?s.call(this.host,t):this._internalSet(r,t)}setDefaultOrigin(e){this._origin=(0,p.M9)(e)}getDefaultOrigin(){return(0,p.x3)(this._origin)}notifyChange(e){const t=this.propertiesByName.get(e);void 0!==t&&t.notifyChange()}invalidate(e){const t=this.propertiesByName.get(e);void 0!==t&&t.invalidate()}commit(e){const t=this.propertiesByName.get(e);void 0!==t&&t.commit()}_internalSet(e,t){const r=this.lifecycle!==d.F.INITIALIZING?this._origin:p.s3.DEFAULTS;this._setAtOrigin(e,t,r)}_setAtOrigin(e,t,r){const n=this.store,s=e.propertyName;n.has(s,r)&&(0,u.fS)(t,n.get(s))&&~e.flags&y.v.Overriden&&r===n.originOf(s)||(e.invalidate(),n.set(s,t,r),e.commit(),(0,g.mS)(this.host,e))}_cast(e,t){const r=A.acquire();return r.valid=!0,r.value=t,e&&(r.value=e.call(this.host,t,r)),r}}const A=new f.Z(class{constructor(){this.value=null,this.valid=!0}acquire(){this.valid=!0}release(){this.value=null}});var S=r(37697);var k;!function(e){e[e.Ignore=0]="Ignore",e[e.Destroy=1]="Destroy",e[e.ThrowError=2]="ThrowError"}(k||(k={}));var T,E,N=r(26258),j=r(5600),C=r(52011);function P(e){if(null==e)return{value:e};if(Array.isArray(e))return{type:[e[0]],value:null};switch(typeof e){case"object":return e.constructor?.__accessorMetadata__||e instanceof Date?{type:e.constructor,value:e}:e;case"boolean":return{type:Boolean,value:e};case"string":return{type:String,value:e};case"number":return{type:Number,value:e};case"function":return{type:e,value:null};default:return}}const M=Symbol("Accessor-Handles"),I=Symbol("Accessor-Initialized");class x{static createSubclass(e={}){if(Array.isArray(e))throw new Error("Multi-inheritance unsupported since 4.16");const{properties:t,declaredClass:r,constructor:n}=e;delete e.declaredClass,delete e.properties,delete e.constructor;const s=this;class o extends s{constructor(...e){super(...e),this.inherited=null,n&&n.apply(this,e)}}(0,l.fp)(o.prototype);for(const t in e){const r=e[t];o.prototype[t]="function"==typeof r?function(...e){const n=this.inherited;let o;this.inherited=function(...e){if(s.prototype[t])return s.prototype[t].apply(this,e)};try{o=r.apply(this,e)}catch(e){throw this.inherited=n,e}return this.inherited=n,o}:e[t]}for(const e in t){const r=P(t[e]);(0,j.Cb)(r)(o.prototype,e)}return(0,C.j)(r)(o)}constructor(...e){if(this[T]=null,this[E]=!1,this.constructor===x)throw new Error("[accessor] cannot instantiate Accessor. This can be fixed by creating a subclass of Accessor");const t=new O(this);Object.defineProperty(this,"__accessor__",{enumerable:!1,value:t}),e.length>0&&this.normalizeCtorArgs&&(t.ctorArgs=this.normalizeCtorArgs.apply(this,e))}postscript(e){const t=this.__accessor__,r=t.ctorArgs||e;t.initialize(),r&&(this.set(r),t.ctorArgs=null),t.constructed(),this.initialize(),this[I]=!0}initialize(){}[a.l](){this[M]=(0,i.SC)(this[M])}destroy(){this.destroyed||((0,N.BT)(this),this.__accessor__.destroy())}[Symbol.dispose](){this.destroy()}get constructed(){return this.__accessor__&&this.__accessor__.initialized||!1}get initialized(){return this[I]}get destroyed(){return this.__accessor__&&this.__accessor__.destroyed||!1}commitProperty(e){(0,c.U2)(this,e)}get(e){return(0,n.XV)(o.Z.getLogger(this),"`Accessor.get` is deprecated in favor of using optional chaining",{version:"4.28",see:"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining"}),(0,c.U2)(this,e)}hasOwnProperty(e){return this.__accessor__?this.__accessor__.has(e):Object.prototype.hasOwnProperty.call(this,e)}keys(){return this.__accessor__?this.__accessor__.keys():[]}set(e,t){return(0,S.t)(this,e,t),this}watch(e,t,r){return(0,N.YP)(this,e,t,r)}addHandles(e,t){if(this.destroyed){const t=Array.isArray(e)?e:[e];for(const e of t)e.remove();return}let r=this[M];null==r&&(r=this[M]=new s.Z),r.add(e,t)}removeHandles(e){const t=this[M];null!=t&&t.remove(e)}removeAllHandles(){const e=this[M];null!=e&&e.removeAll()}hasHandles(e){const t=this[M];return null!=t&&t.has(e)}_override(e,t){void 0===t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_clearOverride(e){return this.__accessor__.clearOverride(e)}_overrideIfSome(e,t){null==t?this.__accessor__.clearOverride(e):this.__accessor__.override(e,t)}_isOverridden(e){return this.__accessor__.isOverridden(e)}notifyChange(e){this.__accessor__.notifyChange(e)}_get(e){return this.__accessor__.internalGet(e)}_set(e,t){return this.__accessor__.internalSet(e,t),this}}T=M,E=I},3894:(e,t,r)=>{"use strict";r.d(t,{Z:()=>o});var n=r(71143);function s(e){e.length=0}class o{constructor(e=50,t=50){this._pool=new n.Z(Array,void 0,s,t,e)}acquire(){return this._pool.acquire()}release(e){this._pool.release(e)}prune(){this._pool.prune(0)}static acquire(){return i.acquire()}static release(e){return i.release(e)}static prune(){i.prune()}}const i=new o(100)},20102:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(22974),s=r(92604),o=r(58896);class i extends o.Z{constructor(e,t,r){super(e,t,r)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((e,t)=>{if(t&&"object"==typeof t&&"function"==typeof t.toJSON)return t;try{return(0,n.d9)(t)}catch(e){return"[object]"}})))}}catch(e){throw s.Z.getLogger("esri.core.Error").error(e),e}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new i(e.name,e.message,e.details)}}i.prototype.type="error"},61247:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(66374);class s{constructor(){this._groups=new Map}destroy(){this.removeAll()}get size(){let e=0;return this._groups.forEach((t=>{e+=t.length})),e}add(e,t){if((0,n.TW)(e)){const r=this._getOrCreateGroup(t);for(const t of e)this._isHandle(t)&&r.push(t)}else this._isHandle(e)&&this._getOrCreateGroup(t).push(e);return this}forEach(e,t){if("function"==typeof e)this._groups.forEach((t=>t.forEach(e)));else{const r=this._getGroup(e);r&&t&&r.forEach(t)}}has(e){return this._groups.has(this._ensureGroupKey(e))}remove(e){if("string"!=typeof e&&(0,n.TW)(e)){for(const t of e)this.remove(t);return this}return this.has(e)?(this._removeAllFromGroup(this._getGroup(e)),this._groups.delete(this._ensureGroupKey(e)),this):this}removeAll(){return this._groups.forEach((e=>this._removeAllFromGroup(e))),this._groups.clear(),this}_isHandle(e){return e&&(!!e.remove||e instanceof s)}_getOrCreateGroup(e){if(this.has(e))return this._getGroup(e);const t=[];return this._groups.set(this._ensureGroupKey(e),t),t}_getGroup(e){return this._groups.get(this._ensureGroupKey(e))}_ensureGroupKey(e){return e||"_default_"}_removeAllFromGroup(e){for(const t of e)t instanceof s?t.removeAll():t.remove()}}},96674:(e,t,r)=>{"use strict";r.d(t,{wq:()=>b,eC:()=>p,AK:()=>y});var n=r(43697),s=r(92036),o=r(22974),i=r(31263);class a{constructor(){this._values=new Map,this.multipleOriginsSupported=!1}clone(e){const t=new a;return this._values.forEach(((r,n)=>{e&&e.has(n)||t.set(n,(0,o.d9)(r.value),r.origin)})),t}get(e,t){t=this._normalizeOrigin(t);const r=this._values.get(e);return null==t||r?.origin===t?r?.value:void 0}originOf(e){return this._values.get(e)?.origin??i.s3.USER}keys(e){e=this._normalizeOrigin(e);const t=[...this._values.keys()];return null==e?t:t.filter((t=>this._values.get(t)?.origin===e))}set(e,t,r){if((r=this._normalizeOrigin(r))===i.s3.DEFAULTS){const t=this._values.get(e);if(null!=t?.origin&&t.origin>r)return}this._values.set(e,new c(t,r))}delete(e,t){null!=(t=this._normalizeOrigin(t))&&this._values.get(e)?.origin!==t||this._values.delete(e)}has(e,t){return null!=(t=this._normalizeOrigin(t))?this._values.get(e)?.origin===t:this._values.has(e)}forEach(e){this._values.forEach((({value:t},r)=>e(t,r)))}_normalizeOrigin(e){if(null!=e)return e===i.s3.DEFAULTS?e:i.s3.USER}}class c{constructor(e,t){this.value=e,this.origin=t}}var l=r(41103),u=r(50549),f=r(1153),d=r(76169),h=r(52011);const p=e=>{let t=class extends e{constructor(...e){super(...e);const t=(0,f.vw)(this),r=t.store,n=new a;t.store=n,(0,l.M)(t,r,n)}read(e,t){(0,u.i)(this,e,t)}write(e,t){return(0,d.c)(this,e??{},t)}toJSON(e){return this.write({},e)}static fromJSON(e,t){return g.call(this,e,t)}};return t=(0,n._)([(0,h.j)("esri.core.JSONSupport")],t),t.prototype.toJSON.isDefaultToJSON=!0,t};function g(e,t){if(!e)return null;if(e.declaredClass)throw new Error("JSON object is already hydrated");const r=new this;return r.read(e,t),r}function y(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}let b=class extends(p(s.Z)){};b=(0,n._)([(0,h.j)("esri.core.JSONSupport")],b)},92604:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n=r(68773),s=(r(80442),r(19153));const o={info:0,warn:1,error:2,none:3};class i{constructor(e){this.level=null,this._module="",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=e.level&&(this.level=e.level),null!=e.writer&&(this.writer=e.writer),this._module=e.module,i._loggers.set(this.module,this);const t=this.module.lastIndexOf(".");-1!==t&&(this._parent=i.getLogger(this.module.slice(0,t)))}get module(){return this._module}get parent(){return this._parent}error(...e){this._log("error","always",...e)}warn(...e){this._log("warn","always",...e)}info(...e){this._log("info","always",...e)}errorOnce(...e){this._log("error","once",...e)}warnOnce(...e){this._log("warn","once",...e)}infoOnce(...e){this._log("info","once",...e)}errorOncePerTick(...e){this._log("error","oncePerTick",...e)}warnOncePerTick(...e){this._log("warn","oncePerTick",...e)}infoOncePerTick(...e){this._log("info","oncePerTick",...e)}get test(){const e=this;return{loggedMessages:e._loggedMessages,clearLoggedWarnings:()=>e._loggedMessages.warn.clear()}}static get test(){return{resetLoggers(e=new Map){const t=i._loggers;return i._loggers=e,t},set throttlingDisabled(e){i._throttlingDisabled=e}}}static getLogger(e){return e="string"!=typeof e?e.declaredClass:e,i._loggers.get(e)||new i({module:e})}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!i._throttlingDisabled){const n=this._argsToKey(r),s=this._loggedMessages[e].get(n);if("once"===t&&null!=s||"oncePerTick"===t&&s&&s>=i._tickCounter)return;this._loggedMessages[e].set(n,i._tickCounter),i._scheduleTickCounterIncrement()}for(const t of n.default.log.interceptors)if(t(e,this.module,...r))return;this._inheritedWriter()(e,this.module,...r)}}_parentWithMember(e,t){let r=this;for(;null!=r;){const t=r[e];if(null!=t)return t;r=r.parent}return t}_inheritedWriter(){return this._parentWithMember("writer",this._consoleWriter)}_consoleWriter(e,t,...r){console[e](`[${t}]`,...r)}_matchLevel(e){const t=n.default.log.level||"warn";return o[this._parentWithMember("level",t)]<=o[e]}_argsToKey(...e){return(0,s.hP)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}static _scheduleTickCounterIncrement(){i._tickCounterScheduled||(i._tickCounterScheduled=!0,Promise.resolve().then((()=>{i._tickCounter++,i._tickCounterScheduled=!1})))}}i._loggers=new Map,i._tickCounter=0,i._tickCounterScheduled=!1,i._throttlingDisabled=!1},30175:(e,t,r)=>{"use strict";function n(e,t,r){const n=e.get(t);if(void 0!==n)return n;const s=r();return e.set(t,s),s}r.d(t,{s1:()=>n})},58896:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(78286);class s{constructor(e,t,r){this.name=e,this.details=r,this.message=(t&&function(e,t){return e.replaceAll(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,((e,r)=>""===r?"$":((0,n.hS)(r,t)??"").toString()))}(t,r))??""}toString(){return"["+this.name+"]: "+this.message}}},71143:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});class n{constructor(e,t,r,n=1,s=0){if(this._ctor=e,this._acquireFunction=t,this._releaseFunction=r,this.allocationSize=n,this._pool=new Array(s),this._initialSize=s,this._ctor)for(let e=0;e<s;e++)this._pool[e]=new this._ctor;this.allocationSize=Math.max(n,1)}destroy(){this.prune(0)}acquire(...e){let t;if(n.test.disabled)t=new this._ctor;else{if(0===this._pool.length){const e=this.allocationSize;for(let t=0;t<e;t++)this._pool[t]=new this._ctor}t=this._pool.pop()}return this._acquireFunction?this._acquireFunction(t,...e):function(e){return e?.acquire&&"function"==typeof e.acquire}(t)&&t.acquire(...e),t}release(e){var t;e&&!n.test.disabled&&(this._releaseFunction?this._releaseFunction(e):(t=e,t?.release&&"function"==typeof t.release&&e.release()),this._pool.push(e))}prune(e=this._initialSize){if(!(e>=this._pool.length)){for(let t=e;t<this._pool.length;++t){const e=this._pool[t];this._dispose(e)}this._pool.length=e}}_dispose(e){e.dispose&&"function"==typeof e.dispose&&e.dispose()}}n.test={disabled:!1}},54790:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});class n{constructor(e,t=30){this.name=e,this._counter=0,this._samples=new Array(t)}record(e){null!=e&&(this._samples[++this._counter%this._samples.length]=e)}get median(){return this._samples.slice().sort(((e,t)=>e-t))[Math.floor(this._samples.length/2)]}get average(){return this._samples.reduce(((e,t)=>e+t),0)/this._samples.length}get last(){return this._samples[this._counter%this._samples.length]}}},44553:(e,t,r)=>{"use strict";r.d(t,{Z:()=>i});var n,s=r(67676);!function(e){const t=(e,t,r,n)=>{let s=t,o=t;const i=r>>>1,a=e[s-1];for(;o<=i;){o=s<<1,o<r&&n(e[o-1],e[o])<0&&++o;const t=e[o-1];if(n(t,a)<=0)break;e[s-1]=t,s=o}e[s-1]=a},r=(e,t)=>e<t?-1:e>t?1:0;e.sort=function(e,n,s,o){void 0===n&&(n=0),void 0===s&&(s=e.length),void 0===o&&(o=r);for(let r=s>>>1;r>n;r--)t(e,r,s,o);const i=n+1;for(let r=s-1;r>n;r--){const s=e[n];e[n]=e[r],e[r]=s,t(e,i,r,o)}},e.iterableSort=function*(e,n,s,o){void 0===n&&(n=0),void 0===s&&(s=e.length),void 0===o&&(o=r);for(let r=s>>>1;r>n;r--)t(e,r,s,o),yield;const i=n+1;for(let r=s-1;r>n;r--){const s=e[n];e[n]=e[r],e[r]=s,t(e,i,r,o),yield}}}(n||(n={}));const o=n;class i{constructor(e){this.data=[],this._length=0,this._allocator=void 0,this._deallocator=()=>null,this._shrink=()=>{},this._hint=new s.SO,e&&(e.initialSize&&(this.data=new Array(e.initialSize)),e.allocator&&(this._allocator=e.allocator),void 0!==e.deallocator&&(this._deallocator=e.deallocator),e.shrink&&(this._shrink=()=>a(this)))}toArray(){return this.data.slice(0,this.length)}filter(e){const t=new Array;for(let r=0;r<this._length;r++){const n=this.data[r];e(n)&&t.push(n)}return t}at(e){if((e=Math.trunc(e)||0)<0&&(e+=this._length),!(e<0||e>=this._length))return this.data[e]}includes(e,t){const r=this.data.indexOf(e,t);return-1!==r&&r<this.length}get length(){return this._length}set length(e){if(e>this._length){if(this._allocator){for(;this._length<e;)this.data[this._length++]=this._allocator(this.data[this._length]);return}this._length=e}else{if(this._deallocator)for(let t=e;t<this._length;++t)this.data[t]=this._deallocator(this.data[t]);this._length=e,this._shrink()}}clear(){this.length=0}prune(){this.clear(),this.data=[]}push(e){this.data[this._length++]=e}pushArray(e,t=e.length){for(let r=0;r<t;r++)this.data[this._length++]=e[r]}fill(e,t){for(let r=0;r<t;r++)this.data[this._length++]=e}pushNew(){this._allocator&&(this.data[this.length]=this._allocator(this.data[this.length]));const e=this.data[this._length];return++this._length,e}unshift(e){this.data.unshift(e),this._length++,a(this)}pop(){if(0===this.length)return;const e=this.data[this.length-1];return this.length=this.length-1,this._shrink(),e}remove(e){const t=(0,s.cq)(this.data,e,this.length,this._hint);if(-1!==t)return this.data.splice(t,1),this.length=this.length-1,e}removeUnordered(e){return this.removeUnorderedIndex((0,s.cq)(this.data,e,this.length,this._hint))}removeUnorderedIndex(e){if(!(e>=this.length||e<0))return this.swapElements(e,this.length-1),this.pop()}removeUnorderedMany(e,t=e.length,r){this.length=(0,s.FY)(this.data,e,this.length,t,this._hint,r),this._shrink()}front(){if(0!==this.length)return this.data[0]}back(){if(0!==this.length)return this.data[this.length-1]}swapElements(e,t){if(e>=this.length||t>=this.length||e===t)return;const r=this.data[e];this.data[e]=this.data[t],this.data[t]=r}sort(e){o.sort(this.data,0,this.length,e)}iterableSort(e){return o.iterableSort(this.data,0,this.length,e)}some(e,t){for(let r=0;r<this.length;++r)if(e.call(t,this.data[r],r,this.data))return!0;return!1}find(e,t){for(let r=0;r<this.length;++r){const n=this.data[r];if(e.call(t,n,r))return n}}filterInPlace(e,t){let r=0;for(let n=0;n<this._length;++n){const s=this.data[n];e.call(t,s,n,this.data)&&(this.data[n]=this.data[r],this.data[r]=s,r++)}if(this._deallocator)for(let e=r;e<this._length;e++)this.data[e]=this._deallocator(this.data[e]);return this._length=r,this._shrink(),this}forAll(e,t){const r=this.length,n=this.data;for(let s=0;s<r;++s)e.call(t,n[s],s,n)}forEach(e,t){for(let r=0;r<this.length;++r)e.call(t,this.data[r],r,this.data)}map(e,t){const r=new Array(this.length);for(let n=0;n<this.length;++n)r[n]=e.call(t,this.data[n],n,this.data);return r}reduce(e,t){let r=t;for(let t=0;t<this.length;++t)r=e(r,this.data[t],t,this.data);return r}has(e){const t=this.length,r=this.data;for(let n=0;n<t;++n)if(r[n]===e)return!0;return!1}}function a(e){e.data.length>1.5*e.length&&(e.data.length=Math.floor(1.1*e.length))}},77734:(e,t,r)=>{"use strict";r.d(t,{Z:()=>n});class n{constructor(e=1){this._seed=e}set seed(e){this._seed=e??Math.random()*n._m}getInt(){return this._seed=(n._a*this._seed+n._c)%n._m,this._seed}getFloat(){return this.getInt()/(n._m-1)}getIntRange(e,t){return Math.round(this.getFloatRange(e,t))}getFloatRange(e,t){const r=t-e;return e+this.getInt()/n._m*r}}n._m=2147483647,n._a=48271,n._c=0},20941:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var n=r(58896);class s extends n.Z{constructor(e,t,r){super(e,t,r)}}s.prototype.type="warning"},42100:(e,t,r)=>{"use strict";r.d(t,{s:()=>i});var n=r(50758),s=r(67676);class o{constructor(e,t){this._observers=e,this._observer=t}remove(){(0,s.Od)(this._observers,this._observer)}}class i{constructor(){this._observers=null,this.destroyed=!1}observe(e){if(this.destroyed||e.destroyed)return a;null==this._observers&&(this._observers=[]);const t=this._observers;let r=!1,n=!1;const s=t.length;for(let o=0;o<s;++o){const s=t[o];if(s.destroyed)n=!0;else if(s===e){r=!0;break}}return r||(t.push(e),n&&this._removeDestroyedObservers()),new o(t,e)}_removeDestroyedObservers(){const e=this._observers;if(!e||0===e.length)return;const t=e.length;let r=0;for(let n=0;n<t;++n){for(;n+r<t&&e[n+r].destroyed;)++r;if(r>0){if(!(n+r<t))break;e[n]=e[n+r]}}e.length=t-r}destroy(){if(this.destroyed)return;this.destroyed=!0;const e=this._observers;if(null!=e){for(const t of e)t.onCommitted();this._observers=null}}}const a=(0,n.kB)()},31263:(e,t,r)=>{"use strict";var n;r.d(t,{M9:()=>o,Wm:()=>a,kk:()=>s,s3:()=>n,x3:()=>i}),function(e){e[e.DEFAULTS=0]="DEFAULTS",e[e.COMPUTED=1]="COMPUTED",e[e.SERVICE=2]="SERVICE",e[e.PORTAL_ITEM=3]="PORTAL_ITEM",e[e.WEB_SCENE=4]="WEB_SCENE",e[e.WEB_MAP=5]="WEB_MAP",e[e.LINK_CHART=6]="LINK_CHART",e[e.USER=7]="USER"}(n||(n={}));const s=n.USER+1;function o(e){switch(e){case"defaults":return n.DEFAULTS;case"service":return n.SERVICE;case"portal-item":return n.PORTAL_ITEM;case"web-scene":return n.WEB_SCENE;case"web-map":return n.WEB_MAP;case"link-chart":return n.LINK_CHART;case"user":return n.USER;default:return null}}function i(e){switch(e){case n.DEFAULTS:return"defaults";case n.SERVICE:return"service";case n.PORTAL_ITEM:return"portal-item";case n.WEB_SCENE:return"web-scene";case n.WEB_MAP:return"web-map";case n.LINK_CHART:return"link-chart";case n.USER:return"user"}}function a(e){return i(e)}},88022:(e,t,r)=>{"use strict";r.d(t,{l:()=>n});const n=Symbol("Accessor-beforeDestroy")},5600:(e,t,r)=>{"use strict";r.d(t,{CJ:()=>l,Cb:()=>c,Eg:()=>u});var n=r(92604),s=r(75215),o=r(67723),i=r(7628),a=r(37697);function c(e={}){return(t,r)=>{if(t===Function.prototype)throw new Error(`Inappropriate use of @property() on a static field: ${t.name}.${r}. Accessor does not support static properties.`);const c=Object.getOwnPropertyDescriptor(t,r),l=(0,i.Oe)(t,r);c&&(c.get||c.set?(l.get=c.get||l.get,l.set=c.set||l.set):"value"in c&&("value"in e&&n.Z.getLogger("esri.core.accessorSupport.decorators.property").warn(`@property() will redefine the value of "${r}" on "${t.constructor.name}" already defined in the metadata`,e),l.value=e.value=c.value)),null!=e.readOnly&&(l.readOnly=e.readOnly);const f=e.aliasOf;if(f){const e="string"==typeof f?f:f.source,t="string"==typeof f?null:!0===f.overridable;let n;l.dependsOn=[e],l.get=function(){let t=(0,o.U2)(this,e);if("function"==typeof t){n||(n=e.split(".").slice(0,-1).join("."));const r=(0,o.U2)(this,n);r&&(t=t.bind(r))}return t},l.readOnly||(l.set=t?function(e){this._override(r,e)}:function(t){(0,a.t)(this,e,t)})}const d=e.type,h=e.types;l.cast||(d?l.cast=function(e){let t=0,r=e;if((0,s.AY)(e))return(0,s.sY)(e);for(;Array.isArray(r)&&1===r.length&&"string"!=typeof r[0]&&"number"!=typeof r[0];)r=r[0],t++;const n=r;if((0,s.gB)(n))return 0===t?(0,s.i$)(n):(0,s.Iu)((0,s.i$)(n),t);if(1===t)return(0,s.rY)(n);if(t>1)return(0,s.di)(n,t);const o=e;return o.from?o.from:(0,s.se)(o)}(d):h&&(Array.isArray(h)?l.cast=(0,s.Ls)((0,s.N7)(h[0])):l.cast=(0,s.N7)(h))),(0,i.tz)(l,e),e.range&&(l.cast=u(l.cast,e.range))}}function l(e,t,r){const n=(0,i.Oe)(e,r);n.json||(n.json={});let s=n.json;return void 0!==t&&(s.origins||(s.origins={}),s.origins[t]||(s.origins[t]={}),s=s.origins[t]),s}function u(e,t){return r=>{let n=+e(r);return null!=t.step&&(n=Math.round(n/t.step)*t.step),null!=t.min&&(n=Math.max(t.min,n)),null!=t.max&&(n=Math.min(t.max,n)),n}}},52011:(e,t,r)=>{"use strict";r.d(t,{j:()=>u}),r(80442);var n=r(88022),s=r(97831),o=r(7628),i=r(58971),a=r(53906);const c=new Set,l=new Set;function u(e){return t=>{e??="esri.core.Accessor",t.prototype.declaredClass=e,d(t);const r=[],s=[];let i=t.prototype;for(;i;)i.hasOwnProperty("initialize")&&!c.has(i.initialize)&&(c.add(i.initialize),r.push(i.initialize)),i.hasOwnProperty("destroy")&&!l.has(i.destroy)&&(l.add(i.destroy),s.push(i.destroy)),i=Object.getPrototypeOf(i);c.clear(),l.clear();const a=class extends t{constructor(...e){if(super(...e),this.constructor===a&&"function"==typeof this.postscript){if(r.length&&Object.defineProperty(this,"initialize",{enumerable:!1,configurable:!0,value(){for(let e=r.length-1;e>=0;e--)r[e].call(this)}}),s.length){let e=!1;const t=this[n.l];Object.defineProperty(this,"destroy",{enumerable:!1,configurable:!0,value(){if(!e){e=!0,t.call(this);for(let e=0;e<s.length;e++)s[e].call(this)}}})}Object.defineProperty(this,Symbol.dispose,{enumerable:!1,configurable:!0,value(){this.destroy()}}),this.postscript(...e)}}};a.__accessorMetadata__=(0,o.fp)(t.prototype),a.prototype.declaredClass=e;const u=(e||"AccessorSubclass").split(".").slice(-1)[0];return Object.defineProperty(a,"name",{value:u,configurable:!0}),a}}function f(e,t){return null==t.get?function(){const t=this.__accessor__,r=t.propertiesByName.get(e);if(void 0===r)return;(0,i.it)(r);const n=t.store;return n.has(e)?n.get(e):r.metadata.value}:function(){const t=this.__accessor__,r=t.propertiesByName.get(e);if(void 0!==r)return r.getComputed(t)}}function d(e){const t=e.prototype,r=(0,o.fp)(t),n={};for(const e of Object.getOwnPropertyNames(r)){const t=r[e];(0,a.OM)(t),n[e]={enumerable:!0,configurable:!0,get:f(e,t),set(r){const n=this.__accessor__;if(void 0!==n){if(!Object.isFrozen(this)){if(n.initialized&&t.readOnly)throw new TypeError(`[accessor] cannot assign to read-only property '${e}' of ${this.declaredClass}`);if(n.lifecycle===s.F.CONSTRUCTED&&t.constructOnly)throw new TypeError(`[accessor] cannot assign to construct-only property '${e}' of ${this.declaredClass}`);n.set(e,r)}}else Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:r})}}}Object.defineProperties(e.prototype,n)}},41103:(e,t,r)=>{"use strict";r.d(t,{M:()=>s});var n=r(31263);function s(e,t,r){t.keys().forEach((e=>{r.set(e,t.get(e),n.s3.DEFAULTS)}));const s=e.metadatas;Object.keys(s).forEach((t=>{e.internalGet(t)&&r.set(t,e.internalGet(t),n.s3.DEFAULTS)}))}},75215:(e,t,r)=>{"use strict";r.d(t,{AY:()=>C,Iu:()=>A,Ls:()=>v,N7:()=>E,TJ:()=>y,V5:()=>j,Zs:()=>c,di:()=>S,gB:()=>k,i$:()=>T,q9:()=>l,rY:()=>w,sY:()=>P,se:()=>_,vU:()=>u,z8:()=>N}),r(80442);var n=r(92604),s=r(30175);const o=n.Z.getLogger("esri.core.accessorSupport.ensureTypes");function i(e){return null==e?e:new Date(e)}function a(e){return null==e?e:!!e}function c(e){return null==e?e:e.toString()}function l(e){return null==e?e:(e=parseFloat(e),isNaN(e)?0:e)}function u(e){return null==e?e:Math.round(parseFloat(e))}function f(e){return e?.constructor&&void 0!==e.constructor.__accessorMetadata__}function d(e,t){return null!=t&&e&&!(t instanceof e)}function h(e){return e&&"isCollection"in e}function p(e){return e?.Type?"function"==typeof e.Type?e.Type:e.Type.base:null}function g(e,t){return!!f(t)&&(o.error("Accessor#set","Assigning an instance of '"+(t.declaredClass||"unknown")+"' which is not a subclass of '"+b(e)+"'"),!0)}function y(e,t){return null==t?t:h(e)?function(e,t){if(!t?.constructor||!h(t.constructor))return g(e,t)?t:new e(t);const r=p(e.prototype.itemType),n=p(t.constructor.prototype.itemType);return r?n?r===n?t:r.prototype.isPrototypeOf(n.prototype)?new e(t):(g(e,t),t):new e(t):t}(e,t):d(e,t)?g(e,t)?t:new e(t):t}function b(e){return e?.prototype?.declaredClass||"unknown"}const m=new WeakMap;function _(e,t){const r=function(e){switch(e){case Number:return l;case N:return u;case Boolean:return a;case String:return c;case Date:return i;default:return(0,s.s1)(m,e,(()=>y.bind(null,e)))}}(e);return 1===arguments.length?r:r(t)}function v(e,t,r){return 1===arguments.length?v.bind(null,e):t?Array.isArray(t)?t.map((t=>e(t,r))):[e(t,r)]:t}function w(e,t){return 1===arguments.length?v((t=>_(e,t))):v((t=>_(e,t)),t)}function O(e,t,r){return 0!==t&&Array.isArray(r)?r.map((r=>O(e,t-1,r))):e(r)}function A(e,t,r){if(2===arguments.length)return r=>A(e,t,r);if(!r)return r;r=O(e,t,r);let n=t,s=r;for(;n>0&&Array.isArray(s);)n--,s=s[0];if(void 0!==s)for(let e=0;e<n;e++)r=[r];return r}function S(e,t,r){return 2===arguments.length?A((t=>_(e,t)),t):A((t=>_(e,t)),t,r)}function k(e){return!!Array.isArray(e)&&!e.some((t=>{const r=typeof t;return!("string"===r||"number"===r||"function"===r&&e.length>1)}))}function T(e,t){if(2===arguments.length)return T(e).call(null,t);const r=new Set,n=e.filter((e=>"function"!=typeof e)),s=e.filter((e=>"function"==typeof e));for(const t of e)"string"!=typeof t&&"number"!=typeof t||r.add(t);let i=null,a=null;return(e,t)=>{if(null==e)return e;const c=typeof e,l="string"===c||"number"===c;return l&&(r.has(e)||s.some((e=>"string"===c&&e===String||"number"===c&&e===Number)))||"object"===c&&s.some((t=>!d(e,t)))?e:(l&&n.length?(i||(i=n.map((e=>"string"==typeof e?`'${e}'`:`${e}`)).join(", ")),o.error("Accessor#set",`'${e}' is not a valid value for this property, only the following values are valid: ${i}`)):"object"==typeof e&&s.length?(a||(a=s.map((e=>b(e))).join(", ")),o.error("Accessor#set",`'${e}' is not a valid value for this property, value must be one of ${a}`)):o.error("Accessor#set",`'${e}' is not a valid value for this property`),t&&(t.valid=!1),null)}}function E(e,t){if(2===arguments.length)return E(e).call(null,t);const r={},n=[],s=[];for(const t in e.typeMap){const o=e.typeMap[t];r[t]=_(o),n.push(b(o)),s.push(t)}const i=()=>`'${n.join("', '")}'`,a=()=>`'${s.join("', '")}'`,c="string"==typeof e.key?t=>t[e.key]:e.key;return t=>{if(e.base&&!d(e.base,t))return t;if(null==t)return t;const n=c(t)||e.defaultKeyValue,s=r[n];if(!s)return o.error("Accessor#set",`Invalid property value, value needs to be one of ${i()}, or a plain object that can autocast (having .type = ${a()})`),null;if(!d(e.typeMap[n],t))return t;if("string"==typeof e.key&&!f(t)){const r={};for(const n in t)n!==e.key&&(r[n]=t[n]);return s(r)}return s(t)}}class N{}const j={native:e=>({type:"native",value:e}),array:e=>({type:"array",value:e}),oneOf:e=>({type:"one-of",values:e})};function C(e){if(!e||!("type"in e))return!1;switch(e.type){case"native":case"array":case"one-of":return!0}return!1}function P(e){switch(e.type){case"native":return _(e.value);case"array":return v(P(e.value));case"one-of":return function(e){let t=null;return(r,n)=>I(r,e)?r:(null==t&&(t=M(e)),o.error("Accessor#set",`Invalid property value, value needs to be of type ${t}`),n&&(n.valid=!1),null)}(e);default:return null}}function M(e){switch(e.type){case"native":switch(e.value){case Number:return"number";case String:return"string";case Boolean:return"boolean";case N:return"integer";case Date:return"date";default:return b(e.value)}case"array":return`array of ${M(e.value)}`;case"one-of":{const t=e.values.map((e=>M(e)));return`one of ${t.slice(0,-1)} or ${t[t.length-1]}`}}return"unknown"}function I(e,t){if(null==e)return!0;switch(t.type){case"native":switch(t.value){case Number:case N:return"number"==typeof e;case Boolean:return"boolean"==typeof e;case String:return"string"==typeof e}return e instanceof t.value;case"array":return!!Array.isArray(e)&&!e.some((e=>!I(e,t.value)));case"one-of":return t.values.some((t=>I(e,t)))}}},53906:(e,t,r)=>{"use strict";r.d(t,{hk:()=>u,HS:()=>f,Ah:()=>d,OM:()=>b});var n=r(75215),s=r(63213);function o(e){if(e.json||(e.json={}),a(e.json),c(e.json),i(e.json),e.json.origins)for(const t in e.json.origins)a(e.json.origins[t]),c(e.json.origins[t]),i(e.json.origins[t]);return!0}function i(e){e.name&&(e.read&&"object"==typeof e.read?void 0===e.read.source&&(e.read.source=e.name):e.read={source:e.name},e.write&&"object"==typeof e.write?void 0===e.write.target&&(e.write.target=e.name):e.write={target:e.name})}function a(e){"boolean"==typeof e.read?e.read={enabled:e.read}:"function"==typeof e.read?e.read={enabled:!0,reader:e.read}:e.read&&"object"==typeof e.read&&void 0===e.read.enabled&&(e.read.enabled=!0)}function c(e){"boolean"==typeof e.write?e.write={enabled:e.write}:"function"==typeof e.write?e.write={enabled:!0,writer:e.write}:e.write&&"object"==typeof e.write&&void 0===e.write.enabled&&(e.write.enabled=!0)}var l=r(827);function u(e,t){return h(e,"any",t?.origin)}function f(e,t){return h(e,"read",t?.origin)}function d(e,t){return h(e,"write",t?.origin)}function h(e,t,r){let n=e?.json;if(n?.origins&&r){let e;e="link-chart"===r?n.origins[r]&&("any"===t||t in n.origins[r])?n.origins[r]:n.origins["web-map"]:n.origins[r],e&&("any"===t||t in e)&&(n=e)}return n}function p(e){return e.type?g(e):y(e)}function g(e){if(!e.type)return;let t=0,r=e.type;for(;Array.isArray(r)&&!(0,n.gB)(r);)r=r[0],t++;return{type:r,ndimArray:t}}function y(e){if(!e.types)return;let t=0,r=e.types;for(;Array.isArray(r);)r=r[0],t++;return{types:r,ndimArray:t}}function b(e){o(e)&&(function(e){if(e.json&&e.json.origins){const t=e.json.origins,r={"web-document":["web-scene","web-map"]};for(const e in r)if(t[e]){const n=t[e];r[e].forEach((e=>{t[e]=n})),delete t[e]}}}(e),function(e){const t=function(e){return e.json.types?y(e.json):e.type?g(e):y(e)}(e);if(e.json.origins)for(const r in e.json.origins){const n=e.json.origins[r],o=n.types?p(n):t;(0,s.U)(o,n,!1),n.types&&!n.write&&e.json.write&&e.json.write.enabled&&(n.write={...e.json.write}),(0,l.U)(o,n)}(0,s.U)(t,e.json,!0),(0,l.U)(t,e.json)}(e))}},63213:(e,t,r)=>{"use strict";r.d(t,{U:()=>l,d:()=>u});var n=r(92604),s=r(78286),o=r(20941),i=r(7628),a=r(14062);const c=n.Z.getLogger("esri.core.accessorSupport.extensions.serializableProperty.reader");function l(e,t,r){e&&(!r&&!t.read||t.read?.reader||!1===t.read?.enabled||function(e){return"types"in e?y(e.types):g(e.type)}(e)&&(0,s.RB)("read.reader",u(e),t))}function u(e){const t=e.ndimArray??0;if(t>1)return function(e){const t=f(e),r=d.bind(null,t),n=e.ndimArray??0;return(e,t,s)=>{if(null==e)return e;e=r(e,s,n);let o=n,i=e;for(;o>0&&Array.isArray(i);)o--,i=i[0];if(void 0!==i)for(let t=0;t<o;t++)e=[e];return e}}(e);if(1===t)return h(e);if("type"in e&&p(e.type)){const t=e.type.prototype?.itemType?.Type,r=h("function"==typeof t?{type:t}:{types:t});return(t,n,s)=>{const o=r(t,n,s);return o?new e.type(o):o}}return f(e)}function f(e){return"type"in e?function(e){return e.prototype.read?(t,r,n)=>{if(null==t)return t;const s=typeof t;if("object"!==s)return void c.error(`Expected JSON value of type 'object' to deserialize type '${e.prototype.declaredClass}', but got '${s}'`);const o=new e;return o.read(t,n),o}:e.fromJSON}(e.type):function(e){let t=null;const r=e.errorContext??"type",n=e.validate;return(s,a,l)=>{if(null==s)return s;const u=typeof s;if("object"!==u)return void c.error(`Expected JSON value of type 'object' to deserialize, but got '${u}'`);t||(t=function(e){const t={};for(const r in e.typeMap){const n=e.typeMap[r],s=(0,i.fp)(n.prototype);if("function"==typeof e.key)continue;const o=s[e.key];if(!o)continue;o.json?.type&&Array.isArray(o.json.type)&&1===o.json.type.length&&"string"==typeof o.json.type[0]&&(t[o.json.type[0]]=n);const a=o.json?.write;if(!a?.writer){t[r]=n;continue}const c=a.target,l="string"==typeof c?c:e.key,u={};a.writer(r,u,l),u[l]&&(t[u[l]]=n)}return t}(e));const f=e.key;if("string"!=typeof f)return;const d=s[f],h=d?t[d]:e.defaultKeyValue?e.typeMap[e.defaultKeyValue]:void 0;if(!h){const e=`Type '${d||"unknown"}' is not supported`;return l?.messages&&s&&l.messages.push(new o.Z(`${r}:unsupported`,e,{definition:s,context:l})),void c.error(e)}const p=new h;return p.read(s,l),n?n(p):p}}(e.types)}function d(e,t,r,n){return 0!==n&&Array.isArray(t)?t.map((t=>d(e,t,r,n-1))):e(t,void 0,r)}function h(e){const t=f(e);return(e,r,n)=>{if(null==e)return e;if(Array.isArray(e)){const r=[];for(const s of e){const e=t(s,void 0,n);void 0!==e&&r.push(e)}return r}const s=t(e,void 0,n);return void 0!==s?[s]:void 0}}function p(e){if(!(0,a.u)(e))return!1;const t=e.prototype.itemType;return!(!t||!t.Type)&&("function"==typeof t.Type?g(t.Type):y(t.Type))}function g(e){return!Array.isArray(e)&&!!e&&e.prototype&&("read"in e.prototype||"fromJSON"in e||p(e))}function y(e){for(const t in e.typeMap)if(!g(e.typeMap[t]))return!1;return!0}},14062:(e,t,r)=>{"use strict";function n(e){return!!e&&e.prototype?.declaredClass&&0===e.prototype.declaredClass.indexOf("esri.core.Collection")}r.d(t,{u:()=>n})},827:(e,t,r)=>{"use strict";r.d(t,{U:()=>a,k:()=>f});var n=r(20102),s=r(92604),o=r(78286),i=r(14062);function a(e,t){if(!t.write||t.write.writer||!1===t.write.enabled&&!t.write.overridePolicy)return;const r=e?.ndimArray??0;e&&(1===r||"type"in e&&(0,i.u)(e.type))?t.write.writer=d:r>1?t.write.writer=function(e){return(t,r,n,s)=>{let i;if(null===t)i=null;else{i=h(t,s,e);let r=e,n=i;for(;r>0&&Array.isArray(n);)r--,n=n[0];if(void 0!==n)for(let e=0;e<r;e++)i=[i]}(0,o.RB)(n,i,r)}}(r):t.types?Array.isArray(t.types)?t.write.writer=function(e){return(t,r,n,s)=>t&&Array.isArray(t)?l(t.filter((t=>c(t,e,s))),r,n,s):l(t,r,n,s)}(t.types[0]):t.write.writer=function(e){return(t,r,n,s)=>t?c(t,e,s)?l(t,r,n,s):void 0:l(t,r,n,s)}(t.types):t.write.writer=l}function c(e,t,r){for(const r in t.typeMap)if(e instanceof t.typeMap[r])return!0;if(r?.messages){const o=t.errorContext??"type",i=`Values of type '${("function"!=typeof t.key?e[t.key]:e.declaredClass)??"Unknown"}' cannot be written`;r&&r.messages&&e&&r.messages.push(new n.Z(`${o}:unsupported`,i,{definition:e,context:r})),s.Z.getLogger("esri.core.accessorSupport.extensions.serializableProperty.writer").error(i)}return!1}function l(e,t,r,n){(0,o.RB)(r,u(e,n),t)}function u(e,t){return e&&"function"==typeof e.write?e.write({},t):e&&"function"==typeof e.toJSON?e.toJSON():"number"==typeof e?f(e):e}function f(e){return e===-1/0?-Number.MAX_VALUE:e===1/0?Number.MAX_VALUE:isNaN(e)?null:e}function d(e,t,r,n){let s;null===e?s=null:e&&"function"==typeof e.map?(s=e.map((e=>u(e,n))),"function"==typeof s.toArray&&(s=s.toArray())):s=[u(e,n)],(0,o.RB)(r,s,t)}function h(e,t,r){return 0!==r&&Array.isArray(e)?e.map((e=>h(e,t,r-1))):u(e,t)}},67723:(e,t,r)=>{"use strict";r.d(t,{$z:()=>i,Gg:()=>c,U2:()=>a});var n=r(1153);function s(e,t){const r="?"===e[e.length-1]?e.slice(0,-1):e;if(null!=t.getItemAt||Array.isArray(t)){const e=parseInt(r,10);if(!isNaN(e))return Array.isArray(t)?t[e]:t.at(e)}const s=(0,n.vw)(t);return(0,n.b6)(s,r)?s.get(r):t[r]}function o(e,t,r){if(null==e)return e;const n=s(t[r],e);return!n&&r<t.length-1?void 0:r===t.length-1?n:o(n,t,r+1)}function i(e,t,r=0){return"string"!=typeof t||t.includes(".")?o(e,(0,n.NI)(t),r):s(t,e)}function a(e,t){return i(e,t)}function c(e,t){return void 0!==i(t,e)}},97831:(e,t,r)=>{"use strict";var n;r.d(t,{F:()=>n}),function(e){e[e.INITIALIZING=0]="INITIALIZING",e[e.CONSTRUCTING=1]="CONSTRUCTING",e[e.CONSTRUCTED=2]="CONSTRUCTED"}(n||(n={}))},7628:(e,t,r)=>{"use strict";r.d(t,{Oe:()=>i,fp:()=>o,tz:()=>a});var n=r(22974),s=r(1153);function o(e){let t=e.constructor.__accessorMetadata__;const r=Object.prototype.hasOwnProperty.call(e.constructor,"__accessorMetadata__");if(t){if(!r){t=Object.create(t);for(const e in t)t[e]=(0,n.d9)(t[e]);Object.defineProperty(e.constructor,"__accessorMetadata__",{value:t,enumerable:!1,configurable:!0,writable:!0})}}else t={},Object.defineProperty(e.constructor,"__accessorMetadata__",{value:t,enumerable:!1,configurable:!0,writable:!0});return e.constructor.__accessorMetadata__}function i(e,t){const r=o(e);let n=r[t];return n||(n=r[t]={}),n}function a(e,t){return(0,s.TS)(e,t,l)}const c=/^(?:[^.]+\.)?(?:value|type|(?:json\.type|json\.origins\.[^.]\.type))$/;function l(e){return c.test(e)?"replace":"merge"}},50549:(e,t,r)=>{"use strict";r.d(t,{$:()=>f,i:()=>u});var n=r(67723),s=r(1153),o=r(53906);function i(e,t,r){if(!e?.read||!1===e.read.enabled||!e.read.source)return!1;const s=e.read.source;if("string"==typeof s){if(s===t)return!0;if(s.includes(".")&&0===s.indexOf(t)&&(0,n.Gg)(s,r))return!0}else for(const e of s){if(e===t)return!0;if(e.includes(".")&&0===e.indexOf(t)&&(0,n.Gg)(e,r))return!0}return!1}function a(e,t,r,n,s){let a=(0,o.HS)(t[r],s);(function(e){return e&&(!e.read||!1!==e.read.enabled&&!e.read.source)})(a)&&(e[r]=!0);for(const c of Object.getOwnPropertyNames(t))a=(0,o.HS)(t[c],s),i(a,r,n)&&(e[c]=!0)}function c(e,t,r,n){const s=r.metadatas,i=(0,o.hk)(s[t],n),a=i?.default;if(void 0===a)return;const c="function"==typeof a?a.call(e,t,n):a;void 0!==c&&r.set(t,c)}const l={origin:"service"};function u(e,t,r=l){if(!t||"object"!=typeof t)return;const i=(0,s.vw)(e),u=i.metadatas,f={};for(const e of Object.getOwnPropertyNames(t))a(f,u,e,t,r);i.setDefaultOrigin(r.origin);for(const s of Object.getOwnPropertyNames(f)){const a=(0,o.HS)(u[s],r).read,c=a?.source;let l;l=c&&"string"==typeof c?(0,n.$z)(t,c):t[s],a?.reader&&(l=a.reader.call(e,l,t,r)),void 0!==l&&i.set(s,l)}if(!r||!r.ignoreDefaults){i.setDefaultOrigin("defaults");for(const t of Object.getOwnPropertyNames(u))f[t]||c(e,t,i,r)}i.setDefaultOrigin("user")}function f(e,t,r,n=l){const s={...n,messages:[]};r(s),s.messages?.forEach((t=>{"warning"!==t.type||e.loaded?n?.messages&&n.messages.push(t):e.loadWarnings.push(t)}))}},37697:(e,t,r)=>{"use strict";r.d(t,{t:()=>i});var n=r(20102),s=r(80442),o=(r(92604),r(67723));function i(e,t,r){if(e&&t)if("object"==typeof t)for(const r of Object.getOwnPropertyNames(t))i(e,r,t[r]);else{if(t.includes(".")){const n=t.split("."),s=n.splice(-1,1)[0];return void i((0,o.U2)(e,n),s,r)}const a=e.__accessor__;null!=a&&function(e,t){if((0,s.Z)("esri-unknown-property-errors")&&!function(e,t){return null!=t.metadatas[e]}(e,t))throw new n.Z("set:unknown-property",function(e,t){return"setting unknown property '"+e+"' on instance of "+t.host.declaredClass}(e,t))}(t,a),e[t]=r}}},58971:(e,t,r)=>{"use strict";r.d(t,{GF:()=>_,LJ:()=>d,gb:()=>h,it:()=>l,mS:()=>b}),r(80442);var n=r(92604),s=r(1153),o=r(44550);const i={onObservableAccessed:()=>{},onTrackingEnd:()=>{}},a=[];let c=i;function l(e){c.onObservableAccessed(e)}let u=!1,f=!1;function d(e,t,r){if(u)return p(e,t,r);g(e);const n=t.call(r);return y(),n}function h(e,t){return d(i,e,t)}function p(e,t,r){const s=u;u=!0,g(e);let o=null;try{o=t.call(r)}catch(e){f&&n.Z.getLogger("esri.core.accessorSupport.tracking").error(e)}return y(),u=s,o}function g(e){c=e,a.push(e)}function y(){const e=a.length;if(e>1){const t=a.pop();c=a[e-2],t.onTrackingEnd()}else if(1===e){const e=a.pop();c=i,e.onTrackingEnd()}else c=i}function b(e,t){if(t.flags&o.v.DepTrackingInitialized)return;const r=f;f=!1,t.flags&o.v.AutoTracked?p(t,t.metadata.get,e):_(e,t),f=r}const m=[];function _(e,t){t.flags&o.v.ExplicitlyTracking||(t.flags|=o.v.ExplicitlyTracking,p(t,(()=>{const r=t.metadata.dependsOn||m;for(const t of r)if("string"!=typeof t||t.includes(".")){const r=(0,s.NI)(t);for(let t=0,n=e;t<r.length&&null!=n&&"object"==typeof n;++t)n=v(n,r[t],t!==r.length-1)}else v(e,t,!1)})),t.flags&=~o.v.ExplicitlyTracking)}function v(e,t,r){const n="?"===t[t.length-1]?t.slice(0,-1):t;if(null!=e.getItemAt||Array.isArray(e)){const t=parseInt(n,10);if(!isNaN(t))return Array.isArray(e)?e[t]:e.at(t)}const o=(0,s.vw)(e);if(o){const t=o.propertiesByName.get(n);t&&(l(t),b(e,t))}return r?e[n]:void 0}},44550:(e,t,r)=>{"use strict";var n;r.d(t,{v:()=>n}),function(e){e[e.Dirty=1]="Dirty",e[e.Overriden=2]="Overriden",e[e.Computing=4]="Computing",e[e.NonNullable=8]="NonNullable",e[e.HasDefaultValue=16]="HasDefaultValue",e[e.DepTrackingInitialized=32]="DepTrackingInitialized",e[e.AutoTracked=64]="AutoTracked",e[e.ExplicitlyTracking=128]="ExplicitlyTracking"}(n||(n={}))},38805:(e,t,r)=>{"use strict";r.d(t,{M:()=>n});class n{constructor(e){this._accessed=[],this._handles=[],this._observerObject=new s(e),o.register(this,new WeakRef(this._observerObject),this)}destroy(){o.unregister(this._observerObject),this._accessed.length=0,this._observerObject?.destroy(),this.clear()}onObservableAccessed(e){const t=this._accessed;t.includes(e)||t.push(e)}onTrackingEnd(){const e=this._handles,t=this._accessed,r=this._observerObject;for(let n=0;n<t.length;++n)e.push(t[n].observe(r));t.length=0}clear(){const e=this._handles;for(let t=0;t<e.length;++t)e[t].remove();e.length=0}}class s{constructor(e){this._notify=e,this._invalidCount=0,this.destroyed=!1}onInvalidated(){this._invalidCount++}onCommitted(){if(this.destroyed)return;const e=this._invalidCount;if(1===e)return this._invalidCount=0,void this._notify();this._invalidCount=e>0?e-1:0}destroy(){this.destroyed=!0,this._notify=i}}const o=new FinalizationRegistry((e=>{e.deref()?.destroy()}));function i(){}},87538:(e,t,r)=>{"use strict";r.d(t,{EH:()=>u,U5:()=>c,Xz:()=>l});var n=r(50758),s=r(58971),o=r(38805);let i=!1;const a=[];function c(e,t){let r=new o.M((function n(){if(!r||c)return;if(i)return void f(n);const o=a;r.clear(),i=!0,c=!0,a=(0,s.LJ)(r,e),c=!1,i=!1,t(a,o),d()})),a=null,c=!1;return c=!0,a=(0,s.LJ)(r,e),c=!1,(0,n.kB)((function(){r&&(r.destroy(),r=null,a=null)}))}function l(e,t){let r=new o.M((function(){t(i,a)})),i=null;function a(){return r?(r.clear(),i=(0,s.LJ)(r,e),i):null}return a(),(0,n.kB)((function(){r&&(r.destroy(),r=null),i=null}))}function u(e){let t=new o.M((function n(){t&&!r&&(i?f(n):(t.clear(),i=!0,r=!0,(0,s.LJ)(t,e),r=!1,i=!1,d()))})),r=!1;return r=!0,(0,s.LJ)(t,e),r=!1,(0,n.kB)((function(){t&&(t.destroy(),t=null)}))}function f(e){a.includes(e)||a.unshift(e)}function d(){for(;a.length;)a.pop()()}},1153:(e,t,r)=>{"use strict";r.d(t,{NI:()=>l,Qc:()=>f,TS:()=>a,b6:()=>i,vw:()=>o});var n=r(50758),s=r(22974);function o(e){return e.__accessor__??null}function i(e,t){return null!=e?.metadatas?.[t]}function a(e,t,r){return c(e,t,r?{policy:r,path:""}:null)}function c(e,t,r){return t?Object.keys(t).reduce(((e,n)=>{const o=n;let i=null,a="merge";if(r&&(i=r.path?`${r.path}.${n}`:n,a=r.policy(i)),"replace"===a)return e[o]=t[o],e;if("replace-arrays"===a&&Array.isArray(e[o]))return e[o]=t[o],e;if(void 0===e[o])return e[o]=(0,s.d9)(t[o]),e;let l=e[o],u=t[o];if(l===u)return e;if(Array.isArray(u)||Array.isArray(e))l=l?Array.isArray(l)?e[o]=l.concat():e[o]=[l]:e[o]=[],u&&(Array.isArray(u)||(u=[u]),u.forEach((e=>{l.includes(e)||l.push(e)})));else if(u&&"object"==typeof u)if(r){const t=r.path;r.path=i,e[o]=c(l,u,r),r.path=t}else e[o]=c(l,u,null);else e.hasOwnProperty(n)&&!t.hasOwnProperty(n)||(e[o]=u);return e}),e||{}):e}function l(e){return Array.isArray(e)?e:e.split(".")}function u(e){return e.includes(",")?e.split(",").map((e=>e.trim())):[e.trim()]}function f(e,t,r,s){const o=function(e){if(Array.isArray(e)){const t=[];for(const r of e)t.push(...u(r));return t}return u(e)}(t);if(1!==o.length){const t=o.map((t=>s(e,t,r)));return(0,n.AL)(t)}return s(e,o[0],r)}},26258:(e,t,r)=>{"use strict";r.d(t,{BT:()=>w,YP:()=>k,aQ:()=>T});var n=r(3894),s=r(50758),o=r(22974),i=r(71143);class a extends i.Z{constructor(){super(...arguments),this._set=new Set}destroy(){super.destroy(),this._set=null}acquire(...e){const t=super.acquire(...e);return this._set.delete(t),t}release(e){e&&!this._set.has(e)&&(super.release(e),this._set.add(e))}_dispose(e){this._set.delete(e),super._dispose(e)}}var c,l,u=r(1654),f=r(99001),d=r(67723),h=r(87538),p=r(1153);(l=c||(c={}))[l.Untracked=0]="Untracked",l[l.Tracked=1]="Tracked";class g{constructor(){this.uid=(0,f.D)(),this.removed=!1,this.type=null,this.oldValue=null,this.callback=null,this.getValue=null,this.target=null,this.path=null,this.equals=null}static acquireUntracked(e,t,r,n,s){return this.pool.acquire(c.Untracked,e,t,r,n,s,o.fS)}static acquireTracked(e,t,r,n){return this.pool.acquire(c.Tracked,e,t,r,null,null,n)}notify(e,t){this.type===c.Untracked?this.callback.call(this.target,e,t,this.path,this.target):this.callback.call(null,e,t,void 0,void 0)}acquire(e,t,r,n,s,o,i){this.uid=(0,f.D)(),this.removed=!1,this.type=e,this.oldValue=t,this.callback=r,this.getValue=n,this.target=s,this.path=o,this.equals=i}release(){this.target=this.path=this.oldValue=this.callback=this.getValue=null,this.uid=(0,f.D)(),this.removed=!0}}g.pool=new a(g);const y=new n.Z,b=new Set;let m;function _(e){b.delete(e),b.add(e),m||(m=(0,u.Os)(O))}function v(e){if(e.removed)return;const t=e.oldValue,r=e.getValue();e.equals(t,r)||(e.oldValue=r,e.notify(r,t))}function w(e){for(const t of b.values())t.target===e&&(t.removed=!0)}function O(){let e=10;for(;m&&e--;){m=null;const e=A(),t=y.acquire();for(const r of e){const e=r.uid;v(r),e===r.uid&&r.removed&&t.push(r)}for(const e of b)e.removed&&(t.push(e),b.delete(e));for(const e of t)g.pool.release(e);y.release(t),y.release(e),S.forEach((e=>e()))}}function A(){const e=y.acquire();e.length=b.size;let t=0;for(const r of b)e[t]=r,++t;return b.clear(),e}const S=new Set;function k(e,t,r,n=!1){return!e.__accessor__||e.__accessor__.destroyed?(0,s.kB)():n?function(e,t,r){const n=(0,p.Qc)(e,t,r,((e,t,r)=>{let s=!1;return(0,h.U5)((()=>(0,d.$z)(e,t)),((i,a)=>{e.__accessor__.destroyed?n.remove():s||(s=!0,(0,o.fS)(a,i)||r.call(e,i,a,t,e),s=!1)}))}));return n}(e,t,r):function(e,t,r){let n=(0,p.Qc)(e,t,r,((e,t,r)=>{let o,i,a=(0,h.Xz)((()=>(0,d.$z)(e,t)),((s,a)=>{e.__accessor__.destroyed||o&&o.uid!==i?n.remove():(o||(o=g.acquireUntracked(s,r,a,e,t),i=o.uid),_(o))}));return(0,s.kB)((()=>{a.remove(),o&&(o.uid!==i||o.removed||(o.removed=!0,_(o)),o=null),n=a=null}))}));return n}(e,t,r)}function T(e,t,r=!1,n=o.y7){return r?function(e,t,r){let n=!1;return(0,h.U5)(e,((e,s)=>{n||(n=!0,r(s,e)||t(e,s),n=!1)}))}(e,t,n):function(e,t,r){let n,o,i=(0,h.Xz)(e,((e,s)=>{n&&n.uid!==o?i.remove():(n||(n=g.acquireTracked(e,t,s,r),o=n.uid),_(n))}));return(0,s.kB)((()=>{i.remove(),n&&(n.uid!==o||n.removed||(n.removed=!0,_(n)),n=null),i=null}))}(e,t,n)}},76169:(e,t,r)=>{"use strict";r.d(t,{c:()=>h,d:()=>d});var n=r(67676),s=r(20102),o=r(92604),i=r(67723),a=r(31263),c=r(1153),l=r(53906);function u(e,t,r,n,s){const o={};return t.write?.writer?.call(e,n,o,r,s),o}function f(e,t,r,c,l,u){if(!c?.write)return!1;const f=(0,i.U2)(e,r);if(!l&&c.write.overridePolicy){const t=c.write.overridePolicy.call(e,f,r,u??void 0);void 0!==t&&(l=t)}if(l||(l=c.write),!l||!1===l.enabled)return!1;if(l.layerContainerTypes&&u?.layerContainerType&&!l.layerContainerTypes.includes(u.layerContainerType))return!1;if((null===f&&!l.allowNull&&!l.writerEnsuresNonNull||void 0===f)&&l.isRequired){const t=new s.Z("web-document-write:property-required",`Missing value for required property '${r}' on '${e.declaredClass}'`,{propertyName:r,target:e});return t&&u?.messages?u.messages.push(t):t&&!u&&o.Z.getLogger("esri.core.accessorSupport.write").error(t.name,t.message),!1}return!(void 0===f||null===f&&!l.allowNull&&!l.writerEnsuresNonNull||!(l.alwaysWriteDefaults||t.store.multipleOriginsSupported&&t.store.originOf(r)!==a.s3.DEFAULTS)&&function(e,t,r,s,o){const i=s.default;if(void 0===i)return!1;if(null!=s.defaultEquals)return s.defaultEquals(o);if("function"==typeof i){if(Array.isArray(o)){const s=i.call(e,t,r??void 0);return(0,n.fS)(s,o)}return!1}return i===o}(e,r,u,c,f)||!l.ignoreOrigin&&u?.origin&&t.store.multipleOriginsSupported&&t.store.originOf(r)<(0,a.M9)(u.origin))}function d(e,t,r,n){const s=(0,c.vw)(e),o=s.metadatas,i=(0,l.Ah)(o[t],n);return!!i&&f(e,s,t,i,r,n)}function h(e,t,r){if(e&&"function"==typeof e.toJSON&&(!e.toJSON.isDefaultToJSON||!e.write))return(0,c.TS)(t,e.toJSON(r));const n=(0,c.vw)(e),s=n.metadatas;for(const o in s){const d=(0,l.Ah)(s[o],r);if(!f(e,n,o,d,void 0,r))continue;const h=(0,i.U2)(e,o),p=u(e,d,d.write&&"string"==typeof d.write.target?d.write.target:o,h,r);Object.keys(p).length>0&&(t=(0,c.TS)(t,p),r?.resources?.pendingOperations?.length&&r.resources.pendingOperations.push(Promise.all(r.resources.pendingOperations).then((()=>(0,c.TS)(t,p,(()=>"replace-arrays"))))),r?.writtenProperties&&r.writtenProperties.push({target:e,propName:o,oldOrigin:(0,a.Wm)(n.store.originOf(o)),newOrigin:r.origin}))}return t}},67676:(e,t,r)=>{"use strict";r.d(t,{FY:()=>y,Od:()=>b,SO:()=>f,Vx:()=>o,a9:()=>l,cq:()=>h,e$:()=>p,e5:()=>i,fS:()=>s,pC:()=>m,wR:()=>u,zG:()=>a});var n=r(77734);function s(e,t,r){if(null==e&&null==t)return!0;if(null==e||null==t||e.length!==t.length)return!1;if(r){for(let n=0;n<e.length;n++)if(!r(e[n],t[n]))return!1}else for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function o(e,t){let r=e.length!==t.length;r&&(e.length=t.length);for(let n=0;n<t.length;++n)e[n]!==t[n]&&(e[n]=t[n],r=!0);return r}function i(e,t,r){let n,s;return r?(n=t.filter((t=>!e.some((e=>r(e,t))))),s=e.filter((e=>!t.some((t=>r(t,e)))))):(n=t.filter((t=>!e.includes(t))),s=e.filter((e=>!t.includes(e)))),{added:n,removed:s}}function a(e){return e&&"number"==typeof e.length}const c=!!Array.prototype.fill;function l(e,t){if(c)return new Array(e).fill(t);const r=new Array(e);for(let n=0;n<e;n++)r[n]=t;return r}function u(e,t){void 0===t&&(t=e,e=0);const r=new Array(t-e);for(let n=e;n<t;n++)r[n-e]=n;return r}class f{constructor(){this.last=0}}const d=new f;function h(e,t,r,n){n=n||d;const s=Math.max(0,n.last-10);for(let o=s;o<r;++o)if(e[o]===t)return n.last=o,o;const o=Math.min(s,r);for(let r=0;r<o;++r)if(e[r]===t)return n.last=r,r;return-1}function p(e,t,r,n){const s=r??e.length,o=h(e,t,s,n);if(-1!==o)return e[o]=e[s-1],null==r&&e.pop(),t}const g=new Set;function y(e,t,r=e.length,n=t.length,s,o){if(0===n||0===r)return r;g.clear();for(let e=0;e<n;++e)g.add(t[e]);s=s||d;const i=Math.max(0,s.last-10);for(let t=i;t<r;++t)if(g.has(e[t])&&(o?.push(e[t]),g.delete(e[t]),e[t]=e[r-1],--r,--t,0===g.size||0===r))return g.clear(),r;for(let t=0;t<i;++t)if(g.has(e[t])&&(o?.push(e[t]),g.delete(e[t]),e[t]=e[r-1],--r,--t,0===g.size||0===r))return g.clear(),r;return g.clear(),r}function b(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}function m(e,t){return null!=e}new n.Z},43090:(e,t,r)=>{"use strict";function n(e){return 32+e.length}function s(){return 16}function o(e){if(!e)return 0;let t=l;for(const r in e)if(e.hasOwnProperty(r)){const s=e[r];switch(typeof s){case"string":t+=n(s);break;case"number":t+=16;break;case"boolean":t+=4}}return t}function i(e){if(!e)return 0;if(Array.isArray(e))return function(e){const t=e.length;if(0===t||"number"==typeof e[0])return 32+8*t;let r=u;for(let n=0;n<t;n++)r+=a(e[n]);return r}(e);let t=l;for(const r in e)e.hasOwnProperty(r)&&(t+=a(e[r]));return t}function a(e){switch(typeof e){case"object":return i(e);case"string":return n(e);case"number":return 16;case"boolean":return 4;default:return 8}}function c(e,t){return u+e.length*t}r.d(t,{G3:()=>s,Ul:()=>i,do:()=>c,f2:()=>o});const l=32,u=16},60235:(e,t,r)=>{"use strict";r.d(t,{Mr:()=>a,XV:()=>i,x9:()=>c});var n=r(80442);const s=new Set;function o(e,t,r=!1){r&&s.has(t)||(r&&s.add(t),e.warn(`🛑 DEPRECATED - ${t}`))}function i(e,t,r={}){if((0,n.Z)("esri-deprecation-warnings")){const{moduleName:n}=r;c(e,"Function: "+(n?n+"::":"")+t+"()",r)}}function a(e,t,r={}){if((0,n.Z)("esri-deprecation-warnings")){const{moduleName:n}=r;c(e,"Property: "+(n?n+"::":"")+t,r)}}function c(e,t,r={}){if((0,n.Z)("esri-deprecation-warnings")){const{replacement:n,version:s,see:i,warnOnce:a}=r;let c=t;n&&(c+=`\n\t🛠️ Replacement: ${n}`),s&&(c+=`\n\t⚙️ Version: ${s}`),i&&(c+=`\n\t🔗 See ${i} for more details.`),o(e,c,a)}}},91460:(e,t,r)=>{"use strict";r.d(t,{IH:()=>i,on:()=>o,vT:()=>s});var n=r(50758);function s(e){return e&&("function"==typeof e.on||"function"==typeof e.addEventListener)}function o(e,t,r){if(!s(e))throw new TypeError("target is not a Evented or EventTarget object");if("on"in e)return e.on(t,r);if(Array.isArray(t)){const s=t.slice();for(const t of s)e.addEventListener(t,r);return(0,n.kB)((()=>{for(const t of s)e.removeEventListener(t,r)}))}return e.addEventListener(t,r),(0,n.kB)((()=>e.removeEventListener(t,r)))}function i(e,t,r){if(!s(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const n=o(e,t,(t=>{n.remove(),r.call(e,t)}));return n}},50758:(e,t,r)=>{"use strict";r.d(t,{AL:()=>o,kB:()=>s});const n={remove:()=>{}};function s(e){return e?{remove(){e&&(e(),e=void 0)}}:n}function o(e){return s((()=>function(e){e.forEach((e=>e?.remove()))}(e)))}},80442:(e,t,r)=>{"use strict";let n;function s(e){return"function"==typeof n[e]?n[e]=n[e](globalThis):n[e]}r.d(t,{Z:()=>s}),n=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},s.add=(e,t,r,o)=>((o||void 0===n[e])&&(n[e]=t),r&&s(e)),s.cache=n,s.add("big-integer-warning-enabled",!0),s.add("esri-deprecation-warnings",!0),s.add("esri-tests-disable-screenshots",!1),s.add("esri-tests-use-full-window",!1),s.add("esri-tests-post-to-influx",!0),(()=>{s.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const e="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(s.add("host-browser",e),s.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),s.add("dom",e),s("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(s.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),s.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),s.add("khtml",r.includes("Konqueror")?n:void 0),s.add("edge",parseFloat(t.split("Edge/")[1])||void 0),s.add("opr",parseFloat(t.split("OPR/")[1])||void 0),s.add("webkit",!s("wp")&&!s("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),s.add("chrome",!s("edge")&&!s("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),s.add("android",!s("wp")&&parseFloat(t.split("Android ")[1])||void 0),s.add("safari",!r.includes("Safari")||s("wp")||s("chrome")||s("android")||s("edge")||s("opr")?void 0:parseFloat(r.split("Version/")[1])),s.add("mac",r.includes("Macintosh")),!s("wp")&&/(iPhone|iPod|iPad)/.test(t)){const e=RegExp.$1.replace(/P/,"p"),r=/OS ([\d_]+)/.test(t)?RegExp.$1:"1",n=parseFloat(r.replace(/_/,".").replaceAll("_",""));s.add(e,n),s.add("ios",n)}s("webkit")||(!t.includes("Gecko")||s("wp")||s("khtml")||s("edge")||s.add("mozilla",n),s("mozilla")&&s.add("ff",parseFloat(t.split("Firefox/")[1]||t.split("Minefield/")[1])||void 0))}})(),(()=>{if(globalThis.navigator){const e=navigator.userAgent,t=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),r=/iPhone/i.test(e);t&&s.add("esri-mobile",t),r&&s.add("esri-iPhone",r),s.add("esri-geolocation",!!navigator.geolocation)}s.add("esri-wasm","WebAssembly"in globalThis),s.add("esri-performance-mode-frames-between-render",20),s.add("esri-force-performance-mode",!1),s.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,t=!1===globalThis.crossOriginIsolated;return e&&!t})),s.add("wasm-simd",(()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])))),s.add("esri-atomics","Atomics"in globalThis),s.add("esri-workers","Worker"in globalThis),s.add("web-feat:cache","caches"in globalThis),s.add("esri-workers-arraybuffer-transfer",!s("safari")||Number(s("safari"))>=12),s.add("workers-pool-size",8),s.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),s.add("featurelayer-simplify-payload-size-factors",[1,1,4]),s.add("featurelayer-animation-enabled",!0),s.add("featurelayer-snapshot-enabled",!0),s.add("featurelayer-snapshot-point-min-threshold",8e4),s.add("featurelayer-snapshot-point-max-threshold",4e5),s.add("featurelayer-snapshot-point-coverage",.1),s.add("featurelayer-advanced-symbols",!1),s.add("featurelayer-pbf",!0),s.add("featurelayer-pbf-statistics",!1),s.add("feature-layers-workers",!0),s.add("feature-polyline-generalization-factor",1),s.add("mapview-transitions-duration",200),s.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),s.add("mapserver-pbf-version-support",10.81),s.add("mapservice-popup-identify-max-tolerance",20),s.add("heatmap-allow-raster-fallback",!1),s.add("heatmap-force-raster",!1),s("host-webworker")||s("host-browser")&&(s.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),s.add("esri-image-decode",(()=>{if("decode"in new Image){const e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void e.decode().then((()=>{s.add("esri-image-decode",!0,!0,!0)})).catch((()=>{s.add("esri-image-decode",!1,!0,!0)}))}return!1})),s.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})))})()},66374:(e,t,r)=>{"use strict";function n(e){const t=[];return function*(){yield*t;for(const r of e)t.push(r),yield r}}function s(e,t){for(const r of e)if(null!=r&&t(r))return r}function o(e){return null!=e&&"function"==typeof e[Symbol.iterator]}r.d(t,{Fs:()=>n,TW:()=>o,sE:()=>s})},22974:(e,t,r)=>{"use strict";r.d(t,{Vo:()=>a,d9:()=>i,fS:()=>h,tZ:()=>c,y7:()=>p,yd:()=>o});var n=r(67676),s=r(1533);function o(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&o(e[r],!0));else for(r in e)e.hasOwnProperty(r)&&void 0===e[r]&&delete e[r];return e}function i(e){if(!e||"object"!=typeof e||"function"==typeof e)return e;const t=d(e);if(null!=t)return t;if(c(e))return e.clone();if(l(e))return e.map(i);if(u(e))return e.clone();const r={};for(const t of Object.getOwnPropertyNames(e))r[t]=i(e[t]);return r}function a(e){if(!e||"object"!=typeof e||"function"==typeof e||"HTMLElement"in globalThis&&e instanceof HTMLElement)return e;const t=d(e);if(null!=t)return t;if(l(e)){let t=!0;const r=e.map((e=>{const r=a(e);return null!=e&&null==r&&(t=!1),r}));return t?r:null}if(c(e))return e.clone();if(e instanceof File||e instanceof Blob)return e;if(!u(e)){const t=new(0,Object.getPrototypeOf(e).constructor);for(const r of Object.getOwnPropertyNames(e)){const n=e[r],s=a(n);if(null!=n&&null==s)return null;t[r]=s}return t}return null}function c(e){return"function"==typeof e.clone}function l(e){return"function"==typeof e.map&&"function"==typeof e.forEach}function u(e){return"function"==typeof e.notifyChange&&"function"==typeof e.watch}function f(e){if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function d(e){if((0,s.W0)(e)||(0,s.lq)(e)||(0,s.KZ)(e)||(0,s.z3)(e)||(0,s.Uc)(e)||(0,s.Hx)(e)||(0,s.ZY)(e)||(0,s.xZ)(e)||(0,s.fS)(e))return e.slice();if(e instanceof Date)return new Date(e.getTime());if(e instanceof ArrayBuffer)return e.slice(0,e.byteLength);if(e instanceof Map){const t=new Map;for(const[r,n]of e)t.set(r,i(n));return t}if(e instanceof Set){const t=new Set;for(const r of e)t.add(i(r));return t}return null}function h(e,t){return e===t||"number"==typeof e&&isNaN(e)&&"number"==typeof t&&isNaN(t)||"function"==typeof e?.getTime&&"function"==typeof t?.getTime&&e.getTime()===t.getTime()||!1}function p(e,t){return e===t||(null==e||"string"==typeof e?e===t:"number"==typeof e?e===t||"number"==typeof t&&isNaN(e)&&isNaN(t):e instanceof Date?t instanceof Date&&e.getTime()===t.getTime():Array.isArray(e)?Array.isArray(t)&&(0,n.fS)(e,t):e instanceof Set?t instanceof Set&&function(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}(e,t):e instanceof Map?t instanceof Map&&function(e,t){if(e.size!==t.size)return!1;for(const[r,n]of e){const e=t.get(r);if(e!==n||void 0===e&&!t.has(r))return!1}return!0}(e,t):!!f(e)&&f(t)&&function(e,t){if(null===e||null===t)return!1;const r=Object.keys(e);if(null===t||Object.keys(t).length!==r.length)return!1;for(const n of r)if(e[n]!==t[n]||!Object.prototype.hasOwnProperty.call(t,n))return!1;return!0}(e,t))}},70586:(e,t,r)=>{"use strict";function n(e,t){if(null==e)throw new Error(t??"value is None")}function s(e){return e?.destroy(),null}function o(e){return e?.dispose(),null}function i(e){return e?.remove(),null}function a(e){return e?.abort(),null}function c(e){return e?.release(),null}function l(e,t,r){return null!=e&&null!=t?null!=r?r(e,t):e.equals(t):e===t}r.d(t,{IM:()=>a,M2:()=>o,O3:()=>n,RY:()=>c,SC:()=>s,_W:()=>l,hw:()=>i})},41213:(e,t,r)=>{"use strict";r.d(t,{Y:()=>s});const n=[];function s(e){n.push(e),1===n.length&&queueMicrotask((()=>{const e=n.slice();n.length=0;for(const t of e)t()}))}},78286:(e,t,r)=>{"use strict";r.d(t,{RB:()=>i,RH:()=>s,hS:()=>o});var n=r(22974);function s(e,t,r=!1){return c(e,t,r)}function o(e,t){if(null!=t)return t[e]||a(e.split("."),!1,t)}function i(e,t,r){const n=e.split("."),s=n.pop(),o=a(n,!0,r);o&&s&&(o[s]=t)}function a(e,t,r){let n=r;for(const r of e){if(null==n)return;if(!(r in n)){if(!t)return;n[r]={}}n=n[r]}return n}function c(e,t,r){return t?Object.keys(t).reduce(((e,s)=>{let o=e[s],i=t[s];return o===i?e:void 0===o?(e[s]=(0,n.d9)(i),e):(Array.isArray(i)||Array.isArray(e)?(o=o?Array.isArray(o)?e[s]=o.concat():e[s]=[o]:e[s]=[],i&&(Array.isArray(i)||(i=[i]),r?i.forEach((e=>{o.includes(e)||o.push(e)})):e[s]=i.concat())):i&&"object"==typeof i?e[s]=c(o,i,r):e.hasOwnProperty(s)&&!t.hasOwnProperty(s)||(e[s]=i),e)}),e||{}):e}},95330:(e,t,r)=>{"use strict";r.d(t,{e4:()=>S,UO:()=>A,OT:()=>O,zE:()=>l,hh:()=>N,Ds:()=>E,as:()=>v,WW:()=>w,R8:()=>_,D_:()=>m,Hc:()=>d,y8:()=>k,fu:()=>g,$F:()=>y,r9:()=>h,k_:()=>u,H9:()=>p,Yn:()=>j,gx:()=>T,Hl:()=>b});var n=r(50758);const s=(o=globalThis,{setTimeout:(e,t)=>{const r=o.setTimeout(e,t);return(0,n.kB)((()=>o.clearTimeout(r)))}});var o,i=r(20102),a=r(91460),c=(r(92604),r(70586));function l(e="Aborted"){return new i.Z("AbortError",e)}function u(e,t="Aborted"){if(d(e))throw l(t)}function f(e){return null!=e?"aborted"in e?e:e.signal:e}function d(e){const t=f(e);return null!=t&&t.aborted}function h(e){if(m(e))throw e}function p(e){if(!m(e))throw e}function g(e,t){const r=f(e);if(null!=r){if(!r.aborted)return(0,a.IH)(r,"abort",(()=>t()));t()}}function y(e,t){const r=f(e);if(null!=r)return u(r),(0,a.IH)(r,"abort",(()=>t(l())))}function b(e,t){return null==f(t)?e:new Promise(((r,n)=>{let s=g(t,(()=>n(l())));const o=()=>{s=(0,c.hw)(s)};e.then(o,o),e.then(r,n)}))}function m(e){return"AbortError"===e?.name}async function _(e){try{return await e}catch(e){if(!m(e))throw e;return}}async function v(e){if(!e)return;if("function"!=typeof e.forEach){const t=Object.keys(e),r=t.map((t=>e[t])),n=await v(r),s={};return t.map(((e,t)=>s[e]=n[t])),s}const t=e;return Promise.allSettled(t).then((e=>Array.from(t,((t,r)=>{const n=e[r];return"fulfilled"===n.status?{promise:t,value:n.value}:{promise:t,error:n.reason}}))))}async function w(e){return(await v(e)).filter((e=>!!e.value)).map((e=>e.value))}async function O(e){return(await Promise.allSettled(e)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}async function A(e){return(await Promise.allSettled(e)).filter((e=>"rejected"===e.status)).map((e=>e.reason))}function S(e,t=void 0,r){const n=new AbortController;return g(r,(()=>n.abort())),new Promise(((r,s)=>{let o=setTimeout((()=>{o=0,r(t)}),e);g(n,(()=>{o&&(clearTimeout(o),s(l()))}))}))}function k(e){return e&&"function"==typeof e.then}function T(e){return k(e)?e:Promise.resolve(e)}function E(e,t=-1){let r,n,s,o,i=null;const a=(...c)=>{if(r){n=c,o&&o.reject(l()),o=N();const e=o.promise;if(i){const e=i;i=null,e.abort()}return e}if(s=o||N(),o=null,t>0){const n=new AbortController;r=T(e(...c,n.signal));const s=r;S(t).then((()=>{r===s&&(o?n.abort():i=n)}))}else r=1,r=T(e(...c));const u=()=>{const e=n;n=s=r=i=null,null!=e&&a(...e)},f=r,d=s;return f.then(u,u),f.then(d.resolve,d.reject),d.promise};return a}function N(){let e,t;const r=new Promise(((r,n)=>{e=r,t=n})),n=t=>{e(t)};return n.resolve=t=>e(t),n.reject=e=>t(e),n.timeout=(e,t)=>s.setTimeout((()=>n.reject(t)),e),n.promise=r,n}async function j(e){await Promise.resolve(),u(e)}},1654:(e,t,r)=>{"use strict";r.d(t,{MU:()=>_,Os:()=>g});var n=r(41213),s=r(54790),o=r(44553),i=r(95330),a=r(76882);class c{constructor(e){this.callback=e,this.isActive=!0}remove(){this.isActive=!1}}let l=0;const u={time:(0,a.HA)(0),deltaTime:(0,a.HA)(0),elapsedFrameTime:(0,a.HA)(0),frameDuration:(0,a.HA)(0)},f=["prepare","preRender","render","postRender","update","finish"],d=[],h=new o.Z,p={frameTasks:h,willDispatch:!1,clearFrameTasks:function(e=!1){h.forAll((e=>{e.removed=!0})),e&&b()},dispatch:m,executeFrameTasks:function(e){const t=(0,a.HA)(e-l);l=e;const r=1e3/60,n=Math.max(0,t-r);u.time=e,u.frameDuration=(0,a.HA)(r-n);for(let r=0;r<f.length;r++){const n=performance.now(),s=f[r];h.forAll((n=>{n.paused||n.removed||(0===r&&n.ticks++,n.phases[s]&&(u.elapsedFrameTime=(0,a.HA)(performance.now()-e),u.deltaTime=0===n.ticks?(0,a.HA)(0):t,n.phases[s]?.call(n,u)))})),v[r].record(performance.now()-n)}b(),w.record(performance.now()-e)}};function g(e){const t=new c(e);return d.push(t),p.willDispatch||(p.willDispatch=!0,(0,n.Y)(m)),t}const y=new o.Z;function b(){h.forAll((e=>{e.removed&&y.push(e)})),h.removeUnorderedMany(y.data,y.length),y.clear()}function m(){for(;d.length;){const e=d.shift();e.isActive&&e.callback()}p.willDispatch=!1}function _(e=1,t){const r=(0,i.hh)(),s=()=>{(0,i.Hc)(t)?r.reject((0,i.zE)()):0===e?r():(--e,(0,n.Y)((()=>s())))};return s(),r.promise}const v=f.map((e=>new s.Z(e))),w=new s.Z("total")},19153:(e,t,r)=>{"use strict";r.d(t,{Cb:()=>l,Qs:()=>a,gx:()=>i,hP:()=>c});var n=r(78286);const s=/\{([^\}]+)\}/g;function o(e){return e??""}function i(e,t){return t?e.replaceAll(s,"object"==typeof t?(e,r)=>o((0,n.hS)(r,t)):(e,r)=>o(t(r))):e}function a(e,t){return e.replaceAll(/([\.$?*|{}\(\)\[\]\\\/\+\-^])/g,(e=>t&&t.includes(e)?e:`\\${e}`))}function c(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t}function l(e){return(new DOMParser).parseFromString(e||"","text/html").body.innerText||""}},76882:(e,t,r)=>{"use strict";function n(e){return e}function s(e){return 1e3*e}function o(e){return e}r.d(t,{HA:()=>n,_H:()=>o,up:()=>s})},1533:(e,t,r)=>{"use strict";r.d(t,{B3:()=>m,Hx:()=>u,KZ:()=>a,Op:()=>v,Q7:()=>_,Uc:()=>l,W0:()=>o,Xw:()=>g,ZY:()=>f,c8:()=>b,eP:()=>s,fS:()=>h,kJ:()=>p,lq:()=>i,xZ:()=>d,z3:()=>c});var n=r(43090);function s(e){return e instanceof ArrayBuffer}function o(e){return"Int8Array"===e?.constructor?.name}function i(e){return"Uint8Array"===e?.constructor?.name}function a(e){return"Uint8ClampedArray"===e?.constructor?.name}function c(e){return"Int16Array"===e?.constructor?.name}function l(e){return"Uint16Array"===e?.constructor?.name}function u(e){return"Int32Array"===e?.constructor?.name}function f(e){return"Uint32Array"===e?.constructor?.name}function d(e){return"Float32Array"===e?.constructor?.name}function h(e){return"Float64Array"===e?.constructor?.name}function p(e){return!("buffer"in e)}function g(...e){return e.reduce(((e,t)=>e+(t?p(t)?(0,n.do)(t,(0,n.G3)()):t.byteLength+y:0)),0)}r(80442);const y=145,b=1024;function m(e){return h(e)||d(e)||u(e)||c(e)||o(e)}function _(e){return h(e)||d(e)}function v(e){return h(e)?179769e303:d(e)?3402823e32:f(e)?4294967295:l(e)?65535:i(e)||a(e)?255:u(e)?2147483647:c(e)?32767:o(e)?127:256}},99001:(e,t,r)=>{"use strict";r.d(t,{D:()=>s});let n=0;function s(){return++n}},17452:(e,t,r)=>{"use strict";r.d(t,{$U:()=>ce,AH:()=>Q,B7:()=>j,D6:()=>z,Fv:()=>Z,HK:()=>Y,Hu:()=>me,IR:()=>Ae,Ie:()=>ye,L:()=>T,Ml:()=>we,P$:()=>G,PF:()=>W,Qj:()=>ge,R9:()=>w,TI:()=>k,YP:()=>V,Yd:()=>de,ZN:()=>_e,Zo:()=>R,_l:()=>re,b7:()=>C,ed:()=>U,fZ:()=>Oe,fl:()=>ve,fw:()=>se,gi:()=>ne,hF:()=>q,hO:()=>le,io:()=>oe,jc:()=>K,kl:()=>F,mN:()=>E,oC:()=>ie,oh:()=>B,qg:()=>P,rS:()=>X,sJ:()=>te,tD:()=>$,tm:()=>L,u0:()=>N,v_:()=>J,vt:()=>he,xs:()=>pe});var n=r(68773),s=r(67676),o=r(20102),i=r(96674),a=r(92604),c=r(19745),l=r(49917);const u=a.Z.getLogger("esri.core.urlUtils"),f=n.default.request,d="esri/config: esriConfig.request.proxyUrl is not set.",h=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,p=/^\s*http:/i,g=/^\s*https:/i,y=/^\s*file:/i,b=/:\d+$/,m=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,_=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),v=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$");class w{constructor(e=""){this.uri=e,this.scheme=null,this.authority=null,this.path=null,this.query=null,this.fragment=null,this.user=null,this.password=null,this.host=null,this.port=null;let t=this.uri.match(_);this.scheme=t[2]||(t[1]?"":null),this.authority=t[4]||(t[3]?"":null),this.path=t[5],this.query=t[7]||(t[6]?"":null),this.fragment=t[9]||(t[8]?"":null),null!=this.authority&&(t=this.authority.match(v),this.user=t[3]||null,this.password=t[4]||null,this.host=t[6]||t[7],this.port=t[9]||null)}toString(){return this.uri}}const O={};let A=new w(n.default.applicationUrl);let S=function(){const e=A.path,t=e.substring(0,e.lastIndexOf(e.split("/")[e.split("/").length-1]));return`${A.scheme}://${A.host}${null!=A.port?`:${A.port}`:""}${t}`}();const k=()=>A,T=()=>S;function E(e){if(!e)return null;const t={path:null,query:null},r=new w(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.substring(0,n),t.query=N(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.substring(0,t.path.length-(r.fragment.length+1)))),t}function N(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,s;t<0?(n=decodeURIComponent(e),s=""):(n=decodeURIComponent(e.slice(0,t)),s=decodeURIComponent(e.slice(t+1)));let o=r[n];"string"==typeof o&&(o=r[n]=[o]),Array.isArray(o)?o.push(s):r[n]=s}return r}function j(e,t){return e?t&&"function"==typeof t?Object.keys(e).map((r=>encodeURIComponent(r)+"="+encodeURIComponent(t(r,e[r])))).join("&"):Object.keys(e).map((r=>{const n=e[r];if(null==n)return"";const s=encodeURIComponent(r)+"=",o=t?.[r];return o?s+encodeURIComponent(o(n)):Array.isArray(n)?n.map((e=>(0,i.AK)(e)?s+encodeURIComponent(JSON.stringify(e)):s+encodeURIComponent(e))).join("&"):(0,i.AK)(n)?s+encodeURIComponent(JSON.stringify(n)):s+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function C(e=!1){let t,r=f.proxyUrl;if("string"==typeof e){t=ce(e);const n=U(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw u.warn(d),new o.Z("urlutils:proxy-not-set",d);return t&&ue()&&(r=le(r)),E(r)}function P(e){const t=U(e);let r,n;if(t){const e=I(t.proxyUrl);r=e.path,n=e.query?N(e.query):null}if(r){const t=E(e);e=r+"?"+t.path;const s=j({...n,...t.query});s&&(e=`${e}?${s}`)}return e}const M={path:"",query:""};function I(e){const t=e.indexOf("?");return-1!==t?(M.path=e.slice(0,t),M.query=e.slice(t+1)):(M.path=e,M.query=null),M}function x(e){return(e=fe(e=pe(e=I(e).path),!0)).toLowerCase()}function $(e){const t={proxyUrl:e.proxyUrl,urlPrefix:x(e.urlPrefix)},r=f.proxyRules,n=t.urlPrefix;let s=r.length;for(let e=0;e<r.length;e++){const t=r[e].urlPrefix;if(0===n.indexOf(t)){if(n.length===t.length)return-1;s=e;break}0===t.indexOf(n)&&(s=e+1)}return r.splice(s,0,t),s}function U(e){const t=f.proxyRules,r=x(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function R(e,t){if(!e||!t)return!1;e=D(e),t=D(t);const r=(0,c.a)(e),n=(0,c.a)(t);return null!=r&&null!=n?r.portalHostname===n.portalHostname:null==r&&null==n&&z(e,t,!0)}function L(e,t){return e=D(e),t=D(t),fe(e)===fe(t)}function D(e){const t=(e=Z(e)).indexOf("/sharing");return t>0?e.substring(0,t):e.replace(/\/+$/,"")}function B(e){const t=t=>null==t||t instanceof RegExp&&t.test(e)||"string"==typeof t&&e.startsWith(t),r=f.interceptors;if(r)for(const e of r)if(Array.isArray(e.urls)){if(e.urls.some(t))return e}else if(t(e.urls))return e;return null}function z(e,t,r=!1){if(!e||!t)return!1;const n=be(e),s=be(t);return!(!r&&n.scheme!==s.scheme)&&null!=n.host&&null!=s.host&&n.host.toLowerCase()===s.host.toLowerCase()&&n.port===s.port}function F(e){if("string"==typeof e){if(!V(e))return!0;e=be(e)}if(z(e,A))return!0;const t=f.trustedServers||[];for(let r=0;r<t.length;r++){const n=H(t[r]);for(let t=0;t<n.length;t++)if(z(e,n[t]))return!0}return!1}function H(e){return O[e]||(ae(e)||ie(e)?O[e]=[new w(q(e))]:O[e]=[new w(`http://${e}`),new w(`https://${e}`)]),O[e]}function q(e,t=S,r){return ie(e)?r&&r.preserveProtocolRelative?e:"http"===A.scheme&&A.authority===G(e).slice(2)?`http:${e}`:`https:${e}`:ae(e)?e:J("/"===e[0]?function(e){const t=e.indexOf("//"),r=e.indexOf("/",t+2);return-1===r?e:e.slice(0,r)}(t):t,e)}function W(e,t=S,r){if(null==e||!V(e))return e;const n=Z(e),s=n.toLowerCase(),o=Z(t).toLowerCase().replace(/\/+$/,""),i=r?Z(r).toLowerCase().replace(/\/+$/,""):null;if(i&&0!==o.indexOf(i))return e;const a=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=a(s,"/",s.indexOf("//")+2),l=-1;for(;s.slice(0,c+1)===o.slice(0,c)+"/"&&(l=c+1,c!==s.length);)c=a(s,"/",c+1);if(-1===l)return e;if(i&&l<i.length)return e;e=n.slice(l);const u=o.slice(l-1).replaceAll(/[^/]+/g,"").length;if(u>0)for(let t=0;t<u;t++)e=`../${e}`;else e=`./${e}`;return e}function Z(e){return function(e){const t=f.httpsDomains;if(!function(e){return null!=e&&p.test(e)||"http"===A.scheme&&ie(e)}(e))return e;const r=e.indexOf("/",7);let n;if(n=-1===r?e:e.slice(0,r),n=n.toLowerCase().slice(7),b.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===A.scheme&&n===A.authority&&!m.test(e)||(ue()&&n===A.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||ue()&&!U(e))&&(e=le(e)),e}(e=function(e){return e.replace(/^(https?:\/\/)(arcgis\.com)/i,"$1www.$2")}(e=function(e){if(/^https?:\/\//i.test(e)){const t=I(e);e=(e=t.path.replaceAll(/\/{2,}/g,"/")).replace("/","//"),t.query&&(e+=`?${t.query}`)}return e}(e=q(e=e.trim()))))}function J(...e){const t=e.filter(s.pC);if(!t?.length)return;const r=[];if(V(t[0])){const e=t[0],n=e.indexOf("//");-1!==n&&(r.push(e.slice(0,n+1)),function(e){return null!=e&&y.test(e)}(t[0])&&(r[0]+="/"),t[0]=e.slice(n+2))}else"/"===t[0][0]&&r.push("");const n=t.reduce(((e,t)=>t?e.concat(t.split("/")):e),[]);for(let e=0;e<n.length;e++){const t=n[e];".."===t&&r.length>0&&".."!==r[r.length-1]?r.pop():(!t&&e===n.length-1||t&&("."!==t||0===r.length))&&r.push(t)}return r.join("/")}function G(e,t=!1){if(null==e||K(e)||Y(e))return null;let r=e.indexOf("://");if(-1===r&&ie(e))r=2;else{if(-1===r)return null;r+=3}const n=e.indexOf("/",r);return-1!==n&&(e=e.slice(0,n)),t&&(e=fe(e,!0)),e}function V(e){return ie(e)||ae(e)}function K(e){return null!=e&&"blob:"===e.slice(0,5)}function Y(e){return null!=e&&"data:"===e.slice(0,5)}function Q(e){const t=te(e);return t&&t.isBase64?(0,l.R)(t.data):null}function X(e){return(0,l.s)(e).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}const ee=/^data:(.*?)(;base64)?,(.*)$/;function te(e){const t=e.match(ee);if(!t)return null;const[,r,n,s]=t;return{mediaType:r,isBase64:!!n,data:s}}function re(e){return e.isBase64?`data:${e.mediaType};base64,${e.data}`:`data:${e.mediaType},${e.data}`}async function ne(e){return(await fetch(e)).blob()}function se(e){const t=Q(e);if(!t)return null;const r=te(e);return new Blob([t],{type:r.mediaType})}function oe(e,t){!function(e,t){if(!e)return!1;const r=document.createElement("a");if(!("download"in r))return!1;const n=URL.createObjectURL(e);r.download=t,r.href=n,r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)}(e,t)}function ie(e){return null!=e&&"/"===e[0]&&"/"===e[1]}function ae(e){return null!=e&&h.test(e)}function ce(e){return null!=e&&g.test(e)||"https"===A.scheme&&ie(e)}function le(e){return ie(e)?`https:${e}`:e.replace(p,"https:")}function ue(){return"https"===A.scheme}function fe(e,t=!1){return ie(e)?e.slice(2):(e=e.replace(h,""),t&&e.length>1&&"/"===e[0]&&"/"===e[1]&&(e=e.slice(2)),e)}function de(e){let t=0;if(V(e)){const r=e.indexOf("//");-1!==r&&(t=r+2)}const r=e.lastIndexOf("/");return r<t?e:e.slice(0,r+1)}function he(e,t){if(!e)return"";const r=E(e).path.replace(/\/+$/,""),n=r.substring(r.lastIndexOf("/")+1);if(!t?.length)return n;const s=new RegExp(`.(${t.join("|")})$`,"ig");return n.replace(s,"")}function pe(e){return e.endsWith("/")?e:`${e}/`}function ge(e){return e.replace(/\/+$/,"")}function ye(e,t,r){if(!(t&&r&&e&&V(e)))return e;const n=e.indexOf("//"),s=e.indexOf("/",n+2),o=e.indexOf(":",n+2),i=Math.min(s<0?e.length:s,o<0?e.length:o);return e.slice(n+2,i).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(i)}`}function be(e){return"string"==typeof e?new w(q(e)):(e.scheme||(e.scheme=A.scheme),e)}function me(e,t){const r=E(e),n=Object.keys(r.query||{});return n.length>0&&t&&t.warn("removeQueryParameters()",`Url query parameters are not supported, the following parameters have been removed: ${n.join(", ")}.`),r.path}function _e(e,t,r){const n=E(e),s=n.query||{};return s[t]=String(r),`${n.path}?${j(s)}`}function ve(e,t){if(!t)return e;const r=E(e),n=r.query||{};for(const[e,r]of Object.entries(t))null!=r&&(n[e]=r);const s=j(n);return s?`${r.path}?${s}`:r.path}function we(e){if(null==e)return null;const t=e.match(Se);return t?t[2]:null}function Oe(e){if(null==e)return null;const t=e.match(Se);return t?{path:t[1],extension:t[2]}:{path:e,extension:null}}async function Ae(e){return"string"==typeof e?te(e)??{data:e}:new Promise(((t,r)=>{const n=new FileReader;n.readAsDataURL(e),n.onload=()=>t(te(n.result)),n.onerror=e=>r(e)}))}const Se=/([^.]*)\.([^\/]*)$/},728:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>_});var n=r(40330),s=r(20102),o=r(91460),i=r(50758),a=r(70586),c=r(95330);const l={statsWorker:()=>Promise.all([r.e(7126),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(7267)]).then(r.bind(r,37267)),geometryEngineWorker:()=>Promise.all([r.e(5837),r.e(8228)]).then(r.bind(r,48227)),CSVSourceWorker:()=>Promise.all([r.e(7126),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(3794),r.e(5883)]).then(r.bind(r,27793)),EdgeProcessingWorker:()=>Promise.all([r.e(6481),r.e(3677),r.e(2043),r.e(3557)]).then(r.bind(r,49594)),ElevationSamplerWorker:()=>Promise.all([r.e(3615),r.e(3952),r.e(3215),r.e(6481),r.e(6459),r.e(9995)]).then(r.bind(r,61787)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(7126),r.e(957),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(4599),r.e(9e3),r.e(9213),r.e(3794),r.e(664)]).then(r.bind(r,65967)),GeoJSONSourceWorker:()=>Promise.all([r.e(7126),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(3794),r.e(1690)]).then(r.bind(r,97845)),LercWorker:()=>r.e(3027).then(r.bind(r,23027)),MemorySourceWorker:()=>Promise.all([r.e(7126),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(3794),r.e(946)]).then(r.bind(r,30639)),PBFDecoderWorker:()=>Promise.all([r.e(3952),r.e(3215),r.e(1916)]).then(r.bind(r,61916)),Pipeline:()=>Promise.all([r.e(7126),r.e(957),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(4599),r.e(9e3),r.e(9213),r.e(3794),r.e(4325),r.e(3966),r.e(3742)]).then(r.bind(r,27937)),PointCloudWorker:()=>Promise.all([r.e(3952),r.e(6170),r.e(5476),r.e(9005)]).then(r.bind(r,75326)),RasterWorker:()=>Promise.all([r.e(3615),r.e(3952),r.e(3215),r.e(6610),r.e(4216),r.e(1419)]).then(r.bind(r,61576)),SceneLayerSnappingSourceWorker:()=>Promise.all([r.e(6481),r.e(6170),r.e(3677),r.e(2043),r.e(4275)]).then(r.bind(r,73248)),SceneLayerWorker:()=>Promise.all([r.e(3952),r.e(1412)]).then(r.bind(r,31412)),WFSSourceWorker:()=>Promise.all([r.e(7126),r.e(3615),r.e(8968),r.e(3952),r.e(3215),r.e(9e3),r.e(9213),r.e(3794),r.e(8089),r.e(3606)]).then(r.bind(r,43230)),WorkerTileHandler:()=>Promise.all([r.e(4325),r.e(9805),r.e(3425),r.e(5027)]).then(r.bind(r,56456)),Lyr3DWorker:()=>r.e(1455).then(r.bind(r,41455))};var u=r(94362),f=r(17202);const{CLOSE:d,ABORT:h,INVOKE:p,RESPONSE:g,OPEN_PORT:y,ON:b}=u.MessageType;class m{constructor(e){this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._invoke=e,this._timer=null,this._process=this._process.bind(this)}push(e){e.type===u.MessageType.ABORT?this._cancelledJobIds.add(e.jobId):(this._invokeMessages.push(e),null===this._timer&&(this._timer=setTimeout(this._process,0)))}clear(){this._invokeMessages.length=0,this._cancelledJobIds.clear(),this._timer=null}_process(){this._timer=null;for(const e of this._invokeMessages)this._cancelledJobIds.has(e.jobId)||this._invoke(e);this._cancelledJobIds.clear(),this._invokeMessages.length=0}}class _{static connect(e){const t=new MessageChannel;let r;r="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const n=new _(t.port1,{channel:t,client:r});return"object"==typeof r&&"remoteClient"in r&&(r.remoteClient=n),_.clients.set(n,r),t.port2}static loadWorker(e){const t=l[e];return t?t():Promise.resolve(null)}constructor(e,t,r){this._port=e,this._jobQueue=r,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new m((e=>this._onInvokeMessage(e))),this._client=t.client,this._onMessage=this._onMessage.bind(this),this._channel=t.channel,this._schedule=t.schedule,this._port.addEventListener("message",this._onMessage),this._port.start()}close(){this._post({type:d}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){const n=r?.signal,o=r?.transferList;if(!this._port)return Promise.reject(new s.Z("worker:port-closed",`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const i=(0,u.jt)();return new Promise(((r,s)=>{if((0,c.Hc)(n))return this._processWork(),void s((0,c.zE)());const l=(0,c.fu)(n,(()=>{const e=this._outJobs.get(i);e&&(this._outJobs.delete(i),this._processWork(),(0,a.hw)(e.abortHandle),this._post({type:h,jobId:i}),s((0,c.zE)()))})),u={resolve:r,reject:s,abortHandle:l,debugInfo:e};this._outJobs.set(i,u),this._post({type:p,jobId:i,methodName:e,abortable:null!=n},t,o)}))}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:u.MessageType.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),(0,i.kB)((()=>{r.port1.postMessage({type:u.MessageType.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}))}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:y,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=2)return;const e=this._jobQueue?.pop();if(!e)return;const{methodName:t,data:r,invokeOptions:n,resolver:s}=e;this.invoke(t,r,n).then((e=>s.resolve(e))).catch((e=>s.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{(0,a.hw)(e.abortHandle),e.reject((0,c.zE)(`Worker closing, aborting job calling '${e.debugInfo}'`))})),this._inJobs.clear(),this._outJobs.clear(),this._invokeQueue.clear(),this._port=null,this._client=null,this._schedule=null}_onMessage(e){null!=this._schedule?this._schedule((()=>this._processMessage(e))):this._processMessage(e)}_processMessage(e){const t=(0,u.QM)(e);if(t)switch(t.type){case g:this._onResponseMessage(t);break;case p:this._invokeQueue.push(t);break;case h:this._onAbortMessage(t);break;case d:this._onCloseMessage();break;case y:this._onOpenPortMessage(t);break;case b:this._onOnMessage(t)}}_onAbortMessage(e){const t=this._inJobs,r=e.jobId,n=t.get(r);this._invokeQueue.push(e),n&&(n.controller&&n.controller.abort(),t.delete(r))}_onCloseMessage(){const e=this._client;this._close(),e&&"destroy"in e&&_.clients.get(this)===e&&e.destroy(),_.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n,abortable:s}=e,o=s?new AbortController:null,i=this._inJobs;let a,l=this._client,f=l[t];try{if(!f&&t&&t.includes(".")){const e=t.split(".");for(let t=0;t<e.length-1;t++)l=l[e[t]],f=l[e[t+1]]}if("function"!=typeof f)throw new TypeError(`${t} is not a function`);a=f.call(l,n,{client:this,signal:o?o.signal:null})}catch(e){return void this._post({type:g,jobId:r,error:(0,u.AB)(e)})}(0,c.y8)(a)?(i.set(r,{controller:o,promise:a}),a.then((e=>{i.has(r)&&(i.delete(r),this._post({type:g,jobId:r},e))}),(e=>{i.has(r)&&(i.delete(r),(0,c.D_)(e)||this._post({type:g,jobId:r,error:(0,u.AB)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:g,jobId:r},a)}_onOpenPortMessage(e){new _(e.port,{client:this._client})}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,o.on)(e.port,"message",(e=>{const s=(0,u.QM)(e);s?.type===u.MessageType.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){const{jobId:t,error:r,data:n}=e,o=this._outJobs;if(!o.has(t))return;const i=o.get(t);o.delete(t),this._processWork(),(0,a.hw)(i.abortHandle),r?i.reject(s.Z.fromJSON(JSON.parse(r))):i.resolve(n)}_post(e,t,r){return(0,u.oi)(this._port,e,t,r)}}_.kernelInfo={buildDate:f.r,fullVersion:n.bR,revision:f.$},_.clients=new Map},94362:(e,t,r)=>{"use strict";r.d(t,{AB:()=>a,MessageType:()=>n,QM:()=>l,jt:()=>i,oi:()=>c});var n,s=r(80442);!function(e){e[e.HANDSHAKE=0]="HANDSHAKE",e[e.OPEN=1]="OPEN",e[e.OPENED=2]="OPENED",e[e.RESPONSE=3]="RESPONSE",e[e.INVOKE=4]="INVOKE",e[e.ABORT=5]="ABORT",e[e.CLOSE=6]="CLOSE",e[e.OPEN_PORT=7]="OPEN_PORT",e[e.ON=8]="ON"}(n||(n={}));let o=0;function i(){return o++}function a(e){return e?"string"==typeof e?JSON.stringify({name:"message",message:e}):e.toJSON?JSON.stringify(e):JSON.stringify({name:e.name,message:e.message,details:e.details||{stack:e.stack}}):null}function c(e,t,r,o){if(t.type===n.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==n.INVOKE&&t.type!==n.RESPONSE)return void e.postMessage(t);let i;if(function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(i=u(r.transferList),t.data=r.result):(i=u(o),t.data=r),i){if((0,s.Z)("ff"))for(const r of i)if("byteLength"in r&&r.byteLength>267386880){const r="Worker call with large ArrayBuffer would crash Firefox";switch(t.type){case n.INVOKE:throw r;case n.RESPONSE:return void c(e,{type:n.RESPONSE,jobId:t.jobId,error:a(r)})}}e.postMessage(t,i)}else e.postMessage(t)}function l(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function u(e){if(!e?.length)return null;if((0,s.Z)("esri-workers-arraybuffer-transfer"))return e;const t=e.filter((e=>!function(e){return e instanceof ArrayBuffer||"ArrayBuffer"===e?.constructor?.name}(e)));return t.length?t:null}},40330:(e,t,r)=>{"use strict";r.d(t,{Dp:()=>u,bR:()=>c,i8:()=>i,id:()=>a,qh:()=>l});var n=r(80442),s=r(17452),o=r(17202);Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const i="4.29";let a,c=i;function l(e){a=e}function u(e){const t=a?.findCredential(e);return t?.token?(0,s.ZN)(e,"token",t.token):e}c=`4.29.0-next.${o.r}`,(0,n.Z)("host-webworker")},19745:(e,t,r)=>{"use strict";r.d(t,{P:()=>i,a:()=>o});const n=/^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i,s={devext:{customBaseUrl:"mapsdevext.arcgis.com",portalHostname:"devext.arcgis.com"},qaext:{customBaseUrl:"mapsqa.arcgis.com",portalHostname:"qaext.arcgis.com"},www:{customBaseUrl:"maps.arcgis.com",portalHostname:"www.arcgis.com"}};function o(e){const t=e?.match(n);if(!t)return null;const[,r,o,i]=t;if(!r)return null;let a=null,c=null,l=null;const{devext:u,qaext:f,www:d}=s;if(o)if(a=r,i)switch(i.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=u);break;case"qa":({customBaseUrl:c,portalHostname:l}=f);break;default:return null}else({customBaseUrl:c,portalHostname:l}=d);else switch(r.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=u);break;case"qaext":({customBaseUrl:c,portalHostname:l}=f);break;case"www":({customBaseUrl:c,portalHostname:l}=d);break;default:return null}return{customBaseUrl:c,isPortal:!1,portalHostname:l,urlKey:a}}function i(e){return/\/(sharing|usrsvcs)\/(appservices|servers)\//i.test(e)}},49917:(e,t,r)=>{"use strict";function n(e){const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return r.buffer}function s(e){const t=new Uint8Array(e);let r="";for(let e=0;e<t.length;e++)r+=String.fromCharCode(t[e]);return btoa(r)}r.d(t,{R:()=>n,s:()=>s})},17202:(e,t,r)=>{"use strict";r.d(t,{$:()=>s,r:()=>n});const n="20231111",s="b58477511c130be60f3957294bc78e8d56effaba"}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.m=e,r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((t,n)=>(r.f[n](e,t),t)),[])),r.u=e=>"chunks/"+{24:"faf41c28fb9bac9eb277",118:"a12da7d99dd02e72d851",163:"872e8c3d0b09ebdf19af",247:"a9f83bbccf3b5f229262",299:"21d2adc1c23b36222547",304:"a3b844e904c5ca20b55b",540:"8f4646bd3aac81136eb7",565:"01ec6da0c371bf43f48c",572:"2bfec29b5a5ef68f914b",576:"c5c56b6d99db96a6755a",661:"39ae4b9b766f674bc6f2",664:"663592355a0be6c68929",716:"a03aa57b038365069aeb",770:"5ac6ffab5c8fb41a4f42",819:"d1ead6e8aa7e8e21fbc6",821:"4b40ae3de54d0003b9c7",861:"a702f44bf45379b46006",946:"014867cbc1dcc8b6e5d3",951:"1ca29cd0f1d4218c5691",957:"de186cf0b4679af7ca9a",1073:"9275ab11ba306dc32df0",1158:"de8abbe1356873fdce87",1316:"1c0d7eb69c130cae77a2",1412:"7fe97648e04f14433640",1419:"9261e6393dd38d45ce54",1421:"9244c52ad4bc86ebdd5c",1423:"b6fb06965c077d8bd1a0",1433:"4d5bdf18feeb9c8cb6ff",1444:"b91af6a65d382b92b162",1445:"17e6fdd33890e623fb5a",1455:"b2daa4ffaf1e54b2de4f",1537:"973ea30dd63bf40c22d6",1566:"853358f7d0300631bf92",1690:"e766c59bcb1fb32e04f8",1767:"57306b121d8054ac43d2",1773:"f1bd2b65bf56462c083f",1790:"dfa08348e79346c9a8a2",1826:"d242b821f213870d84ad",1916:"b86d124744efd3ce02c5",2043:"653be2571163ac727a43",2046:"c6d1a6db8cfa0a7e3bd2",2118:"f23d32396d8a4e154547",2134:"1d74767a28375cea0c62",2330:"9b879567dabea7d6c6c4",2421:"4b7810df32e91fecd0b4",2438:"8c3e05aadde58cc63c88",2539:"13f5471191ea5cdc0545",2594:"ef04fb44a0f5e4456c9a",2664:"1c6bc33025cc33c2c5d9",2712:"fd0f9ba2cae72d569611",2713:"bbb58a904cfd2054a27c",2763:"2a328f628f3884b9b98e",2834:"58b404cb320f0a202f42",2879:"4a4dfe393c4c5e9435f9",2934:"f0e7100562270a98ef9b",3007:"ae757efdb38a1c39ebdd",3027:"112a16f143fa21637849",3073:"99fd09dd42b75a932e84",3215:"e003c8f84acc8ce6cdff",3222:"6920535308bb68f093c2",3310:"e83c9a71d2cce98c5a57",3425:"92f2d65c05cda68dafb7",3529:"89de59d0f9a6901aed37",3557:"2020f808ba29dbe22dd7",3601:"76d3bfee82c065894f28",3606:"d00ec2a5a56ebabb7185",3615:"b95bd1c7a8561554065a",3637:"8e8fdf1749a54c66318c",3677:"f6ed6b17d2e5653318f6",3742:"0c5db731744165e818c0",3758:"7ed53cbbbf0a040465e9",3778:"976ab1abff568e660c9b",3794:"94b12274cb24ecec7933",3852:"f0c62bb406bb93b1408a",3861:"a97302e33553a3111f3a",3914:"31bb1bda647ab7c523ba",3952:"acdd9267bc73941932b5",3966:"6f3f9d657bff641a53ff",3992:"8926596796aa0a5abd4e",4041:"9a7cc762e57714cbf00a",4166:"4a98e4df168f0a57b2b5",4216:"7a8a63c6bfb6390ef92c",4275:"51a987195f49e338ef3d",4325:"f3e723075f460c36b819",4330:"8763baec3f635b35c272",4358:"e861936eea34ee3c97e9",4371:"28154e3c66879fd39e0c",4475:"50e0c75fcbc5fa66658f",4492:"914adb8839e250bb8390",4499:"c83b0b5799bdae61fa8c",4573:"2b47ef3571f54c946683",4599:"7cf7f2b991a7cbdad2ce",4695:"4ae8308e5b9c7772a11f",4697:"064d9d10308efed08179",4720:"d7637c89848ee4f5f4db",4723:"cf02dded7a6e71de13a4",4828:"d30780908f3787dff51c",4998:"ae5227b7d0f6dee577b6",5027:"9f9daf3872379a0e4d7b",5234:"8b6b963230df56850580",5329:"1b37f92306f1305f0460",5334:"80bf6cf1bef17215bca4",5389:"f723fa99bcd1b58e480f",5463:"b7e7312dfe53e1f19b0d",5476:"e2e3558c8b64d6e3ba40",5481:"e032488953ddfde78b9c",5618:"27665a4f225e55701812",5642:"610afd59e4844a9f198f",5732:"83f7e22a12d90ef93e62",5837:"9d2f3de6953a8ebafdd3",5883:"b402c811253900d87b9d",5935:"60a08ce29d09cb07ef06",5936:"6f48119e0d6162237699",5946:"14c399a5dc8e867a676d",6e3:"af4763f751b630390cf6",6047:"fee5293e0232f0950bb3",6055:"ce1472df4c8320d4a633",6124:"fa66f82e551de2d3b7c2",6136:"3247c1e122909404f0d7",6170:"80aae4ef1469c0a7f8d1",6233:"45d2d63f90a83472acd0",6237:"6f1c298509e89a7479ee",6324:"b5e8002ec496db38b389",6413:"08d031fa9a940e52b134",6459:"8f0339a4b1aa954ca624",6481:"41bebad0a39213a63405",6594:"0b2c9cf8de6e681c0937",6610:"c6f32f03029b891bfeea",6710:"c20b22aab4b9f7ab101f",6774:"d7270cb3689d6a08f530",6882:"a6aa56c3ef9fd7a44894",7021:"473ca48dfae4c4740b90",7085:"b436b84c7c9f4b4b0197",7126:"0f804e3f888cb4998f46",7157:"6b3965d9b42877ed62cf",7215:"ea72d13f64a74519ff7f",7267:"b6cc8d7dcc710231fe72",7277:"f442f1397636cd3d8b40",7307:"76c11b2eb1d80cc9e130",7360:"4354b5696fce0421927a",7374:"25d97c2b966de1eb1a8c",7528:"7ce5d621312cbbd140d0",7863:"f1a1519dbb4b583d9728",7873:"0e79e6dff936855463b1",7899:"36b82bbcac805e3a85ed",7902:"a6c99d14f4ec39975b56",7915:"16bba7f162a2d3ac7e29",8008:"712f14c4a3ab8cd716dd",8062:"d633a32953a0191249a5",8083:"632eef0f17e23eb1669a",8089:"0bfa83140b479d5c202b",8092:"70738db8ca6367a52ef5",8096:"63c8bf00120a4e67f5b0",8153:"7ebda506648e0e75eeed",8228:"e5352dc8983d06d4ee0f",8592:"24d04cca452ba2fec5d4",8636:"c90b91b0617e12d6e0a6",8652:"7420bd599fa5834d8e15",8758:"b6bd31674076e543d8b2",8828:"2f8a4c55f69f48aec4d0",8968:"c9306fb3ec1a2d5e137a",9e3:"de30ff1fcb6079178958",9005:"e5f5b14061137340b597",9016:"d93c567f6a406dd24efa",9153:"793890ebbe4501f48a55",9169:"a360534e89a337871921",9213:"56cbd01bb8219f62be26",9238:"c6f809e742d2a5f06bf1",9243:"5bb8f1fb77682ee36444",9248:"7cc56b132c46c5922dac",9266:"549b93f8023f60d51dd8",9291:"d191267d91a53db42956",9296:"dd841949503f3a4bcc3a",9379:"72ab1dd8542de1c1c3aa",9507:"1687431f7b233d950195",9717:"f0a76660fa11186aebca",9735:"d96fc85312ec3f5829cf",9790:"4c749590c841e07388a3",9805:"c734116e34106810a3bf",9884:"68b0e0aa33880bc1ba77",9889:"92037523c10a697baf55",9904:"3009e3a62da9460ac6fd",9931:"ac25e8806015fa90f03e",9970:"23aacb16383c60826e2d",9971:"34049f81c2a6b8cd7b2f",9995:"e87cc3b2d7188ba38de4"}[e]+".js",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var t=r.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var s=n.length-1;s>-1&&!e;)e=n[s--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={134:1};r.f.i=(t,n)=>{e[t]||importScripts(r.p+r.u(t))};var t=self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[],n=t.push.bind(t);t.push=t=>{var[s,o,i]=t;for(var a in o)r.o(o,a)&&(r.m[a]=o[a]);for(i&&i(r);s.length;)e[s.pop()]=1;n(t)}})(),r(88277);var n=r(728);RemoteClient=n})();
|
package/package.json
CHANGED
package/support/revision.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const
|
|
5
|
+
const b="20231111",e="b58477511c130be60f3957294bc78e8d56effaba";export{b as buildDate,e as commitHash};
|
package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../../../../chunks/tslib.es6.js";import t from"../../../../../../core/Accessor.js";import{watch as r,initial as i}from"../../../../../../core/reactiveUtils.js";import{property as s}from"../../../../../../core/accessorSupport/decorators/property.js";import"../../../../../../core/accessorSupport/ensureType.js";import"../../../../../../core/RandomLCG.js";import"../../../../../../core/has.js";import{subclass as o}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{TileKey as n}from"../../../../../../layers/support/TileKey.js";import{Visibility as l}from"../../../../layers/support/FeatureTileDescriptor3D.js";import{distanceToTile as c}from"../../../../../interactive/snapping/featureSources/featureServiceSource/tileUtils.js";let p=class extends t{get tiles(){const e=this.tilesCoveringView,t=this._effectivePointOfInterest;if(null!=t){const r=e.map((e=>c(t,e)));for(let i=1;i<r.length;i++)if(r[i-1]>r[i])return e.sort(((e,r)=>c(t,e)-c(t,r))),e.slice()}return e}get tilesCoveringView(){return this._filterTiles(this.view.featureTiles?.tiles?.toArray()).map(u)}get tileInfo(){return this.view.featureTiles?.tilingScheme
|
|
5
|
+
import{_ as e}from"../../../../../../chunks/tslib.es6.js";import t from"../../../../../../core/Accessor.js";import{watch as r,initial as i}from"../../../../../../core/reactiveUtils.js";import{property as s}from"../../../../../../core/accessorSupport/decorators/property.js";import"../../../../../../core/accessorSupport/ensureType.js";import"../../../../../../core/RandomLCG.js";import"../../../../../../core/has.js";import{subclass as o}from"../../../../../../core/accessorSupport/decorators/subclass.js";import{TileKey as n}from"../../../../../../layers/support/TileKey.js";import{Visibility as l}from"../../../../layers/support/FeatureTileDescriptor3D.js";import{distanceToTile as c}from"../../../../../interactive/snapping/featureSources/featureServiceSource/tileUtils.js";let p=class extends t{get tiles(){const e=this.tilesCoveringView,t=this._effectivePointOfInterest;if(null!=t){const r=e.map((e=>c(t,e)));for(let i=1;i<r.length;i++)if(r[i-1]>r[i])return e.sort(((e,r)=>c(t,e)-c(t,r))),e.slice()}return e}get tilesCoveringView(){return this._filterTiles(this.view.featureTiles?.tiles?.toArray()).map(u)}get tileInfo(){return this.view.featureTiles?.tilingScheme?.toTileInfo()??null}get tileSize(){return this.view.featureTiles?.tileSize??256}get _effectivePointOfInterest(){const e=this.pointOfInterest;return null!=e?e:this.view.pointsOfInterest?.focus.location}constructor(e){super(e),this.pointOfInterest=null}initialize(){this.addHandles(r((()=>this.view.featureTiles),(e=>{this.removeHandles(f),e&&this.addHandles(e.addClient(),f)}),i))}_filterTiles(e){if(null==e)return[];return e.filter((e=>Math.abs(e.measures.screenRect[3]-e.measures.screenRect[1])>a&&e.measures.visibility===l.VISIBLE_ON_SURFACE))}};function u({lij:[e,t,r],extent:i}){return new n(`${e}/${t}/${r}`,e,t,r,i)}e([s({readOnly:!0})],p.prototype,"tiles",null),e([s({readOnly:!0})],p.prototype,"tilesCoveringView",null),e([s({readOnly:!0})],p.prototype,"tileInfo",null),e([s({readOnly:!0})],p.prototype,"tileSize",null),e([s({constructOnly:!0})],p.prototype,"view",void 0),e([s()],p.prototype,"pointOfInterest",void 0),e([s()],p.prototype,"_effectivePointOfInterest",null),p=e([o("esri.views.interactive.snapping.featureSources.featureServiceSource.FeatureServiceTiles3D")],p);const a=50,f="feature-tiles";export{p as FeatureServiceTiles3D};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../Graphic.js";import o from"../../core/Evented.js";import{makeHandle as i}from"../../core/handleUtils.js";import{destroyMaybe as r}from"../../core/maybe.js";import{memoize as n}from"../../core/memoize.js";import{createLength as l,zeroMeters as a,zeroSquareMeters as s,zeroDegrees as p}from"../../core/quantityUtils.js";import{watch as c,syncAndInitial as h}from"../../core/reactiveUtils.js";import{getMetersPerVerticalUnitForSR as u}from"../../core/unitUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/RandomLCG.js";import"../../core/has.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import y from"../../layers/GraphicsLayer.js";import{getConvertedElevation as g}from"../../support/elevationInfoUtils.js";import{createSquare as v,createRectangle as f,createCircle as _,createEllipse as w,createPolygon as O,createPolyline as G,createMultipoint as x}from"./support/createUtils.js";import{getDrawHelpMessage as V}from"./support/helpMessageUtils.js";import{createViewAlignedCoordinateSystem as T}from"./support/surfaceCoordinateSystems.js";import{InteractiveToolBase as C}from"../interactive/InteractiveToolBase.js";import{tooltipKeys as b}from"../interactive/keybindings.js";import I from"../interactive/sketch/SketchLabelOptions.js";import S from"../interactive/sketch/SketchTooltipOptions.js";import{intersectAll as j,getDistanceConstraint as k,getOrientationConstraint as M,getElevationConstraint as P}from"../interactive/tooltip/constraintUtils.js";import{DrawPointTooltipInfo as U,DrawPolylineTooltipInfo as z,DrawPolygonTooltipInfo as D,DrawMeshTooltipInfo as E,DrawRectangleTooltipInfo as H,DrawCircleTooltipInfo as R}from"../interactive/tooltip/DrawTooltipInfos.js";import{Tooltip as A}from"../interactive/tooltip/Tooltip.js";import{orientationBetweenPoints as L}from"../support/angularMeasurementUtils.js";import{autoAreaByElevationMode as Z}from"../support/automaticAreaMeasurementUtils.js";import{autoLengthByElevationMode as F,autoDirectDistanceByElevationModeBetweenPoints as N,autoHorizontalDistanceByElevationModeBetweenPoints as q}from"../support/automaticLengthMeasurementUtils.js";import{autorun as B}from"../../core/accessorSupport/trackingUtils.js";class J{constructor(){this.regularVertices=null,this.activeVertex=null,this.full=null,this.outline=null,this.circle=null,this.rectangle=null}}let K=class extends(o.EventedMixin(C)){constructor(t){super(t),this._graphic=null,this._createOperationGeometry=null,this.defaultZ=0,this.geometryType=null,this.hasZ=!0,this.labelOptions=new I,this.geometryToPlace=null,this.mode=null,this.snappingManager=null,this.snapToScene=!1,this.tooltip=null,this.tooltipOptions=new S,this._getPointConstraint=n((t=>t)),this._getPolylineOrPolygonConstraint=n(((t,e,o)=>j([t,e,o]))),this._getDistanceConstraint=n(k),this._getOrientationConstraint=n(M),this._getElevationConstraint=n(P)}initialize(){this.internalGraphicsLayer=new y({listMode:"hide",internal:!0}),this.view.map.layers.add(this.internalGraphicsLayer),this.drawOperation=this.makeDrawOperation();const t=this.tooltipOptions,e=this.view.type;this.tooltipInfos={point:new U({tooltipOptions:t,viewType:e}),polyline:new z({tooltipOptions:t,viewType:e}),polygon:new D({tooltipOptions:t,viewType:e}),mesh:new E({tooltipOptions:t,viewType:e}),rectangle:new H({tooltipOptions:t}),circle:new R({tooltipOptions:t})},this.addHandles([this.drawOperation.on("vertex-add",(t=>this.onVertexAdd(t))),this.drawOperation.on("vertex-remove",(t=>this.onVertexRemove(t))),this.drawOperation.on("vertex-update",(t=>this.onVertexUpdate(t))),this.drawOperation.on("cursor-update",(t=>this.onCursorUpdate(t))),this.drawOperation.on("complete",(t=>this.onComplete(t))),c((()=>this.cursor),(t=>{this.drawOperation.cursor=t}),h),c((()=>this.tooltipOptions.enabled),(t=>{this.tooltip=t?new A({view:this.view,info:this._tooltipInfo}):r(this.tooltip)}),h),B((()=>this._updateTooltipInfo()))]),this.finishToolCreation()}destroy(){this.drawOperation=r(this.drawOperation),this.tooltip=r(this.tooltip),this._destroyAllVisualisations(),this.view.map.remove(this.internalGraphicsLayer),this.internalGraphicsLayer=r(this.internalGraphicsLayer),this._set("view",null)}get _defaultElevation(){return l(this.defaultZ,"meters")}get canRedo(){return this.drawOperation.canRedo}get canUndo(){return this.drawOperation.canUndo}set centered(t){this._set("centered",t),this._updateGraphic()}get cursor(){return this._get("cursor")}set cursor(t){this._set("cursor",t)}set enabled(t){this.drawOperation.interactive=t,this._set("enabled",t)}set forceUniformSize(t){this._set("forceUniformSize",t),this._updateGraphic()}get graphic(){return this._graphic}set graphicSymbol(t){this._set("graphicSymbol",t),null!=this._graphic&&(this._graphic.symbol=t)}get updating(){return this.drawOperation?.updating??!1}completeCreateOperation(){this.drawOperation.complete()}onInputEvent(t){const e=this._tooltipInfo;if("key-down"===t.type&&t.key===b.enterInputMode&&null!=e&&e.editableFields.length>0&&this.tooltipOptions.inputEnabled)return e.enterInputMode(),void t.stopPropagation();this.drawOperation.onInputEvent(t)}redo(){this.drawOperation.redo()}reset(){}undo(){this.drawOperation.undo()}_destroyAllVisualisations(){this.removeHandles(W.outline),this.removeHandles(W.regularVertices),this.removeHandles(W.activeVertex),this.removeHandles(Q)}_createOrUpdateGraphic(t){if(null!=this._graphic)return this.updateGraphicGeometry(this._graphic,t),this._graphic;const o=this._graphic=new e({...this.graphicProperties,symbol:this.graphicSymbol});return this.updateGraphicGeometry(o,t),this.internalGraphicsLayer.add(o),this.addHandles(this.initializeGraphic(o)),this.notifyChange("graphic"),this.addHandles(i((()=>{this.internalGraphicsLayer.remove(o),r(o),this._graphic===o&&(this._graphic=null)})),Q),o}updateGraphicGeometry(t,e){t.geometry=e}_getCreateOperationGeometry(t={operationComplete:!1}){const{drawOperation:e}=this;if(null==e||0===e.numVertices)return null;const{coordinateHelper:o,view:i}=e,r=e.stagedVertex,n=e.committedVertices,l=n.slice(),a=null!=r;a&&l.push(o.pointToArray(r));const s=a?o.pointToArray(r):n.splice(-1)[0],p=l.length,c=i.spatialReference,h="3d"===i.type&&"global"===i.viewingMode,u=new J;switch(this.geometryType){case"point":case"mesh":u.regularVertices=n,u.activeVertex=s,u.full=o.arrayToPoint(l[0]);break;case"multipoint":u.regularVertices=n,u.activeVertex=s,p>0&&(u.full=x(l,c));break;case"polyline":u.regularVertices=n,u.activeVertex=s,p>0&&(u.full=G([l],c,h));break;case"polygon":u.regularVertices=n,u.activeVertex=s,p>0&&(u.full=O([l],c,h,!0));break;case"circle":if(p>0){const e=T(i,l[0]);if(1===p&&t.operationComplete){const t=l[0],o=e.makeMapPoint(t[0]+Y*i.resolution,t[1]);u.circle=_([t,o],e,!0),u.full=null!=u.circle?u.circle.geometry:null}else 2===p&&(this.forceUniformSize?(u.circle=_(l,e,this.centered),u.full=null!=u.circle?u.circle.geometry:null):(u.rectangle=w(l,e,this.centered),u.full=u.rectangle.geometry))}break;case"rectangle":if(p>0){const e=T(i,l[0]);if(1===p&&t.operationComplete){const t=l[0],o=e.makeMapPoint(t[0]+Y*i.resolution,t[1]);u.rectangle=v([t,o],e,!0),u.full=u.rectangle.geometry}else 2===p&&(u.rectangle=this.forceUniformSize?v(l,e,this.centered):f(l,e,this.centered),u.full=u.rectangle.geometry)}break;default:return null}switch(this.geometryType){case"point":case"multipoint":break;case"polyline":u.outline=p>1?G([l],c,h):null;break;case"polygon":u.outline=p>1?O([l],c,h):null;break;case"circle":case"rectangle":u.outline="polygon"===u.full?.type?O(u.full.rings,c,h):null}return u}initializeGraphic(t){return i()}onComplete(t){this._updateGraphic();let e=null;if(this.drawOperation.isCompleted){const t=this._getCreateOperationGeometry({operationComplete:!0});null!=t&&(e=this._createOrUpdateGraphic(t.full).clone())}this._createOperationGeometry=null,this.emit("complete",{graphic:e,...t})}onCursorUpdate(t){this._updateGraphic(),this.emit("cursor-update",t)}onDeactivate(){this.drawOperation.isCompleted||this.drawOperation.cancel()}onVertexAdd(t){this._updateGraphic(),this._clearConstraints(),this.emit("vertex-add",t)}onVertexRemove(t){this._updateGraphic(),this._clearConstraints(),this.emit("vertex-remove",t)}onVertexUpdate(t){this._updateGraphic(),this.emit("vertex-update",t)}_updateGraphic(){const t=this._getCreateOperationGeometry();this._createOperationGeometry=t,null!=t?(null!=t.outline?this.addHandles(this.onOutlineChanged(t.outline),W.outline):this.removeHandles(W.outline),null!=t.regularVertices?this.addHandles(this.onRegularVerticesChanged(t.regularVertices),W.regularVertices):this.removeHandles(W.regularVertices),null!=t.activeVertex?this.addHandles(this.onActiveVertexChanged(t.activeVertex),W.activeVertex):this.removeHandles(W.activeVertex),null!=t.full?this._createOrUpdateGraphic(t.full):this.removeHandles(Q)):this._destroyAllVisualisations()}get _tooltipInfo(){const{drawOperation:t,graphic:e,view:o}=this;if(!t)return null;const i=this.tooltipInfos,r=e?.geometry?.type;switch(this.geometryType){case"point":return"2d"===o.type&&0===this.defaultZ?null:"point"===r?i.point:null;case"polyline":return"polyline"===r?i.polyline:null;case"polygon":return"polygon"===r?i.polygon:null;case"rectangle":return"polygon"===r?i.rectangle:null;case"circle":return"polygon"===r?i.circle:null;case"mesh":return"mesh"===r?i.mesh:null;default:return null}}_updateTooltipInfo(){const{_tooltipInfo:t,tooltip:e}=this;if(t&&e){switch(t.type){case"draw-point":this._updateDrawPointTooltipInfo(t);break;case"draw-polyline":this._updateDrawPolylineTooltipInfo(t);break;case"draw-polygon":this._updateDrawPolygonTooltipInfo(t);break;case"draw-rectangle":this._updateDrawRectangleTooltipInfo(t);break;case"draw-circle":this._updateDrawCircleTooltipInfo(t);break;case"draw-mesh":this.updateDrawMeshTooltipInfo(t)}e.info=t}}_updateDrawPointTooltipInfo(t){const{drawOperation:e,graphic:o,view:i,tooltipOptions:r}=this,{elevationInfo:n,stagedVertex:l}=e;if(t.tooltipOptions=r,t.viewType=i.type,t.helpMessage=V("point",o?.geometry),this.updateElevation(t.elevation),!l)return void(e.constraint=void 0);const a=e.coordinateHelper.spatialReference;e.constraint=this._getPointConstraint(this._getElevationConstraint(t.elevation.committed,a,i,n))}_updateDrawPolylineTooltipInfo(t){const e=this._createOperationGeometry,o=null!=e?e.full:null;if("polyline"!==o?.type)return;const{drawOperation:i,tooltipOptions:r,view:n}=this,{lastVertex:l,stagedVertex:s}=i;this._updatePolylineOrPolygonCommon(t,s);const p=F(o,this._elevationMode);t.totalLength.actual=p??a,t.totalLength.hidden=null==length||!l,t.tooltipOptions=r,t.viewType=n.type,t.helpMessage=V("polyline",o)}_updateDrawPolygonTooltipInfo(t){const e=this._createOperationGeometry,o=null!=e?e.full:null;if("polygon"!==o?.type)return;const{drawOperation:i,tooltipOptions:r,view:n}=this,{lastVertex:l}=i;let a=i.stagedVertex;"polygon"===o?.type&&l&&!a&&(a=o.getPoint(0,o.rings[0].length-1)),this._updatePolylineOrPolygonCommon(t,a);const p=Z(o,this._elevationMode);t.area.actual=p??s,t.area.hidden=null==p&&!l,t.tooltipOptions=r,t.viewType=n.type,t.helpMessage=V("polygon",o)}_updatePolylineOrPolygonCommon(t,e){const{view:o,drawOperation:i}=this,{elevationInfo:r,lastVertex:n}=i;if(n&&e){const o=N(n,e,this._elevationMode);t.distance.actual=o??a,t.distance.hidden=!1;const i=L(n,e);t.orientation.actual=i??p,t.orientation.hidden=!1}else t.distance.hidden=!0,t.orientation.hidden=!0;this.updateElevation(t.elevation);const l=i.coordinateHelper.spatialReference;i.constraint=this._getPolylineOrPolygonConstraint(this._getDistanceConstraint(n,t.distance.committed,o,r),this._getOrientationConstraint(n,t.orientation.committed,o,r),this._getElevationConstraint(t.elevation.committed,l,o,r))}updateDrawMeshTooltipInfo(t){}_updateDrawRectangleTooltipInfo(t){t.tooltipOptions=this.tooltipOptions,t.xSize=this._xSize??a,t.ySize=this._ySize??a,t.area=this._fullGeometryArea??s}_updateDrawCircleTooltipInfo(t){const{forceUniformSize:e}=this;t.tooltipOptions=this.tooltipOptions,t.radius=e?this._circleRadius??a:null,t.xSize=e?null:this._xSize??a,t.ySize=e?null:this._ySize??a,t.area=this._fullGeometryArea??s}get _circleRadius(){const t=this._createOperationGeometry;return null!=t?.circle?.center&&null!=t.circle.edge?q(t.circle.center,t.circle.edge,this._elevationMode):null}get _xSize(){const t=this._createOperationGeometry?.rectangle?.midpoints;return null!=t?q(t.left,t.right,this._elevationMode):null}get _ySize(){const t=this._createOperationGeometry?.rectangle?.midpoints;return null!=t?q(t.top,t.bottom,this._elevationMode):null}get _fullGeometryArea(){const t=this._createOperationGeometry?.full;return"polygon"!==t?.type?null:Z(t,this._elevationMode)}updateElevation(t){t.actual=this._vertexTooltipElevation,t.hidden="2d"===this.view.type}get _vertexTooltipElevation(){const{tooltipOptions:t,view:e,drawOperation:o}=this;if(null==o)return this._defaultElevation;const i=o.stagedVertex??o.lastVertex;if(null==i||"2d"===e.type)return this._defaultElevation;const r={mode:t.elevation.mode,offset:0},n=(g(e,i,o.elevationInfo,r)??0)*u(i.spatialReference);return l(n,"meters")}get _elevationMode(){return this.drawOperation.isDraped?"on-the-ground":"absolute-height"}_clearConstraints(){const t=this._tooltipInfo;switch(t?.type){case"draw-point":case"draw-polyline":case"draw-polygon":this._tooltipInfo?.allFields.filter((e=>e!==t.elevation)).forEach((t=>t.unlock()))}}};t([d()],K.prototype,"_createOperationGeometry",void 0),t([d()],K.prototype,"_defaultElevation",null),t([d({value:!0})],K.prototype,"centered",null),t([d()],K.prototype,"cursor",null),t([d({nonNullable:!0})],K.prototype,"defaultZ",void 0),t([d()],K.prototype,"drawOperation",void 0),t([d({value:!0})],K.prototype,"enabled",null),t([d({value:!0})],K.prototype,"forceUniformSize",null),t([d({constructOnly:!0})],K.prototype,"geometryType",void 0),t([d()],K.prototype,"graphic",null),t([d({constructOnly:!0})],K.prototype,"graphicProperties",void 0),t([d()],K.prototype,"graphicSymbol",null),t([d({constructOnly:!0})],K.prototype,"hasZ",void 0),t([d({constructOnly:!0,type:I})],K.prototype,"labelOptions",void 0),t([d({constructOnly:!0})],K.prototype,"geometryToPlace",void 0),t([d({constructOnly:!0})],K.prototype,"mode",void 0),t([d()],K.prototype,"snappingManager",void 0),t([d()],K.prototype,"snapToScene",void 0),t([d()],K.prototype,"tooltip",void 0),t([d()],K.prototype,"tooltipInfos",void 0),t([d({constructOnly:!0,type:S})],K.prototype,"tooltipOptions",void 0),t([d({readOnly:!0})],K.prototype,"type",void 0),t([d({readOnly:!0})],K.prototype,"updating",null),t([d({constructOnly:!0,nonNullable:!0})],K.prototype,"view",void 0),t([d()],K.prototype,"_tooltipInfo",null),t([d()],K.prototype,"_circleRadius",null),t([d()],K.prototype,"_xSize",null),t([d()],K.prototype,"_ySize",null),t([d()],K.prototype,"_fullGeometryArea",null),t([d()],K.prototype,"_vertexTooltipElevation",null),t([d()],K.prototype,"_elevationMode",null),K=t([m("esri.views.draw.DrawGraphicTool")],K);const Q="create-operation-graphic",W={outline:"outline-visual",regularVertices:"regular-vertices-visual",activeVertex:"active-vertex-visual"};function X(t){switch(t){case"point":case"polyline":case"polygon":case"multipoint":return t;case"circle":case"rectangle":return"segment";case"mesh":return"point"}}const Y=48;export{J as CreateOperationGeometry,K as DrawGraphicTool,X as geometryTypeToDrawOperationGeometryType};
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../Graphic.js";import o from"../../core/Evented.js";import{makeHandle as i}from"../../core/handleUtils.js";import{destroyMaybe as r}from"../../core/maybe.js";import{memoize as n}from"../../core/memoize.js";import{createLength as l,zeroMeters as a,zeroSquareMeters as s,zeroDegrees as p}from"../../core/quantityUtils.js";import{watch as c,syncAndInitial as h}from"../../core/reactiveUtils.js";import{getMetersPerVerticalUnitForSR as u}from"../../core/unitUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/RandomLCG.js";import"../../core/has.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import y from"../../layers/GraphicsLayer.js";import{getConvertedElevation as g}from"../../support/elevationInfoUtils.js";import{createSquare as f,createRectangle as v,createCircle as _,createEllipse as w,createPolygon as O,createPolyline as x,createMultipoint as G}from"./support/createUtils.js";import{getDrawHelpMessage as V}from"./support/helpMessageUtils.js";import{createViewAlignedCoordinateSystem as T}from"./support/surfaceCoordinateSystems.js";import{InteractiveToolBase as b}from"../interactive/InteractiveToolBase.js";import{tooltipKeys as C}from"../interactive/keybindings.js";import I from"../interactive/sketch/SketchLabelOptions.js";import S from"../interactive/sketch/SketchTooltipOptions.js";import{getConstraintContext as j,getPointConstraint as k,getPolylineOrPolygonConstraint as M}from"../interactive/tooltip/constraintUtils.js";import{DrawPointTooltipInfo as P,DrawPolylineTooltipInfo as U,DrawPolygonTooltipInfo as z,DrawMeshTooltipInfo as D,DrawRectangleTooltipInfo as H,DrawCircleTooltipInfo as E}from"../interactive/tooltip/DrawTooltipInfos.js";import{Tooltip as R}from"../interactive/tooltip/Tooltip.js";import{orientationBetweenPoints as A}from"../support/angularMeasurementUtils.js";import{autoAreaByElevationMode as L}from"../support/automaticAreaMeasurementUtils.js";import{autoLengthByElevationMode as Z,autoHorizontalDistanceByElevationModeBetweenPoints as F}from"../support/automaticLengthMeasurementUtils.js";import{autorun as N}from"../../core/accessorSupport/trackingUtils.js";class q{constructor(){this.regularVertices=null,this.activeVertex=null,this.full=null,this.outline=null,this.circle=null,this.rectangle=null}}let B=class extends(o.EventedMixin(b)){constructor(t){super(t),this._graphic=null,this._createOperationGeometry=null,this.defaultZ=0,this.geometryType=null,this.hasZ=!0,this.labelOptions=new I,this.geometryToPlace=null,this.mode=null,this.snappingManager=null,this.snapToScene=!1,this.tooltip=null,this.tooltipOptions=new S,this._getPointConstraint=n(k),this._getPolylineOrPolygonConstraint=n(M),this._getConstraintContext=n(j)}initialize(){this.internalGraphicsLayer=new y({listMode:"hide",internal:!0}),this.view.map.layers.add(this.internalGraphicsLayer),this.drawOperation=this.makeDrawOperation();const t=this.tooltipOptions,e=this.view.type;this.tooltipInfos={point:new P({tooltipOptions:t,viewType:e}),polyline:new U({tooltipOptions:t,viewType:e}),polygon:new z({tooltipOptions:t,viewType:e}),mesh:new D({tooltipOptions:t,viewType:e}),rectangle:new H({tooltipOptions:t}),circle:new E({tooltipOptions:t})},this.addHandles([this.drawOperation.on("vertex-add",(t=>this.onVertexAdd(t))),this.drawOperation.on("vertex-remove",(t=>this.onVertexRemove(t))),this.drawOperation.on("vertex-update",(t=>this.onVertexUpdate(t))),this.drawOperation.on("cursor-update",(t=>this.onCursorUpdate(t))),this.drawOperation.on("complete",(t=>this.onComplete(t))),c((()=>this.cursor),(t=>{this.drawOperation.cursor=t}),h),c((()=>this.tooltipOptions.enabled),(t=>{this.tooltip=t?new R({view:this.view,info:this._tooltipInfo}):r(this.tooltip)}),h),N((()=>this._updateTooltipInfo()))]),this.finishToolCreation()}destroy(){this.drawOperation=r(this.drawOperation),this.tooltip=r(this.tooltip),this._destroyAllVisualisations(),this.view.map.remove(this.internalGraphicsLayer),this.internalGraphicsLayer=r(this.internalGraphicsLayer),this._set("view",null)}get _defaultElevation(){return l(this.defaultZ,"meters")}get canRedo(){return this.drawOperation.canRedo}get canUndo(){return this.drawOperation.canUndo}set centered(t){this._set("centered",t),this._updateGraphic()}get cursor(){return this._get("cursor")}set cursor(t){this._set("cursor",t)}set enabled(t){this.drawOperation.interactive=t,this._set("enabled",t)}set forceUniformSize(t){this._set("forceUniformSize",t),this._updateGraphic()}get graphic(){return this._graphic}set graphicSymbol(t){this._set("graphicSymbol",t),null!=this._graphic&&(this._graphic.symbol=t)}get updating(){return this.drawOperation?.updating??!1}completeCreateOperation(){this.drawOperation.complete()}onInputEvent(t){const e=this._tooltipInfo;if("key-down"===t.type&&t.key===C.enterInputMode&&null!=e&&e.editableFields.length>0&&this.tooltipOptions.inputEnabled)return e.enterInputMode(),void t.stopPropagation();this.drawOperation.onInputEvent(t)}redo(){this.drawOperation.redo()}reset(){}undo(){this.drawOperation.undo()}_destroyAllVisualisations(){this.removeHandles(K.outline),this.removeHandles(K.regularVertices),this.removeHandles(K.activeVertex),this.removeHandles(J)}_createOrUpdateGraphic(t){if(null!=this._graphic)return this.updateGraphicGeometry(this._graphic,t),this._graphic;const o=this._graphic=new e({...this.graphicProperties,symbol:this.graphicSymbol});return this.updateGraphicGeometry(o,t),this.internalGraphicsLayer.add(o),this.addHandles(this.initializeGraphic(o)),this.notifyChange("graphic"),this.addHandles(i((()=>{this.internalGraphicsLayer.remove(o),r(o),this._graphic===o&&(this._graphic=null)})),J),o}updateGraphicGeometry(t,e){t.geometry=e}_getCreateOperationGeometry(t={operationComplete:!1}){const{drawOperation:e}=this;if(null==e||0===e.numVertices)return null;const{coordinateHelper:o,view:i}=e,r=e.stagedVertex,n=e.committedVertices,l=n.slice(),a=null!=r;a&&l.push(o.pointToArray(r));const s=a?o.pointToArray(r):n.splice(-1)[0],p=l.length,c=i.spatialReference,h="3d"===i.type&&"global"===i.viewingMode,u=new q;switch(this.geometryType){case"point":case"mesh":u.regularVertices=n,u.activeVertex=s,u.full=o.arrayToPoint(l[0]);break;case"multipoint":u.regularVertices=n,u.activeVertex=s,p>0&&(u.full=G(l,c));break;case"polyline":u.regularVertices=n,u.activeVertex=s,p>0&&(u.full=x([l],c,h));break;case"polygon":u.regularVertices=n,u.activeVertex=s,p>0&&(u.full=O([l],c,h,!0));break;case"circle":if(p>0){const e=T(i,l[0]);if(1===p&&t.operationComplete){const t=l[0],o=e.makeMapPoint(t[0]+W*i.resolution,t[1]);u.circle=_([t,o],e,!0),u.full=null!=u.circle?u.circle.geometry:null}else 2===p&&(this.forceUniformSize?(u.circle=_(l,e,this.centered),u.full=null!=u.circle?u.circle.geometry:null):(u.rectangle=w(l,e,this.centered),u.full=u.rectangle.geometry))}break;case"rectangle":if(p>0){const e=T(i,l[0]);if(1===p&&t.operationComplete){const t=l[0],o=e.makeMapPoint(t[0]+W*i.resolution,t[1]);u.rectangle=f([t,o],e,!0),u.full=u.rectangle.geometry}else 2===p&&(u.rectangle=this.forceUniformSize?f(l,e,this.centered):v(l,e,this.centered),u.full=u.rectangle.geometry)}break;default:return null}switch(this.geometryType){case"point":case"multipoint":break;case"polyline":u.outline=p>1?x([l],c,h):null;break;case"polygon":u.outline=p>1?O([l],c,h):null;break;case"circle":case"rectangle":u.outline="polygon"===u.full?.type?O(u.full.rings,c,h):null}return u}initializeGraphic(t){return i()}onComplete(t){this._updateGraphic();let e=null;if(this.drawOperation.isCompleted){const t=this._getCreateOperationGeometry({operationComplete:!0});null!=t&&(e=this._createOrUpdateGraphic(t.full).clone())}this._createOperationGeometry=null,this.emit("complete",{graphic:e,...t})}onCursorUpdate(t){this._updateGraphic(),this.emit("cursor-update",t)}onDeactivate(){this.drawOperation.isCompleted||this.drawOperation.cancel()}onVertexAdd(t){this._updateGraphic(),this._clearConstraints(),this.emit("vertex-add",t)}onVertexRemove(t){this._updateGraphic(),this._clearConstraints(),this.emit("vertex-remove",t)}onVertexUpdate(t){this._updateGraphic(),this.emit("vertex-update",t)}_updateGraphic(){const t=this._getCreateOperationGeometry();this._createOperationGeometry=t,null!=t?(null!=t.outline?this.addHandles(this.onOutlineChanged(t.outline),K.outline):this.removeHandles(K.outline),null!=t.regularVertices?this.addHandles(this.onRegularVerticesChanged(t.regularVertices),K.regularVertices):this.removeHandles(K.regularVertices),null!=t.activeVertex?this.addHandles(this.onActiveVertexChanged(t.activeVertex),K.activeVertex):this.removeHandles(K.activeVertex),null!=t.full?this._createOrUpdateGraphic(t.full):this.removeHandles(J)):this._destroyAllVisualisations()}get _tooltipInfo(){const{drawOperation:t,graphic:e,view:o}=this;if(!t)return null;const i=this.tooltipInfos,r=e?.geometry?.type;switch(this.geometryType){case"point":return"2d"===o.type&&0===this.defaultZ?null:"point"===r?i.point:null;case"polyline":return"polyline"===r?i.polyline:null;case"polygon":return"polygon"===r?i.polygon:null;case"rectangle":return"polygon"===r?i.rectangle:null;case"circle":return"polygon"===r?i.circle:null;case"mesh":return"mesh"===r?i.mesh:null;default:return null}}_updateTooltipInfo(){const{_tooltipInfo:t,tooltip:e}=this;if(t&&e){switch(t.type){case"draw-point":this._updateDrawPointTooltipInfo(t);break;case"draw-polyline":this._updateDrawPolylineTooltipInfo(t);break;case"draw-polygon":this._updateDrawPolygonTooltipInfo(t);break;case"draw-rectangle":this._updateDrawRectangleTooltipInfo(t);break;case"draw-circle":this._updateDrawCircleTooltipInfo(t);break;case"draw-mesh":this.updateDrawMeshTooltipInfo(t)}e.info=t}}_updateDrawPointTooltipInfo(t){const{drawOperation:e,graphic:o,view:i,tooltipOptions:r}=this,{elevationInfo:n,stagedVertex:l}=e;if(t.tooltipOptions=r,t.viewType=i.type,t.helpMessage=V("point",o?.geometry),this.updateElevation(t.elevation),!l)return void(e.constraint=void 0);const a=e.coordinateHelper.spatialReference,s=j(l,i,a,n);e.constraint={context:s,current:this._getPointConstraint(t.elevation.committed,s)}}_updateDrawPolylineTooltipInfo(t){const e=this._createOperationGeometry,o=null!=e?e.full:null;if("polyline"!==o?.type)return;const{drawOperation:i,tooltipOptions:r,view:n}=this,{lastVertex:l,stagedVertex:s}=i;this._updatePolylineOrPolygonCommon(t,s);const p=Z(o,this._elevationMode);t.totalLength.actual=p??a,t.totalLength.hidden=null==length||!l,t.tooltipOptions=r,t.viewType=n.type,t.helpMessage=V("polyline",o)}_updateDrawPolygonTooltipInfo(t){const e=this._createOperationGeometry,o=null!=e?e.full:null;if("polygon"!==o?.type)return;const{drawOperation:i,tooltipOptions:r,view:n}=this,{lastVertex:l}=i;let a=i.stagedVertex;"polygon"===o?.type&&l&&!a&&(a=o.getPoint(0,o.rings[0].length-1)),this._updatePolylineOrPolygonCommon(t,a);const p=L(o,this._elevationMode);t.area.actual=p??s,t.area.hidden=null==p&&!l,t.tooltipOptions=r,t.viewType=n.type,t.helpMessage=V("polygon",o)}_updatePolylineOrPolygonCommon(t,e){const{view:o,drawOperation:i}=this,{elevationInfo:r,lastVertex:n}=i;if(n&&e){const o=F(n,e,this._elevationMode);t.distance.actual=o??a,t.distance.hidden=!1;const i=A(n,e);t.orientation.actual=i??p,t.orientation.hidden=!1}else t.distance.hidden=!0,t.orientation.hidden=!0;this.updateElevation(t.elevation);const l=n??e;if(l){const e=i.coordinateHelper.spatialReference,a=this._getConstraintContext(l,o,e,r);i.constraint={context:a,current:this._getPolylineOrPolygonConstraint(n,t.distance.committed,t.orientation.committed,t.elevation.committed,a)}}else i.constraint=void 0}updateDrawMeshTooltipInfo(t){}_updateDrawRectangleTooltipInfo(t){t.tooltipOptions=this.tooltipOptions,t.xSize=this._xSize??a,t.ySize=this._ySize??a,t.area=this._fullGeometryArea??s}_updateDrawCircleTooltipInfo(t){const{forceUniformSize:e}=this;t.tooltipOptions=this.tooltipOptions,t.radius=e?this._circleRadius??a:null,t.xSize=e?null:this._xSize??a,t.ySize=e?null:this._ySize??a,t.area=this._fullGeometryArea??s}get _circleRadius(){const t=this._createOperationGeometry;return null!=t?.circle?.center&&null!=t.circle.edge?F(t.circle.center,t.circle.edge,this._elevationMode):null}get _xSize(){const t=this._createOperationGeometry?.rectangle?.midpoints;return null!=t?F(t.left,t.right,this._elevationMode):null}get _ySize(){const t=this._createOperationGeometry?.rectangle?.midpoints;return null!=t?F(t.top,t.bottom,this._elevationMode):null}get _fullGeometryArea(){const t=this._createOperationGeometry?.full;return"polygon"!==t?.type?null:L(t,this._elevationMode)}updateElevation(t){t.actual=this._vertexTooltipElevation,t.hidden="2d"===this.view.type}get _vertexTooltipElevation(){const{tooltipOptions:t,view:e,drawOperation:o}=this;if(null==o)return this._defaultElevation;const i=o.stagedVertex??o.lastVertex;if(null==i||"2d"===e.type)return this._defaultElevation;const r={mode:t.elevation.mode,offset:0},n=(g(e,i,o.elevationInfo,r)??0)*u(i.spatialReference);return l(n,"meters")}get _elevationMode(){return this.drawOperation.isDraped?"on-the-ground":"absolute-height"}_clearConstraints(){const t=this._tooltipInfo;switch(t?.type){case"draw-point":case"draw-polyline":case"draw-polygon":this._tooltipInfo?.allFields.filter((e=>e!==t.elevation)).forEach((t=>t.unlock()))}}};t([d()],B.prototype,"_createOperationGeometry",void 0),t([d()],B.prototype,"_defaultElevation",null),t([d({value:!0})],B.prototype,"centered",null),t([d()],B.prototype,"cursor",null),t([d({nonNullable:!0})],B.prototype,"defaultZ",void 0),t([d()],B.prototype,"drawOperation",void 0),t([d({value:!0})],B.prototype,"enabled",null),t([d({value:!0})],B.prototype,"forceUniformSize",null),t([d({constructOnly:!0})],B.prototype,"geometryType",void 0),t([d()],B.prototype,"graphic",null),t([d({constructOnly:!0})],B.prototype,"graphicProperties",void 0),t([d()],B.prototype,"graphicSymbol",null),t([d({constructOnly:!0})],B.prototype,"hasZ",void 0),t([d({constructOnly:!0,type:I})],B.prototype,"labelOptions",void 0),t([d({constructOnly:!0})],B.prototype,"geometryToPlace",void 0),t([d({constructOnly:!0})],B.prototype,"mode",void 0),t([d()],B.prototype,"snappingManager",void 0),t([d()],B.prototype,"snapToScene",void 0),t([d()],B.prototype,"tooltip",void 0),t([d()],B.prototype,"tooltipInfos",void 0),t([d({constructOnly:!0,type:S})],B.prototype,"tooltipOptions",void 0),t([d({readOnly:!0})],B.prototype,"type",void 0),t([d({readOnly:!0})],B.prototype,"updating",null),t([d({constructOnly:!0,nonNullable:!0})],B.prototype,"view",void 0),t([d()],B.prototype,"_tooltipInfo",null),t([d()],B.prototype,"_circleRadius",null),t([d()],B.prototype,"_xSize",null),t([d()],B.prototype,"_ySize",null),t([d()],B.prototype,"_fullGeometryArea",null),t([d()],B.prototype,"_vertexTooltipElevation",null),t([d()],B.prototype,"_elevationMode",null),B=t([m("esri.views.draw.DrawGraphicTool")],B);const J="create-operation-graphic",K={outline:"outline-visual",regularVertices:"regular-vertices-visual",activeVertex:"active-vertex-visual"};function Q(t){switch(t){case"point":case"polyline":case"polygon":case"multipoint":return t;case"circle":case"rectangle":return"segment";case"mesh":return"point"}}const W=48;export{q as CreateOperationGeometry,B as DrawGraphicTool,Q as geometryTypeToDrawOperationGeometryType};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import i from"../../core/Evented.js";import{clone as n}from"../../core/lang.js";import{destroyMaybe as o,equalsMaybe as r}from"../../core/maybe.js";import{ignoreAbortErrors as s}from"../../core/promiseUtils.js";import{watch as a,syncAndInitial as p}from"../../core/reactiveUtils.js";import{createScreenPoint as c}from"../../core/screenUtils.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import{diff as h}from"../../core/accessorSupport/diffUtils.js";import{UpdatingHandles as u}from"../../core/support/UpdatingHandles.js";import{pointEquals as g}from"../../layers/graphics/dehydratedFeatureComparison.js";import{getEffectiveElevationInfo as m}from"../../support/elevationInfoUtils.js";import{ViewingMode as v}from"../ViewingMode.js";import{defaultDrawingMode as y}from"./DrawingMode.js";import{DrawManipulator as _}from"./DrawManipulator.js";import{createCoordinateHelper as f}from"../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as x,sceneSnappingAtLocation as S}from"../interactive/dragEventPipeline.js";import{EditGeometry as w,Component as V}from"../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as O}from"../interactive/editGeometry/EditGeometryOperations.js";import{fromPoint as T,toDehydratedPoint as b}from"../interactive/sketch/normalizedPoint.js";import M from"../interactive/sketch/SketchLabelOptions.js";import P from"../interactive/sketch/SketchTooltipOptions.js";import{SnappingContext as C}from"../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as D}from"../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as I}from"../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as E}from"../interactive/snapping/snappingUtils.js";const H="crosshair",j="progress";let k=class extends(i.EventedMixin(t)){constructor(e){super(e),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new Set,this._stagedScreenPoint=null,this._stagedPointerType=null,this._stagedPointerId=null,this._updatingHandles=new u,this.constraint=void 0,this.isDraped=!0,this.labelOptions=new M,this.tooltipOptions=new P,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.lastVertex=null,null==e.elevationInfo&&(this.elevationInfo=m(!!e.hasZ))}initialize(){const{geometryType:e,view:t}=this,i=t.spatialReference,n="viewingMode"in t.state?t.state.viewingMode:v.Local,o="segment"===e||"multipoint"===e?"polyline":e;this.coordinateHelper=f(this.hasZ,this.hasM,i),this._editGeometryOperations=new O(new w(o,this.coordinateHelper)),this._snappingOperation=new I({view:t,constrainResult:e=>e?this._getEffectiveDrawSurface()?.constrainZ(e):void 0}),this.addHandles([a((()=>this.stagedVertex),(e=>{null!=e&&this.emit("cursor-update",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activeComponent.vertices.length,coordinates:this.coordinateHelper.pointToArray(e)}],operation:"apply",type:"vertex-update"})}),{sync:!0,equals:(e,t)=>r(e,t,g)}),a((()=>this.view.viewpoint),((e,t)=>{e&&t&&h(e,t)&&this._onViewpointChange()}))]),this._activeComponent=new V(i,n),this._editGeometryOperations.data.components.push(this._activeComponent);const c=this.segmentLabels;null!=c&&(c.context={view:t,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles([a((()=>this.labelOptions.enabled),(e=>{c.visible=e}),p),this.on("cursor-update",(()=>{const e=this.stagedVertex;c.stagedVertex=null!=e?this.coordinateHelper.pointToVector(e):null}))])),this.addHandles(this._editGeometryOperations.on(["vertex-add","vertex-update","vertex-remove"],(e=>{const t=e.vertices.map((e=>({componentIndex:0,vertexIndex:e.index,coordinates:this.coordinateHelper.vectorToArray(e.pos)}))),i=t.map((e=>e.coordinates));switch(e.type){case"vertex-add":this.emit(e.type,{...e,added:i,vertices:t});break;case"vertex-update":this.emit(e.type,{...e,updated:i,vertices:t});break;case"vertex-remove":this.emit(e.type,{...e,removed:i,vertices:t})}const n=this._activeComponent.getLastVertex(),o=null!=n?this.coordinateHelper.vectorToDehydratedPoint(n.pos):null;null!=o&&null!=this.lastVertex&&g(this.lastVertex,o)||(this.lastVertex=o)})));const l=this._manipulator=new _({grabbableForEvent:e=>"click"!==this.drawingMode||"touch"===e.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(l),l.grabbable="point"!==e,this.addHandles([this._createManipulatorDragPipeline(l),l.events.on("immediate-click",(e=>this._onImmediateClick(e))),l.events.on("immediate-double-click",(e=>this._onImmediateDoubleClick(e))),a((()=>({effectiveCursor:this.effectiveCursor})),(({effectiveCursor:e})=>{l.cursor=e}),p)]),E(this,(()=>{const e=this.view.inputManager.latestPointerType??"mouse",t=this._getSnappingContext(e);null!=this.snappingManager&&this._updatingHandles.addPromise(s(this._snappingOperation.resnap(this.snappingManager,t)))}))}destroy(){o(this.segmentLabels),o(this._snappingOperation),this._editGeometryOperations=o(this._editGeometryOperations),this._updatingHandles.destroy()}get _snappingEnabled(){return null!=this.snappingManager&&this.snappingManager.options.effectiveEnabled}get _requiresScenePoint(){const e=this._getEffectiveDrawSurface();return"3d"===this.view.type&&this.drawSurface!==e}get canRedo(){return this._editGeometryOperations.canRedo}get canUndo(){return this._editGeometryOperations.canUndo}get committedVertices(){return this._activeComponent.vertices.map((e=>this.coordinateHelper.vectorToArray(e.pos)))}set drawingMode(e){this._set("drawingMode",e??y)}get effectiveCursor(){return this.loading?j:this._hideDefaultCursor?null:this.cursor||H}get interactive(){return this._manipulator.interactive}set interactive(e){this._manipulator.interactive=e}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activeComponent.vertices.length}get numVertices(){const e=this._activeComponent.vertices.length;return null==this.stagedVertex?e:e+1}get snappingOptions(){return null!=this.snappingManager?this.snappingManager.options:null}get stagedVertex(){const e=this._snappingOperation.stagedPoint,{constraint:t,elevationInfo:i,view:n}=this;if(e&&t){const o=t.closestTo(T(e,n,i));if(o)return b(o,e.spatialReference)}return e}set stagedVertex(e){this._snappingOperation.stagedPoint=n(e)}get updating(){return this._updatingHandles.updating}get vertices(){const e=this.committedVertices;return null!=this.stagedVertex&&e.push(this.coordinateHelper.pointToArray(this.stagedVertex)),e}cancel(){this.complete({aborted:!0})}commitStagedVertex(){if(this._snappingOperation.abort(),null!=this.stagedVertex){const{stagedVertex:e}=this;this.stagedVertex=null,this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(e))}}complete(e){const t=e?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,o="multipoint"===i&&0===n||"polyline"===i&&n<2||"polygon"===i&&n<3;"segment"===i||"point"===i?this.commitStagedVertex():o||(this.stagedVertex=null),this._createOperationCompleted=!o,(this.isCompleted||t)&&this.emit("complete",{vertices:this.vertices.map(((e,t)=>({componentIndex:0,vertexIndex:t,coordinates:e}))),aborted:t,type:"complete"})}onInputEvent(e){switch(e.type){case"pointer-down":this._pointerDownStates.add(e.pointerId);break;case"pointer-up":this._pointerDownStates.delete(e.pointerId)}switch(e.type){case"pointer-move":return this._onPointerMove(e);case"hold":return this._onHold(e)}}redo(){this._editGeometryOperations.redo()}undo(){null!=this.snappingManager&&this.snappingManager.doneSnapping(),this._editGeometryOperations.undo()}_closeOnClickVertexIndex(e){const t=this._activeComponent;if("polygon"===this.geometryType&&t.vertices.length>2){if(this._vertexWithinPointerDistance(t.vertices[0].pos,e))return 0;if(this._vertexWithinPointerDistance(t.vertices[t.vertices.length-1].pos,e))return t.vertices.length-1}return null}_createManipulatorDragPipeline(e){switch(this.drawingMode){case"click":return this._createManipulatorDragPipelineClick(e);case"freehand":return this._createManipulatorDragPipelineFreehand(e);case"hybrid":return this._createManipulatorDragPipelineHybrid(e)}}_createManipulatorDragPipelineClick(e){return x(e,((e,t,i,n)=>{const o="touch"===n&&this._snappingEnabled;if(this.isCompleted||!o)return;const{snappingStep:r,cancelSnapping:s}=D({predicate:()=>o,snappingManager:this.snappingManager,snappingContext:new C({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,feature:this.graphic,pointer:n,visualizer:this.snappingVisualizer}),updatingHandles:this._updatingHandles,useZ:!this._requiresScenePoint});i=i.next((e=>(o&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),e))).next(s),t.next(this._screenToMapDragEventStep()).next((e=>("start"===e.action&&(this.stagedVertex=e.mapStart,("segment"===this.geometryType||o&&0===this.numVertices)&&this.commitStagedVertex()),e))).next(S(this.view,this.elevationInfo)).next(...r).next((e=>(o&&(this.stagedVertex=e.mapEnd,"end"===e.action&&this.commitStagedVertex()),e))).next((e=>("end"===e.action&&("segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()),e)))}))}_createManipulatorDragPipelineFreehand(e){return x(e,((e,t)=>{this.isCompleted||t.next(this._screenToMapDragEventStep()).next((e=>("start"===e.action&&(null==this.stagedVertex&&(this.stagedVertex=e.mapStart),"segment"===this.geometryType&&this.commitStagedVertex()),e))).next((e=>{switch(e.action){case"start":case"update":this.stagedVertex=e.mapEnd,"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":this.complete()}return e}))}))}_createManipulatorDragPipelineHybrid(e){return x(e,((e,t)=>{this.isCompleted||t.next(this._screenToMapDragEventStep()).next((e=>("start"===e.action&&(null==this.stagedVertex&&(this.stagedVertex=e.mapStart),this.commitStagedVertex()),e))).next((e=>{switch(e.action){case"start":case"update":this.stagedVertex=e.mapEnd,"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()}return e}))}))}get _drawAtFixedElevation(){return("segment"===this.geometryType||"polygon"===this.geometryType)&&this.numCommittedVertices>0}_getEffectiveDrawSurface(){if(null==this.elevationDrawSurface)return this.drawSurface;if(!this.coordinateHelper.hasZ())return this.elevationDrawSurface.defaultZ=null,this.elevationDrawSurface;let e=this.defaultZ,t=!1;return null!=this.elevationInfo&&"absolute-height"===this.elevationInfo.mode&&(t=!0),null!=this.snapToSceneEnabled&&(t=this.snapToSceneEnabled),null!=this.elevationInfo&&"on-the-ground"===this.elevationInfo.mode&&(t=!1),this._drawAtFixedElevation&&(e=this.coordinateHelper.getZ(this._activeComponent.vertices[0].pos),t=!1),t?this.drawSurface:(this.elevationDrawSurface.defaultZ=e,this.elevationDrawSurface)}_mapToScreen(e){return this._getEffectiveDrawSurface()?.mapToScreen(e)}_onHold(e){this._snappingOperation.abort(),"click"===this.drawingMode&&"touch"===e.pointerType&&this._snappingEnabled&&(this.stagedVertex=e.mapPoint),e.stopPropagation()}_onImmediateClick(e){if("mouse"===e.pointerType&&2===e.button||this._manipulator.dragging)return;const t=this._activeComponent;if(null!=this._closeOnClickVertexIndex(e.screenPoint))return e.stopPropagation(),void this.complete();const i=this._screenToMap(e.screenPoint);if(null!=i)switch(this.drawingMode){case"freehand":"point"===this.geometryType&&(null!=this.stagedVertex?this.commitStagedVertex():this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(i)),this.complete());break;case"click":case"hybrid":this._snappingOperation.abort(),null!=this.stagedVertex?this.commitStagedVertex():this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(i)),("point"===this.geometryType||"segment"===this.geometryType&&2===t.vertices.length||"segment"===this.geometryType&&"hybrid"===this.drawingMode&&1===t.vertices.length)&&this.complete()}e.stopPropagation()}_onImmediateDoubleClick(e){this._manipulator.dragging||"point"===this.geometryType||(this.complete(),e.stopPropagation())}_onPointerMove(e){const t=c(e.x,e.y);this._stagedScreenPoint=t,this._stagedPointerType=e.pointerType,this._stagedPointerId=e.pointerId;const i=this._snappingOperation,n=this._manipulator;this._pointerDownStates.has(e.pointerId)||n.grabbing||!n.interactive?i.abort():(e.stopPropagation(),this._updateStagedVertexOnPointerMove(t,e.pointerType))}_onViewpointChange(){const e=this._manipulator;"mouse"===this._stagedPointerType&&this._stagedScreenPoint&&null!=this._stagedPointerId&&!this._pointerDownStates.has(this._stagedPointerId)&&!e.grabbing&&e.interactive?this._updateStagedVertexOnPointerMove(this._stagedScreenPoint,this._stagedPointerType??"mouse"):this._snappingOperation.abort()}_updateStagedVertexOnPointerMove(e,t){const i=this._snappingOperation,n=this._closeOnClickVertexIndex(e);if(null!=n)return this._closeOnVertex(n),void i.abort();const o=this._screenToMap(e),r=this._requiresScenePoint?this.drawSurface?.screenToMap(e):null;if(null==o)return this._hideDefaultCursor=!0,void i.abort();this._hideDefaultCursor=!1;const a=this.snappingManager;if(null==a)return this.stagedVertex=o,void i.abort();const p=this._getSnappingContext(t);this._updatingHandles.addPromise(s(i.snap({point:o,scenePoint:r},a,p)))}_closeOnVertex(e){this.stagedVertex=null;const t={componentIndex:0,vertexIndex:e,coordinates:this.coordinateHelper.vectorToArray(this._activeComponent.vertices[e].pos)};this.emit("cursor-update",{updated:null,vertices:[t],operation:"apply",type:"vertex-update"})}_screenToMap(e){return this._getEffectiveDrawSurface()?.screenToMap(e)}_screenToMapDragEventStep(){let e=null;return t=>{if("start"===t.action&&(e=this._screenToMap(t.screenStart)),null==e)return null;const i=this._screenToMap(t.screenEnd);return null!=i?{...t,mapStart:e,mapEnd:i}:null}}_vertexWithinPointerDistance(e,t){const i=25,n=this._mapToScreen(this.coordinateHelper.vectorToDehydratedPoint(e));return null!=n&&G(n,t,i)}_getSnappingContext(e){const t=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new C({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,pointer:e,feature:this.graphic,visualizer:this.snappingVisualizer,selfSnappingZ:null!=t?{value:t,elevationInfo:this.elevationInfo}:null})}};function G(e,t,i){const n=e.x-t.x,o=e.y-t.y;return n*n+o*o<=i}e([l()],k.prototype,"_hideDefaultCursor",void 0),e([l()],k.prototype,"_snappingOperation",void 0),e([l()],k.prototype,"_snappingEnabled",null),e([l({constructOnly:!0})],k.prototype,"graphic",void 0),e([l()],k.prototype,"constraint",void 0),e([l()],k.prototype,"defaultZ",void 0),e([l()],k.prototype,"isDraped",void 0),e([l({value:y})],k.prototype,"drawingMode",null),e([l({constructOnly:!0})],k.prototype,"elevationDrawSurface",void 0),e([l({constructOnly:!0})],k.prototype,"elevationInfo",void 0),e([l({constructOnly:!0,type:M})],k.prototype,"labelOptions",void 0),e([l({constructOnly:!0,type:P})],k.prototype,"tooltipOptions",void 0),e([l({constructOnly:!0})],k.prototype,"geometryType",void 0),e([l({constructOnly:!0})],k.prototype,"hasM",void 0),e([l({constructOnly:!0})],k.prototype,"hasZ",void 0),e([l()],k.prototype,"cursor",void 0),e([l()],k.prototype,"effectiveCursor",null),e([l()],k.prototype,"loading",void 0),e([l({constructOnly:!0})],k.prototype,"manipulators",void 0),e([l({constructOnly:!0})],k.prototype,"drawSurface",void 0),e([l({constructOnly:!0})],k.prototype,"segmentLabels",void 0),e([l({constructOnly:!0})],k.prototype,"snappingManager",void 0),e([l({constructOnly:!0})],k.prototype,"snappingVisualizer",void 0),e([l()],k.prototype,"snapToSceneEnabled",void 0),e([l()],k.prototype,"stagedVertex",null),e([l()],k.prototype,"lastVertex",void 0),e([l()],k.prototype,"updating",null),e([l({constructOnly:!0})],k.prototype,"view",void 0),k=e([d("esri.views.draw.DrawOperation")],k);export{k as DrawOperation,H as defaultCursor,j as defaultLoadingCursor};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import i from"../../core/Evented.js";import{clone as n}from"../../core/lang.js";import{destroyMaybe as o,equalsMaybe as r}from"../../core/maybe.js";import{ignoreAbortErrors as s}from"../../core/promiseUtils.js";import{watch as a,syncAndInitial as p}from"../../core/reactiveUtils.js";import{createScreenPoint as c}from"../../core/screenUtils.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import{diff as h}from"../../core/accessorSupport/diffUtils.js";import{UpdatingHandles as u}from"../../core/support/UpdatingHandles.js";import{pointEquals as g}from"../../layers/graphics/dehydratedFeatureComparison.js";import{getEffectiveElevationInfo as m}from"../../support/elevationInfoUtils.js";import{ViewingMode as v}from"../ViewingMode.js";import{defaultDrawingMode as y}from"./DrawingMode.js";import{DrawManipulator as _}from"./DrawManipulator.js";import{createCoordinateHelper as f}from"../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as x,sceneSnappingAtLocation as S}from"../interactive/dragEventPipeline.js";import{EditGeometry as w,Component as V}from"../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as O}from"../interactive/editGeometry/EditGeometryOperations.js";import T from"../interactive/sketch/SketchLabelOptions.js";import b from"../interactive/sketch/SketchTooltipOptions.js";import{SnappingContext as M}from"../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as C}from"../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as P}from"../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as D}from"../interactive/snapping/snappingUtils.js";import{pointToConstraintSpace as I,constraintSpaceToPoint as E}from"../interactive/tooltip/constraintUtils.js";const H="crosshair",j="progress";let k=class extends(i.EventedMixin(t)){constructor(e){super(e),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new Set,this._stagedScreenPoint=null,this._stagedPointerType=null,this._stagedPointerId=null,this._updatingHandles=new u,this.constraint=void 0,this.isDraped=!0,this.labelOptions=new T,this.tooltipOptions=new b,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.lastVertex=null,null==e.elevationInfo&&(this.elevationInfo=m(!!e.hasZ))}initialize(){const{geometryType:e,view:t}=this,i=t.spatialReference,n="viewingMode"in t.state?t.state.viewingMode:v.Local,o="segment"===e||"multipoint"===e?"polyline":e;this.coordinateHelper=f(this.hasZ,this.hasM,i),this._editGeometryOperations=new O(new w(o,this.coordinateHelper)),this._snappingOperation=new P({view:t,constrainResult:e=>e?this._getEffectiveDrawSurface()?.constrainZ(e):void 0}),this.addHandles([a((()=>this.stagedVertex),(e=>{null!=e&&this.emit("cursor-update",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activeComponent.vertices.length,coordinates:this.coordinateHelper.pointToArray(e)}],operation:"apply",type:"vertex-update"})}),{sync:!0,equals:(e,t)=>r(e,t,g)}),a((()=>this.view.viewpoint),((e,t)=>{e&&t&&h(e,t)&&this._onViewpointChange()}))]),this._activeComponent=new V(i,n),this._editGeometryOperations.data.components.push(this._activeComponent);const c=this.segmentLabels;null!=c&&(c.context={view:t,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles([a((()=>this.labelOptions.enabled),(e=>{c.visible=e}),p),this.on("cursor-update",(()=>{const e=this.stagedVertex;c.stagedVertex=null!=e?this.coordinateHelper.pointToVector(e):null}))])),this.addHandles(this._editGeometryOperations.on(["vertex-add","vertex-update","vertex-remove"],(e=>{const t=e.vertices.map((e=>({componentIndex:0,vertexIndex:e.index,coordinates:this.coordinateHelper.vectorToArray(e.pos)}))),i=t.map((e=>e.coordinates));switch(e.type){case"vertex-add":this.emit(e.type,{...e,added:i,vertices:t});break;case"vertex-update":this.emit(e.type,{...e,updated:i,vertices:t});break;case"vertex-remove":this.emit(e.type,{...e,removed:i,vertices:t})}const n=this._activeComponent.getLastVertex(),o=null!=n?this.coordinateHelper.vectorToDehydratedPoint(n.pos):null;null!=o&&null!=this.lastVertex&&g(this.lastVertex,o)||(this.lastVertex=o)})));const l=this._manipulator=new _({grabbableForEvent:e=>"click"!==this.drawingMode||"touch"===e.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(l),l.grabbable="point"!==e,this.addHandles([this._createManipulatorDragPipeline(l),l.events.on("immediate-click",(e=>this._onImmediateClick(e))),l.events.on("immediate-double-click",(e=>this._onImmediateDoubleClick(e))),a((()=>({effectiveCursor:this.effectiveCursor})),(({effectiveCursor:e})=>{l.cursor=e}),p)]),D(this,(()=>{const e=this.view.inputManager.latestPointerType??"mouse",t=this._getSnappingContext(e);null!=this.snappingManager&&this._updatingHandles.addPromise(s(this._snappingOperation.resnap(this.snappingManager,t)))}))}destroy(){o(this.segmentLabels),o(this._snappingOperation),this._editGeometryOperations=o(this._editGeometryOperations),this._updatingHandles.destroy()}get _snappingEnabled(){return null!=this.snappingManager&&this.snappingManager.options.effectiveEnabled}get _requiresScenePoint(){const e=this._getEffectiveDrawSurface();return"3d"===this.view.type&&this.drawSurface!==e}get canRedo(){return this._editGeometryOperations.canRedo}get canUndo(){return this._editGeometryOperations.canUndo}get committedVertices(){return this._activeComponent.vertices.map((e=>this.coordinateHelper.vectorToArray(e.pos)))}set drawingMode(e){this._set("drawingMode",e??y)}get effectiveCursor(){return this.loading?j:this._hideDefaultCursor?null:this.cursor||H}get interactive(){return this._manipulator.interactive}set interactive(e){this._manipulator.interactive=e}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activeComponent.vertices.length}get numVertices(){const e=this._activeComponent.vertices.length;return null==this.stagedVertex?e:e+1}get snappingOptions(){return null!=this.snappingManager?this.snappingManager.options:null}get stagedVertex(){const{constraint:e}=this,t=this._snappingOperation.stagedPoint;if(!t||!e?.current)return t;const i=I(t,e.context),n=i?e.current.closestTo(i):void 0;return n?E(n,t,e.context):t}set stagedVertex(e){this._snappingOperation.stagedPoint=n(e)}get updating(){return this._updatingHandles.updating}get vertices(){const e=this.committedVertices;return null!=this.stagedVertex&&e.push(this.coordinateHelper.pointToArray(this.stagedVertex)),e}cancel(){this.complete({aborted:!0})}commitStagedVertex(){if(this._snappingOperation.abort(),null!=this.stagedVertex){const{stagedVertex:e}=this;this.stagedVertex=null,this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(e))}}complete(e){const t=e?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,o="multipoint"===i&&0===n||"polyline"===i&&n<2||"polygon"===i&&n<3;"segment"===i||"point"===i?this.commitStagedVertex():o||(this.stagedVertex=null),this._createOperationCompleted=!o,(this.isCompleted||t)&&this.emit("complete",{vertices:this.vertices.map(((e,t)=>({componentIndex:0,vertexIndex:t,coordinates:e}))),aborted:t,type:"complete"})}onInputEvent(e){switch(e.type){case"pointer-down":this._pointerDownStates.add(e.pointerId);break;case"pointer-up":this._pointerDownStates.delete(e.pointerId)}switch(e.type){case"pointer-move":return this._onPointerMove(e);case"hold":return this._onHold(e)}}redo(){this._editGeometryOperations.redo()}undo(){null!=this.snappingManager&&this.snappingManager.doneSnapping(),this._editGeometryOperations.undo()}_closeOnClickVertexIndex(e){const t=this._activeComponent;if("polygon"===this.geometryType&&t.vertices.length>2){if(this._vertexWithinPointerDistance(t.vertices[0].pos,e))return 0;if(this._vertexWithinPointerDistance(t.vertices[t.vertices.length-1].pos,e))return t.vertices.length-1}return null}_createManipulatorDragPipeline(e){switch(this.drawingMode){case"click":return this._createManipulatorDragPipelineClick(e);case"freehand":return this._createManipulatorDragPipelineFreehand(e);case"hybrid":return this._createManipulatorDragPipelineHybrid(e)}}_createManipulatorDragPipelineClick(e){return x(e,((e,t,i,n)=>{const o="touch"===n&&this._snappingEnabled;if(this.isCompleted||!o)return;const{snappingStep:r,cancelSnapping:s}=C({predicate:()=>o,snappingManager:this.snappingManager,snappingContext:new M({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,feature:this.graphic,pointer:n,visualizer:this.snappingVisualizer}),updatingHandles:this._updatingHandles,useZ:!this._requiresScenePoint});i=i.next((e=>(o&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),e))).next(s),t.next(this._screenToMapDragEventStep()).next((e=>("start"===e.action&&(this.stagedVertex=e.mapStart,("segment"===this.geometryType||o&&0===this.numVertices)&&this.commitStagedVertex()),e))).next(S(this.view,this.elevationInfo)).next(...r).next((e=>(o&&(this.stagedVertex=e.mapEnd,"end"===e.action&&this.commitStagedVertex()),e))).next((e=>("end"===e.action&&("segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()),e)))}))}_createManipulatorDragPipelineFreehand(e){return x(e,((e,t)=>{this.isCompleted||t.next(this._screenToMapDragEventStep()).next((e=>("start"===e.action&&(null==this.stagedVertex&&(this.stagedVertex=e.mapStart),"segment"===this.geometryType&&this.commitStagedVertex()),e))).next((e=>{switch(e.action){case"start":case"update":this.stagedVertex=e.mapEnd,"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":this.complete()}return e}))}))}_createManipulatorDragPipelineHybrid(e){return x(e,((e,t)=>{this.isCompleted||t.next(this._screenToMapDragEventStep()).next((e=>("start"===e.action&&(null==this.stagedVertex&&(this.stagedVertex=e.mapStart),this.commitStagedVertex()),e))).next((e=>{switch(e.action){case"start":case"update":this.stagedVertex=e.mapEnd,"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()}return e}))}))}get _drawAtFixedElevation(){return("segment"===this.geometryType||"polygon"===this.geometryType)&&this.numCommittedVertices>0}_getEffectiveDrawSurface(){if(null==this.elevationDrawSurface)return this.drawSurface;if(!this.coordinateHelper.hasZ())return this.elevationDrawSurface.defaultZ=null,this.elevationDrawSurface;let e=this.defaultZ,t=!1;return null!=this.elevationInfo&&"absolute-height"===this.elevationInfo.mode&&(t=!0),null!=this.snapToSceneEnabled&&(t=this.snapToSceneEnabled),null!=this.elevationInfo&&"on-the-ground"===this.elevationInfo.mode&&(t=!1),this._drawAtFixedElevation&&(e=this.coordinateHelper.getZ(this._activeComponent.vertices[0].pos),t=!1),t?this.drawSurface:(this.elevationDrawSurface.defaultZ=e,this.elevationDrawSurface)}_mapToScreen(e){return this._getEffectiveDrawSurface()?.mapToScreen(e)}_onHold(e){this._snappingOperation.abort(),"click"===this.drawingMode&&"touch"===e.pointerType&&this._snappingEnabled&&(this.stagedVertex=e.mapPoint),e.stopPropagation()}_onImmediateClick(e){if("mouse"===e.pointerType&&2===e.button||this._manipulator.dragging)return;const t=this._activeComponent;if(null!=this._closeOnClickVertexIndex(e.screenPoint))return e.stopPropagation(),void this.complete();const i=this._screenToMap(e.screenPoint);if(null!=i)switch(this.drawingMode){case"freehand":"point"===this.geometryType&&(null!=this.stagedVertex?this.commitStagedVertex():this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(i)),this.complete());break;case"click":case"hybrid":this._snappingOperation.abort(),null!=this.stagedVertex?this.commitStagedVertex():this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(i)),("point"===this.geometryType||"segment"===this.geometryType&&2===t.vertices.length||"segment"===this.geometryType&&"hybrid"===this.drawingMode&&1===t.vertices.length)&&this.complete()}e.stopPropagation()}_onImmediateDoubleClick(e){this._manipulator.dragging||"point"===this.geometryType||(this.complete(),e.stopPropagation())}_onPointerMove(e){const t=c(e.x,e.y);this._stagedScreenPoint=t,this._stagedPointerType=e.pointerType,this._stagedPointerId=e.pointerId;const i=this._snappingOperation,n=this._manipulator;this._pointerDownStates.has(e.pointerId)||n.grabbing||!n.interactive?i.abort():(e.stopPropagation(),this._updateStagedVertexOnPointerMove(t,e.pointerType))}_onViewpointChange(){const e=this._manipulator;"mouse"===this._stagedPointerType&&this._stagedScreenPoint&&null!=this._stagedPointerId&&!this._pointerDownStates.has(this._stagedPointerId)&&!e.grabbing&&e.interactive?this._updateStagedVertexOnPointerMove(this._stagedScreenPoint,this._stagedPointerType??"mouse"):this._snappingOperation.abort()}_updateStagedVertexOnPointerMove(e,t){const i=this._snappingOperation,n=this._closeOnClickVertexIndex(e);if(null!=n)return this._closeOnVertex(n),void i.abort();const o=this._screenToMap(e),r=this._requiresScenePoint?this.drawSurface?.screenToMap(e):null;if(null==o)return this._hideDefaultCursor=!0,void i.abort();this._hideDefaultCursor=!1;const a=this.snappingManager;if(null==a)return this.stagedVertex=o,void i.abort();const p=this._getSnappingContext(t);this._updatingHandles.addPromise(s(i.snap({point:o,scenePoint:r},a,p)))}_closeOnVertex(e){this.stagedVertex=null;const t={componentIndex:0,vertexIndex:e,coordinates:this.coordinateHelper.vectorToArray(this._activeComponent.vertices[e].pos)};this.emit("cursor-update",{updated:null,vertices:[t],operation:"apply",type:"vertex-update"})}_screenToMap(e){return this._getEffectiveDrawSurface()?.screenToMap(e)}_screenToMapDragEventStep(){let e=null;return t=>{if("start"===t.action&&(e=this._screenToMap(t.screenStart)),null==e)return null;const i=this._screenToMap(t.screenEnd);return null!=i?{...t,mapStart:e,mapEnd:i}:null}}_vertexWithinPointerDistance(e,t){const i=25,n=this._mapToScreen(this.coordinateHelper.vectorToDehydratedPoint(e));return null!=n&&G(n,t,i)}_getSnappingContext(e){const t=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new M({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,pointer:e,feature:this.graphic,visualizer:this.snappingVisualizer,selfSnappingZ:null!=t?{value:t,elevationInfo:this.elevationInfo}:null})}};function G(e,t,i){const n=e.x-t.x,o=e.y-t.y;return n*n+o*o<=i}e([l()],k.prototype,"_hideDefaultCursor",void 0),e([l()],k.prototype,"_snappingOperation",void 0),e([l()],k.prototype,"_snappingEnabled",null),e([l({constructOnly:!0})],k.prototype,"graphic",void 0),e([l()],k.prototype,"constraint",void 0),e([l()],k.prototype,"defaultZ",void 0),e([l()],k.prototype,"isDraped",void 0),e([l({value:y})],k.prototype,"drawingMode",null),e([l({constructOnly:!0})],k.prototype,"elevationDrawSurface",void 0),e([l({constructOnly:!0})],k.prototype,"elevationInfo",void 0),e([l({constructOnly:!0,type:T})],k.prototype,"labelOptions",void 0),e([l({constructOnly:!0,type:b})],k.prototype,"tooltipOptions",void 0),e([l({constructOnly:!0})],k.prototype,"geometryType",void 0),e([l({constructOnly:!0})],k.prototype,"hasM",void 0),e([l({constructOnly:!0})],k.prototype,"hasZ",void 0),e([l()],k.prototype,"cursor",void 0),e([l()],k.prototype,"effectiveCursor",null),e([l()],k.prototype,"loading",void 0),e([l({constructOnly:!0})],k.prototype,"manipulators",void 0),e([l({constructOnly:!0})],k.prototype,"drawSurface",void 0),e([l({constructOnly:!0})],k.prototype,"segmentLabels",void 0),e([l({constructOnly:!0})],k.prototype,"snappingManager",void 0),e([l({constructOnly:!0})],k.prototype,"snappingVisualizer",void 0),e([l()],k.prototype,"snapToSceneEnabled",void 0),e([l()],k.prototype,"stagedVertex",null),e([l()],k.prototype,"lastVertex",void 0),e([l()],k.prototype,"updating",null),e([l({constructOnly:!0})],k.prototype,"view",void 0),k=e([d("esri.views.draw.DrawOperation")],k);export{k as DrawOperation,H as defaultCursor,j as defaultLoadingCursor};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../Color.js";import o from"../../core/Accessor.js";import{createTask as s}from"../../core/asyncUtils.js";import{multiplyOpacity as r,getContrast as i,BrightnessThreshold as n}from"../../core/colorUtils.js";import{makeHandle as l}from"../../core/handleUtils.js";import{throwIfAborted as a}from"../../core/promiseUtils.js";import{formatLength as c}from"../../core/quantityFormatUtils.js";import{watch as p,on as h}from"../../core/reactiveUtils.js";import{createScreenPointArray as d}from"../../core/screenUtils.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/RandomLCG.js";import"../../core/has.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import{squaredDistance as b,set as f,normalize as g,scale as x,lerp as _,add as y}from"../../core/libs/gl-matrix-2/math/vec2.js";import{create as v}from"../../core/libs/gl-matrix-2/factories/vec2f64.js";import{F as j}from"../../chunks/vec32.js";import{isClockwise as I}from"../../geometry/support/coordsUtils.js";import{fetchMessageBundle as L}from"../../intl/messages.js";import{getGeometryEffectiveElevationMode as U}from"../../support/elevationInfoUtils.js";import{getDefaultUnitForView as C}from"../../support/getDefaultUnitForView.js";import S from"../overlay/TextOverlayItem.js";import{
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../Color.js";import o from"../../core/Accessor.js";import{createTask as s}from"../../core/asyncUtils.js";import{multiplyOpacity as r,getContrast as i,BrightnessThreshold as n}from"../../core/colorUtils.js";import{makeHandle as l}from"../../core/handleUtils.js";import{throwIfAborted as a}from"../../core/promiseUtils.js";import{formatLength as c}from"../../core/quantityFormatUtils.js";import{watch as p,on as h}from"../../core/reactiveUtils.js";import{createScreenPointArray as d}from"../../core/screenUtils.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/RandomLCG.js";import"../../core/has.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import{squaredDistance as b,set as f,normalize as g,scale as x,lerp as _,add as y}from"../../core/libs/gl-matrix-2/math/vec2.js";import{create as v}from"../../core/libs/gl-matrix-2/factories/vec2f64.js";import{F as j}from"../../chunks/vec32.js";import{isClockwise as I}from"../../geometry/support/coordsUtils.js";import{fetchMessageBundle as L}from"../../intl/messages.js";import{getGeometryEffectiveElevationMode as U}from"../../support/elevationInfoUtils.js";import{getDefaultUnitForView as C}from"../../support/getDefaultUnitForView.js";import S from"../overlay/TextOverlayItem.js";import{autoHorizontalDistanceByElevationMode as w}from"../support/automaticLengthMeasurementUtils.js";const D=3025,k={default:15,far:25};let O=class extends o{constructor(t){super(t),this.context=null,this.stagedVertex=null,this.visible=!0,this.edgeDistance="default",this._messagesUnits=null,this._labelInfos=[],this._nextLabelIndex=0}initialize(){const t=s((async t=>{const e=await L("esri/core/t9n/Units");a(t),this._messagesUnits=e}));this.addHandles([p((()=>[null!=this.context&&this.getCameraOrExtent(this.context),this.visible,this._edgeDistancePixels,this.stagedVertex,this._messagesUnits]),(()=>this._update())),...["vertex-add","vertex-update","vertex-remove"].map((t=>h((()=>this.context?.editGeometryOperations),t,(()=>this._update())))),l((()=>t.abort())),p((()=>this._colors),(t=>this._updateStyle(t)))])}destroy(){for(this._nextLabelIndex=0;this._labelInfos.length;)this._destroyLabel(this._labelInfos.pop())}get updating(){return null==this._messagesUnits}get test(){return{labelContents:this._labelInfos.slice(0,this._nextLabelIndex).map((t=>t.label.text))}}get _edgeDistancePixels(){return k[this.edgeDistance]}get _colors(){const t=this.context?.view.effectiveTheme.textColor??e.fromArray([255,255,255]);return{textColor:t,backgroundColor:r(i(t,n.Low),.6)}}_update(){if(this.destroyed)return;this._nextLabelIndex=0;const t=this.context;if(null==t)return void this._destroyUnusedLabels();const{components:e,geometry:o,coordinateHelper:s}=t.editGeometryOperations.data;if(!o)return void this._destroyUnusedLabels();const r=e.length;for(let i=0;i<r;++i){const n=[];if(e[i].iterateVertices((t=>{n.push(s.toXYZ(t.pos))})),0===i&&null!=this.stagedVertex&&n.push(s.toXYZ(this.stagedVertex)),n.length<2)continue;const l=n[0],a=n[n.length-1];"polygon"===o.type&&n.length>2&&!j(l,a)&&n.push(l);const c=1===r&&!I(n);let p=G,h=A;this.toScreenPointArray(t,l,p);for(let e=1;e<n.length;++e){const o=n[e-1],s=n[e];this.toScreenPointArray(t,s,h),this._addLabel(t,o,p,s,h,c),[p,h]=[h,p]}}this._destroyUnusedLabels()}_updateStyle({textColor:t,backgroundColor:e}){const o=this._nextLabelIndex,s=this._labelInfos;for(let r=0;r<o;++r){const{label:o}=s[r];o.textColor=t,o.backgroundColor=e}}_addLabel(t,e,o,s,r,i){const{label:n}=this._getOrCreateLabel(t);if(!this.visible||b(o,r)<D)return void(n.visible=!1);const l=null!=t.graphicState?t.graphicState.isDraped?"on-the-ground":"absolute-height":U(t.editGeometryOperations.data.geometry,t.elevationInfo),{spatialReference:a}=t.editGeometryOperations.data,p=w(e,s,a,l),h=this._messagesUnits,d=C(t.view);n.text=null!=h&&null!=p?c(h,p,d):"",n.visible=!0;const m=r[0]-o[0],u=r[1]-o[1];i?f(V,-u,m):f(V,u,-m),g(V,V),x(V,V,this._edgeDistancePixels),_(P,o,r,.5),y(P,P,V),n.position=[P[0],P[1]],Math.abs(V[0])>Math.abs(V[1])?n.anchor=V[0]>0?"left":"right":n.anchor=-V[1]<0?"top":"bottom"}_getOrCreateLabel(t){const e=this._labelInfos.length>this._nextLabelIndex,{textColor:o,backgroundColor:s}=this._colors;if(e){const t=this._labelInfos[this._nextLabelIndex++],{label:e}=t;return e.textColor=o,e.backgroundColor=s,t}const r=new S({anchor:"center",fontSize:10,textColor:o,backgroundColor:s});t.view.overlay?.items.add(r);const i={label:r};return this._labelInfos.push(i),this._nextLabelIndex=this._labelInfos.length,i}_destroyUnusedLabels(){for(;this._labelInfos.length>this._nextLabelIndex;)this._destroyLabel(this._labelInfos.pop())}_destroyLabel({label:t}){this.context?.view.overlay?.items.remove(t),t.destroy()}};t([m()],O.prototype,"context",void 0),t([m()],O.prototype,"stagedVertex",void 0),t([m()],O.prototype,"visible",void 0),t([m()],O.prototype,"edgeDistance",void 0),t([m()],O.prototype,"updating",null),t([m()],O.prototype,"_messagesUnits",void 0),t([m()],O.prototype,"_edgeDistancePixels",null),t([m()],O.prototype,"_colors",null),O=t([u("esri.views.interactive")],O);const V=v(),P=v(),G=d(),A=d();export{O as SegmentLabels};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{isSome as t,equals as e}from"../../../core/arrayUtils.js";import{asinClamped as r}from"../../../core/mathUtils.js";import{dot as n,subtract as s,squaredDistance as i}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{create as o}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{p as c,h as u,a,x as f,m as l,s as h,c as p,f as d,F as m,j as L,b as g,n as k}from"../../../chunks/vec32.js";import{clone as P,create as x,fromValues as y,UNIT_Z as T}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as w,g as j}from"../../../chunks/vec42.js";import{create as q}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{create as v,intersectLine as M,signedDistance as z,projectPoint as A,fromPositionAndNormal as b,fromPoints as E,distance as N,getNormal as Z}from"../../../geometry/support/plane.js";import{k as I,l as U,p as S,g as G,m as O}from"../../../chunks/sphere.js";import{tangentFrame as C}from"../../3d/support/mathUtils.js";import{fromVec3 as F,clone as D,fromValues as H,asVec2 as R}from"./normalizedPoint.js";import{vectorsHaveCloseZ as V,isClose as Y,intersectVerticalPlaneAndVerticalCylinder as _,isPointInsidePlane as B,projectPointToLineLike as J,projectPointToVerticalCylinder as K,projectPointToVerticalPlane as Q,VerticalPlaneType as W,intersectLineLikes as X,intersectVerticalPlaneAndLineLike as $,intersectLineLikeAndVerticalCylinder as tt,intersectLineLikeAndCircle as et,intersectVerticalPlanes as rt,intersectVerticalCylinders as nt,pointsInsidePlane as st,intersectVerticalPlaneAndPoint as it}from"../../support/geometry3dUtils.js";import{LineType as ot}from"../../support/geometry2dUtils.js";class ct{intersect(t){return bt(this,t)}closestPoints(t){return[this.closestTo(t)]}}class ut extends ct{constructor(t){super(),this.point=t}equals(t){return this===t||se(t)&&u(this.point,t.point)}closestTo(){return D(this.point)}}class at extends ct{constructor(t,e,r){super(),this.start=t,this.end=e,this.lineLike={start:t,end:e,type:r}}equals(t){return this===t||ie(t)&&this.lineLike.type===t.lineLike.type&&u(this.start,t.start)&&u(this.end,t.end)}closestTo(t){const e=J(t,this.lineLike);return F(e)}}class ft extends at{constructor(t,e){super(t,e,ot.LINE)}}class lt extends at{constructor(t,e){super(t,e,ot.RAY)}}class ht extends ct{constructor(t){super(),this.constraints=t}equals(t){return this===t||ne(t)&&e(this.constraints,t.constraints,((t,e)=>t.equals(e)))}closestTo(t){let e,r=1/0;for(const n of this.constraints){const s=n.closestTo(t),i=a(t,s);i<r&&(r=i,e=s)}return e?D(e):t}closestPoints(t){return this.constraints.flatMap((e=>e===this?[]:e.closestPoints(t)))}}class pt extends ct{constructor(t,e){super(),this.center=t,this.radius=e}equals(t){return this===t||ue(t)&&this.center[0]===t.center[0]&&this.center[1]===t.center[1]&&this.radius===t.radius}closestTo(t){const e=K(t,this.center,this.radius);return F(e)}}class dt extends ct{constructor(t,e){super(),this.center=t,this.radius=e}equals(t){return this===t||ae(t)&&u(this.center,t.center)&&this.radius===t.radius}closestTo(t){const e=K(t,this.center,this.radius);return e[2]=this.center[2],F(e)}asCircle(){return new mt(D(this.center),this.radius,H(0,0,1))}}class mt extends ct{constructor(t,e,r,n=void 0){super(),this.center=t,this.radius=e,this.normal=r,this.slicePlane=n}equals(t){return this===t||fe(t)&&u(this.center,t.center)&&u(this.normal,t.normal)&&this.radius===t.radius}closestTo(t){const{center:e,radius:r}=this;A(this.getPlane(gt),t,Lt);const n=f(Lt,Lt,e),s=l(n);if(Y(s,0))return D(t);const i=r/Math.sqrt(s),o=c(x(),e,n,i),{slicePlane:u}=this;if(u&&!B(u,o)){const e=It(u,this);return e?.closestTo(t)??D(t)}return F(o)}getPlane(t=v()){return b(this.center,this.normal,t)}}const Lt=x(),gt=v();class kt extends ct{constructor(t){super(),this.z=t}equals(t){return this===t||oe(t)&&this.z===t.z}closestTo(t){return F(y(t[0],t[1],this.z))}getPlane(t=v()){return h(Pt,0,0,this.z),b(Pt,T,t)}}const Pt=x();class xt extends ct{constructor(t,e,r){super(),this.start=t,this.end=e,this.planeLike={start:R(t),end:R(e),type:r}}equals(t){return this===t||ce(t)&&this.planeLike.type===t.planeLike.type&&u(this.start,t.start)&&u(this.end,t.end)}closestTo(t){return F(Q(t,this.planeLike))}closestEndTo(t){const{start:e,end:r}=this.planeLike;return Math.sign(n(s(yt,r,e),s(Tt,R(t),e)))>0?this.end:this.start}getPlane(t=v()){const e=p(wt,this.end);return e[2]+=1,E(this.start,this.end,e,t)}getSlicePlane(t=v()){const{start:e,end:r,type:n}=this.planeLike;if(n===W.PLANE)return;const s=h(wt,e[0],e[1],0),i=h(jt,r[0],r[1],0),o=d(jt,i,s);return b(s,o,t),t}}const yt=o(),Tt=o(),wt=x(),jt=x();class qt extends xt{constructor(t,e){super(t,e,W.HALF_PLANE)}}class vt extends xt{constructor(t,e){super(t,e,W.PLANE)}}class Mt extends ct{constructor(t,e){super(),this.sphere=I(t,e)}equals(t){return this===t||le(t)&&U(this.sphere,t.sphere)}closestTo(t){const e=S(this.sphere,t,x());return F(e)}get center(){return G(this.sphere)}get radius(){return this.sphere[3]}}class zt extends ct{constructor(t,e,r){super(),this.start=t,this.end=e,this.getZ=r,this.planeLike={start:R(t),end:R(e),type:W.PLANE}}equals(t){return this===t||he(t)&&u(this.start,t.start)&&u(this.end,t.end)&&this.getZ===t.getZ}closestTo(t){return At(this,t)}addIfOnTheGround(t,e){for(const r of e){const e=this.getZ(r[0],r[1])??0;Y(r[2],e)&&(r[2]=e,t.push(r))}}}function At(t,e){const r=Q(e,t.planeLike);return r[2]=t.getZ(r[0],r[1])??pe,F(r)}function bt(t,e){if(ne(t)){const r=[];for(const n of t.constraints){const t=n.intersect(e);t&&r.push(t)}return re(r)}if(ne(e))return bt(e,t);if(he(t))return Xt(t,e);if(he(e))return Xt(e,t);if(se(t)){const{point:r}=t,n=e.closestTo(r);return m(n,r)?t:void 0}if(ie(t)){if(se(e))return bt(e,t);if(ie(e))return te(X(t.lineLike,e.lineLike));if(oe(e))return Et(t,e);if(ce(e))return te($(e.planeLike,t.lineLike));if(ue(e))return te(tt(t.lineLike,e.center,e.radius));if(fe(e))return te(et(t.lineLike,e));if(ae(e))return Nt(t,e);if(le(e))return Zt(t,e)}else if(oe(t)){if(se(e)||ie(e))return bt(e,t);if(oe(e))return Ut(t,e);if(ce(e))return St(t,e);if(ue(e))return Gt(t,e);if(fe(e))return Ct(t,e);if(ae(e))return Ot(t,e);if(le(e))return Ft(t,e)}else if(ce(t)){if(se(e)||ie(e)||oe(e))return bt(e,t);if(ce(e))return $t(rt(t.planeLike,e.planeLike));if(ue(e))return $t(_(t.planeLike,e.center,e.radius));if(fe(e))return Ht(t,e);if(ae(e))return Dt(t,e);if(le(e))return Rt(t,e)}else if(ue(t)){if(se(e)||ie(e)||oe(e)||ce(e))return bt(e,t);if(ue(e))return $t(nt(R(t.center),t.radius,R(e.center),e.radius));if(fe(e))return Vt();if(ae(e))return Yt(t,e);if(le(e))return _t()}else if(fe(t)){if(se(e)||ie(e)||oe(e)||ce(e)||ue(e))return bt(e,t);if(fe(e))return Bt();if(ae(e))return Bt(e.asCircle());if(le(e))return Jt()}else if(ae(t)){if(se(e)||ie(e)||oe(e)||ce(e)||ue(e)||fe(e))return bt(e,t);if(ae(e))return Kt(e,t);if(le(e))return Qt()}else if(le(t)){if(se(e)||ie(e)||oe(e)||ce(e)||ue(e)||ae(e))return bt(e,t);if(le(e))return Wt()}}const Et=(()=>{const t=v();return(e,r)=>{const{start:n,end:s}=e;if(V(n,s)&&Y(n[2],r.z))return e;const i=x();return M(r.getPlane(t),n,s,i)?new ut(F(i)):void 0}})();function Nt({lineLike:t},{center:e,radius:r}){const n=e[2];return te(tt(t,e,r).filter((t=>Y(t[2],n))))}function Zt({lineLike:t},{sphere:e}){return te(O(e,t.start,t.end))}const It=(()=>{const t=q(),e=x(),n=x();return(s,i,o)=>{const{normal:u,center:a,radius:f}=i;C(u,e,n);const l=Z(s),h=f*L(l,e),p=f*L(l,n);w(t,a[0],a[1],a[2],1);const d=j(s,t),m=Math.hypot(h,p),y=Y(m,0);if(Y(N(s,a),0)){if(y)return i;if(Y(f,0))return!o||B(o,a)?new ut(D(a)):void 0;g(e,l,u),k(e,e);const t=new Array,r=P(a);c(r,r,e,f),o&&!B(o,r)||t.push(r);const n=P(a);return c(n,n,e,-f),o&&!B(o,n)||t.push(n),te(t)}if(y)return;const T=-d/m;if(Math.abs(T)>1||Y(T,1))return;const q=Math.atan(h/p),v=r(T)-q,M=Math.PI-v,z=new Array,A=x();c(A,a,e,f*Math.cos(v)),c(A,A,n,f*Math.sin(v)),z.push(A);const b=x();return c(b,a,e,f*Math.cos(M)),c(b,b,n,f*Math.sin(M)),z.push(b),te(o?st(o,z):z)}})();function Ut(t,e){return Y(t.z,e.z)?t:void 0}function St({z:t},{planeLike:e}){const[r,n]=e.start,[s,i]=e.end,o=H(r,n,t),c=H(s,i,t);return e.type===W.PLANE?new ft(o,c):new lt(o,c)}function Gt(t,e){const[r,n]=e.center;return new dt(H(r,n,t.z),e.radius)}function Ot(t,e){return Y(e.center[2],t.z)?e:void 0}const Ct=(()=>{const t=v();return(e,r)=>It(e.getPlane(t),r,r.slicePlane)})();function Ft(t,{center:e,radius:r}){const n=Math.abs(e[2]-t.z);if(n>r&&!Y(n,r))return;const s=H(e[0],e[1],t.z),i=Math.sqrt(r**2-n**2);return Y(i,0)?void 0:new dt(s,i)}const Dt=(()=>{const t=v();return(e,{center:r,radius:n})=>{const s=_(e.planeLike,r,n),i=r[2];e.getSlicePlane(t);const o=new Array;for(const[c,u]of s){const e=[c,u,i];B(t,e)&&o.push(e)}return te(o)}})(),Ht=(()=>{const t=v(),e=v();return(r,n)=>It(r.getPlane(t),n,r.getSlicePlane(e))})(),Rt=(()=>{const t=v();return(e,{center:r,radius:n})=>{const s=e.getPlane(t),i=z(s,r),o=Math.abs(i);if(o>n&&!Y(o,n))return;const u=P(Z(s)),a=c(x(),r,u,i),f=Math.sqrt(n**2-i**2);return Y(f,0)?new ut(F(A(s,r,x()))):new mt(F(a),f,u,e.getSlicePlane())}})();function Vt(t,e){}function Yt(t,e){const r=i(R(t.center),R(e.center));if(Y(r,0)&&Y(t.radius,e.radius))return e;return ee(nt(R(t.center),t.radius,R(e.center),e.radius),e.center[2])}function _t(t,e){}function Bt(t,e){}function Jt(t,e){}function Kt(t,e){if(!V(t.center,e.center))return;const r=i(R(t.center),R(e.center));if(Y(r,0)&&Y(t.radius,e.radius))return t;return ee(nt(R(t.center),t.radius,R(e.center),e.radius),t.center[2])}function Qt(t,e){}function Wt(t,e){}function Xt(t,e){const{planeLike:r,getZ:n}=t,s=new Array;if(se(e))t.addIfOnTheGround(s,it(r,e.point));else if(ie(e))t.addIfOnTheGround(s,$(r,e.lineLike));else if(ue(e))for(const[i,o]of _(r,e.center,e.radius)){const t=n(i,o);null!=t&&s.push(y(i,o,t))}else if(ce(e)||he(e))for(const[i,o]of rt(r,e.planeLike)){const t=n(i,o)??pe;s.push(y(i,o,t))}return te(s)}function $t(t){return re(t.map((([t,e])=>{const r=H(t,e,0),n=H(t,e,1);return new ft(r,n)})))}function te(t){return re(t.map((t=>t?new ut(F(t)):void 0)))}function ee(t,e){return te(t.map((([t,r])=>[t,r,e])))}function re(e){if(0!==e.length)return 1===e.length?e[0]??void 0:new ht(e.filter(t))}function ne(t){return t instanceof ht}function se(t){return t instanceof ut}function ie(t){return t instanceof at}function oe(t){return t instanceof kt}function ce(t){return t instanceof xt}function ue(t){return t instanceof pt}function ae(t){return t instanceof dt}function fe(t){return t instanceof mt}function le(t){return t instanceof Mt}function he(t){return t instanceof zt}const pe=0;export{mt as CircleConstraint,ct as Constraint,zt as DrapedLineConstraint,dt as HorizontalCircleConstraint,kt as HorizontalPlaneConstraint,ft as LineConstraint,at as LineLikeConstraint,ut as PointConstraint,lt as RayConstraint,ht as SetConstraint,Mt as SphereConstraint,pt as VerticalCylinderConstraint,qt as VerticalHalfPlaneConstraint,vt as VerticalPlaneConstraint,xt as VerticalPlaneLikeConstraint};
|
|
5
|
+
import{isSome as t,equals as e}from"../../../core/arrayUtils.js";import{asinClamped as r}from"../../../core/mathUtils.js";import{dot as s,subtract as n,exactEquals as i,set as o,squaredDistance as c}from"../../../core/libs/gl-matrix-2/math/vec2.js";import{create as u}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{p as a,h as f,a as h,x as l,m as d,s as p,c as m,f as g,F as L,j as k,b as M,n as _}from"../../../chunks/vec32.js";import{clone as P,create as x,fromValues as y,UNIT_Z as v}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as T,g as j}from"../../../chunks/vec42.js";import{create as w}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import q from"../../../geometry/SpatialReference.js";import{toRadians as z}from"../../../geometry/support/geodesicConstants.js";import{directGeodeticSolver as A,inverseGeodeticSolver as b,InverseGeodeticSolverResult as D}from"../../../geometry/support/geodesicUtils.js";import{create as E,intersectLine as N,signedDistance as S,projectPoint as U,fromPositionAndNormal as Z,fromPoints as I,distance as G,getNormal as C}from"../../../geometry/support/plane.js";import{k as O,l as F,p as R,g as H,m as V}from"../../../chunks/sphere.js";import{tangentFrame as W}from"../../3d/support/mathUtils.js";import{fromVec3 as Y,clone as B,fromValues as J,asVec2 as K,create as Q}from"./normalizedPoint.js";import{vectorsHaveCloseZ as X,isClose as $,intersectVerticalPlaneAndVerticalCylinder as tt,isPointInsidePlane as et,projectPointToLineLike as rt,projectPointToVerticalCylinder as st,projectPointToVerticalPlane as nt,VerticalPlaneType as it,intersectLineLikes as ot,intersectVerticalPlaneAndLineLike as ct,intersectLineLikeAndVerticalCylinder as ut,intersectLineLikeAndCircle as at,intersectVerticalPlanes as ft,intersectVerticalCylinders as ht,pointsInsidePlane as lt,intersectVerticalPlaneAndPoint as dt}from"../../support/geometry3dUtils.js";import{LineType as pt}from"../../support/geometry2dUtils.js";class mt{intersect(t){return Rt(this,t)}closestPoints(t){return[this.closestTo(t)]}}class gt extends mt{constructor(t){super(),this.point=t}equals(t){return this===t||Le(t)&&f(this.point,t.point)}closestTo(){return B(this.point)}}class Lt extends mt{constructor(t,e,r){super(),this.start=t,this.end=e,this.lineLike={start:t,end:e,type:r}}equals(t){return this===t||ke(t)&&this.lineLike.type===t.lineLike.type&&f(this.start,t.start)&&f(this.end,t.end)}closestTo(t){const e=rt(t,this.lineLike);return Y(e)}}class kt extends Lt{constructor(t,e){super(t,e,pt.LINE)}}class Mt extends Lt{constructor(t,e){super(t,e,pt.RAY)}}class _t extends mt{constructor(t){super(),this.constraints=t}equals(t){return this===t||ge(t)&&e(this.constraints,t.constraints,((t,e)=>t.equals(e)))}closestTo(t){let e,r=1/0;for(const s of this.constraints){const n=s.closestTo(t),i=h(t,n);i<r&&(r=i,e=n)}return e?B(e):t}closestPoints(t){return this.constraints.flatMap((e=>e===this?[]:e.closestPoints(t)))}}class Pt extends mt{constructor(t,e){super(),this.center=t,this.radius=e}equals(t){return this===t||Pe(t)&&this.center[0]===t.center[0]&&this.center[1]===t.center[1]&&this.radius===t.radius}closestTo(t){const e=st(t,this.center,this.radius);return Y(e)}}class xt extends mt{constructor(t,e){super(),this.center=t,this.radius=e}equals(t){return this===t||xe(t)&&f(this.center,t.center)&&this.radius===t.radius}closestTo(t){const e=st(t,this.center,this.radius);return e[2]=this.center[2],Y(e)}asCircle(){return new yt(B(this.center),this.radius,J(0,0,1))}}class yt extends mt{constructor(t,e,r,s=void 0){super(),this.center=t,this.radius=e,this.normal=r,this.slicePlane=s}equals(t){return this===t||ye(t)&&f(this.center,t.center)&&f(this.normal,t.normal)&&this.radius===t.radius}closestTo(t){const{center:e,radius:r}=this;U(this.getPlane(Tt),t,vt);const s=l(vt,vt,e),n=d(s);if($(n,0))return B(t);const i=r/Math.sqrt(n),o=a(x(),e,s,i),{slicePlane:c}=this;if(c&&!et(c,o)){const e=Yt(c,this);return e?.closestTo(t)??B(t)}return Y(o)}getPlane(t=E()){return Z(this.center,this.normal,t)}}const vt=x(),Tt=E();class jt extends mt{constructor(t){super(),this.z=t}equals(t){return this===t||Me(t)&&this.z===t.z}closestTo(t){return Y(y(t[0],t[1],this.z))}getPlane(t=E()){return p(wt,0,0,this.z),Z(wt,v,t)}}const wt=x();class qt extends mt{constructor(t,e,r){super(),this.start=t,this.end=e,this.planeLike={start:K(t),end:K(e),type:r}}equals(t){return this===t||_e(t)&&this.planeLike.type===t.planeLike.type&&f(this.start,t.start)&&f(this.end,t.end)}closestTo(t){return Y(nt(t,this.planeLike))}closestEndTo(t){const{start:e,end:r}=this.planeLike;return Math.sign(s(n(zt,r,e),n(At,K(t),e)))>0?this.end:this.start}getPlane(t=E()){const e=m(bt,this.end);return e[2]+=1,I(this.start,this.end,e,t)}getSlicePlane(t=E()){const{start:e,end:r,type:s}=this.planeLike;if(s===it.PLANE)return;const n=p(bt,e[0],e[1],0),i=p(Dt,r[0],r[1],0),o=g(Dt,i,n);return Z(n,o,t),t}}const zt=u(),At=u(),bt=x(),Dt=x();class Et extends qt{constructor(t,e){super(t,e,it.HALF_PLANE)}}class Nt extends qt{constructor(t,e){super(t,e,it.PLANE)}}class St extends mt{constructor(t,e){super(),this.sphere=O(t,e)}equals(t){return this===t||ve(t)&&F(this.sphere,t.sphere)}closestTo(t){const e=R(this.sphere,t,x());return Y(e)}get center(){return H(this.sphere)}get radius(){return this.sphere[3]}}class Ut extends mt{constructor(t,e,r){super(),this.start=t,this.end=e,this.getZ=r,this.planeLike={start:K(t),end:K(e),type:it.PLANE}}equals(t){return this===t||Te(t)&&f(this.start,t.start)&&f(this.end,t.end)&&this.getZ===t.getZ}closestTo(t){return Ft(this,t)}addIfOnTheGround(t,e){for(const r of e){const e=this.getZ(r[0],r[1])??0;$(r[2],e)&&(r[2]=e,t.push(r))}}}class Zt extends mt{constructor(t,e,r,s){super(),this._origin=t,this._distanceMeters=e,this._elevationMeters=r,this._orientationDegrees=s}equals(t){return this===t||je(t)&&i(this._origin,t._origin)&&this._distanceMeters===t._distanceMeters&&this._elevationMeters===t._elevationMeters&&this._orientationDegrees===t._orientationDegrees}closestTo([t,e,r]){if(o(It,t,e),null!=this._orientationDegrees&&null!=this._distanceMeters)A(It,this._origin,this._orientationDegrees,this._distanceMeters,q.WGS84);else if(null!=this._orientationDegrees)Ct(It,this._origin,this._orientationDegrees,It);else if(null!=this._distanceMeters){const{azimuth:t}=b(Gt,this._origin,It);A(It,this._origin,t??0,this._distanceMeters)}return Q(It[0],It[1],this._elevationMeters??r)}}const It=[0,0],Gt=new D;function Ct(t,e,r,s){let{azimuth:n,distance:i}=b(Ot,e,s);n??=0;let o=i*Math.cos((n-r)*z);o=Math.max(0,o),A(t,e,r,o)}const Ot=new D;function Ft(t,e){const r=nt(e,t.planeLike);return r[2]=t.getZ(r[0],r[1])??we,Y(r)}function Rt(t,e){if(ge(t)){const r=[];for(const s of t.constraints){const t=s.intersect(e);t&&r.push(t)}return me(r)}if(ge(e))return Rt(e,t);if(Te(t))return he(t,e);if(Te(e))return he(e,t);if(Le(t)){const{point:r}=t,s=e.closestTo(r);return L(s,r)?t:void 0}if(ke(t)){if(Le(e))return Rt(e,t);if(ke(e))return de(ot(t.lineLike,e.lineLike));if(Me(e))return Ht(t,e);if(_e(e))return de(ct(e.planeLike,t.lineLike));if(Pe(e))return de(ut(t.lineLike,e.center,e.radius));if(ye(e))return de(at(t.lineLike,e));if(xe(e))return Vt(t,e);if(ve(e))return Wt(t,e)}else if(Me(t)){if(Le(e)||ke(e))return Rt(e,t);if(Me(e))return Bt(t,e);if(_e(e))return Jt(t,e);if(Pe(e))return Kt(t,e);if(ye(e))return Xt(t,e);if(xe(e))return Qt(t,e);if(ve(e))return $t(t,e)}else if(_e(t)){if(Le(e)||ke(e)||Me(e))return Rt(e,t);if(_e(e))return le(ft(t.planeLike,e.planeLike));if(Pe(e))return le(tt(t.planeLike,e.center,e.radius));if(ye(e))return ee(t,e);if(xe(e))return te(t,e);if(ve(e))return re(t,e)}else if(Pe(t)){if(Le(e)||ke(e)||Me(e)||_e(e))return Rt(e,t);if(Pe(e))return le(ht(K(t.center),t.radius,K(e.center),e.radius));if(ye(e))return se();if(xe(e))return ne(t,e);if(ve(e))return ie()}else if(ye(t)){if(Le(e)||ke(e)||Me(e)||_e(e)||Pe(e))return Rt(e,t);if(ye(e))return oe();if(xe(e))return oe(e.asCircle());if(ve(e))return ce()}else if(xe(t)){if(Le(e)||ke(e)||Me(e)||_e(e)||Pe(e)||ye(e))return Rt(e,t);if(xe(e))return ue(e,t);if(ve(e))return ae()}else if(ve(t)){if(Le(e)||ke(e)||Me(e)||_e(e)||Pe(e)||xe(e))return Rt(e,t);if(ve(e))return fe()}}const Ht=(()=>{const t=E();return(e,r)=>{const{start:s,end:n}=e;if(X(s,n)&&$(s[2],r.z))return e;const i=x();return N(r.getPlane(t),s,n,i)?new gt(Y(i)):void 0}})();function Vt({lineLike:t},{center:e,radius:r}){const s=e[2];return de(ut(t,e,r).filter((t=>$(t[2],s))))}function Wt({lineLike:t},{sphere:e}){return de(V(e,t.start,t.end))}const Yt=(()=>{const t=w(),e=x(),s=x();return(n,i,o)=>{const{normal:c,center:u,radius:f}=i;W(c,e,s);const h=C(n),l=f*k(h,e),d=f*k(h,s);T(t,u[0],u[1],u[2],1);const p=j(n,t),m=Math.hypot(l,d),g=$(m,0);if($(G(n,u),0)){if(g)return i;if($(f,0))return!o||et(o,u)?new gt(B(u)):void 0;M(e,h,c),_(e,e);const t=new Array,r=P(u);a(r,r,e,f),o&&!et(o,r)||t.push(r);const s=P(u);return a(s,s,e,-f),o&&!et(o,s)||t.push(s),de(t)}if(g)return;const L=-p/m;if(Math.abs(L)>1||$(L,1))return;const y=Math.atan(l/d),v=r(L)-y,w=Math.PI-v,q=new Array,z=x();a(z,u,e,f*Math.cos(v)),a(z,z,s,f*Math.sin(v)),q.push(z);const A=x();return a(A,u,e,f*Math.cos(w)),a(A,A,s,f*Math.sin(w)),q.push(A),de(o?lt(o,q):q)}})();function Bt(t,e){return $(t.z,e.z)?t:void 0}function Jt({z:t},{planeLike:e}){const[r,s]=e.start,[n,i]=e.end,o=J(r,s,t),c=J(n,i,t);return e.type===it.PLANE?new kt(o,c):new Mt(o,c)}function Kt(t,e){const[r,s]=e.center;return new xt(J(r,s,t.z),e.radius)}function Qt(t,e){return $(e.center[2],t.z)?e:void 0}const Xt=(()=>{const t=E();return(e,r)=>Yt(e.getPlane(t),r,r.slicePlane)})();function $t(t,{center:e,radius:r}){const s=Math.abs(e[2]-t.z);if(s>r&&!$(s,r))return;const n=J(e[0],e[1],t.z),i=Math.sqrt(r**2-s**2);return $(i,0)?void 0:new xt(n,i)}const te=(()=>{const t=E();return(e,{center:r,radius:s})=>{const n=tt(e.planeLike,r,s),i=r[2];e.getSlicePlane(t);const o=new Array;for(const[c,u]of n){const e=[c,u,i];et(t,e)&&o.push(e)}return de(o)}})(),ee=(()=>{const t=E(),e=E();return(r,s)=>Yt(r.getPlane(t),s,r.getSlicePlane(e))})(),re=(()=>{const t=E();return(e,{center:r,radius:s})=>{const n=e.getPlane(t),i=S(n,r),o=Math.abs(i);if(o>s&&!$(o,s))return;const c=P(C(n)),u=a(x(),r,c,i),f=Math.sqrt(s**2-i**2);return $(f,0)?new gt(Y(U(n,r,x()))):new yt(Y(u),f,c,e.getSlicePlane())}})();function se(t,e){}function ne(t,e){const r=c(K(t.center),K(e.center));if($(r,0)&&$(t.radius,e.radius))return e;return pe(ht(K(t.center),t.radius,K(e.center),e.radius),e.center[2])}function ie(t,e){}function oe(t,e){}function ce(t,e){}function ue(t,e){if(!X(t.center,e.center))return;const r=c(K(t.center),K(e.center));if($(r,0)&&$(t.radius,e.radius))return t;return pe(ht(K(t.center),t.radius,K(e.center),e.radius),t.center[2])}function ae(t,e){}function fe(t,e){}function he(t,e){const{planeLike:r,getZ:s}=t,n=new Array;if(Le(e))t.addIfOnTheGround(n,dt(r,e.point));else if(ke(e))t.addIfOnTheGround(n,ct(r,e.lineLike));else if(Pe(e))for(const[i,o]of tt(r,e.center,e.radius)){const t=s(i,o);null!=t&&n.push(y(i,o,t))}else if(_e(e)||Te(e))for(const[i,o]of ft(r,e.planeLike)){const t=s(i,o)??we;n.push(y(i,o,t))}return de(n)}function le(t){return me(t.map((([t,e])=>{const r=J(t,e,0),s=J(t,e,1);return new kt(r,s)})))}function de(t){return me(t.map((t=>t?new gt(Y(t)):void 0)))}function pe(t,e){return de(t.map((([t,r])=>[t,r,e])))}function me(e){if(0!==e.length)return 1===e.length?e[0]??void 0:new _t(e.filter(t))}function ge(t){return t instanceof _t}function Le(t){return t instanceof gt}function ke(t){return t instanceof Lt}function Me(t){return t instanceof jt}function _e(t){return t instanceof qt}function Pe(t){return t instanceof Pt}function xe(t){return t instanceof xt}function ye(t){return t instanceof yt}function ve(t){return t instanceof St}function Te(t){return t instanceof Ut}function je(t){return t instanceof Zt}const we=0;export{yt as CircleConstraint,mt as Constraint,Ut as DrapedLineConstraint,Zt as GeodesicConstraint,xt as HorizontalCircleConstraint,jt as HorizontalPlaneConstraint,kt as LineConstraint,Lt as LineLikeConstraint,gt as PointConstraint,Mt as RayConstraint,_t as SetConstraint,St as SphereConstraint,Pt as VerticalCylinderConstraint,Et as VerticalHalfPlaneConstraint,Nt as VerticalPlaneConstraint,qt as VerticalPlaneLikeConstraint};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{fromValues as n,clone as
|
|
5
|
+
import{fromValues as n,clone as t}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{makeDehydratedPoint as r}from"../../../layers/graphics/dehydratedPoint.js";import{getConvertedElevation as e,absoluteHeightElevationInfo as o,getConvertedElevationFromVector as u}from"../../../support/elevationInfoUtils.js";function i(t,r,e){return n(t,r,e)}function l(n){return n}function f(n){return n}function c(n){return t(n)}function s(t,r,e){return l(n(t,r,e))}function a(n){return t(n)}function p(n,t,{coordinateHelper:r,elevationInfo:e}){return n?d(r.vectorToDehydratedPoint(n,v),t,e):null}function d(t,r,u){if(null==t)return null;if(null==r)return l(n(t.x,t.y,t.z??0));if("2d"===r.type)return l(n(t.x,t.y,0));const i=e(r,t,u,o)??0;return l(n(t.x,t.y,i))}function m(n,t){return r(n[0],n[1],n[2],t)}function y(n,t,{z:e,m:i},l){const{spatialReference:f,elevationInfo:c}=l;let s;if(null==e&&null==i)s=void 0;else if(null==t||"2d"===t.type)s=e??void 0;else{s=u(t,n,f,o,c)??0}const a=r(n[0],n[1],s,f);return null!=i&&(a.m=i,a.hasM=!0),a}const v=r(0,0,0,null);export{f as asVec2,a as clone,i as create,p as fromAnyMapPoint,d as fromPoint,s as fromValues,l as fromVec3,m as toDehydratedPoint,y as toElevationAlignedDehydratedPoint,c as toWritableVec3};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../core/Accessor.js";import n from"../../../core/Evented.js";import{isAborted as i}from"../../../core/promiseUtils.js";import{watch as s,sync as r,syncAndInitial as a}from"../../../core/reactiveUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/RandomLCG.js";import"../../../core/has.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{project as
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../core/Accessor.js";import n from"../../../core/Evented.js";import{isAborted as i}from"../../../core/promiseUtils.js";import{watch as s,sync as r,syncAndInitial as a}from"../../../core/reactiveUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/RandomLCG.js";import"../../../core/has.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import{project as d,initializeProjection as c}from"../../../geometry/projection.js";import{absoluteHeightElevationInfo as h}from"../../../support/elevationInfoUtils.js";import{fromPoint as l,toElevationAlignedDehydratedPoint as u}from"../sketch/normalizedPoint.js";import{defaults as f}from"./Settings.js";import{SnappingDomain as _}from"./SnappingDomain.js";import{defaultSnappingEnginesFactory as g}from"./snappingFactory.js";import S from"./SnappingOptions.js";import{sortCandidatesInPlace as m,squaredScreenDistance as v}from"./snappingUtils.js";import{IntersectionSnappingCandidate as y}from"./candidates/IntersectionSnappingCandidate.js";import{vectorToScreenPoint as C}from"../support/viewUtils.js";let P=class extends(n.EventedMixin(e)){constructor(t){super(t),this.options=new S,this.snappingEnginesFactory=g,this._engines=[],this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=T.MAIN}initialize(){this.addHandles([s((()=>{const{effectiveFeatureEnabled:t,effectiveSelfEnabled:e,touchSensitivityMultiplier:n,distance:i}=this.options;return{effectiveFeatureEnabled:t,effectiveSelfEnabled:e,touchSensitivityMultiplier:n,distance:i}}),(()=>{this.doneSnapping(),this.emit("changed")}),r),s((()=>this.options),(t=>{for(const e of this._engines)e.options=t}),r),s((()=>({viewReady:this.view.ready,viewSpatialReference:this.view.spatialReference,snappingEnginesFactory:this.snappingEnginesFactory})),(({viewReady:t,snappingEnginesFactory:e})=>this._recreateEngines(t,e)),a)])}destroy(){this._destroyEngines()}get updating(){return this._engines.some((t=>t.updating))}_recreateEngines(t,e){if(this._destroyEngines(),!t)return;const{view:n,options:i}=this;this._engines=e(n,i)}_destroyEngines(){for(const t of this._engines)t.destroy();this._engines=[]}get _squaredMouseProximityTreshold(){return this.options.distance*this.options.distance}get _squaredTouchProximityThreshold(){const{distance:t,touchSensitivityMultiplier:e}=this.options,n=t*e;return n*n}get _squaredSatisfiesConstraintThreshold(){return f.satisfiesConstraintScreenThreshold*f.satisfiesConstraintScreenThreshold}snap(t){return E(t)?this._snapMultiPoint(t):this._snapSinglePoint(t)}update(t){const{point:e,context:n}=t;this._removeVisualization();const i=this._currentMainCandidate;if(null==i)return e;const s=this._selectUpdateInput(t);if(null==s)return e;const{spatialReference:r}=n,a=d(s,r);if(null==a)return e;const{view:o}=this,{elevationInfo:p,visualizer:c}=n,h=[],f=l(a,o,p),_=i.constraint.closestTo(f);if(!this._arePointsWithinScreenThreshold(f,_,n))return this._resetSnappingState(),e;i.targetPoint=_,h.push(...i.hints);for(const d of this._currentOtherActiveCandidates)d.targetPoint=_,h.push(...d.hints);return null!=c&&this.addHandles(c.draw(h,{spatialReference:r,elevationInfo:M(n),view:o,selfSnappingZ:n.selfSnappingZ}),w),u(_,o,e,n)}doneSnapping(){this._removeVisualization(),this._resetSnappingState()}_selectUpdateInput({point:t,scenePoint:e}){switch(this._currentSnappedType){case T.MAIN:return t;case T.SCENE:return e}}_resetSnappingState(){this._currentMainCandidate=null,this._currentOtherActiveCandidates=[],this._currentSnappedType=T.MAIN}_removeVisualization(){this.removeHandles(w)}async _snapSinglePoint({point:t,context:e,signal:n}){const{view:i}=this,{elevationInfo:s}=e,r=l(t,i,s),a=await this._fetchCandidates(r,_.ALL,e,n);return this._createSnapResult(r,T.MAIN,a,i,t,e,n)}async _snapMultiPoint({point:t,scenePoint:e,context:n,signal:i}){const{view:s}=this,{coordinateHelper:r,elevationInfo:a,spatialReference:o}=n;await c(e.spatialReference,o);const p=d(e,o),h=l(p,s,a),u=await this._fetchCandidates(h,_.FEATURE,n,i);if(u.length>0){const t=await this._fetchCandidates(h,_.SELF,n,i);return this._createSnapResult(h,T.SCENE,[...u,...t],s,p,n,i)}const f=l(t,s,a),g=await this._fetchCandidates(f,_.SELF,n,i);return this._createSnapResult(f,T.MAIN,g,s,{z:r.hasZ()&&t.hasZ?t.z??0:void 0,m:r.hasM()&&t.hasM?t.m??0:void 0},n,i)}async _fetchCandidates(t,e,n,i){return(await Promise.all(this._engines.map((s=>s.fetchCandidates(t,e,n,i))))).flat()}_createSnapResult(t,e,n,s,r,a,o){return{get valid(){return!i(o)},apply:()=>{const{spatialReference:i}=a,{snappedPoint:o,hints:p}=this._processCandidates(t,e,n,a);return this._removeVisualization(),null!=a.visualizer&&this.addHandles(a.visualizer.draw(p,{spatialReference:i,elevationInfo:h,view:s,selfSnappingZ:a.selfSnappingZ}),w),u(o,s,r,a)}}}_processCandidates(t,e,n,i){if(n.length<1)return this.doneSnapping(),{snappedPoint:t,hints:[]};this._currentSnappedType!==e&&this._resetSnappingState(),m(t,n);const s=this._currentMainCandidate;if(null!=s){const r=this._findOldConstraintInNewCandidates(s,n);if(r>=0){if(!(n[r]instanceof y))return this._intersectWithOtherCandidates(r,n,t,e,i);if(this._arePointsWithinScreenThreshold(t,s.targetPoint,i))return this._updateSnappingCandidate(s,e,n,i)}}return this._intersectWithOtherCandidates(0,n,t,e,i)}_findOldConstraintInNewCandidates(t,e){return t instanceof y?this._findOldCandidateIndex(e,t.first)>=0&&this._findOldCandidateIndex(e,t.second)>=0?0:-1:this._findOldCandidateIndex(e,t)}_intersectWithOtherCandidates(t,e,n,i,s){const{coordinateHelper:r}=s,a=e[t],o=[];for(let p=0;p<e.length;++p){if(p===t)continue;const i=e[p],s=a.constraint.intersect(i.constraint);if(s)for(const t of s.closestPoints(a.targetPoint))o.push([new y(t,a,i,i.isDraped),this._squaredScreenDistance(n,t,r)])}return o.length>0&&(o.sort(((t,e)=>t[1]-e[1])),o[0][1]<this._squaredPointProximityThreshold(s.pointer))?this._updateSnappingCandidate(o[0][0],i,e,s):this._updateSnappingCandidate(a,i,e,s)}_updateSnappingCandidate(t,e,n,i){this.doneSnapping(),this._currentMainCandidate=t,this._currentSnappedType=e;const s=this._currentMainCandidate.targetPoint,r=[];r.push(...t.hints);for(const a of n){if(t instanceof y){if(a.constraint.equals(t.first.constraint)||a.constraint.equals(t.second.constraint))continue}else if(a.constraint.equals(t.constraint))continue;const e=a.constraint.closestTo(s);this._squaredScreenDistance(e,s,i.coordinateHelper)<this._squaredSatisfiesConstraintThreshold&&(a.targetPoint=s,this._currentOtherActiveCandidates.push(a),r.push(...a.hints))}return{snappedPoint:s,hints:r}}_squaredPointProximityThreshold(t){return"touch"===t?this._squaredTouchProximityThreshold:this._squaredMouseProximityTreshold}_arePointsWithinScreenThreshold(t,e,n){return this._squaredScreenDistance(t,e,n.coordinateHelper)<this._squaredPointProximityThreshold(n.pointer)}_squaredScreenDistance(t,e,n){return v(this._toScreen(t,n),this._toScreen(e,n))}_toScreen(t,e){return C(t,e.spatialReference,h,this.view)}_findOldCandidateIndex(t,e){let n=-1;for(let i=0;i<t.length;++i)if(e.constraint.equals(t[i].constraint)){n=i;break}return n}get test(){return{visualizationsActive:this.hasHandles(w),engines:this._engines}}};var T;t([o({constructOnly:!0})],P.prototype,"view",void 0),t([o()],P.prototype,"options",void 0),t([o({readOnly:!0})],P.prototype,"updating",null),t([o()],P.prototype,"snappingEnginesFactory",void 0),t([o()],P.prototype,"_engines",void 0),t([o()],P.prototype,"_squaredMouseProximityTreshold",null),t([o()],P.prototype,"_squaredTouchProximityThreshold",null),t([o()],P.prototype,"_squaredSatisfiesConstraintThreshold",null),P=t([p("esri.views.interactive.snapping.SnappingManager")],P),function(t){t[t.MAIN=0]="MAIN",t[t.SCENE=1]="SCENE"}(T||(T={}));const w="visualization-handle";function E(t){return null!=t.scenePoint}function M({coordinateHelper:t,elevationInfo:e}){return t.hasZ()?h:e}export{P as SnappingManager};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{valueInUnit as
|
|
5
|
+
import"../../../geometry.js";import{valueInUnit as e}from"../../../core/quantityUtils.js";import{lengthUnitFromSpatialReference as t,verticalLengthUnitFromSpatialReference as n}from"../../../core/unitUtils.js";import{f as r,c as o,g as i}from"../../../chunks/vec32.js";import{create as s}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{projectVectorToVector as c}from"../../../geometry/projection/projectVectorToVector.js";import{VerticalCylinderConstraint as u,VerticalHalfPlaneConstraint as m,HorizontalPlaneConstraint as f,GeodesicConstraint as l}from"../sketch/constraints.js";import{fromPoint as a,fromVec3 as p,toElevationAlignedDehydratedPoint as d}from"../sketch/normalizedPoint.js";import{pointFromDistanceAlongAzimuth as v,getDegreesGeographic as g}from"../../support/angularMeasurementUtils.js";import{computeEuclideanMeasurementSR as j}from"../../support/measurementUtils.js";import R from"../../../geometry/SpatialReference.js";function w(e,t,n,r){let o="geodesic",i=R.WGS84;const s=a(e,t,r);return s[2]=0,c(s,n,s,i)||(o="euclidean",i=n),{mode:o,view:t,elevationInfo:r,spatialReference:e.spatialReference,measurementSR:i,origin:"geodesic"===o?null:s}}function S(n,r,o){if(!r||!n)return;const i=t(o.measurementSR);if(!i)return;const s=G(n,o);if(!s)return;const c=e(r,i);return new u(p(s),c)}function y(e,t,n){if(!t||!e)return;const r=G(e,n);if(!r)return;const o=s(),i=10;return v(o,r,n.measurementSR,i,t,n.mode)?new m(p(r),p(o)):void 0}function U(t,r){if(null==t)return;const o=j(r.spatialReference),i=n(o);return i?new f(e(t,i)):void 0}function h(t,n,r,o,i){if(!t)return U(r,i);const{view:s,elevationInfo:u}=i,m=a(t,s,u);return c(m,t.spatialReference,m,R.WGS84)?new l([m[0],m[1]],null!=n?e(n,"meters"):void 0,null!=r?e(r,"meters"):void 0,g(o)):void 0}function k(e,t){return"geodesic"===t.mode?h(null,null,e,null,t):U(e,t)}function I(e,t,n,r,o){return"geodesic"===o.mode?h(e,t,r,n,o):x([S(e,t,o),y(e,n,o),U(r,o)])}function x(e){let t;for(const n of e)n&&(t=t?.intersect(n)??n);return t}function G(e,t){const{view:n,elevationInfo:o,measurementSR:i,origin:s}=t,u=a(e,n,o);if(c(u,e.spatialReference,u,i))return null!=s&&r(u,u,s),u}function V(e,t,n){const{view:r,measurementSR:s,spatialReference:u,origin:m}=n,f=W;if(null==m?o(f,e):i(f,e,m),c(f,s,f,u))return d(f,r,t,n)}const W=s();export{V as constraintSpaceToPoint,w as getConstraintContext,S as getDistanceConstraint,U as getElevationConstraint,h as getGeodesicConstraint,y as getOrientationConstraint,k as getPointConstraint,I as getPolylineOrPolygonConstraint,x as intersectAll,G as pointToConstraintSpace};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{createAngle as
|
|
5
|
+
import{createAngle as r,convertRotationType as e}from"../../core/quantityUtils.js";import{convertUnit as o}from"../../core/unitUtils.js";import{angle as t}from"../../core/libs/gl-matrix-2/math/vec2.js";import{UNIT_Y as i,create as s}from"../../core/libs/gl-matrix-2/factories/vec2f64.js";import{s as c,h as a,c as n}from"../../chunks/vec32.js";import{create as m}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import p from"../../geometry/SpatialReference.js";import{projectVectorToVector as f}from"../../geometry/projection/projectVectorToVector.js";import{projectVectorToWGS84ComparableLonLat as g}from"../../geometry/projection/projectVectorToWGS84ComparableLonLat.js";import{inverseGeodeticSolver as l,directGeodeticSolver as u,InverseGeodeticSolverResult as j}from"../../geometry/support/geodesicUtils.js";const h=(()=>{const e=s(),o=m(),n=m();return(s,m)=>{if(c(o,s.x,s.y,s.z??0),c(n,m.x,m.y,m.z??0),a(o,n))return null;if(!g(o,s.spatialReference,o)||!g(n,m.spatialReference,n)){e[0]=n[0]-o[0],e[1]=n[1]-o[1];let s=t(i,e);return e[0]<0&&(s=2*Math.PI-s),r(s,"radians","geographic")}const{azimuth:p}=l(v,o,n);return null!=p?r(p,"degrees","geographic"):void 0}})(),d=(()=>{const r=m();return(t,i,s,a,m,g="geodesic")=>{n(r,i);const l=y(m);if("geodesic"===g&&f(r,s,r,p.WGS84))return u(t,r,l,a),t[2]=i[2],!!f(t,p.WGS84,t,s);const j=e(l,"geographic","arithmetic"),h=o(j,"degrees","radians"),d=i[0]+a*Math.cos(h),v=i[1]+a*Math.sin(h),x=i[2];return c(t,d,v,x),!0}})();function y(r){return null!=r?e(o(r.value,r.unit,"degrees"),r.rotationType,"geographic"):void 0}const v=new j;export{y as getDegreesGeographic,h as orientationBetweenPoints,d as pointFromDistanceAlongAzimuth};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
-
See https://js.arcgis.com/4.29/esri/copyright.txt for details.
|
|
4
|
-
*/
|
|
5
|
-
import{makeDehydratedPoint as n}from"../../../layers/graphics/dehydratedPoint.js";import{getConvertedElevationFromVector as t,absoluteHeightElevationInfo as l}from"../../../support/elevationInfoUtils.js";function e(e,o,{z:r,m:s,spatialReference:i,elevationInfo:u}){if(null==r&&null==s){const t=n(e[0],e[1],void 0,i);return null!=s&&(t.m=s,t.hasM=!0),t}if(null==o||"2d"===o.type){const t=n(e[0],e[1],r,i);return null!=s&&(t.m=s,t.hasM=!0),t}const a=t(o,e,i,l,u)??0,f=n(e[0],e[1],a,i);return null!=s&&(f.m=s,f.hasM=!0),f}export{e as snappingPointToSnappingOutput};
|