@arcgis/core 4.33.10 → 4.33.11
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/kernel.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/views/2d/LabelManager.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/RenderState.js +1 -1
- package/views/support/LayerLayerViewInfo.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
var RemoteClient;(()=>{var e={799:(e,t,r)=>{"use strict";r.d(t,{Cj:()=>i,HC:()=>a,Wm:()=>c,_e:()=>f});var n=r(93637);const o=/\{([^}]+)\}/g;function s(e){return e??""}function a(e,t){return t?e.replaceAll(o,"object"==typeof t?(e,r)=>s((0,n.wc)(r,t)):(e,r)=>s(t(r))):e}function i(e,t){return e.replaceAll(/([.$?*|{}()[\]\\/+\-^])/g,(e=>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}let l;function f(e){return l??=new DOMParser,l.parseFromString(e||"","text/html").body.innerText||""}},2131:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},4576:(e,t,r)=>{"use strict";r.d(t,{MJ:()=>s,Mo:()=>b,Ru:()=>y,TF:()=>g,Xy:()=>d,aI:()=>a,iv:()=>i,k4:()=>m,mW:()=>h,qh:()=>f,vW:()=>c});var n=r(21818),o=r(87811);function s(e,t,r,n,o,s,a){if(null==e&&null==n)return!0;t=Math.max(0,t),o=Math.max(0,o),r=Math.max(0,r<0?(e?.length??0)+r:r),s=Math.max(0,s<0?(n?.length??0)+s:s);const i=r-t;if(null==e||null==n||i!==s-o)return!1;if(a){for(let r=0;r<i;r++)if(!a(e[t+r],n[o+r]))return!1}else for(let r=0;r<i;r++)if(e[t+r]!==n[o+r])return!1;return!0}function a(e,t,r){return s(e,0,e?.length??0,t,0,t?.length??0,r)}function i(e,t,r){let n,o;return r?(n=t.filter((t=>!e.some((e=>r(e,t))))),o=e.filter((e=>!t.some((t=>r(t,e)))))):(n=t.filter((t=>!e.includes(t))),o=e.filter((e=>!t.includes(e)))),{added:n,removed:o}}class c{constructor(){this.last=0}}const l=new c;function f(e,t,r,n){n=n||l;const o=Math.max(0,n.last-10);for(let s=o;s<r;++s)if(e[s]===t)return n.last=s,s;const s=Math.min(o,r);for(let r=0;r<s;++r)if(e[r]===t)return n.last=r,r;return-1}function d(e,t,r,o){const s=r??e.length,a=f(e,(0,n.zI)(t),s,o);if(-1!==a)return e[a]=e[s-1],null==r&&e.pop(),t}const u=new Set;function h(e,t,r=e.length,n=t.length,o,s){if(0===n||0===r)return r;u.clear();for(let e=0;e<n;++e)u.add(t[e]);o=o||l;const a=Math.max(0,o.last-10);for(let t=a;t<r;++t)if(u.has(e[t])&&(s?.push(e[t]),u.delete(e[t]),e[t]=e[r-1],--r,--t,0===u.size||0===r))return u.clear(),r;for(let t=0;t<a;++t)if(u.has(e[t])&&(s?.push(e[t]),u.delete(e[t]),e[t]=e[r-1],--r,--t,0===u.size||0===r))return u.clear(),r;return u.clear(),r}function b(e){return e?(p.seed=e,()=>p.getFloat()):Math.random}const p=new o.A;function m(e,t){if(!e)return e;const r=b(t);for(let t=e.length-1;t>0;t--){const n=Math.floor(r()*(t+1)),o=e[t];e[t]=e[n],e[n]=o}return e}function g(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}function y(e,t){return null!=e}},4718:(e,t,r)=>{"use strict";r.d(t,{Nb:()=>c,TU:()=>i,aI:()=>h,gh:()=>b,o8:()=>a,oy:()=>s});var n=r(4576),o=r(34275);function s(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&s(e[r],!0));else for(r in e)e.hasOwnProperty(r)&&void 0===e[r]&&delete e[r];return e}function a(e){if(!e||"object"!=typeof e||"function"==typeof e)return e;const t=u(e);if(null!=t)return t;if(c(e))return e.clone();if(l(e))return e.map(a);if(f(e))throw new Error("Trying to clone an unclonable Accessor instance");const r={};for(const t of Object.getOwnPropertyNames(e))r[t]=a(e[t]);return r}function i(e){if(!e||"object"!=typeof e||"function"==typeof e||"HTMLElement"in globalThis&&e instanceof HTMLElement)return e;const t=u(e);if(null!=t)return t;if(l(e)){let t=!0;const r=e.map((e=>{const r=i(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(f(e))return null;const r=new(0,Object.getPrototypeOf(e).constructor);for(const t of Object.getOwnPropertyNames(e)){const n=e[t],o=i(n);if(null!=n&&null==o)return null;r[t]=o}return r}function c(e){return"function"==typeof e.clone}function l(e){return"function"==typeof e.map&&"function"==typeof e.forEach}function f(e){return"function"==typeof e.notifyChange&&"function"==typeof e.watch}function d(e){if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function u(e){if((0,o.dz)(e)||(0,o.mg)(e)||(0,o.UR)(e)||(0,o.IY)(e)||(0,o.jq)(e)||(0,o._G)(e)||(0,o.XJ)(e)||(0,o.vZ)(e)||(0,o.aI)(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,a(n));return t}if(e instanceof Set){const t=new Set;for(const r of e)t.add(a(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 b(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.aI)(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):!!d(e)&&d(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))}},8341:(e,t,r)=>{"use strict";r.d(t,{Go:()=>a,Jc:()=>l,T:()=>s,VI:()=>u,mF:()=>f,oV:()=>b,u1:()=>d});var n=r(44208),o=r(74887);const s="worker:port-closed";var a,i;(i=a||(a={}))[i.HANDSHAKE=0]="HANDSHAKE",i[i.OPEN=1]="OPEN",i[i.OPENED=2]="OPENED",i[i.RESPONSE=3]="RESPONSE",i[i.INVOKE=4]="INVOKE",i[i.ABORT=5]="ABORT",i[i.CLOSE=6]="CLOSE",i[i.OPEN_PORT=7]="OPEN_PORT",i[i.ON=8]="ON";let c=0;function l(){return c++}function f(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 d(e,t,r,o){if(t.type===a.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==a.INVOKE&&t.type!==a.RESPONSE)return void e.postMessage(t);let s;if(function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(s=h(r.transferList),t.data=r.result):(s=h(o),t.data=r),s){if((0,n.A)("ff"))for(const r of s)if("byteLength"in r&&r.byteLength>267386880){const r="Worker call with large ArrayBuffer would crash Firefox";switch(t.type){case a.INVOKE:throw r;case a.RESPONSE:return void d(e,{type:a.RESPONSE,jobId:t.jobId,error:f(r)})}}e.postMessage(t,s)}else e.postMessage(t)}function u(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function h(e){if(!e?.length)return null;if((0,n.A)("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}async function b(e){try{return await e}catch(e){const t=e?.name===s;if(!(0,o.zf)(e)&&!t)throw e;return}}},12195:(e,t,r)=>{"use strict";function n(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}r.d(t,{W:()=>n})},18357:(e,t,r)=>{"use strict";r.d(t,{$:()=>n,u:()=>o});const n="20250721",o="0043c76e0a42fcaf538ac96e0a1226a4fa3d6d08"},21818:(e,t,r)=>{"use strict";function n(e){}function o(e){return e}r.d(t,{Xb:()=>n,zI:()=>o}),r(44208)},26306:(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 o(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,{M:()=>n,Y:()=>o})},34275:(e,t,r)=>{"use strict";function n(e){return e instanceof ArrayBuffer}function o(e){return"Int8Array"===e?.constructor?.name}function s(e){return"Uint8Array"===e?.constructor?.name}function a(e){return"Uint8ClampedArray"===e?.constructor?.name}function i(e){return"Int16Array"===e?.constructor?.name}function c(e){return"Uint16Array"===e?.constructor?.name}function l(e){return"Int32Array"===e?.constructor?.name}function f(e){return"Uint32Array"===e?.constructor?.name}function d(e){return"Float16Array"===e?.constructor?.name}function u(e){return"Float32Array"===e?.constructor?.name}function h(e){return"Float64Array"===e?.constructor?.name}function b(e){return"buffer"in e}r.d(t,{IY:()=>i,JI:()=>m,LW:()=>d,PI:()=>w,UR:()=>a,XJ:()=>f,_G:()=>l,a3:()=>y,aI:()=>h,dk:()=>g,dz:()=>o,h2:()=>v,iu:()=>b,jq:()=>c,mg:()=>s,mw:()=>n,vZ:()=>u,y9:()=>p}),r(44208);const p=1024;function m(e){return h(e)||u(e)||l(e)||i(e)||o(e)}function g(e){return h(e)||u(e)}function y(e){return h(e)?179769e303:d(e)?65504:u(e)?3402823e32:f(e)?4294967295:c(e)?65535:s(e)||a(e)?255:l(e)?2147483647:i(e)?32767:o(e)?127:256}const w=-32768,v=-2147483648},36563:(e,t,r)=>{"use strict";r.d(t,{Bf:()=>i,hA:()=>o,rE:()=>a,vE:()=>s});const n={remove:()=>{}};function o(e){return e?{remove(){e&&(e(),e=void 0)}}:n}function s(e){return o((()=>function(e){e.forEach((e=>e?.remove()))}(e)))}function a(e){return o((()=>e?.abort()))}function i(e){return{[Symbol.dispose](){e.remove()}}}},37955:(e,t,r)=>{"use strict";r.d(t,{Oo:()=>i,on:()=>a,wb:()=>o});var n=r(36563);function o(e){return function(e){return null!=e&&"object"==typeof e&&"on"in e&&"function"==typeof e.on}(e)||s(e)}function s(e){return null!=e&&"object"==typeof e&&"addEventListener"in e&&"function"==typeof e.addEventListener}function a(e,t,r){if(!o(e))throw new TypeError("target is not a Evented or EventTarget object");return s(e)?function(e,t,r,o){if(Array.isArray(t)){const s=t.slice();for(const t of s)e.addEventListener(t,r,o);return(0,n.hA)((()=>{for(const t of s)e.removeEventListener(t,r,o)}))}return e.addEventListener(t,r,o),(0,n.hA)((()=>e.removeEventListener(t,r,o)))}(e,t,r):e.on(t,r)}function i(e,t,r){if(!o(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const n=a(e,t,(t=>{n.remove(),r.call(e,t)}));return n}},39131:(e,t,r)=>{"use strict";r.d(t,{$E:()=>a,py:()=>s,qG:()=>i});const n=/^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i,o={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 s(e){const t=e?.match(n);if(!t)return null;const[,r,s,a]=t;if(!r)return null;let i=null,c=null,l=null;const{devext:f,qaext:d,www:u}=o;if(s)if(i=r,a)switch(a.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=f);break;case"qa":({customBaseUrl:c,portalHostname:l}=d);break;default:return null}else({customBaseUrl:c,portalHostname:l}=u);else switch(r.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=f);break;case"qaext":({customBaseUrl:c,portalHostname:l}=d);break;case"www":({customBaseUrl:c,portalHostname:l}=u);break;default:return null}return{customBaseUrl:c,isPortal:!1,portalHostname:l,urlKey:i}}function a(e){return/\/(sharing|usrsvcs)\/(appservices|servers)\//i.test(e)}function i(e){const t=/^https?:\/\/(?:cdn|[a-z\d-]+\.maps)\.arcgis\.com/i,r=/^https?:\/\/(?:cdndev|[a-z\d-]+\.mapsdevext)\.arcgis\.com/i,n=/^https?:\/\/(?:cdnqa|[a-z\d-]+\.mapsqa)\.arcgis\.com/i;return t.test(e)?e=e.replace(t,"https://www.arcgis.com"):r.test(e)?e=e.replace(r,"https://devext.arcgis.com"):n.test(e)&&(e=e.replace(n,"https://qaext.arcgis.com")),e}},44208:(e,t,r)=>{"use strict";let n;function o(e){return"function"==typeof n[e]?n[e]=n[e](globalThis):n[e]}r.d(t,{A:()=>o}),n=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},o.add=(e,t,r,s)=>{(s||void 0===n[e])&&(n[e]=t),r&&o(e)},o.cache=n,o.add("big-integer-warning-enabled",!0),o.add("esri-deprecation-warnings",!0),o.add("esri-tests-disable-screenshots",!1),o.add("esri-tests-use-full-window",!1),o.add("esri-tests-post-to-influx",!0),o.add("esri-cim-animations-enable-status","enabled"),o.add("esri-cim-animations-spotlight",!1),o.add("esri-cim-animations-freeze-time",!1),(()=>{o.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(o.add("host-browser",e),o.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),o.add("dom",e),o("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(o.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),o.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),o.add("khtml",r.includes("Konqueror")?n:void 0),o.add("edge",parseFloat(t.split("Edge/")[1])||void 0),o.add("opr",parseFloat(t.split("OPR/")[1])||void 0),o.add("webkit",!o("wp")&&!o("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),o.add("chrome",!o("edge")&&!o("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),o.add("android",!o("wp")&&parseFloat(t.split("Android ")[1])||void 0),o.add("safari",!r.includes("Safari")||o("wp")||o("chrome")||o("android")||o("edge")||o("opr")?void 0:parseFloat(r.split("Version/")[1])),o.add("mac",r.includes("Macintosh")),!o("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("_",""));o.add(e,n),o.add("ios",n)}o("webkit")||(!t.includes("Gecko")||o("wp")||o("khtml")||o("edge")||o.add("mozilla",n),o("mozilla")&&o.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&&o.add("esri-mobile",t),r&&o.add("esri-iPhone",r),o.add("esri-geolocation",!!navigator.geolocation)}o.add("esri-wasm","WebAssembly"in globalThis),o.add("esri-performance-mode-frames-between-render",20),o.add("esri-force-performance-mode",!1),o.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,t=!1===globalThis.crossOriginIsolated;return e&&!t})),o.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])))),o.add("esri-atomics","Atomics"in globalThis),o.add("esri-workers","Worker"in globalThis),o.add("web-feat:cache","caches"in globalThis),o.add("esri-workers-arraybuffer-transfer",!o("safari")||Number(o("safari"))>=12),o.add("workers-pool-size",8),o.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),o.add("featurelayer-simplify-payload-size-factors",[1,1,4]),o.add("featurelayer-fast-triangulation-enabled",!0),o.add("featurelayer-animation-enabled",!0),o.add("featurelayer-snapshot-enabled",!0),o.add("featurelayer-snapshot-initial-tolerance",0),o.add("featurelayer-snapshot-point-min-threshold",8e4),o.add("featurelayer-snapshot-point-max-threshold",4e5),o.add("featurelayer-snapshot-multipoint-min-threshold",2e4),o.add("featurelayer-snapshot-multipoint-max-threshold",1e5),o.add("featurelayer-snapshot-polygon-min-threshold",1e3),o.add("featurelayer-snapshot-polygon-max-threshold",2e3),o.add("featurelayer-snapshot-polyline-min-threshold",1e3),o.add("featurelayer-snapshot-polyline-max-threshold",2e3),o.add("featurelayer-snapshot-max-vertex-count",25e4),o.add("featurelayer-snapshot-non-hosted-exceedslimit-enabled",!1),o.add("featurelayer-snapshot-concurrency",4),o.add("featurelayer-snapshot-coverage",.1),o.add("featurelayer-query-max-depth",4),o.add("featurelayer-query-pausing-enabled",!1),o.add("featurelayer-query-tile-concurrency",4),o.add("featurelayer-query-tile-max-features",6e5),o.add("featurelayer-advanced-symbols",!1),o.add("featurelayer-pbf",!0),o.add("featurelayer-pbf-statistics",!1),o.add("feature-layers-workers",!0),o.add("feature-polyline-generalization-factor",1),o.add("mapview-transitions-duration",200),o.add("mapview-essential-goto-duration",200),o.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),o.add("mapserver-pbf-version-support",10.81),o.add("mapservice-popup-identify-max-tolerance",20),o.add("request-queue-concurrency-hosted",16),o.add("request-queue-concurrency-non-hosted",4),o.add("curve-densification-coarse-segments",128),o.add("curve-densification-max-segments",2e3),o.add("curve-densification-min-segments",3),o.add("curve-densification-pixel-deviation",.5),o.add("view-readyState-waiting-delay",1e3),o.add("gradient-depth-bias",.01),o.add("gradient-depth-epsilon",1e-8),o.add("enable-feature:esri-compress-textures",!0),o("host-webworker")||o("host-browser")&&(o.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),o.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((()=>{o.add("esri-image-decode",!0,!0,!0)})).catch((()=>{o.add("esri-image-decode",!1,!0,!0)}))}return!1})),o.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})))})()},49186:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(4718),o=r(53966),s=r(79907);class a extends s.A{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.o8)(t)}catch(e){return"[object]"}})))}}catch(e){throw o.A.getLogger("esri.core.Error").error(e),e}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new a(e.name,e.message,e.details)}}a.prototype.type="error"},52268:(e,t,r)=>{"use strict";function n(e,t){return new Proxy({},{get:(r,n,o)=>(...r)=>{let o,s;const a=r[r.length-1];return function(e){return"object"==typeof e&&!Array.isArray(e)&&null!=e&&("signal"in e||"transferList"in e||0===Object.keys(e).length)}(a)&&(o=a.signal,s=a.transferList,r.pop()),e.apply(t?`${t}.${n.toString()}`:n.toString(),r,{transferList:s,signal:o})}})}r.d(t,{L:()=>n})},53966:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(92602),o=(r(44208),r(799));const s={info:0,warn:1,error:2,none:3};class a{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,a._loggers.set(this.module,this);const t=this.module.lastIndexOf(".");-1!==t&&(this._parent=a.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(){}static get test(){}static getLogger(e){return e="string"!=typeof e?e.declaredClass:e,a._loggers.get(e)||new a({module:e})}static{this._loggers=new Map}static{this._tickCounter=0}static{this._tickCounterScheduled=!1}static{this._throttlingDisabled=!1}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!a._throttlingDisabled){const n=function(...e){return(0,o.Wm)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}(r),s=this._loggedMessages[e].get(n);if("once"===t&&null!=s||"oncePerTick"===t&&s&&s>=a._tickCounter)return;this._loggedMessages[e].set(n,a._tickCounter),a._scheduleTickCounterIncrement()}for(const t of n.A.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",i)}_matchLevel(e){const t=n.A.log.level||"warn";return s[this._parentWithMember("level",t)]<=s[e]}static _scheduleTickCounterIncrement(){a._tickCounterScheduled||(a._tickCounterScheduled=!0,Promise.resolve().then((()=>{a._tickCounter++,a._tickCounterScheduled=!1})))}}function i(e,t,...r){console[e](`[${t}]`,...r)}},61322:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>v});var n=r(70333),o=r(49186),s=r(37955),a=r(36563),i=r(97768),c=r(74887),l=r(52268);const f={statsWorker:()=>Promise.all([r.e(6285),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8902),r.e(1882),r.e(2603),r.e(4560),r.e(397),r.e(5975),r.e(8991)]).then(r.bind(r,33009)),geometryEngineWorker:()=>Promise.all([r.e(9930),r.e(8887)]).then(r.bind(r,68887)),arcadeGeometryOperatorsWorker:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8902),r.e(1882),r.e(1123)]).then(r.bind(r,1123)),CSVSourceWorker:()=>Promise.all([r.e(6285),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(752)]).then(r.bind(r,40752)),EdgeProcessingWorker:()=>Promise.all([r.e(3030),r.e(9899),r.e(7346)]).then(r.bind(r,71936)),ElevationSamplerWorker:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(3030),r.e(1784)]).then(r.bind(r,38419)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(6285),r.e(1956),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(4522),r.e(1210)]).then(r.bind(r,12543)),GeoJSONSourceWorker:()=>Promise.all([r.e(6285),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(1202)]).then(r.bind(r,71202)),LercWorker:()=>r.e(7087).then(r.bind(r,57087)),MemorySourceWorker:()=>Promise.all([r.e(6285),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(9432)]).then(r.bind(r,29432)),PBFDecoderWorker:()=>Promise.all([r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8902),r.e(1882),r.e(8140)]).then(r.bind(r,39078)),FeaturePipelineWorker:()=>Promise.all([r.e(6285),r.e(5715),r.e(5323),r.e(1956),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(9949),r.e(4522),r.e(9423),r.e(9936),r.e(8487)]).then(r.bind(r,38487)),PointCloudWorker:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(2603),r.e(2944),r.e(7984),r.e(4056)]).then(r.bind(r,34142)),RasterWorker:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(1427),r.e(6049),r.e(7848)]).then(r.bind(r,30139)),SceneLayerSnappingSourceWorker:()=>Promise.all([r.e(5122),r.e(2603),r.e(3030),r.e(7937),r.e(9899),r.e(9468)]).then(r.bind(r,24587)),SceneLayerWorker:()=>Promise.all([r.e(6285),r.e(9953),r.e(1956),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(5975),r.e(7937),r.e(2944),r.e(8288),r.e(4026)]).then(r.bind(r,36233)),WFSSourceWorker:()=>Promise.all([r.e(6285),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(3771)]).then(r.bind(r,33771)),WorkerTileHandler:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8902),r.e(9949),r.e(5897),r.e(9423),r.e(3379)]).then(r.bind(r,11764)),Lyr3DWorker:()=>Promise.all([r.e(2741),r.e(9234)]).then(r.bind(r,79234)),Feature3DPipelineWorker:()=>Promise.all([r.e(6285),r.e(8948),r.e(3910),r.e(5715),r.e(5323),r.e(13),r.e(1214),r.e(1956),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3030),r.e(7937),r.e(2944),r.e(655),r.e(9899),r.e(3100),r.e(9844)]).then(r.bind(r,66357)),TextureCompressionWorker:()=>Promise.all([r.e(2741),r.e(5902)]).then(r.bind(r,95902))};var d=r(8341),u=r(18357);const{CLOSE:h,ABORT:b,INVOKE:p,RESPONSE:m,OPEN_PORT:g,ON:y}=d.Go;class w{constructor(e){this._invoke=e,this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._timer=null,this._process=this._process.bind(this)}push(e){e.type===d.Go.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 v{static{this.kernelInfo={buildDate:u.$,fullVersion:n.ol,revision:u.u}}static{this.clients=new Map}static connect(e,t){const r=new MessageChannel;let n;n="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const o=new v(r.port1,{channel:r,client:n,schedule:t});return"object"==typeof n&&"remoteClient"in n&&(n.remoteClient=o),v.clients.set(o,n),r.port2}static loadWorker(e){const t=f[e];return t?t():Promise.resolve(null)}constructor(e,t,r,n){this._port=e,this._jobQueue=r,this._lowPriorityJobQueue=n,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new w((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:h}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){return this.apply(e,[t],r)}apply(e,t,r){const n=r?.signal,s=r?.transferList;if(!this._port)return Promise.reject(new o.A(d.T,`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const a=(0,d.Jc)();return new Promise(((r,o)=>{if((0,c.G4)(n))return this._processWork(),void o((0,c.NK)());const l=(0,c.u7)(n,(()=>{const e=this._outJobs.get(a);e&&(this._outJobs.delete(a),this._processWork(),(0,i.xt)(e.abortHandle),this._post({type:b,jobId:a}),o((0,c.NK)()))})),f={resolve:r,reject:o,abortHandle:l,debugInfo:e};this._outJobs.set(a,f),this._post({type:p,jobId:a,methodName:e,abortable:null!=n},t,s)}))}createInvokeProxy(e){return(0,l.L)(this,e)}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:d.Go.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),(0,a.hA)((()=>{r.port1.postMessage({type:d.Go.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}))}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:g,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=2)return;const e=this._jobQueue?.pop()??this._lowPriorityJobQueue?.pop();if(!e)return;const{methodName:t,data:r,invokeOptions:n,resolver:o}=e;this.apply(t,r,n).then((e=>o.resolve(e))).catch((e=>o.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{(0,i.xt)(e.abortHandle),e.reject((0,c.NK)(`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,!0))):this._processMessage(e,!1)}_processMessage(e,t){const r=(0,d.VI)(e);if(r)switch(r.type){case m:this._onResponseMessage(r);break;case p:t?this._onInvokeMessage(r):this._invokeQueue.push(r);break;case b:this._onAbortMessage(r);break;case h:this._onCloseMessage();break;case g:this._onOpenPortMessage(r);break;case y:this._onOnMessage(r)}}_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&&v.clients.get(this)===e&&e.destroy(),v.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n=[],abortable:o}=e,s=o?new AbortController:null,a=this._inJobs;let i,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`);n.push({client:this,signal:s?s.signal:null}),i=f.apply(l,n)}catch(e){return void this._post({type:m,jobId:r,error:(0,d.mF)(e)})}(0,c.$X)(i)?(a.set(r,{controller:s,promise:i}),i.then((e=>{a.has(r)&&(a.delete(r),this._post({type:m,jobId:r},e))}),(e=>{a.has(r)&&(a.delete(r),(0,c.zf)(e)||this._post({type:m,jobId:r,error:(0,d.mF)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:m,jobId:r},i)}_onOpenPortMessage(e){new v(e.port,{client:this._client})}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,s.on)(e.port,"message",(e=>{const o=(0,d.VI)(e);o?.type===d.Go.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){const{jobId:t,error:r,data:n}=e,s=this._outJobs;if(!s.has(t))return;const a=s.get(t);s.delete(t),this._processWork(),(0,i.xt)(a.abortHandle),r?a.reject(o.A.fromJSON(JSON.parse(r))):a.resolve(n)}_post(e,t,r){return(0,d.u1)(this._port,e,t,r)}}},70333:(e,t,r)=>{"use strict";r.d(t,{Aq:()=>c,Y3:()=>l,id:()=>a,ol:()=>i,rE:()=>s});var n=r(44208),o=r(84952);Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const s="4.33";let a,i=s;function c(e){a=e}function l(e){const t=a?.findCredential(e);return t?.token?(0,o.rs)(e,"token",t.token):e}i="4.33.10",(0,n.A)("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),(0,n.A)("host-webworker")},74887:(e,t,r)=>{"use strict";r.d(t,{Pl:()=>k,Ol:()=>O,nA:()=>_,NK:()=>l,Tw:()=>x,sg:()=>S,Lx:()=>v,QZ:()=>w,zf:()=>y,G4:()=>u,$X:()=>P,u7:()=>p,NY:()=>m,hn:()=>j,Mq:()=>d,QP:()=>h,Te:()=>f,jH:()=>b,NO:()=>M,z7:()=>A,qr:()=>g});var n=r(36563);const o=(s=globalThis,{setTimeout:(e,t)=>{const r=s.setTimeout(e,t);return(0,n.hA)((()=>s.clearTimeout(r)))}});var s,a=r(49186),i=r(37955),c=(r(53966),r(97768));function l(e="Aborted"){return new a.A("AbortError",e)}function f(e,t="Aborted"){if(u(e))throw l(t)}function d(e){return e instanceof AbortSignal?e:e?.signal??void 0}function u(e){const t=d(e);return null!=t&&t.aborted}function h(e){if(y(e))throw e}function b(e){if(!y(e))throw e}function p(e,t){const r=d(e);if(null!=r){if(!r.aborted)return(0,i.Oo)(r,"abort",(()=>t()));t()}}function m(e,t){const r=d(e);if(null!=r)return f(r),(0,i.Oo)(r,"abort",(()=>t(l())))}function g(e,t){return null==d(t)?e:new Promise(((r,n)=>{let o=p(t,(()=>n(l())));const s=()=>{o=(0,c.xt)(o)};e.then(s,s),e.then(r,n)}))}function y(e){return"AbortError"===e?.name}async function w(e){try{return await e}catch(e){if(!y(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),o={};return t.map(((e,t)=>o[e]=n[t])),o}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 _(e){return(await Promise.allSettled(e)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}async function O(e){return(await Promise.allSettled(e)).filter((e=>"rejected"===e.status)).map((e=>e.reason))}function k(e,t=void 0,r){const n=new AbortController;return p(r,(()=>n.abort())),new Promise(((r,o)=>{let s=setTimeout((()=>{s=0,r(t)}),e);p(n,(()=>{s&&(clearTimeout(s),o(l()))}))}))}function P(e){return e&&"function"==typeof e.then}function A(e){return P(e)?e:Promise.resolve(e)}function S(e,t=-1){let r,n,o,s,a=null;const i=(...c)=>{if(r){n=c,s&&s.reject(l()),s=x();const e=s.promise;if(a){const e=a;a=null,e.abort()}return e}if(o=s||x(),s=null,t>0){const n=new AbortController;r=A(e(...c,n.signal));const o=r;k(t).then((()=>{r===o&&(s?n.abort():a=n)}))}else r=1,r=A(e(...c));const f=()=>{const e=n;n=o=r=a=null,null!=e&&i(...e)},d=r,u=o;return d.then(f,f),d.then(u.resolve,u.reject),u.promise};return i}function x(){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)=>o.setTimeout((()=>n.reject(t)),e),n.promise=r,n}function j(e,t){t.then(e.resolve,e.reject)}async function M(e){await Promise.resolve(),f(e)}},79907:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(93637);class o{constructor(e,t,r=void 0){this.name=e,this.details=r,this.message=(t&&function(e,t){return e.replaceAll(/\$\{([^\s:}]*)(?::([^\s:}]+))?\}/g,((e,r)=>""===r?"$":((0,n.wc)(r,t)??"").toString()))}(t,r))??""}toString(){return"["+this.name+"]: "+this.message}}},84952:(e,t,r)=>{"use strict";r.d(t,{$1:()=>Z,$z:()=>K,An:()=>x,BQ:()=>se,DB:()=>X,FL:()=>F,FX:()=>J,Hg:()=>re,Il:()=>he,Ln:()=>ge,N9:()=>oe,S8:()=>D,T1:()=>pe,UC:()=>be,V1:()=>H,Xq:()=>A,Zo:()=>Oe,_0:()=>Pe,a6:()=>_e,b8:()=>L,e7:()=>ue,fj:()=>G,gd:()=>S,hf:()=>me,lJ:()=>Y,lM:()=>ce,m3:()=>ie,nM:()=>de,oP:()=>V,oy:()=>$,r$:()=>te,rs:()=>ve,s0:()=>_,s2:()=>B,sC:()=>q,s_:()=>C,tk:()=>ne,ut:()=>W,w8:()=>Q,x0:()=>M,xw:()=>ke,yM:()=>T,zf:()=>j,zi:()=>we,zs:()=>R});var n=r(92602),o=r(4576),s=r(49186),a=r(53966),i=r(12195),c=r(39131),l=r(26306);const f=()=>a.A.getLogger("esri.core.urlUtils"),d=n.A.request,u="esri/config: esriConfig.request.proxyUrl is not set.",h=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,b=/^\s*http:/i,p=/^\s*https:/i,m=/^\s*file:/i,g=/:\d+$/,y=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,w=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),v=new RegExp("^((([^[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^[:]*))(:([0-9]+))?$");class _{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(w);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 k=new _(n.A.applicationUrl);let P=function(){const e=k.path,t=e.slice(0,e.lastIndexOf("/")+1);return`${k.scheme}://${k.host}${null!=k.port?`:${k.port}`:""}${t}`}();const A=()=>k,S=()=>P;function x(e){if(!e)return null;const t={path:null,query:null},r=new _(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.slice(0,n),t.query=j(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.slice(0,t.path.length-(r.fragment.length+1)))),t}function j(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,o;t<0?(n=decodeURIComponent(e),o=""):(n=decodeURIComponent(e.slice(0,t)),o=decodeURIComponent(e.slice(t+1)));let s=r[n];"string"==typeof s&&(s=r[n]=[s]),Array.isArray(s)?s.push(o):r[n]=o}return r}function M(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 o=encodeURIComponent(r)+"=",s=t?.[r];return s?o+encodeURIComponent(s(n)):Array.isArray(n)?n.map((e=>(0,i.W)(e)?o+encodeURIComponent(JSON.stringify(e)):o+encodeURIComponent(e))).join("&"):(0,i.W)(n)?o+encodeURIComponent(JSON.stringify(n)):o+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function C(e=!1){let t,r=d.proxyUrl;if("string"==typeof e){t=ie(e);const n=R(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw f().warn(u),new s.A("urlUtils:proxy-not-set",u);return t&&le()&&(r=ce(r)),x(r)}function T(e,t=!1){const r=R(e);let n,o;if(r){const e=I(r.proxyUrl);n=e.path,o=e.query?j(e.query):null}else if(t){const t=C(e);n=t.path,o=t.query}if(n){const t=x(e);e=n+"?"+t.path;const r=M({...o,...t.query});r&&(e=`${e}?${r}`)}return e}const E={path:"",query:""};function I(e){const t=e.indexOf("?");return-1!==t?(E.path=e.slice(0,t),E.query=e.slice(t+1)):(E.path=e,E.query=null),E}function N(e){return(e=fe(e=he(e=I(e).path),!0)).toLowerCase()}function $(e){const t={proxyUrl:e.proxyUrl,urlPrefix:N(e.urlPrefix)},r=d.proxyRules,n=t.urlPrefix;let o=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;o=e;break}0===t.indexOf(n)&&(o=e+1)}return r.splice(o,0,t),o}function R(e){const t=d.proxyRules,r=N(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function L(e,t){if(!e||!t)return!1;e=U(e),t=U(t);const r=(0,c.py)(e),n=(0,c.py)(t);return null!=r&&null!=n?r.portalHostname===n.portalHostname:null==r&&null==n&&J(e,t,!0)}function W(e,t){return e=U(e),t=U(t),fe(e)===fe(t)}function U(e){const t=(e=D(e)).indexOf("/sharing");return t>0?e.slice(0,t):e.replace(/\/+$/,"")}function q(e,t=d.interceptors){const r=t=>t instanceof RegExp?t.test(e):"string"==typeof t?e.startsWith(t):null==t;if(t)for(const e of t)if(Array.isArray(e.urls)){if(e.urls.some(r))return e}else if(r(e.urls))return e;return null}function J(e,t,r=!1){if(!e||!t)return!1;const n=ye(e),o=ye(t);return!(!r&&n.scheme!==o.scheme)&&null!=n.host&&null!=o.host&&n.host.toLowerCase()===o.host.toLowerCase()&&n.port===o.port}function F(e){if("string"==typeof e){if(!V(e))return!0;e=ye(e)}if(J(e,k))return!0;const t=d.trustedServers||[];for(let r=0;r<t.length;r++){const n=z(t[r]);for(let t=0;t<n.length;t++)if(J(e,n[t]))return!0}return!1}function z(e){return O[e]||(ae(e)||se(e)?O[e]=[new _(B(e))]:O[e]=[new _(`http://${e}`),new _(`https://${e}`)]),O[e]}function B(e,t=P,r){return se(e)?r?.preserveProtocolRelative?e:"http"===k.scheme&&k.authority===K(e).slice(2)?`http:${e}`:`https:${e}`:ae(e)?e:G("/"===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 H(e,t=P,r){if(null==e||!V(e))return e;const n=D(e),o=n.toLowerCase(),s=D(t).toLowerCase().replace(/\/+$/,""),a=r?D(r).toLowerCase().replace(/\/+$/,""):null;if(a&&0!==s.indexOf(a))return e;const i=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=i(o,"/",o.indexOf("//")+2),l=-1;for(;o.slice(0,c+1)===s.slice(0,c)+"/"&&(l=c+1,c!==o.length);)c=i(o,"/",c+1);if(-1===l)return e;if(a&&l<a.length)return e;e=n.slice(l);const f=s.slice(l-1).replaceAll(/[^/]+/g,"").length;if(f>0)for(let t=0;t<f;t++)e=`../${e}`;else e=`./${e}`;return e}function D(e){return function(e){const t=d.httpsDomains;if(!function(e){return null!=e&&b.test(e)||"http"===k.scheme&&se(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),g.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===k.scheme&&n===k.authority&&!y.test(e)||(le()&&n===k.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||le()&&!R(e))&&(e=ce(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=B(e=e.trim()))))}function G(...e){const t=e.filter(o.Ru);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&&m.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 K(e,t=!1){if(null==e||Q(e)||X(e))return null;let r=e.indexOf("://");if(-1===r&&se(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 se(e)||ae(e)}function Q(e){return null!=e&&"blob:"===e.slice(0,5)}function X(e){return null!=e&&"data:"===e.slice(0,5)}function Y(e){const t=te(e);return t?.isBase64?(0,l.M)(t.data):null}function Z(e){return(0,l.Y)(e).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}const ee=/^data:(.*?)(;base64)?,(.*)$/;function te(e){const t=e.match(ee);if(!t)return null;const[,r,n,o]=t;return{mediaType:r,isBase64:!!n,data:o}}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 oe(e){const t=Y(e);if(!t)return null;const r=te(e);return new Blob([t],{type:r.mediaType})}function se(e){return null!=e&&"/"===e[0]&&"/"===e[1]}function ae(e){return null!=e&&h.test(e)}function ie(e){return null!=e&&p.test(e)||"https"===k.scheme&&se(e)}function ce(e){return se(e)?`https:${e}`:e.replace(b,"https:")}function le(){return"https"===k.scheme}function fe(e,t=!1){return se(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 ue(e,t){if(!e)return"";const r=x(e).path.replace(/\/+$/,""),n=r.slice(r.lastIndexOf("/")+1);if(!t?.length)return n;const o=new RegExp(`\\.(${t.join("|")})$`,"i");return n.replace(o,"")}function he(e){return e.endsWith("/")?e:`${e}/`}function be(e){return e.replace(/\/+$/,"")}function pe(e,t,r){if(!(t&&r&&e&&V(e)))return e;const n=e.indexOf("//"),o=e.indexOf("/",n+2),s=e.indexOf(":",n+2),a=Math.min(o<0?e.length:o,s<0?e.length:s);return e.slice(n+2,a).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(a)}`}function me(e,t){const r=new URL(e);return r.host=t,r.port&&!g.test(t)&&(r.port=""),r.toString()}function ge(e){return new URL(e).host}function ye(e){return"string"==typeof e?new _(B(e)):(e.scheme||(e.scheme=k.scheme),e)}function we(e,t){const r=x(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 ve(e,t,r){const n=x(e),o=n.query||{};return o[t]=String(r),`${n.path}?${M(o)}`}function _e(e,t){if(!t)return e;const r=x(e),n=r.query||{};for(const[e,r]of Object.entries(t))null!=r&&(n[e]=r);const o=M(n);return o?`${r.path}?${o}`:r.path}function Oe(e){if(null==e)return null;const t=e.match(Ae);return t?t[2]:null}function ke(e){if(null==e)return null;const t=e.match(Ae);return t?{path:t[1],extension:t[2]}:{path:e,extension:null}}async function Pe(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 Ae=/([^.]*)\.([^/]*)$/},87811:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class n{static{this._m=2147483647}static{this._a=48271}static{this._c=0}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}}},92602:(e,t,r)=>{"use strict";r.d(t,{A:()=>o}),r(44208);var n=r(93637);const o={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&((0,n.$N)(o,globalThis.esriConfig,!0),delete o.has),!o.assetsPath){{const e="4.33";o.assetsPath=`https://js.arcgis.com/${e}/@arcgis/core/assets`}o.defaultAssetsPath=o.assetsPath}},93637:(e,t,r)=>{"use strict";r.d(t,{$N:()=>o,i8:()=>i,sM:()=>a,wc:()=>s});var n=r(4718);function o(e,t,r=!1){return l(e,t,r)}function s(e,t){if(null!=t)return t[e]||c(e.split("."),!1,t)}function a(e,t,r){const n=e.split("."),o=n.pop(),s=c(n,!0,r);s&&o&&(s[o]=t)}function i(e,t){if(null==e&&null==t)return!1;if(null==e)return!0;if(null==t)return!0;if("object"==typeof e){if(Array.isArray(e)){const r=t;if(e.length!==r.length)return!0;for(let t=0;t<e.length;t++)if(i(e[t],r[t]))return!0;return!1}if(Object.keys(e).length!==Object.keys(t).length)return!0;for(const r in e)if(i(e[r],t[r]))return!0;return!1}return e!==t}function c(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 l(e,t,r){return t?Object.keys(t).reduce(((e,o)=>{if("__proto__"===o)return e;let s=e[o],a=t[o];return s===a?e:void 0===s?(e[o]=(0,n.o8)(a),e):(Array.isArray(a)||Array.isArray(e)?(s=s?Array.isArray(s)?e[o]=s.slice():e[o]=[s]:e[o]=[],a&&(Array.isArray(a)||(a=[a]),r?a.forEach((e=>{s.includes(e)||s.push(e)})):e[o]=a.slice())):a&&"object"==typeof a?e[o]=l(s,a,r):e.hasOwnProperty(o)&&!t.hasOwnProperty(o)||(e[o]=a),e)}),e||{}):e}},97768:(e,t,r)=>{"use strict";function n(e,t){if(null==e)throw new Error(t??"value is None")}function o(e){return e?.destroy(),null}function s(e){return e?.dispose(),null}function a(e){return e?.remove(),null}function i(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}function f(e,t){let r;return e.some(((e,n)=>(r=t(e,n),null!=r))),r??void 0}r.d(t,{CM:()=>l,DC:()=>i,Gz:()=>c,Lw:()=>n,Pb:()=>f,WD:()=>s,pR:()=>o,xt:()=>a})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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/"+{13:"0e104eeaea4172d54daf",36:"e717832326d1b1f817d3",132:"e8972732b058fd6fbfac",146:"02e29e12b0b1a628c17f",177:"7df147da40474b028705",191:"09b77f82c22530b44daa",217:"df84863cb0600f658541",224:"0229c573fa8a2fff2d8b",257:"7c6b9e2c1dada4668c01",309:"1f1dbf08fa71b7903d4b",349:"971c956de1f8dd230d0f",362:"8b1842f0f94c18652d4e",364:"fb9e9b9e567e32f37042",369:"3871d2ecef5bcf6ac14f",382:"ad19e3eaa339b0d6cb44",390:"ce6eebe2f7871e1d1058",397:"9cb242dfc3765b590f51",427:"fb22b2e4988ecf4d6376",547:"1cf0fae3f2e848a2a738",563:"a5a27e2e9b91fbe12da9",573:"dc14507cfc052faa5890",591:"2ce5cc797ae0d66c8678",603:"58b2dc0ec977af7413b0",624:"2ecc1057d53e0b4a60b7",647:"ca3851ca2621879eb887",655:"6a86fee4e945e61d9639",681:"1dc1084eb34748a35d35",692:"f20ba89ac21f05b7020c",708:"6409160d226a0bea5ac6",752:"3e85e63148b5e93d3074",788:"5cbaf4ff688aafa6643e",807:"48cedef1c926d11164b7",812:"fe3832107278244dc04d",820:"1f19bd3ef795c6765384",847:"cb16ba9512ae0a09c55d",980:"1c6fcccff600ab1c4949",1088:"fdfb5d601d318d6a49f9",1123:"9c8e66da6cf32ace0914",1202:"f718cb847c4eb1e43ad9",1204:"5e53c7e29bb6d43d08be",1210:"b9f93c233c55bb528412",1214:"050ef0c0ff5bed3cc462",1253:"fa99abc572b382e7e0c7",1273:"6c102094098e3c11ad3b",1277:"02b5e85f14d2c6d6c0da",1384:"f6a1fec33b0d81acce61",1389:"c6cd8784a3e222eb2d4a",1414:"95a4da3150ad8e8e36d8",1419:"77ad62ed93f713a909f0",1427:"0155e6806621f3588ffa",1598:"29e2b105f55adafc3a6d",1728:"f2aa8090827086c62dde",1737:"6194636638b0439fccd8",1784:"750dde2a118f685c01d5",1867:"30d7d2c7d6e9e5e2ecb9",1878:"65fd971d0574d69cbc26",1882:"f8fb0c7eaf73709bd855",1956:"a87ee5c5925a2546480e",2029:"ede9738ac20e7dd5ce63",2042:"80777a9db53bee2ad8a8",2083:"658e82c9b722852e02d0",2144:"a1a0bfc290920897e794",2158:"651594a61736485295ff",2165:"54f981fe0f8851767be9",2186:"36fe6b8228e622407ec2",2189:"7b9d14cc4a466ef18d71",2282:"eb7a778d133780afc0cc",2288:"3f59a73f9a758095976f",2343:"9eb9c8db2510154c09cc",2372:"3ce5d7ad16e41eea05be",2390:"e3638f9d4c0fda238f4b",2503:"49085a0b3a74e158f32f",2558:"bc8a49e0172fde44f274",2593:"cf25f487fe4eb1579aee",2603:"bac5e1d50b69f0d94694",2657:"2841888fdbc2770e90c8",2731:"6b0baecbd35d26393dcf",2741:"5bc8c279842643665507",2763:"09907c9ff597df9bc954",2765:"e372bbc2e89b951bf7e5",2893:"f3b51aa0a1a8fc3b231c",2944:"e9aa1d9ded8a52a40c57",2958:"c4dba6cf17aece714d22",2980:"4f8ebd9f0758b801835c",3029:"94dd76f01c89ab193784",3030:"fc8bbc571216edd9ef5a",3054:"2fd30428309f4c517d4c",3091:"2b07bdb6c4c4a5b2f968",3100:"a3e43fa3cee99f28b272",3103:"52bd7e64e350df5e6623",3116:"a2715eddd71f47b1f951",3169:"d9d9180689bcf71af00f",3186:"d89375aea1e6af134a58",3202:"764e505f2bafdf5afaf9",3236:"ca62e7ec102a1bb879dc",3299:"d103e184ddf9beec779d",3331:"b1549ebde6646ae0907d",3359:"5f42b7315d8330401410",3367:"87986f31061c426e761b",3379:"71e1a8bd432947c66357",3390:"53ff5b7691ba1444358e",3447:"daffceecdc71e74d2629",3492:"36f0046ff6b46adce7b7",3513:"46447beada40cb5a25f4",3543:"b8c8acf75e09014d8346",3561:"64640051f1fd787a3362",3562:"d568070513f2b98fd9b5",3600:"a507192771e5f4f82973",3610:"4c3bd6cc0badb78c7112",3633:"0dcab04dd1feeb5521cf",3637:"54da9c7fd1088a8076ce",3642:"330f1996cfc3e9c952cc",3651:"c483f80642ea881cb8a7",3661:"3ca6f893fd58f5b17af5",3666:"6c37a5bd00d255d1337a",3669:"2e1ceff3f88a6c78dfa2",3733:"7ae88c141a5d85e5bb88",3747:"ec922f876e1465d36045",3771:"b36ee5b1b48088872ad4",3813:"42da01bd3f401a017c0f",3910:"7e1906d35a764f7f10b0",3937:"eec034d88db320880133",4026:"7aef81778155be373d3e",4056:"bfc797a09da3c613226a",4097:"da7c14ae1a25fc7163ce",4111:"634a418310e44e2436e0",4123:"dd9be173cddc16a354ed",4167:"9049c81445cc044286f1",4304:"f5741d09fd4e1809f580",4383:"56569d0c2cf5c5167651",4399:"c041f4a1d18d42e27ad7",4496:"c9604f8df909ec4fad46",4522:"83db8bd42f94f97c7cf1",4560:"5bfcb3d87380e7f85b08",4575:"2c0c97acb7714b1e0e01",4594:"6ce4327f63e6eb92bba8",4654:"0512ee54f2259a437fdb",4697:"5348541e0331e1b2b86b",4753:"83c410be12586ce4fb94",4784:"d053c23fce77fb77cc00",4796:"aeac889d95f34b6d3b72",4813:"17fcdaeb42e932712096",4815:"4b21c4815533a43835c3",4929:"be1f3cac908c28c64401",4990:"c3dfa739d109aa9c99a5",4996:"0832bd5195b5791dd803",5011:"99de37e4626f726a4a38",5122:"0f8f217aaf42eb1b9699",5137:"774cbf14c74504458a6f",5141:"622c0552ca3cd674d46c",5165:"bf6e6a5d9e0c04133c05",5180:"6648e68f00d28e12bcf9",5257:"554a8bf4626336e68798",5323:"c96fed4889712f5a9135",5356:"ac03f1b2402598b394d5",5367:"e2fb4bebce3aee406efa",5404:"5e7f35bf1aab93cb1c52",5552:"649caffe8f5dbaad0d7b",5605:"9826a1c66885dbbdc130",5613:"77342fa644507f57c41a",5655:"604f8094992bb642378b",5666:"bf4d9cdcbe6bb8bc9d39",5715:"7317346ed8d7c5bb859d",5740:"822e554d7c985c0181b9",5751:"0dbb350ce651bc236ec8",5804:"46f6a190e3c943b44095",5874:"638ecabe3e22978af5a3",5897:"faa892ad4cc8a90b6c79",5902:"b893012bff5dc55e542d",5913:"e2d012078d51dc2b2802",5924:"67c5f1112a7c65e9eeff",5943:"306e262f148b3057b11b",5962:"68e0f3a9b65092adb82c",5975:"383395add870ab9bba75",6049:"ed75e0962358523f4439",6052:"57211c35a9646f088d86",6061:"63b8193ad90b2ebe6884",6112:"8008f5479f4d16964088",6131:"7a55e9cf27089ee1ef1f",6160:"8eadf90d938753691044",6187:"3fb25912b274f264c84e",6222:"6a225393b63e1e8c7933",6285:"5a73d8b7b01758ed4fdd",6339:"a9f16323666042a9d47f",6343:"f98689562017583f73ee",6424:"9f0f1472f36b42c507d1",6468:"db13c93b4d708a2481db",6528:"6f6bf67a7960b7e9b03e",6650:"974c6b0e3a1f1dd523fa",6737:"9a87c367ee5ba44f3081",6791:"88b7265270feede80e1d",6830:"9258f07c3041741b01cd",6903:"af2f2df3c43b49ad1a70",7060:"7d49219adc68b91abf00",7074:"94c5a2cb1d0559274345",7087:"d9a23fb0c6c936d5e8ec",7136:"729407e372c8353cf871",7243:"5cc5f32b474ee723e192",7301:"3697ec74522cc5059098",7330:"4193c52799aa3b6337c9",7346:"342f61e784c9364a493b",7360:"0e8181e7fc1386d08ffc",7367:"178260e8a263f2f1584f",7444:"db192728fa0ee08a776a",7546:"fdf49f8152eba2bb7f6d",7559:"451555af283b32a10fef",7561:"fd259dd8e3e54fe5ede8",7656:"6eabced7123a65d47292",7677:"c45a314ace9725aa250e",7817:"59f701c30bcd9088b291",7836:"73ddb356121add556994",7848:"17c623db3d9a06a9b711",7883:"a1e1fb43463977e4014c",7937:"d33a5d79f2163ad62b1d",7982:"089821d58267c16ccf0a",7984:"fcdf714339060731fe1c",8010:"c2f925167a43f63289a7",8018:"258180345d6b363c02f7",8039:"10eb89a93c8e31f03c95",8096:"3d0e09ef78dc2fd6957a",8098:"29fb64826bb1351aca8d",8125:"9f18392933c06f1d63b6",8140:"f2692f25ef693cf12ce0",8219:"d89dfa6158189b2f71a3",8241:"a22e5b2874647fe0d31a",8256:"1ff4af55a32a5049e6e2",8288:"4a805e7a57d25c4b595f",8368:"170c346cf5a18adb25b0",8373:"c1822b03302c3db71b1f",8392:"26d3c9c6215c4076f943",8407:"52410198c4b2eccfeadd",8411:"5f6719286a6c9a3ac74b",8446:"b1d0d2407ff2fcb4b67a",8487:"11587332ed09d46fa368",8506:"f08b5fce5f9a5afdcc97",8542:"47cbed70c7eeb72e0203",8551:"93c145a738b3f6cf4ee4",8628:"bbbd58b02a3ee8fe595e",8692:"3adcf78ed1e7cd82666d",8714:"02853ab923245459b32e",8812:"e012b319cc99429fc55e",8887:"213e82a7e3fa5b253ec1",8902:"025891f445869e33252b",8916:"710ee12aa955e3eea371",8947:"26924d2f03b8a1b7a9b2",8948:"e4df3274df946f002ce9",8988:"d942cb9cf82b1c056979",8991:"766e08d0c56b2b31b63b",9e3:"8a87c181b85d0b86b9bb",9013:"609c7c9b7046b3a7acde",9041:"8365707e408d19988356",9062:"7140540b0681fd837996",9141:"7fa46d1e9fcd8c0c6302",9159:"84d301e1b6b0d0b48f51",9172:"dd2b316baae02bbdddac",9186:"0dba3817ccf602973580",9187:"f2b63597ae956db74eb3",9202:"7678177555570682154e",9234:"070839cb71c8e764b8d7",9239:"da2c223375c46d0db4b5",9263:"73e179b04bb931ca9b86",9265:"7000d9158da929a16071",9321:"c938f5d269ba202d10ef",9331:"467cacb501b0417bb4df",9384:"88cbaa91c495d86f4bb0",9402:"aad9a693813b47a51530",9405:"5859e425c9bca96b6c80",9423:"30e0a45a3936a282d4ca",9432:"6f9b8df290b0ce09beae",9468:"1415d4e2f5f3193be004",9506:"3fc44d8cef392b4b9c7a",9547:"cb841e514d4ead8c54a9",9588:"a69e885336eb5d2729fd",9695:"aeabe203da7bcdd580cf",9700:"db298b292a4e43cba72d",9838:"3521a53f826f0ce6ac33",9844:"d7968726733eee609ec6",9867:"5e80566c25c450079827",9875:"667536412dae095055e1",9899:"4c10c42370c1ff7d6479",9926:"a1a42b0d7cd47b647f8a",9930:"f229044615af3142bcb0",9933:"b4273381dc069f4e1fa2",9936:"ba940ebdae84b174a7be",9940:"79c4f10da8360ee60cd2",9945:"65d0ead6a3e4fc83a0ca",9949:"e6a97f9b6f7be8076f85",9953:"2ddb776434a93b8d9e63"}[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&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var o=n.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=n[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={76: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[o,s,a]=t;for(var i in s)r.o(s,i)&&(r.m[i]=s[i]);for(a&&a(r);o.length;)e[o.pop()]=1;n(t)}})(),r(2131);var n=r(61322);RemoteClient=n})();
|
|
1
|
+
var RemoteClient;(()=>{var e={799:(e,t,r)=>{"use strict";r.d(t,{Cj:()=>i,HC:()=>a,Wm:()=>c,_e:()=>f});var n=r(93637);const o=/\{([^}]+)\}/g;function s(e){return e??""}function a(e,t){return t?e.replaceAll(o,"object"==typeof t?(e,r)=>s((0,n.wc)(r,t)):(e,r)=>s(t(r))):e}function i(e,t){return e.replaceAll(/([.$?*|{}()[\]\\/+\-^])/g,(e=>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}let l;function f(e){return l??=new DOMParser,l.parseFromString(e||"","text/html").body.innerText||""}},2131:(e,t,r)=>{r.p=self.esriConfig.assetsPath+"/esri/core/workers/"},4576:(e,t,r)=>{"use strict";r.d(t,{MJ:()=>s,Mo:()=>h,Ru:()=>y,TF:()=>g,Xy:()=>d,aI:()=>a,iv:()=>i,k4:()=>m,mW:()=>b,qh:()=>f,vW:()=>c});var n=r(21818),o=r(87811);function s(e,t,r,n,o,s,a){if(null==e&&null==n)return!0;t=Math.max(0,t),o=Math.max(0,o),r=Math.max(0,r<0?(e?.length??0)+r:r),s=Math.max(0,s<0?(n?.length??0)+s:s);const i=r-t;if(null==e||null==n||i!==s-o)return!1;if(a){for(let r=0;r<i;r++)if(!a(e[t+r],n[o+r]))return!1}else for(let r=0;r<i;r++)if(e[t+r]!==n[o+r])return!1;return!0}function a(e,t,r){return s(e,0,e?.length??0,t,0,t?.length??0,r)}function i(e,t,r){let n,o;return r?(n=t.filter((t=>!e.some((e=>r(e,t))))),o=e.filter((e=>!t.some((t=>r(t,e)))))):(n=t.filter((t=>!e.includes(t))),o=e.filter((e=>!t.includes(e)))),{added:n,removed:o}}class c{constructor(){this.last=0}}const l=new c;function f(e,t,r,n){n=n||l;const o=Math.max(0,n.last-10);for(let s=o;s<r;++s)if(e[s]===t)return n.last=s,s;const s=Math.min(o,r);for(let r=0;r<s;++r)if(e[r]===t)return n.last=r,r;return-1}function d(e,t,r,o){const s=r??e.length,a=f(e,(0,n.zI)(t),s,o);if(-1!==a)return e[a]=e[s-1],null==r&&e.pop(),t}const u=new Set;function b(e,t,r=e.length,n=t.length,o,s){if(0===n||0===r)return r;u.clear();for(let e=0;e<n;++e)u.add(t[e]);o=o||l;const a=Math.max(0,o.last-10);for(let t=a;t<r;++t)if(u.has(e[t])&&(s?.push(e[t]),u.delete(e[t]),e[t]=e[r-1],--r,--t,0===u.size||0===r))return u.clear(),r;for(let t=0;t<a;++t)if(u.has(e[t])&&(s?.push(e[t]),u.delete(e[t]),e[t]=e[r-1],--r,--t,0===u.size||0===r))return u.clear(),r;return u.clear(),r}function h(e){return e?(p.seed=e,()=>p.getFloat()):Math.random}const p=new o.A;function m(e,t){if(!e)return e;const r=h(t);for(let t=e.length-1;t>0;t--){const n=Math.floor(r()*(t+1)),o=e[t];e[t]=e[n],e[n]=o}return e}function g(e,t){const r=e.indexOf(t);return-1!==r?(e.splice(r,1),t):null}function y(e,t){return null!=e}},4718:(e,t,r)=>{"use strict";r.d(t,{Nb:()=>c,TU:()=>i,aI:()=>b,gh:()=>h,o8:()=>a,oy:()=>s});var n=r(4576),o=r(34275);function s(e,t){let r;if(t)for(r in e)e.hasOwnProperty(r)&&(void 0===e[r]?delete e[r]:e[r]instanceof Object&&s(e[r],!0));else for(r in e)e.hasOwnProperty(r)&&void 0===e[r]&&delete e[r];return e}function a(e){if(!e||"object"!=typeof e||"function"==typeof e)return e;const t=u(e);if(null!=t)return t;if(c(e))return e.clone();if(l(e))return e.map(a);if(f(e))throw new Error("Trying to clone an unclonable Accessor instance");const r={};for(const t of Object.getOwnPropertyNames(e))r[t]=a(e[t]);return r}function i(e){if(!e||"object"!=typeof e||"function"==typeof e||"HTMLElement"in globalThis&&e instanceof HTMLElement)return e;const t=u(e);if(null!=t)return t;if(l(e)){let t=!0;const r=e.map((e=>{const r=i(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(f(e))return null;const r=new(0,Object.getPrototypeOf(e).constructor);for(const t of Object.getOwnPropertyNames(e)){const n=e[t],o=i(n);if(null!=n&&null==o)return null;r[t]=o}return r}function c(e){return"function"==typeof e.clone}function l(e){return"function"==typeof e.map&&"function"==typeof e.forEach}function f(e){return"function"==typeof e.notifyChange&&"function"==typeof e.watch}function d(e){if("[object Object]"!==Object.prototype.toString.call(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function u(e){if((0,o.dz)(e)||(0,o.mg)(e)||(0,o.UR)(e)||(0,o.IY)(e)||(0,o.jq)(e)||(0,o._G)(e)||(0,o.XJ)(e)||(0,o.vZ)(e)||(0,o.aI)(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,a(n));return t}if(e instanceof Set){const t=new Set;for(const r of e)t.add(a(r));return t}return null}function b(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 h(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.aI)(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):!!d(e)&&d(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))}},8341:(e,t,r)=>{"use strict";r.d(t,{Go:()=>a,Jc:()=>l,T:()=>s,VI:()=>u,mF:()=>f,oV:()=>h,u1:()=>d});var n=r(44208),o=r(74887);const s="worker:port-closed";var a,i;(i=a||(a={}))[i.HANDSHAKE=0]="HANDSHAKE",i[i.OPEN=1]="OPEN",i[i.OPENED=2]="OPENED",i[i.RESPONSE=3]="RESPONSE",i[i.INVOKE=4]="INVOKE",i[i.ABORT=5]="ABORT",i[i.CLOSE=6]="CLOSE",i[i.OPEN_PORT=7]="OPEN_PORT",i[i.ON=8]="ON";let c=0;function l(){return c++}function f(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 d(e,t,r,o){if(t.type===a.OPEN_PORT)return void e.postMessage(t,[t.port]);if(t.type!==a.INVOKE&&t.type!==a.RESPONSE)return void e.postMessage(t);let s;if(function(e){return e&&"object"==typeof e&&("result"in e||"transferList"in e)}(r)?(s=b(r.transferList),t.data=r.result):(s=b(o),t.data=r),s){if((0,n.A)("ff"))for(const r of s)if("byteLength"in r&&r.byteLength>267386880){const r="Worker call with large ArrayBuffer would crash Firefox";switch(t.type){case a.INVOKE:throw r;case a.RESPONSE:return void d(e,{type:a.RESPONSE,jobId:t.jobId,error:f(r)})}}e.postMessage(t,s)}else e.postMessage(t)}function u(e){if(!e)return null;const t=e.data;return t?"string"==typeof t?JSON.parse(t):t:null}function b(e){if(!e?.length)return null;if((0,n.A)("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}async function h(e){try{return await e}catch(e){const t=e?.name===s;if(!(0,o.zf)(e)&&!t)throw e;return}}},12195:(e,t,r)=>{"use strict";function n(e){return e&&"object"==typeof e&&"toJSON"in e&&"function"==typeof e.toJSON}r.d(t,{W:()=>n})},18357:(e,t,r)=>{"use strict";r.d(t,{$:()=>n,u:()=>o});const n="20250729",o="6617c2268829fa5b8cc30e70d4b69d6197b7cb48"},21818:(e,t,r)=>{"use strict";function n(e){}function o(e){return e}r.d(t,{Xb:()=>n,zI:()=>o}),r(44208)},26306:(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 o(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,{M:()=>n,Y:()=>o})},34275:(e,t,r)=>{"use strict";function n(e){return e instanceof ArrayBuffer}function o(e){return"Int8Array"===e?.constructor?.name}function s(e){return"Uint8Array"===e?.constructor?.name}function a(e){return"Uint8ClampedArray"===e?.constructor?.name}function i(e){return"Int16Array"===e?.constructor?.name}function c(e){return"Uint16Array"===e?.constructor?.name}function l(e){return"Int32Array"===e?.constructor?.name}function f(e){return"Uint32Array"===e?.constructor?.name}function d(e){return"Float16Array"===e?.constructor?.name}function u(e){return"Float32Array"===e?.constructor?.name}function b(e){return"Float64Array"===e?.constructor?.name}function h(e){return"buffer"in e}r.d(t,{IY:()=>i,JI:()=>m,LW:()=>d,PI:()=>w,UR:()=>a,XJ:()=>f,_G:()=>l,a3:()=>y,aI:()=>b,dk:()=>g,dz:()=>o,h2:()=>v,iu:()=>h,jq:()=>c,mg:()=>s,mw:()=>n,vZ:()=>u,y9:()=>p}),r(44208);const p=1024;function m(e){return b(e)||u(e)||l(e)||i(e)||o(e)}function g(e){return b(e)||u(e)}function y(e){return b(e)?179769e303:d(e)?65504:u(e)?3402823e32:f(e)?4294967295:c(e)?65535:s(e)||a(e)?255:l(e)?2147483647:i(e)?32767:o(e)?127:256}const w=-32768,v=-2147483648},36563:(e,t,r)=>{"use strict";r.d(t,{Bf:()=>i,hA:()=>o,rE:()=>a,vE:()=>s});const n={remove:()=>{}};function o(e){return e?{remove(){e&&(e(),e=void 0)}}:n}function s(e){return o((()=>function(e){e.forEach((e=>e?.remove()))}(e)))}function a(e){return o((()=>e?.abort()))}function i(e){return{[Symbol.dispose](){e.remove()}}}},37955:(e,t,r)=>{"use strict";r.d(t,{Oo:()=>i,on:()=>a,wb:()=>o});var n=r(36563);function o(e){return function(e){return null!=e&&"object"==typeof e&&"on"in e&&"function"==typeof e.on}(e)||s(e)}function s(e){return null!=e&&"object"==typeof e&&"addEventListener"in e&&"function"==typeof e.addEventListener}function a(e,t,r){if(!o(e))throw new TypeError("target is not a Evented or EventTarget object");return s(e)?function(e,t,r,o){if(Array.isArray(t)){const s=t.slice();for(const t of s)e.addEventListener(t,r,o);return(0,n.hA)((()=>{for(const t of s)e.removeEventListener(t,r,o)}))}return e.addEventListener(t,r,o),(0,n.hA)((()=>e.removeEventListener(t,r,o)))}(e,t,r):e.on(t,r)}function i(e,t,r){if(!o(e))throw new TypeError("target is not a Evented or EventTarget object");if("once"in e)return e.once(t,r);const n=a(e,t,(t=>{n.remove(),r.call(e,t)}));return n}},39131:(e,t,r)=>{"use strict";r.d(t,{$E:()=>a,py:()=>s,qG:()=>i});const n=/^https:\/\/([a-z\d-]+)(\.maps([^.]*))?\.arcgis\.com/i,o={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 s(e){const t=e?.match(n);if(!t)return null;const[,r,s,a]=t;if(!r)return null;let i=null,c=null,l=null;const{devext:f,qaext:d,www:u}=o;if(s)if(i=r,a)switch(a.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=f);break;case"qa":({customBaseUrl:c,portalHostname:l}=d);break;default:return null}else({customBaseUrl:c,portalHostname:l}=u);else switch(r.toLowerCase()){case"devext":({customBaseUrl:c,portalHostname:l}=f);break;case"qaext":({customBaseUrl:c,portalHostname:l}=d);break;case"www":({customBaseUrl:c,portalHostname:l}=u);break;default:return null}return{customBaseUrl:c,isPortal:!1,portalHostname:l,urlKey:i}}function a(e){return/\/(sharing|usrsvcs)\/(appservices|servers)\//i.test(e)}function i(e){const t=/^https?:\/\/(?:cdn|[a-z\d-]+\.maps)\.arcgis\.com/i,r=/^https?:\/\/(?:cdndev|[a-z\d-]+\.mapsdevext)\.arcgis\.com/i,n=/^https?:\/\/(?:cdnqa|[a-z\d-]+\.mapsqa)\.arcgis\.com/i;return t.test(e)?e=e.replace(t,"https://www.arcgis.com"):r.test(e)?e=e.replace(r,"https://devext.arcgis.com"):n.test(e)&&(e=e.replace(n,"https://qaext.arcgis.com")),e}},44208:(e,t,r)=>{"use strict";let n;function o(e){return"function"==typeof n[e]?n[e]=n[e](globalThis):n[e]}r.d(t,{A:()=>o}),n=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},o.add=(e,t,r,s)=>{(s||void 0===n[e])&&(n[e]=t),r&&o(e)},o.cache=n,o.add("big-integer-warning-enabled",!0),o.add("esri-deprecation-warnings",!0),o.add("esri-tests-disable-screenshots",!1),o.add("esri-tests-use-full-window",!1),o.add("esri-tests-post-to-influx",!0),o.add("esri-cim-animations-enable-status","enabled"),o.add("esri-cim-animations-spotlight",!1),o.add("esri-cim-animations-freeze-time",!1),(()=>{o.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(o.add("host-browser",e),o.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),o.add("dom",e),o("host-browser")){const e=navigator,t=e.userAgent,r=e.appVersion,n=parseFloat(r);if(o.add("wp",parseFloat(t.split("Windows Phone")[1])||void 0),o.add("msapp",parseFloat(t.split("MSAppHost/")[1])||void 0),o.add("khtml",r.includes("Konqueror")?n:void 0),o.add("edge",parseFloat(t.split("Edge/")[1])||void 0),o.add("opr",parseFloat(t.split("OPR/")[1])||void 0),o.add("webkit",!o("wp")&&!o("edge")&&parseFloat(t.split("WebKit/")[1])||void 0),o.add("chrome",!o("edge")&&!o("opr")&&parseFloat(t.split("Chrome/")[1])||void 0),o.add("android",!o("wp")&&parseFloat(t.split("Android ")[1])||void 0),o.add("safari",!r.includes("Safari")||o("wp")||o("chrome")||o("android")||o("edge")||o("opr")?void 0:parseFloat(r.split("Version/")[1])),o.add("mac",r.includes("Macintosh")),!o("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("_",""));o.add(e,n),o.add("ios",n)}o("webkit")||(!t.includes("Gecko")||o("wp")||o("khtml")||o("edge")||o.add("mozilla",n),o("mozilla")&&o.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&&o.add("esri-mobile",t),r&&o.add("esri-iPhone",r),o.add("esri-geolocation",!!navigator.geolocation)}o.add("esri-wasm","WebAssembly"in globalThis),o.add("esri-performance-mode-frames-between-render",20),o.add("esri-force-performance-mode",!1),o.add("esri-shared-array-buffer",(()=>{const e="SharedArrayBuffer"in globalThis,t=!1===globalThis.crossOriginIsolated;return e&&!t})),o.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])))),o.add("esri-atomics","Atomics"in globalThis),o.add("esri-workers","Worker"in globalThis),o.add("web-feat:cache","caches"in globalThis),o.add("esri-workers-arraybuffer-transfer",!o("safari")||Number(o("safari"))>=12),o.add("workers-pool-size",8),o.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),o.add("featurelayer-simplify-payload-size-factors",[1,1,4]),o.add("featurelayer-fast-triangulation-enabled",!0),o.add("featurelayer-animation-enabled",!0),o.add("featurelayer-snapshot-enabled",!0),o.add("featurelayer-snapshot-initial-tolerance",0),o.add("featurelayer-snapshot-point-min-threshold",8e4),o.add("featurelayer-snapshot-point-max-threshold",4e5),o.add("featurelayer-snapshot-multipoint-min-threshold",2e4),o.add("featurelayer-snapshot-multipoint-max-threshold",1e5),o.add("featurelayer-snapshot-polygon-min-threshold",1e3),o.add("featurelayer-snapshot-polygon-max-threshold",2e3),o.add("featurelayer-snapshot-polyline-min-threshold",1e3),o.add("featurelayer-snapshot-polyline-max-threshold",2e3),o.add("featurelayer-snapshot-max-vertex-count",25e4),o.add("featurelayer-snapshot-non-hosted-exceedslimit-enabled",!1),o.add("featurelayer-snapshot-concurrency",4),o.add("featurelayer-snapshot-coverage",.1),o.add("featurelayer-query-max-depth",4),o.add("featurelayer-query-pausing-enabled",!1),o.add("featurelayer-query-tile-concurrency",4),o.add("featurelayer-query-tile-max-features",6e5),o.add("featurelayer-advanced-symbols",!1),o.add("featurelayer-pbf",!0),o.add("featurelayer-pbf-statistics",!1),o.add("feature-layers-workers",!0),o.add("feature-polyline-generalization-factor",1),o.add("mapview-transitions-duration",200),o.add("mapview-essential-goto-duration",200),o.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),o.add("mapserver-pbf-version-support",10.81),o.add("mapservice-popup-identify-max-tolerance",20),o.add("request-queue-concurrency-hosted",16),o.add("request-queue-concurrency-non-hosted",4),o.add("curve-densification-coarse-segments",128),o.add("curve-densification-max-segments",2e3),o.add("curve-densification-min-segments",3),o.add("curve-densification-pixel-deviation",.5),o.add("view-readyState-waiting-delay",1e3),o.add("gradient-depth-bias",.01),o.add("gradient-depth-epsilon",1e-8),o.add("enable-feature:esri-compress-textures",!0),o("host-webworker")||o("host-browser")&&(o.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),o.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((()=>{o.add("esri-image-decode",!0,!0,!0)})).catch((()=>{o.add("esri-image-decode",!1,!0,!0)}))}return!1})),o.add("esri-url-encodes-apostrophe",(()=>{const e=window.document.createElement("a");return e.href="?'",e.href.includes("?%27")})))})()},49186:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(4718),o=r(53966),s=r(79907);class a extends s.A{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.o8)(t)}catch(e){return"[object]"}})))}}catch(e){throw o.A.getLogger("esri.core.Error").error(e),e}return{name:this.name,message:this.message,details:this.details}}static fromJSON(e){return new a(e.name,e.message,e.details)}}a.prototype.type="error"},52268:(e,t,r)=>{"use strict";function n(e,t){return new Proxy({},{get:(r,n,o)=>(...r)=>{let o,s;const a=r[r.length-1];return function(e){return"object"==typeof e&&!Array.isArray(e)&&null!=e&&("signal"in e||"transferList"in e||0===Object.keys(e).length)}(a)&&(o=a.signal,s=a.transferList,r.pop()),e.apply(t?`${t}.${n.toString()}`:n.toString(),r,{transferList:s,signal:o})}})}r.d(t,{L:()=>n})},53966:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});var n=r(92602),o=(r(44208),r(799));const s={info:0,warn:1,error:2,none:3};class a{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,a._loggers.set(this.module,this);const t=this.module.lastIndexOf(".");-1!==t&&(this._parent=a.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(){}static get test(){}static getLogger(e){return e="string"!=typeof e?e.declaredClass:e,a._loggers.get(e)||new a({module:e})}static{this._loggers=new Map}static{this._tickCounter=0}static{this._tickCounterScheduled=!1}static{this._throttlingDisabled=!1}_log(e,t,...r){if(this._matchLevel(e)){if("always"!==t&&!a._throttlingDisabled){const n=function(...e){return(0,o.Wm)(JSON.stringify(e,((e,t)=>"object"!=typeof t||Array.isArray(t)?t:"[Object]")))}(r),s=this._loggedMessages[e].get(n);if("once"===t&&null!=s||"oncePerTick"===t&&s&&s>=a._tickCounter)return;this._loggedMessages[e].set(n,a._tickCounter),a._scheduleTickCounterIncrement()}for(const t of n.A.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",i)}_matchLevel(e){const t=n.A.log.level||"warn";return s[this._parentWithMember("level",t)]<=s[e]}static _scheduleTickCounterIncrement(){a._tickCounterScheduled||(a._tickCounterScheduled=!0,Promise.resolve().then((()=>{a._tickCounter++,a._tickCounterScheduled=!1})))}}function i(e,t,...r){console[e](`[${t}]`,...r)}},61322:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>v});var n=r(70333),o=r(49186),s=r(37955),a=r(36563),i=r(97768),c=r(74887),l=r(52268);const f={statsWorker:()=>Promise.all([r.e(6285),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8902),r.e(1882),r.e(2603),r.e(4560),r.e(397),r.e(5975),r.e(8991)]).then(r.bind(r,33009)),geometryEngineWorker:()=>Promise.all([r.e(9930),r.e(8887)]).then(r.bind(r,68887)),arcadeGeometryOperatorsWorker:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8902),r.e(1882),r.e(1123)]).then(r.bind(r,1123)),CSVSourceWorker:()=>Promise.all([r.e(6285),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(752)]).then(r.bind(r,40752)),EdgeProcessingWorker:()=>Promise.all([r.e(3030),r.e(9899),r.e(7346)]).then(r.bind(r,71936)),ElevationSamplerWorker:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(3030),r.e(1784)]).then(r.bind(r,38419)),FeatureServiceSnappingSourceWorker:()=>Promise.all([r.e(6285),r.e(1956),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(4522),r.e(1210)]).then(r.bind(r,12543)),GeoJSONSourceWorker:()=>Promise.all([r.e(6285),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(1202)]).then(r.bind(r,71202)),LercWorker:()=>r.e(7087).then(r.bind(r,57087)),MemorySourceWorker:()=>Promise.all([r.e(6285),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(9432)]).then(r.bind(r,29432)),PBFDecoderWorker:()=>Promise.all([r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8902),r.e(1882),r.e(8140)]).then(r.bind(r,39078)),FeaturePipelineWorker:()=>Promise.all([r.e(6285),r.e(5715),r.e(5323),r.e(1956),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(9949),r.e(4522),r.e(9423),r.e(9936),r.e(8487)]).then(r.bind(r,38487)),PointCloudWorker:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(2603),r.e(2944),r.e(7984),r.e(4056)]).then(r.bind(r,34142)),RasterWorker:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(1427),r.e(6049),r.e(7848)]).then(r.bind(r,30139)),SceneLayerSnappingSourceWorker:()=>Promise.all([r.e(5122),r.e(2603),r.e(3030),r.e(7937),r.e(9899),r.e(9468)]).then(r.bind(r,24587)),SceneLayerWorker:()=>Promise.all([r.e(6285),r.e(9953),r.e(1956),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(5975),r.e(7937),r.e(2944),r.e(8288),r.e(4026)]).then(r.bind(r,36233)),WFSSourceWorker:()=>Promise.all([r.e(6285),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3733),r.e(3771)]).then(r.bind(r,33771)),WorkerTileHandler:()=>Promise.all([r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8902),r.e(9949),r.e(5897),r.e(9423),r.e(3379)]).then(r.bind(r,11764)),Lyr3DWorker:()=>Promise.all([r.e(2741),r.e(9234)]).then(r.bind(r,79234)),Feature3DPipelineWorker:()=>Promise.all([r.e(6285),r.e(8948),r.e(3910),r.e(5715),r.e(5323),r.e(13),r.e(1214),r.e(1956),r.e(708),r.e(5122),r.e(2741),r.e(6791),r.e(4996),r.e(8988),r.e(8902),r.e(1882),r.e(2603),r.e(8368),r.e(4560),r.e(397),r.e(3202),r.e(5975),r.e(3633),r.e(3030),r.e(7937),r.e(2944),r.e(655),r.e(9899),r.e(3100),r.e(9844)]).then(r.bind(r,66357)),TextureCompressionWorker:()=>Promise.all([r.e(2741),r.e(5902)]).then(r.bind(r,95902))};var d=r(8341),u=r(18357);const{CLOSE:b,ABORT:h,INVOKE:p,RESPONSE:m,OPEN_PORT:g,ON:y}=d.Go;class w{constructor(e){this._invoke=e,this._timer=null,this._cancelledJobIds=new Set,this._invokeMessages=[],this._timer=null,this._process=this._process.bind(this)}push(e){e.type===d.Go.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 v{static{this.kernelInfo={buildDate:u.$,fullVersion:n.ol,revision:u.u}}static{this.clients=new Map}static connect(e,t){const r=new MessageChannel;let n;n="function"==typeof e?new e:"default"in e&&"function"==typeof e.default?new e.default:e;const o=new v(r.port1,{channel:r,client:n,schedule:t});return"object"==typeof n&&"remoteClient"in n&&(n.remoteClient=o),v.clients.set(o,n),r.port2}static loadWorker(e){const t=f[e];return t?t():Promise.resolve(null)}constructor(e,t,r,n){this._port=e,this._jobQueue=r,this._lowPriorityJobQueue=n,this._outJobs=new Map,this._inJobs=new Map,this._invokeQueue=new w((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:b}),this._close()}isBusy(){return this._outJobs.size>0}invoke(e,t,r){return this.apply(e,[t],r)}apply(e,t,r){const n=r?.signal,s=r?.transferList;if(!this._port)return Promise.reject(new o.A(d.T,`Cannot call invoke('${e}'), port is closed`,{methodName:e,data:t}));const a=(0,d.Jc)();return new Promise(((r,o)=>{if((0,c.G4)(n))return this._processWork(),void o((0,c.NK)());const l=(0,c.u7)(n,(()=>{const e=this._outJobs.get(a);e&&(this._outJobs.delete(a),this._processWork(),(0,i.xt)(e.abortHandle),this._post({type:h,jobId:a}),o((0,c.NK)()))})),f={resolve:r,reject:o,abortHandle:l,debugInfo:e};this._outJobs.set(a,f),this._post({type:p,jobId:a,methodName:e,abortable:null!=n},t,s)}))}createInvokeProxy(e){return(0,l.L)(this,e)}on(e,t){const r=new MessageChannel;function n(e){t(e.data)}return this._port.postMessage({type:d.Go.ON,eventType:e,port:r.port2},[r.port2]),r.port1.addEventListener("message",n),r.port1.start(),(0,a.hA)((()=>{r.port1.postMessage({type:d.Go.CLOSE}),r.port1.close(),r.port1.removeEventListener("message",n)}))}jobAdded(){this._processWork()}openPort(){const e=new MessageChannel;return this._post({type:g,port:e.port2}),e.port1}_processWork(){if(this._outJobs.size>=2)return;const e=this._jobQueue?.pop()??this._lowPriorityJobQueue?.pop();if(!e)return;const{methodName:t,data:r,invokeOptions:n,resolver:o}=e;this.apply(t,r,n).then((e=>o.resolve(e))).catch((e=>o.reject(e)))}_close(){this._channel&&(this._channel=void 0),this._port.removeEventListener("message",this._onMessage),this._port.close(),this._outJobs.forEach((e=>{(0,i.xt)(e.abortHandle),e.reject((0,c.NK)(`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,!0))):this._processMessage(e,!1)}_processMessage(e,t){const r=(0,d.VI)(e);if(r)switch(r.type){case m:this._onResponseMessage(r);break;case p:t?this._onInvokeMessage(r):this._invokeQueue.push(r);break;case h:this._onAbortMessage(r);break;case b:this._onCloseMessage();break;case g:this._onOpenPortMessage(r);break;case y:this._onOnMessage(r)}}_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&&v.clients.get(this)===e&&e.destroy(),v.clients.delete(this),e?.remoteClient&&(e.remoteClient=null)}_onInvokeMessage(e){const{methodName:t,jobId:r,data:n=[],abortable:o}=e,s=o?new AbortController:null,a=this._inJobs;let i,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`);n.push({client:this,signal:s?s.signal:null}),i=f.apply(l,n)}catch(e){return void this._post({type:m,jobId:r,error:(0,d.mF)(e)})}(0,c.$X)(i)?(a.set(r,{controller:s,promise:i}),i.then((e=>{a.has(r)&&(a.delete(r),this._post({type:m,jobId:r},e))}),(e=>{a.has(r)&&(a.delete(r),(0,c.zf)(e)||this._post({type:m,jobId:r,error:(0,d.mF)(e||{message:`Error encountered at method ${t}`})}))}))):this._post({type:m,jobId:r},i)}_onOpenPortMessage(e){new v(e.port,{client:this._client})}_onOnMessage(e){const{port:t}=e,r=this._client.on(e.eventType,(e=>{t.postMessage(e)})),n=(0,s.on)(e.port,"message",(e=>{const o=(0,d.VI)(e);o?.type===d.Go.CLOSE&&(n.remove(),r.remove(),t.close())}))}_onResponseMessage(e){const{jobId:t,error:r,data:n}=e,s=this._outJobs;if(!s.has(t))return;const a=s.get(t);s.delete(t),this._processWork(),(0,i.xt)(a.abortHandle),r?a.reject(o.A.fromJSON(JSON.parse(r))):a.resolve(n)}_post(e,t,r){return(0,d.u1)(this._port,e,t,r)}}},70333:(e,t,r)=>{"use strict";r.d(t,{Aq:()=>c,Y3:()=>l,id:()=>a,ol:()=>i,rE:()=>s});var n=r(44208),o=r(84952);Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const s="4.33";let a,i=s;function c(e){a=e}function l(e){const t=a?.findCredential(e);return t?.token?(0,o.rs)(e,"token",t.token):e}i="4.33.11",(0,n.A)("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),(0,n.A)("host-webworker")},74887:(e,t,r)=>{"use strict";r.d(t,{Pl:()=>k,Ol:()=>O,nA:()=>_,NK:()=>l,Tw:()=>x,sg:()=>S,Lx:()=>v,QZ:()=>w,zf:()=>y,G4:()=>u,$X:()=>P,u7:()=>p,NY:()=>m,hn:()=>j,Mq:()=>d,QP:()=>b,Te:()=>f,jH:()=>h,NO:()=>M,z7:()=>A,qr:()=>g});var n=r(36563);const o=(s=globalThis,{setTimeout:(e,t)=>{const r=s.setTimeout(e,t);return(0,n.hA)((()=>s.clearTimeout(r)))}});var s,a=r(49186),i=r(37955),c=(r(53966),r(97768));function l(e="Aborted"){return new a.A("AbortError",e)}function f(e,t="Aborted"){if(u(e))throw l(t)}function d(e){return e instanceof AbortSignal?e:e?.signal??void 0}function u(e){const t=d(e);return null!=t&&t.aborted}function b(e){if(y(e))throw e}function h(e){if(!y(e))throw e}function p(e,t){const r=d(e);if(null!=r){if(!r.aborted)return(0,i.Oo)(r,"abort",(()=>t()));t()}}function m(e,t){const r=d(e);if(null!=r)return f(r),(0,i.Oo)(r,"abort",(()=>t(l())))}function g(e,t){return null==d(t)?e:new Promise(((r,n)=>{let o=p(t,(()=>n(l())));const s=()=>{o=(0,c.xt)(o)};e.then(s,s),e.then(r,n)}))}function y(e){return"AbortError"===e?.name}async function w(e){try{return await e}catch(e){if(!y(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),o={};return t.map(((e,t)=>o[e]=n[t])),o}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 _(e){return(await Promise.allSettled(e)).filter((e=>"fulfilled"===e.status)).map((e=>e.value))}async function O(e){return(await Promise.allSettled(e)).filter((e=>"rejected"===e.status)).map((e=>e.reason))}function k(e,t=void 0,r){const n=new AbortController;return p(r,(()=>n.abort())),new Promise(((r,o)=>{let s=setTimeout((()=>{s=0,r(t)}),e);p(n,(()=>{s&&(clearTimeout(s),o(l()))}))}))}function P(e){return e&&"function"==typeof e.then}function A(e){return P(e)?e:Promise.resolve(e)}function S(e,t=-1){let r,n,o,s,a=null;const i=(...c)=>{if(r){n=c,s&&s.reject(l()),s=x();const e=s.promise;if(a){const e=a;a=null,e.abort()}return e}if(o=s||x(),s=null,t>0){const n=new AbortController;r=A(e(...c,n.signal));const o=r;k(t).then((()=>{r===o&&(s?n.abort():a=n)}))}else r=1,r=A(e(...c));const f=()=>{const e=n;n=o=r=a=null,null!=e&&i(...e)},d=r,u=o;return d.then(f,f),d.then(u.resolve,u.reject),u.promise};return i}function x(){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)=>o.setTimeout((()=>n.reject(t)),e),n.promise=r,n}function j(e,t){t.then(e.resolve,e.reject)}async function M(e){await Promise.resolve(),f(e)}},79907:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(93637);class o{constructor(e,t,r=void 0){this.name=e,this.details=r,this.message=(t&&function(e,t){return e.replaceAll(/\$\{([^\s:}]*)(?::([^\s:}]+))?\}/g,((e,r)=>""===r?"$":((0,n.wc)(r,t)??"").toString()))}(t,r))??""}toString(){return"["+this.name+"]: "+this.message}}},84952:(e,t,r)=>{"use strict";r.d(t,{$1:()=>Z,$z:()=>K,An:()=>x,BQ:()=>se,DB:()=>X,FL:()=>F,FX:()=>J,Hg:()=>re,Il:()=>be,Ln:()=>ge,N9:()=>oe,S8:()=>D,T1:()=>pe,UC:()=>he,V1:()=>H,Xq:()=>A,Zo:()=>Oe,_0:()=>Pe,a6:()=>_e,b8:()=>L,e7:()=>ue,fj:()=>G,gd:()=>S,hf:()=>me,lJ:()=>Y,lM:()=>ce,m3:()=>ie,nM:()=>de,oP:()=>V,oy:()=>$,r$:()=>te,rs:()=>ve,s0:()=>_,s2:()=>B,sC:()=>q,s_:()=>C,tk:()=>ne,ut:()=>W,w8:()=>Q,x0:()=>M,xw:()=>ke,yM:()=>T,zf:()=>j,zi:()=>we,zs:()=>R});var n=r(92602),o=r(4576),s=r(49186),a=r(53966),i=r(12195),c=r(39131),l=r(26306);const f=()=>a.A.getLogger("esri.core.urlUtils"),d=n.A.request,u="esri/config: esriConfig.request.proxyUrl is not set.",b=/^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,h=/^\s*http:/i,p=/^\s*https:/i,m=/^\s*file:/i,g=/:\d+$/,y=/^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,w=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),v=new RegExp("^((([^[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^[:]*))(:([0-9]+))?$");class _{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(w);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 k=new _(n.A.applicationUrl);let P=function(){const e=k.path,t=e.slice(0,e.lastIndexOf("/")+1);return`${k.scheme}://${k.host}${null!=k.port?`:${k.port}`:""}${t}`}();const A=()=>k,S=()=>P;function x(e){if(!e)return null;const t={path:null,query:null},r=new _(e),n=e.indexOf("?");return null===r.query?t.path=e:(t.path=e.slice(0,n),t.query=j(r.query)),r.fragment&&(t.hash=r.fragment,null===r.query&&(t.path=t.path.slice(0,t.path.length-(r.fragment.length+1)))),t}function j(e){const t=e.split("&"),r={};for(const e of t){if(!e)continue;const t=e.indexOf("=");let n,o;t<0?(n=decodeURIComponent(e),o=""):(n=decodeURIComponent(e.slice(0,t)),o=decodeURIComponent(e.slice(t+1)));let s=r[n];"string"==typeof s&&(s=r[n]=[s]),Array.isArray(s)?s.push(o):r[n]=o}return r}function M(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 o=encodeURIComponent(r)+"=",s=t?.[r];return s?o+encodeURIComponent(s(n)):Array.isArray(n)?n.map((e=>(0,i.W)(e)?o+encodeURIComponent(JSON.stringify(e)):o+encodeURIComponent(e))).join("&"):(0,i.W)(n)?o+encodeURIComponent(JSON.stringify(n)):o+encodeURIComponent(n)})).filter((e=>e)).join("&"):""}function C(e=!1){let t,r=d.proxyUrl;if("string"==typeof e){t=ie(e);const n=R(e);n&&(r=n.proxyUrl)}else t=!!e;if(!r)throw f().warn(u),new s.A("urlUtils:proxy-not-set",u);return t&&le()&&(r=ce(r)),x(r)}function T(e,t=!1){const r=R(e);let n,o;if(r){const e=I(r.proxyUrl);n=e.path,o=e.query?j(e.query):null}else if(t){const t=C(e);n=t.path,o=t.query}if(n){const t=x(e);e=n+"?"+t.path;const r=M({...o,...t.query});r&&(e=`${e}?${r}`)}return e}const E={path:"",query:""};function I(e){const t=e.indexOf("?");return-1!==t?(E.path=e.slice(0,t),E.query=e.slice(t+1)):(E.path=e,E.query=null),E}function N(e){return(e=fe(e=be(e=I(e).path),!0)).toLowerCase()}function $(e){const t={proxyUrl:e.proxyUrl,urlPrefix:N(e.urlPrefix)},r=d.proxyRules,n=t.urlPrefix;let o=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;o=e;break}0===t.indexOf(n)&&(o=e+1)}return r.splice(o,0,t),o}function R(e){const t=d.proxyRules,r=N(e);for(let e=0;e<t.length;e++)if(0===r.indexOf(t[e].urlPrefix))return t[e]}function L(e,t){if(!e||!t)return!1;e=U(e),t=U(t);const r=(0,c.py)(e),n=(0,c.py)(t);return null!=r&&null!=n?r.portalHostname===n.portalHostname:null==r&&null==n&&J(e,t,!0)}function W(e,t){return e=U(e),t=U(t),fe(e)===fe(t)}function U(e){const t=(e=D(e)).indexOf("/sharing");return t>0?e.slice(0,t):e.replace(/\/+$/,"")}function q(e,t=d.interceptors){const r=t=>t instanceof RegExp?t.test(e):"string"==typeof t?e.startsWith(t):null==t;if(t)for(const e of t)if(Array.isArray(e.urls)){if(e.urls.some(r))return e}else if(r(e.urls))return e;return null}function J(e,t,r=!1){if(!e||!t)return!1;const n=ye(e),o=ye(t);return!(!r&&n.scheme!==o.scheme)&&null!=n.host&&null!=o.host&&n.host.toLowerCase()===o.host.toLowerCase()&&n.port===o.port}function F(e){if("string"==typeof e){if(!V(e))return!0;e=ye(e)}if(J(e,k))return!0;const t=d.trustedServers||[];for(let r=0;r<t.length;r++){const n=z(t[r]);for(let t=0;t<n.length;t++)if(J(e,n[t]))return!0}return!1}function z(e){return O[e]||(ae(e)||se(e)?O[e]=[new _(B(e))]:O[e]=[new _(`http://${e}`),new _(`https://${e}`)]),O[e]}function B(e,t=P,r){return se(e)?r?.preserveProtocolRelative?e:"http"===k.scheme&&k.authority===K(e).slice(2)?`http:${e}`:`https:${e}`:ae(e)?e:G("/"===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 H(e,t=P,r){if(null==e||!V(e))return e;const n=D(e),o=n.toLowerCase(),s=D(t).toLowerCase().replace(/\/+$/,""),a=r?D(r).toLowerCase().replace(/\/+$/,""):null;if(a&&0!==s.indexOf(a))return e;const i=(e,t,r)=>-1===(r=e.indexOf(t,r))?e.length:r;let c=i(o,"/",o.indexOf("//")+2),l=-1;for(;o.slice(0,c+1)===s.slice(0,c)+"/"&&(l=c+1,c!==o.length);)c=i(o,"/",c+1);if(-1===l)return e;if(a&&l<a.length)return e;e=n.slice(l);const f=s.slice(l-1).replaceAll(/[^/]+/g,"").length;if(f>0)for(let t=0;t<f;t++)e=`../${e}`;else e=`./${e}`;return e}function D(e){return function(e){const t=d.httpsDomains;if(!function(e){return null!=e&&h.test(e)||"http"===k.scheme&&se(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),g.test(n)){if(!n.endsWith(":80"))return e;n=n.slice(0,-3),e=e.replace(":80","")}return"http"===k.scheme&&n===k.authority&&!y.test(e)||(le()&&n===k.authority||t&&t.some((e=>n===e||n.endsWith(`.${e}`)))||le()&&!R(e))&&(e=ce(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=B(e=e.trim()))))}function G(...e){const t=e.filter(o.Ru);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&&m.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 K(e,t=!1){if(null==e||Q(e)||X(e))return null;let r=e.indexOf("://");if(-1===r&&se(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 se(e)||ae(e)}function Q(e){return null!=e&&"blob:"===e.slice(0,5)}function X(e){return null!=e&&"data:"===e.slice(0,5)}function Y(e){const t=te(e);return t?.isBase64?(0,l.M)(t.data):null}function Z(e){return(0,l.Y)(e).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}const ee=/^data:(.*?)(;base64)?,(.*)$/;function te(e){const t=e.match(ee);if(!t)return null;const[,r,n,o]=t;return{mediaType:r,isBase64:!!n,data:o}}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 oe(e){const t=Y(e);if(!t)return null;const r=te(e);return new Blob([t],{type:r.mediaType})}function se(e){return null!=e&&"/"===e[0]&&"/"===e[1]}function ae(e){return null!=e&&b.test(e)}function ie(e){return null!=e&&p.test(e)||"https"===k.scheme&&se(e)}function ce(e){return se(e)?`https:${e}`:e.replace(h,"https:")}function le(){return"https"===k.scheme}function fe(e,t=!1){return se(e)?e.slice(2):(e=e.replace(b,""),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 ue(e,t){if(!e)return"";const r=x(e).path.replace(/\/+$/,""),n=r.slice(r.lastIndexOf("/")+1);if(!t?.length)return n;const o=new RegExp(`\\.(${t.join("|")})$`,"i");return n.replace(o,"")}function be(e){return e.endsWith("/")?e:`${e}/`}function he(e){return e.replace(/\/+$/,"")}function pe(e,t,r){if(!(t&&r&&e&&V(e)))return e;const n=e.indexOf("//"),o=e.indexOf("/",n+2),s=e.indexOf(":",n+2),a=Math.min(o<0?e.length:o,s<0?e.length:s);return e.slice(n+2,a).toLowerCase()!==t.toLowerCase()?e:`${e.slice(0,n+2)}${r}${e.slice(a)}`}function me(e,t){const r=new URL(e);return r.host=t,r.port&&!g.test(t)&&(r.port=""),r.toString()}function ge(e){return new URL(e).host}function ye(e){return"string"==typeof e?new _(B(e)):(e.scheme||(e.scheme=k.scheme),e)}function we(e,t){const r=x(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 ve(e,t,r){const n=x(e),o=n.query||{};return o[t]=String(r),`${n.path}?${M(o)}`}function _e(e,t){if(!t)return e;const r=x(e),n=r.query||{};for(const[e,r]of Object.entries(t))null!=r&&(n[e]=r);const o=M(n);return o?`${r.path}?${o}`:r.path}function Oe(e){if(null==e)return null;const t=e.match(Ae);return t?t[2]:null}function ke(e){if(null==e)return null;const t=e.match(Ae);return t?{path:t[1],extension:t[2]}:{path:e,extension:null}}async function Pe(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 Ae=/([^.]*)\.([^/]*)$/},87811:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});class n{static{this._m=2147483647}static{this._a=48271}static{this._c=0}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}}},92602:(e,t,r)=>{"use strict";r.d(t,{A:()=>o}),r(44208);var n=r(93637);const o={apiKey:void 0,apiKeys:{scopes:[]},applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:62e3,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};if(globalThis.esriConfig&&((0,n.$N)(o,globalThis.esriConfig,!0),delete o.has),!o.assetsPath){{const e="4.33";o.assetsPath=`https://js.arcgis.com/${e}/@arcgis/core/assets`}o.defaultAssetsPath=o.assetsPath}},93637:(e,t,r)=>{"use strict";r.d(t,{$N:()=>o,i8:()=>i,sM:()=>a,wc:()=>s});var n=r(4718);function o(e,t,r=!1){return l(e,t,r)}function s(e,t){if(null!=t)return t[e]||c(e.split("."),!1,t)}function a(e,t,r){const n=e.split("."),o=n.pop(),s=c(n,!0,r);s&&o&&(s[o]=t)}function i(e,t){if(null==e&&null==t)return!1;if(null==e)return!0;if(null==t)return!0;if("object"==typeof e){if(Array.isArray(e)){const r=t;if(e.length!==r.length)return!0;for(let t=0;t<e.length;t++)if(i(e[t],r[t]))return!0;return!1}if(Object.keys(e).length!==Object.keys(t).length)return!0;for(const r in e)if(i(e[r],t[r]))return!0;return!1}return e!==t}function c(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 l(e,t,r){return t?Object.keys(t).reduce(((e,o)=>{if("__proto__"===o)return e;let s=e[o],a=t[o];return s===a?e:void 0===s?(e[o]=(0,n.o8)(a),e):(Array.isArray(a)||Array.isArray(e)?(s=s?Array.isArray(s)?e[o]=s.slice():e[o]=[s]:e[o]=[],a&&(Array.isArray(a)||(a=[a]),r?a.forEach((e=>{s.includes(e)||s.push(e)})):e[o]=a.slice())):a&&"object"==typeof a?e[o]=l(s,a,r):e.hasOwnProperty(o)&&!t.hasOwnProperty(o)||(e[o]=a),e)}),e||{}):e}},97768:(e,t,r)=>{"use strict";function n(e,t){if(null==e)throw new Error(t??"value is None")}function o(e){return e?.destroy(),null}function s(e){return e?.dispose(),null}function a(e){return e?.remove(),null}function i(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}function f(e,t){let r;return e.some(((e,n)=>(r=t(e,n),null!=r))),r??void 0}r.d(t,{CM:()=>l,DC:()=>i,Gz:()=>c,Lw:()=>n,Pb:()=>f,WD:()=>s,pR:()=>o,xt:()=>a})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.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/"+{13:"0e104eeaea4172d54daf",36:"e717832326d1b1f817d3",132:"e8972732b058fd6fbfac",146:"02e29e12b0b1a628c17f",177:"7df147da40474b028705",191:"09b77f82c22530b44daa",217:"df84863cb0600f658541",224:"0229c573fa8a2fff2d8b",257:"7c6b9e2c1dada4668c01",309:"1f1dbf08fa71b7903d4b",349:"971c956de1f8dd230d0f",362:"8b1842f0f94c18652d4e",364:"fb9e9b9e567e32f37042",369:"3871d2ecef5bcf6ac14f",382:"ad19e3eaa339b0d6cb44",390:"ce6eebe2f7871e1d1058",397:"9cb242dfc3765b590f51",427:"fb22b2e4988ecf4d6376",547:"1cf0fae3f2e848a2a738",563:"a5a27e2e9b91fbe12da9",573:"dc14507cfc052faa5890",591:"2ce5cc797ae0d66c8678",603:"58b2dc0ec977af7413b0",624:"2ecc1057d53e0b4a60b7",647:"ca3851ca2621879eb887",655:"6a86fee4e945e61d9639",681:"1dc1084eb34748a35d35",692:"f20ba89ac21f05b7020c",708:"6409160d226a0bea5ac6",752:"3e85e63148b5e93d3074",788:"5cbaf4ff688aafa6643e",807:"48cedef1c926d11164b7",812:"fe3832107278244dc04d",820:"1f19bd3ef795c6765384",847:"cb16ba9512ae0a09c55d",980:"1c6fcccff600ab1c4949",1088:"fdfb5d601d318d6a49f9",1123:"9c8e66da6cf32ace0914",1202:"f718cb847c4eb1e43ad9",1204:"5e53c7e29bb6d43d08be",1210:"b9f93c233c55bb528412",1214:"050ef0c0ff5bed3cc462",1253:"fa99abc572b382e7e0c7",1273:"6c102094098e3c11ad3b",1277:"02b5e85f14d2c6d6c0da",1384:"f6a1fec33b0d81acce61",1389:"c6cd8784a3e222eb2d4a",1414:"95a4da3150ad8e8e36d8",1419:"77ad62ed93f713a909f0",1427:"0155e6806621f3588ffa",1598:"29e2b105f55adafc3a6d",1728:"f2aa8090827086c62dde",1737:"6194636638b0439fccd8",1784:"750dde2a118f685c01d5",1867:"30d7d2c7d6e9e5e2ecb9",1878:"65fd971d0574d69cbc26",1882:"f8fb0c7eaf73709bd855",1956:"a87ee5c5925a2546480e",2029:"ede9738ac20e7dd5ce63",2042:"80777a9db53bee2ad8a8",2083:"658e82c9b722852e02d0",2144:"a1a0bfc290920897e794",2158:"651594a61736485295ff",2165:"54f981fe0f8851767be9",2186:"36fe6b8228e622407ec2",2189:"7b9d14cc4a466ef18d71",2282:"eb7a778d133780afc0cc",2288:"3f59a73f9a758095976f",2343:"9eb9c8db2510154c09cc",2372:"3ce5d7ad16e41eea05be",2390:"e3638f9d4c0fda238f4b",2503:"49085a0b3a74e158f32f",2558:"bc8a49e0172fde44f274",2593:"cf25f487fe4eb1579aee",2603:"bac5e1d50b69f0d94694",2657:"2841888fdbc2770e90c8",2731:"6b0baecbd35d26393dcf",2741:"5bc8c279842643665507",2763:"09907c9ff597df9bc954",2765:"e372bbc2e89b951bf7e5",2893:"f3b51aa0a1a8fc3b231c",2944:"e9aa1d9ded8a52a40c57",2958:"c4dba6cf17aece714d22",2980:"4f8ebd9f0758b801835c",3029:"94dd76f01c89ab193784",3030:"fc8bbc571216edd9ef5a",3054:"2fd30428309f4c517d4c",3091:"2b07bdb6c4c4a5b2f968",3100:"a3e43fa3cee99f28b272",3103:"52bd7e64e350df5e6623",3116:"a2715eddd71f47b1f951",3169:"d9d9180689bcf71af00f",3186:"d89375aea1e6af134a58",3202:"764e505f2bafdf5afaf9",3236:"ca62e7ec102a1bb879dc",3299:"d103e184ddf9beec779d",3331:"b1549ebde6646ae0907d",3359:"5f42b7315d8330401410",3367:"87986f31061c426e761b",3379:"71e1a8bd432947c66357",3390:"53ff5b7691ba1444358e",3447:"daffceecdc71e74d2629",3492:"36f0046ff6b46adce7b7",3513:"46447beada40cb5a25f4",3543:"b8c8acf75e09014d8346",3561:"64640051f1fd787a3362",3562:"d568070513f2b98fd9b5",3600:"a507192771e5f4f82973",3610:"4c3bd6cc0badb78c7112",3633:"0dcab04dd1feeb5521cf",3637:"54da9c7fd1088a8076ce",3642:"330f1996cfc3e9c952cc",3651:"c483f80642ea881cb8a7",3661:"3ca6f893fd58f5b17af5",3666:"6c37a5bd00d255d1337a",3669:"2e1ceff3f88a6c78dfa2",3733:"7ae88c141a5d85e5bb88",3747:"ec922f876e1465d36045",3771:"b36ee5b1b48088872ad4",3813:"42da01bd3f401a017c0f",3910:"7e1906d35a764f7f10b0",3937:"eec034d88db320880133",4026:"7aef81778155be373d3e",4056:"bfc797a09da3c613226a",4097:"da7c14ae1a25fc7163ce",4111:"634a418310e44e2436e0",4123:"dd9be173cddc16a354ed",4167:"9049c81445cc044286f1",4304:"f5741d09fd4e1809f580",4383:"56569d0c2cf5c5167651",4399:"c041f4a1d18d42e27ad7",4496:"c9604f8df909ec4fad46",4522:"83db8bd42f94f97c7cf1",4560:"5bfcb3d87380e7f85b08",4575:"2c0c97acb7714b1e0e01",4594:"6ce4327f63e6eb92bba8",4654:"0512ee54f2259a437fdb",4697:"5348541e0331e1b2b86b",4753:"83c410be12586ce4fb94",4784:"d053c23fce77fb77cc00",4796:"aeac889d95f34b6d3b72",4813:"17fcdaeb42e932712096",4815:"4b21c4815533a43835c3",4929:"be1f3cac908c28c64401",4990:"c3dfa739d109aa9c99a5",4996:"0832bd5195b5791dd803",5011:"99de37e4626f726a4a38",5122:"0f8f217aaf42eb1b9699",5137:"774cbf14c74504458a6f",5141:"622c0552ca3cd674d46c",5165:"bf6e6a5d9e0c04133c05",5180:"6648e68f00d28e12bcf9",5257:"554a8bf4626336e68798",5323:"c96fed4889712f5a9135",5356:"ac03f1b2402598b394d5",5367:"e2fb4bebce3aee406efa",5404:"5e7f35bf1aab93cb1c52",5552:"649caffe8f5dbaad0d7b",5605:"9826a1c66885dbbdc130",5613:"77342fa644507f57c41a",5655:"604f8094992bb642378b",5666:"bf4d9cdcbe6bb8bc9d39",5715:"7317346ed8d7c5bb859d",5740:"822e554d7c985c0181b9",5751:"0dbb350ce651bc236ec8",5804:"46f6a190e3c943b44095",5874:"638ecabe3e22978af5a3",5897:"faa892ad4cc8a90b6c79",5902:"b893012bff5dc55e542d",5913:"e2d012078d51dc2b2802",5924:"67c5f1112a7c65e9eeff",5943:"306e262f148b3057b11b",5962:"68e0f3a9b65092adb82c",5975:"383395add870ab9bba75",6049:"ed75e0962358523f4439",6052:"57211c35a9646f088d86",6061:"63b8193ad90b2ebe6884",6112:"8008f5479f4d16964088",6131:"7a55e9cf27089ee1ef1f",6160:"8eadf90d938753691044",6187:"3fb25912b274f264c84e",6222:"6a225393b63e1e8c7933",6285:"5a73d8b7b01758ed4fdd",6339:"a9f16323666042a9d47f",6343:"f98689562017583f73ee",6424:"9f0f1472f36b42c507d1",6468:"db13c93b4d708a2481db",6528:"6f6bf67a7960b7e9b03e",6650:"974c6b0e3a1f1dd523fa",6737:"9a87c367ee5ba44f3081",6791:"88b7265270feede80e1d",6830:"9258f07c3041741b01cd",6903:"af2f2df3c43b49ad1a70",7060:"7d49219adc68b91abf00",7074:"94c5a2cb1d0559274345",7087:"d9a23fb0c6c936d5e8ec",7136:"729407e372c8353cf871",7243:"5cc5f32b474ee723e192",7301:"3697ec74522cc5059098",7330:"4193c52799aa3b6337c9",7346:"342f61e784c9364a493b",7360:"0e8181e7fc1386d08ffc",7367:"178260e8a263f2f1584f",7444:"db192728fa0ee08a776a",7546:"fdf49f8152eba2bb7f6d",7559:"451555af283b32a10fef",7561:"fd259dd8e3e54fe5ede8",7656:"6eabced7123a65d47292",7677:"c45a314ace9725aa250e",7817:"59f701c30bcd9088b291",7836:"73ddb356121add556994",7848:"17c623db3d9a06a9b711",7883:"a1e1fb43463977e4014c",7937:"d33a5d79f2163ad62b1d",7982:"089821d58267c16ccf0a",7984:"fcdf714339060731fe1c",8010:"c2f925167a43f63289a7",8018:"258180345d6b363c02f7",8039:"10eb89a93c8e31f03c95",8096:"3d0e09ef78dc2fd6957a",8098:"29fb64826bb1351aca8d",8125:"9f18392933c06f1d63b6",8140:"f2692f25ef693cf12ce0",8219:"d89dfa6158189b2f71a3",8241:"a22e5b2874647fe0d31a",8256:"1ff4af55a32a5049e6e2",8288:"4a805e7a57d25c4b595f",8368:"170c346cf5a18adb25b0",8373:"c1822b03302c3db71b1f",8392:"26d3c9c6215c4076f943",8407:"52410198c4b2eccfeadd",8411:"5f6719286a6c9a3ac74b",8446:"b1d0d2407ff2fcb4b67a",8487:"11587332ed09d46fa368",8506:"f08b5fce5f9a5afdcc97",8542:"47cbed70c7eeb72e0203",8551:"93c145a738b3f6cf4ee4",8628:"bbbd58b02a3ee8fe595e",8692:"3adcf78ed1e7cd82666d",8714:"02853ab923245459b32e",8812:"e012b319cc99429fc55e",8887:"213e82a7e3fa5b253ec1",8902:"025891f445869e33252b",8916:"710ee12aa955e3eea371",8947:"26924d2f03b8a1b7a9b2",8948:"e4df3274df946f002ce9",8988:"d942cb9cf82b1c056979",8991:"766e08d0c56b2b31b63b",9e3:"8a87c181b85d0b86b9bb",9013:"609c7c9b7046b3a7acde",9041:"8365707e408d19988356",9062:"7140540b0681fd837996",9141:"7fa46d1e9fcd8c0c6302",9159:"84d301e1b6b0d0b48f51",9172:"dd2b316baae02bbdddac",9186:"0dba3817ccf602973580",9187:"f2b63597ae956db74eb3",9202:"7678177555570682154e",9234:"070839cb71c8e764b8d7",9239:"da2c223375c46d0db4b5",9263:"73e179b04bb931ca9b86",9265:"7000d9158da929a16071",9321:"c938f5d269ba202d10ef",9331:"467cacb501b0417bb4df",9384:"88cbaa91c495d86f4bb0",9402:"aad9a693813b47a51530",9405:"5859e425c9bca96b6c80",9423:"30e0a45a3936a282d4ca",9432:"6f9b8df290b0ce09beae",9468:"1415d4e2f5f3193be004",9506:"3fc44d8cef392b4b9c7a",9547:"cb841e514d4ead8c54a9",9588:"a69e885336eb5d2729fd",9695:"aeabe203da7bcdd580cf",9700:"db298b292a4e43cba72d",9838:"3521a53f826f0ce6ac33",9844:"d7968726733eee609ec6",9867:"5e80566c25c450079827",9875:"667536412dae095055e1",9899:"4c10c42370c1ff7d6479",9926:"a1a42b0d7cd47b647f8a",9930:"f229044615af3142bcb0",9933:"b4273381dc069f4e1fa2",9936:"ba940ebdae84b174a7be",9940:"79c4f10da8360ee60cd2",9945:"65d0ead6a3e4fc83a0ca",9949:"e6a97f9b6f7be8076f85",9953:"2ddb776434a93b8d9e63"}[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&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var o=n.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=n[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e})(),(()=>{var e={76: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[o,s,a]=t;for(var i in s)r.o(s,i)&&(r.m[i]=s[i]);for(a&&a(r);o.length;)e[o.pop()]=1;n(t)}})(),r(2131);var n=r(61322);RemoteClient=n})();
|
package/kernel.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.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.33";let s,r=e;r="4.33.
|
|
5
|
+
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.33";let s,r=e;r="4.33.11";function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
|
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.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const
|
|
5
|
+
const c="20250729",b="6617c2268829fa5b8cc30e70d4b69d6197b7cb48";export{c as buildDate,b as commitHash};
|
package/views/2d/LabelManager.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.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import has from"../../core/has.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import{SymbolFader as o}from"./engine/vectorTiles/decluttering/SymbolFader.js";import{RotationAlignment as a,TranslateAnchor as i}from"./engine/vectorTiles/style/StyleDefinition.js";import{tileSize as
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import has from"../../core/has.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import{SymbolFader as o}from"./engine/vectorTiles/decluttering/SymbolFader.js";import{RotationAlignment as a,TranslateAnchor as i}from"./engine/vectorTiles/style/StyleDefinition.js";import{tileSize as n}from"./engine/webgl/definitions.js";const l=7e6;class c{constructor(){this.styles=new Map,this.layerContexts=new Map}get cachedStyles(){return this.styles}setLabelClassStyle(e,t,s){this.layerContexts.set(e,t),this.styles.set(e,s)}removeContainer(e){for(const[t,s]of this.layerContexts.entries())s===e&&this.layerContexts.delete(t)}}let p=class extends t{constructor(e){super(e),this._faderWorkingSet=[],this._styleRepository=new c,this.lastUpdateId=-1,this.updateRequested=!1,this.view=null;const t=(e,t)=>{e.updateLabelVisibility(),e.requestRender(),e.isReady&&(e.decluttered=!0)};this.symbolFader=new o("feature-tile",this._styleRepository,t,this._faderWorkingSet,n,l)}get updating(){return has("esri-2d-log-updating")&&console.log(`Updating LabelManager ${this.updateRequested}:\n-> updateRequested: ${this.updateRequested}`),this.updateRequested}viewChange(){this.requestUpdate()}requestUpdate(){this.updateRequested||(this.updateRequested=!0,this.view?.requestUpdate())}processUpdate(e){this.doUpdate(e)?this.updateRequested=!1:(this.updateRequested=!0,this.view?.requestUpdate())}setLabelSchemaStyles(e,t){let s;switch(e.type){case"label":s=e.classes;break;case"subtype":s=Array.from(Object.values(e.renderers).flatMap((e=>e.classes)));break;case"cluster":s=[...e.cluster.classes,...e.feature.classes];break;case"track":s=[...e.latestObservation.classes,...e.previousObservation.classes,...e.trackLine.classes]}for(const r of s){const e=d(r);this._styleRepository.setLabelClassStyle(r.labelClassId,t,e)}}removeContainer(e){this._styleRepository.removeContainer(e),this.requestUpdate()}doUpdate(e){this._faderWorkingSet.length=0;const t=this.view;if(!t)return!1;const s=t.allLayerViews.map((e=>e.featureContainer)).filter((e=>!!e&&e?.hasLabels));if(s.length>0){for(const t of s)for(const s of t.tiles||[])s.setTransform(e.state),this._faderWorkingSet.push(s);const r=e.state.scale,o=t.featuresTilingScheme.scaleToZoom(r);return this.symbolFader.update(o,e.state)}return!0}};function d(e){const t="esriGeometryPolyline"===e.geometryType?a.MAP:a.VIEWPORT,s="esriGeometryPolyline"===e.geometryType?i.MAP:i.VIEWPORT;return{geometryType:e.geometryType,iconAllowOverlap:!e.deconflictionEnabled,iconIgnorePlacement:!1,textAllowOverlap:!e.deconflictionEnabled,textIgnorePlacement:!1,iconRotationAlignment:t,textRotationAlignment:t,iconTranslateAnchor:s,iconTranslate:[0,0],textTranslateAnchor:s,textTranslate:[0,0]}}e([s()],p.prototype,"updateRequested",void 0),e([s()],p.prototype,"updating",null),e([s()],p.prototype,"view",void 0),p=e([r("esri.views.2d.LabelManager")],p);export{c as LabelClassStyleRepository,p as LabelManager};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../AggregateGraphic.js";import r from"../../../Graphic.js";import s from"../../../TrackGraphic.js";import{isSome as i}from"../../../core/arrayUtils.js";import a from"../../../core/Collection.js";import{neverReached as o}from"../../../core/compilerUtils.js";import n from"../../../core/Error.js";import{makeHandle as u,handlesGroup as l}from"../../../core/handleUtils.js";import has from"../../../core/has.js";import h from"../../../core/Logger.js";import{destroyMaybe as c}from"../../../core/maybe.js";import{notDeepEqual as p}from"../../../core/object.js";import{createAbortError as d,createResolver as y,ignoreAbortErrors as f,throwIfNotAbortError as g,isAbortError as m}from"../../../core/promiseUtils.js";import{watch as w}from"../../../core/reactiveUtils.js";import{sqlOr as v,sqlIn as _,sqlAnd as b}from"../../../core/sql.js";import{property as F}from"../../../core/accessorSupport/decorators/property.js";import{subclass as S}from"../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as A}from"../../../core/support/UpdatingHandles.js";import j from"../../../geometry/Extent.js";import U from"../../../layers/effects/FeatureEffectView.js";import{convertFromFeature as I}from"../../../layers/graphics/featureConversionUtils.js";import x from"../../../layers/support/FeatureFilter.js";import{checkServiceCurrentUserSupport as E}from"../../../layers/support/featureLayerUtils.js";import{packFields as k}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as C}from"../../../layers/support/layerUtils.js";import{combineTimeExtent as V}from"../../../layers/support/timeSupport.js";import q from"../../../rest/support/AggregateFeatureSet.js";import R from"../../../rest/support/AttributeBinsFeatureSet.js";import O from"../../../rest/support/AttributeBinsQuery.js";import Q from"../../../rest/support/FeatureSet.js";import L from"../../../rest/support/Query.js";import{LayerView2DMixin as T}from"./LayerView2D.js";import{FeatureContainer as D}from"./features/FeatureContainer.js";import{createFeaturePipelineWorkerProxy as P}from"./features/FeaturePipelineWorkerProxy.js";import{FeatureSourceEventLog as W}from"./features/FeatureSourceEventLog.js";import{CatalogFootprintLayerAdapter as M}from"./features/layerAdapters/CatalogFootprintLayerAdapter.js";import{FeatureLayerAdapter as H}from"./features/layerAdapters/FeatureLayerAdapter.js";import{createFeatureIdInfo as N}from"./features/layerAdapters/featureServiceUtils.js";import{InMemoryLayerAdapter as J}from"./features/layerAdapters/InMemoryLayerAdapter.js";import{KnowledgeGraphSublayerAdapter as G}from"./features/layerAdapters/KnowledgeGraphSublayerAdapter.js";import{OGCFeatureLayerAdapter as $}from"./features/layerAdapters/OGCFeatureLayerAdapter.js";import{OrientedImageryLayerAdapter as B}from"./features/layerAdapters/OrientedImageryLayerAdapter.js";import{ParquetLayerAdapter as z}from"./features/layerAdapters/ParquetLayerAdapter.js";import{StreamLayerAdapter as Z}from"./features/layerAdapters/StreamLayerAdapter.js";import{SubtypeGroupLayerAdapter as K}from"./features/layerAdapters/SubtypeGroupLayerAdapter.js";import{createComplexSymbolInstances as X}from"./features/schema/processor/symbols/ComplexSymbolSchema.js";import{DebouncedFeatureOverride as Y}from"./support/DebouncedFeatureOverride.js";import{FeatureCommandQueue as ee}from"./support/FeatureCommandQueue.js";import{handleNoEngineError as te}from"./support/handleNoEngineError.js";import{toJSONGeometryType as re}from"./support/util.js";import{FeatureTileSubscriptionManager as se}from"../tiling/FeatureTileSubscriptionManager.js";import ie from"../../layers/FeatureLayerView.js";import ae from"../../layers/LayerView.js";import oe from"../../layers/RefreshableLayerView.js";import{defaultHighlightName as ne}from"../../support/HighlightDefaults.js";function ue(e,t){const r=new Set;return e&&e.forEach((e=>r.add(e))),t&&t.forEach((e=>r.add(e))),r.has("*")?["*"]:Array.from(r)}const le=4294967294;function he(e,t){return l(e.map((e=>w((()=>{const t=e();return t&&"object"==typeof t?"getTime"in t&&"function"==typeof t.getTime?t.getTime():JSON.stringify(t):t}),t))))}let ce=class extends(ie(oe(T(ae)))){constructor(){super(...arguments),this._commandsQueue=new ee({process:e=>{switch(e.type){case"override-batch":return this._doOverride(e);case"update":return this._doUpdate();case"highlight":return this._updateHighlights()}}}),this._visibilityOverrides=new Set,this._lastAvailableFields=[],this._lastTargetState=null,this.eventLog=new W,this._sourceRefreshVersion=1,this._displayRefreshVersion=1,this._pipelineUpdating=!1,this._editUpdatingHandles=new A,this._fields=null,this._sourceUpdating=!1,this.featureEffectView=new U}destroy(){this._workerProxy?.destroy(),this._workerAttached.reject(d()),this._commandsQueue.destroy()}initialize(){this._workerAttached=y(),f(this._workerAttached.promise),this.addResolvingPromise(this._initProxy()),this.featureEffectView.featureEffect=this.featureEffect,this.featureEffectView.endTransition()}async _initProxy(){const e=this.layer;if("isTable"in e&&e.isTable)throw new n("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e});if(("feature"===e.type||"subtype-group"===e.type)&&!1===C(e)?.operations.supportsQuery)throw new n("featurelayerview:query-not-supported","layer view requires a layer with query capability",{layer:e});this._workerProxy&&this._workerProxy.destroy();const t=this._createClientOptions();this._workerProxy=await P(t)}async _attachProxy(){const e={service:await this.layerAdapter.createServiceOptions(this.view),tileInfoJSON:this.view?.featuresTilingScheme?.tileInfo?.toJSON()};let t=[];Array.isArray(e.service.source)&&(t=e.service.source);try{await this._workerProxy.pipeline.onAttach(e,{transferList:t}),this._workerAttached.resolve()}catch(r){this._workerAttached.reject(d()),g(r)}}async _detachProxy(){return this._workerProxy.pipeline.onDetach()}async getWorker(){return await this._workerAttached.promise,this._workerProxy}get dataUpdating(){return this._sourceUpdating||this._editUpdatingHandles.updating}get effectiveDisplayFilterClause(){const e=this.effectiveDisplayFilter?.where??null;return e&&this.hasHighlight?v(e,_(this.layer.objectIdField,this.highlightIds)):e}get hasAllFeatures(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryAllFeatures}get hasAllFeaturesInView(){const e=this.effectiveDisplayFilter?.where||null,t=!this.eventLog.willQueryAllFeatures&&null!=e&&"1=1"!==e;return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&!t}get hasFullGeometries(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryFullResolutionGeometry}get labelingCollisionInfos(){const e=this.layerAdapter.getLabelingDeconflictionInfo(this.view),t=this.layer.geometryType,r=!this.suspended;return e.map((({vvEvaluators:e,deconflictionEnabled:s,labelingInfo:i})=>({labelingInfo:i,container:this.featureContainer,vvEvaluators:e,deconflictionEnabled:s,geometryType:t,visible:r})))}get layerAdapter(){switch(this.layer.type){case"feature":return"memory"===this.layer.source.type?new J(this.layer):new H(this.layer);case"geojson":case"csv":case"wfs":return new J(this.layer);case"parquet":return new z(this.layer);case"subtype-group":return new K(this.layer);case"ogc-feature":return new $(this.layer);case"stream":return new Z(this.layer);case"oriented-imagery":return new B(this.layer);case"knowledge-graph-sublayer":return new G(this.layer);case"catalog-footprint":return new M(this.layer);default:o(this.layer)}return null}get timeExtent(){return V(this.layerAdapter.timeOptions,this.view?.timeExtent,this._get("timeExtent"))}getDisplayStatistics(e,t){return this.featureContainer?.getDisplayStatistics(e,t)}async queryHeatmapStatistics(e){return(await this.getWorker()).pipeline.queryHeatmapStatistics(e)}highlight(e,t){let s;e instanceof r?s=[e.getObjectId()]:"number"==typeof e||"string"==typeof e?s=[e]:a.isCollection(e)&&e.length>0?s=e.map((e=>e?.getObjectId())).toArray():Array.isArray(e)&&e.length>0&&(s="number"==typeof e[0]||"string"==typeof e[0]?e:e.map((e=>e?.getObjectId())));const o=s?.filter(i);if(!o?.length)return u();const n=t?.name??ne;return this._addHighlights(o,n),u((()=>!this.destroyed&&this._removeHighlights(o,n)))}async hitTest(e,i){const a=await this.featureContainer.hitTest(i);if(0===a.length)return null;const o=await this.getWorker(),{features:n,aggregates:u,tracks:l}=await o.pipeline.getDisplayFeatures(a),h=this.featureContainer.getSortKeys(a),c=({displayId:e},{displayId:t})=>h.has(e)&&h.has(t)?h.get(e)-h.get(t):e-t;return n.sort(c).reverse(),u.sort(c).reverse(),[...u.map((r=>this._createGraphicHit(e,t.fromJSON(r)))),...l.map((t=>this._createGraphicHit(e,s.fromJSON(t)))),...n.map((t=>this._createGraphicHit(e,r.fromJSON(t))))]}async queryStatistics(){const e=await this.getWorker();return te(e.pipeline.queryStatistics(),{featureCount:0,ringCount:0,vertexCount:0})}async querySummaryStatistics(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForSummaryStatistics(this._cleanUpQuery(e),i,r);return te(a,{})}async queryAggregateSummaryStatistics(e,t,r){const s={...t,scale:this.view.scale},i=(await this.getWorker()).aggregates.executeQueryForSummaryStatistics(this._cleanUpAggregateQuery(e),s,r);return te(i,{})}async queryUniqueValues(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForUniqueValues(this._cleanUpQuery(e),i,r);return te(a,{uniqueValueInfos:[]})}async queryAggregateUniqueValues(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForUniqueValues(this._cleanUpAggregateQuery(e),i,r);return te(a,{uniqueValueInfos:[]})}async queryClassBreaks(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForClassBreaks(this._cleanUpQuery(e),i,r);return te(a,{classBreakInfos:[]})}async queryAggregateClassBreaks(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForClassBreaks(this._cleanUpAggregateQuery(e),i,r);return te(a,{classBreakInfos:[]})}async queryHistogram(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForHistogram(this._cleanUpQuery(e),i,r);return te(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateHistogram(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForHistogram(this._cleanUpAggregateQuery(e),i,r);return te(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then((e=>{const t=Q.fromJSON(e);return t.features.forEach((e=>this._setLayersForFeature(e))),t}))}async queryVisibleFeatures(e,t){const r=(await this.getWorker()).pipeline.queryVisibleFeatures(this._cleanUpQuery(e),t),s=await te(r,{features:[]}),i=Q.fromJSON(s);return i.features.forEach((e=>this._setLayersForFeature(e))),i}async queryAggregates(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t),s=await te(r,{features:[]}),i=q.fromJSON(s);return i.features.forEach((e=>this._setLayersForFeature(e))),i}async queryAggregateIds(e,t){const r=(await this.getWorker()).aggregates.executeQueryForIds(this._cleanUpAggregateQuery(e),t);return te(r,[])}async queryAggregateCount(e,t){const r=(await this.getWorker()).aggregates.executeQueryForCount(this._cleanUpAggregateQuery(e),t);return te(r,0)}async queryAggregateJSON(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t);return te(r,{features:[]})}async queryFeaturesJSON(e,t){const r=(await this.getWorker()).features.executeQuery(this._cleanUpQuery(e),t);return te(r,{features:[]})}async queryObjectIds(e,t){const r=(await this.getWorker()).features.executeQueryForIds(this._cleanUpQuery(e),t);return te(r,[])}async queryFeatureCount(e,t){const r=(await this.getWorker()).features.executeQueryForCount(this._cleanUpQuery(e),t);return te(r,0)}async queryExtent(e,t){const r=(await this.getWorker()).features.executeQueryForExtent(this._cleanUpQuery(e),t),s=await te(r,{count:0,extent:null});return{count:s.count,extent:j.fromJSON(s.extent)}}async queryAttributeBins(e,t){const r=(await this.getWorker()).features.executeAttributeBinsQuery(this._cleanUpAttributeBinsQuery(e),t),s=await te(r,{features:[]});return R.fromJSON(s)}async getSampleFeatures(e){return(await this.getWorker()).pipeline.getSampleFeatures(e)}setVisibility(e,t){t?this._visibilityOverrides.delete(e):this._visibilityOverrides.add(e),this._update()}update(e){if(!this.subscriptionManager)return;this.view.animation&&!this._lastTargetState&&(this._lastTargetState=e.state.clone()),!this.view.animation&&this._lastTargetState&&(this._lastTargetState=null);const t=this.subscriptionManager.update(e.targetState,this._lastTargetState),r=this.subscriptionManager.coverageSet;for(const s of this.featureContainer.tiles||[])s.isCoverage=r.has(s.id),s.neededForCoverage=t.has(s.id)||s.isCoverage;this.featureContainer.setVisibleTiles(t)}attach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.attach"),f(this._updatingHandles.addPromise(this._workerAttached.promise)),f(this._attachProxy()),this.featureContainer=new D(this),this.container.addChild(this.featureContainer),this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this.subscriptionManager=new se({tileInfoView:this.view.featuresTilingScheme,updateSubscriptions:e=>{this.featureContainer.updateSubscriptions(e),f(this._updatingHandles.addPromise(this.getWorker().then((t=>t.pipeline.updateSubscriptions(e)))))},isDone:e=>this.featureContainer.isDone(e)}),this.requestUpdate(),this.addAttachHandles([he([()=>this._displayRefreshVersion,()=>this.layer.displayFilterInfo,()=>this.timeExtent,()=>this.clips,()=>this.filter,()=>this.effectiveDisplayFilterClause,()=>this.featureEffect,()=>this._sourceRefreshVersion,()=>this.view.timeZone,()=>this.view.timeExtent,...this.layerAdapter.getUpdateHashProperties(this.view)],(()=>this._update())),w((()=>this.updateSuspended),(e=>{e||(this.subscriptionManager.resume(),this.view.labelManager.requestUpdate())})),w((()=>this.visible),(e=>{this.view.labelManager.requestUpdate()}))]),this._update(),"stream"!==this.layer.type&&"parquet"!==this.layer.type&&"catalog-footprint"!==this.layer.type&&this.addAttachHandles(this.layer.on("edits",(e=>this._editUpdatingHandles.addPromise(this._edit(e)))))}detach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.detach"),this._detachProxy(),this._fields=null,this.featureContainer.destroy(),this.featureContainer=null,this._commandsQueue.clear(),this.container.removeAllChildren(),this.subscriptionManager=c(this.subscriptionManager),this._workerProxy.pipeline.onDetach(),this._workerAttached=y(),f(this._workerAttached.promise),this._lastAvailableFields=[],this._lastSchema=null}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}addOverrides(e){return this._commandsQueue.push({type:"override",options:{...e,release:[]}})}removeOverrides(e){for(const r of e)if(null==r)throw new n("featurelayerview:bad-override","Tried to remove an override for an invalid objectId",{objectId:r});const t={added:[],updated:[],removed:[],release:e,isWeak:!1,historicMoment:null};return this._commandsQueue.push({type:"override",options:t})}isUpdating(){const e="renderer"in this.layer&&null!=this.layer.renderer,t=this._commandsQueue.updateTracking.updating,r=null!=this._updatingRequiredPromise,s=this.featureContainer.updatingHandles.updating,i=this.updateRequested||e&&(t||r)||s||this._pipelineUpdating||this.dataUpdating;if(has("esri-2d-log-updating")){console.log(`Updating FLV2D (${this.layer.id}): ${i}\n -> updateRequested ${this.updateRequested}\n -> hasRenderer ${e}\n -> updatingRequiredFields ${r}\n -> hasPendingCommand ${t}\n -> dataUpdating ${this.dataUpdating}\n -> processing ${this._pipelineUpdating}\n -> updatingContainer ${s}\n`);for(const e of this.featureContainer.subscriptions())console.log(` -> Tile[${e.id}] Done: ${e.done}`)}return i}_createClientOptions(){const e=this;return{get container(){return e.featureContainer},setUpdating:e=>{this._set("_pipelineUpdating",e.pipeline),this._set("_sourceUpdating",e.source)},emitEvent:e=>{this.emit(e.name,e.event)},get eventLog(){return e.eventLog},fetch:async t=>{if(has("esri-2d-stabilize-glyphs")){const r=[];for(const s of t)r.push(await e.view.stage.painter.textureManager.rasterizeItem(s));return r}return Promise.all(t.map((t=>e.view.stage.painter.textureManager.rasterizeItem(t))))},fetchDictionary:e=>Promise.all(e.map((e=>this._fetchDictionaryRequest(e))))}}async _fetchDictionaryRequest(e){try{if("subtype-group"===this.layer.type)throw new Error("InternalError: SubtypeGroupLayer does not support dictionary renderer");const t=this.layer.renderer;if(!t||"dictionary"!==t.type)throw new Error("InternalError: Expected layer to have a DictionaryRenderer");const r=this._lastSchema.processor.mesh.factory.symbology;if("dictionary"!==r.type)throw new Error("InternalError: Expected schema to be of type 'dictionary'");const s={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:r.scaleExpression};this._fields||(this._fields=this.layer.fields.map((e=>e.toJSON())));const i=r.visualVariableUniforms,a=re(this.layer.geometryType),o=await t.getSymbolForControlString(e.controlString,a,!1);if(!o||!o.data)return{type:"dictionary-response",meshes:[]};return{type:"dictionary-response",meshes:await X({...o.data,hasTextStringTemplates:!0},{uniforms:i,path:"renderer",schemaOptions:s})}}catch(t){return{type:"dictionary-response",meshes:[]}}}_cleanUpQuery(e){const t=L.from(e)||this.createQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAttributeBinsQuery(e){const t=O.from(e);return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAggregateQuery(e){const t=L.from(e)||this.createAggregateQuery();t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference);const r=t.objectIds??[];for(const s of t.aggregateIds??[])r.push(s);return t.objectIds=r,t.aggregateIds=[],t.toJSON()}async _update(){return this._commandsQueue.push({type:"update"})}_edit(e){return this.updateSuspended?(this.subscriptionManager.suspend(),Promise.resolve()):this._commandsQueue.push({type:"edit",event:e})}async doRefresh(e){this.attached&&(this.updateSuspended&&e||(e?this.incrementSourceRefreshVersion():this.incrementDisplayRefreshVersion()))}incrementSourceRefreshVersion(){this._sourceRefreshVersion=(this._sourceRefreshVersion+1)%le+1}incrementDisplayRefreshVersion(){this._displayRefreshVersion=(this._displayRefreshVersion+1)%le+1}async _resolveIdenifiers(e){const t=[],r=[];for(const a of e)null==a.objectId||-1===a.objectId?null==a.globalId?h.getLogger(this).warn("mapview-apply-edits","A feature identifier must contain either a GlobalId or ObjectId. Ignoring",{identifier:a}):r.push(a.globalId):t.push(a.objectId);const s="globalIdField"in this.layer&&this.layer.globalIdField,i=s&&this.availableFields.includes(s);if(r.length&&!i)return h.getLogger(this).error(new n("mapview-apply-edits",`Editing the specified service requires the layer's globalIdField, ${s} to be included the layer's outFields for updates to be reflected on the map`)),t;if(r.length){const e=await this._workerProxy.pipeline.getObjectIdsFromGlobalIds(r);for(const r of e)t.push(r)}return t}_resolveOverrides(e){const t=!1,r=!1,s=re(this.layer.geometryType),i=N(this.layer),a=[];for(const o of e.added){const e=I(o,s,t,r,i);if(null==e.objectId)throw new n("featurelayerview:bad-override","Feature does not have an objectId",{feature:o});a.push(e)}for(const o of e.updated){const e=I(o,s,t,r,i);if(null==e.objectId)throw new n("featurelayerview:bad-override","Feature does not have an objectId",{feature:o});a.push(e)}for(const o of e.removed)if(null==o)throw new n("featurelayerview:bad-override","Tried to remove an invalid objectId",{objectId:o});return{type:"override",updates:a,removed:e.removed,release:e.release,isWeak:e.isWeak??!1,historicMoment:e.historicMoment??null}}async _resolveEdit(e){const t=this.layer,r=e.historicMoment?.getTime()??null,s="layerId"in t&&e.editedFeatures?.find((e=>e.layerId===t.layerId));if(s&&this._canEditByFeature(s)){const{adds:e,deletes:t,updates:i}=s.editedFeatures,a=this.layer.objectIdField,o=i.map((e=>e.current)),n=t.map((e=>"attributes"in e?{objectId:a?e.attributes[a]:null}:e)),u=await this._resolveIdenifiers(n);return this._resolveOverrides({added:e,updated:o,removed:u,historicMoment:r,isWeak:!0,release:[]})}const[i,a,o]=await Promise.all([this._resolveIdenifiers(e.addedFeatures),this._resolveIdenifiers(e.updatedFeatures),this._resolveIdenifiers(e.deletedFeatures)]);return{type:"override-by-id",updates:[...i,...a],removed:o,historicMoment:r,isWeak:!0}}_canEditByFeature(e){const{adds:t,updates:r}=e.editedFeatures;return t.every((e=>this.view.spatialReference.equals(e.geometry?.spatialReference)))&&r.every((e=>this.view.spatialReference.equals(e.current.geometry?.spatialReference)))}async _doUpdate(){"featureReduction"in this.layer&&this.layer.featureReduction&&this.layer.featureReduction!==this._lastFeatureReduction&&(this.layer.featureReduction=this.layer.featureReduction?.clone(),this._lastFeatureReduction=this.layer.featureReduction);try{if(await Promise.allSettled([this._handleChange(),E(this.layer)]),this.destroyed||!this.layerAdapter?.hasRequiredSupport||!this.subscriptionManager)return;const e=this.featureContainer.instanceStore;this.featureContainer.attributeView.lockTextureUploads();const t=this._lastSchema?.processor.mesh.factory.symbology?.type;let r=!0;"subtype-group"!==this.layer.type&&"dictionary"===this.layer.renderer?.type&&"dictionary"===t&&(r=!1),e.updateStart(r);const s=this.featureEffect,i={store:e,cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,scaleExpression:void 0},a=await this._createViewSchemaConfig(),o={source:this.layerAdapter.createSourceSchema(a,this._sourceRefreshVersion),processor:await this.layerAdapter.createProcessorSchema(i,a,this._displayRefreshVersion)},n=o.processor.mesh.factory.labels;n&&this.view.labelManager.setLabelSchemaStyles(n,this.featureContainer);const u=p(this._lastSchema?.source.mutable,o.source.mutable)||p(this._lastSchema?.processor,o.processor);if(!u)return this.featureContainer.requestRender(),this.featureContainer.attributeView.unlockTextureUploads(),e.updateEnd(r),void(this.featureEffectView.featureEffect=s);this._lastSchema=o,this._fields=null;const l=Math.round(performance.now());has("esri-2d-update-debug")&&console.debug(`Id[${this.layer.uid}] Version[${l}] FeatureLayerView2D._doUpdate`,{changes:u});const h=await this.getWorker();await h.pipeline.updateSchema(o,l),e.updateEnd(r),this.featureEffectView.featureEffect=s,this.featureEffectView.endTransition(),this.featureContainer.restartAllAnimations(),this.featureContainer.attributeView.unlockTextureUploads(),this.featureContainer.trySwapRenderState(),this.featureContainer.requestRender(),has("esri-2d-update-debug")&&console.debug(`Version[${l}] FeatureLayerView2D.updateEnd`),this.requestUpdate()}catch(e){has("esri-2d-update-debug")&&console.error("Encountered an error during update",e)}}async _doOverride(e){const t=await this.getWorker();try{for(const r of e.messages)switch(r.type){case"edit":{const e=new Y;e.add(await this._resolveEdit(r.event)),await t.pipeline.onOverride(e.toMessage());break}case"override":{const e=new Y;e.add(this._resolveOverrides(r.options)),await t.pipeline.onOverride(e.toMessage());break}}}catch(r){m(r),0}}_getEffectiveAvailableFields(e){const t=ue(this._lastAvailableFields,e);return this._lastAvailableFields=t,k(this.layer.fieldsIndex,t)}async _createViewSchemaConfig(){const e=this.requiresCurrentUser?await this.signedInUser:null,t=[pe(this.view,this.layerAdapter,this.timeExtent,this._visibilityOverrides,this.filter,this.effectiveDisplayFilterClause),this.featureEffect?.filter?.toJSON()??null];return{availableFields:this._getEffectiveAvailableFields(this.availableFields),displayFilterEnabled:this.displayFilterEnabled,filters:t,scale:this.view.scale,timeZone:this.view.timeZone,timeExtent:this.view.timeExtent,currentUser:e}}_processHighlight(){this._commandsQueue.push({type:"highlight"})}async _updateHighlights(){const e=this._getHighlights(),t=await this.getWorker();if(this.destroyed)return;const r=t.pipeline.updateHighlight({highlights:e}).catch((e=>{m(e)||h.getLogger(this).error(e)}));this._updatingHandles.addPromise(r)}_setLayersForFeature(e){e.layer=e.sourceLayer=this.layer,this.layerAdapter.setGraphicOrigin&&this.layerAdapter.setGraphicOrigin(e)}_createGraphicHit(e,t){return this._setLayersForFeature(t),null!=t.geometry&&(t.geometry.spatialReference=this.view.spatialReference),{type:"graphic",graphic:t,layer:this.layer,mapPoint:e}}};function pe(e,t,r,s,i,a){i&&(i=i.clone());const o=null!=i?i.timeExtent:null,n=null!=r&&null!=o?r.intersection(o):r||o;n&&(i??=new x,i.timeExtent=n),i=t.addFilters?.(i,e)??i,a&&(i??=new x,i.where=b(i.where,a));let u=i?.toJSON()??null;return s.size&&(u??=(new x).toJSON(),u.hiddenIds=Array.from(s)),u}e([F()],ce.prototype,"_commandsQueue",void 0),e([F()],ce.prototype,"_sourceRefreshVersion",void 0),e([F()],ce.prototype,"_displayRefreshVersion",void 0),e([F({readOnly:!0})],ce.prototype,"_pipelineUpdating",void 0),e([F()],ce.prototype,"_sourceUpdating",void 0),e([F({readOnly:!0})],ce.prototype,"dataUpdating",null),e([F({readOnly:!0})],ce.prototype,"effectiveDisplayFilterClause",null),e([F({readOnly:!0})],ce.prototype,"hasAllFeatures",null),e([F({readOnly:!0})],ce.prototype,"hasAllFeaturesInView",null),e([F({readOnly:!0})],ce.prototype,"hasFullGeometries",null),e([F()],ce.prototype,"featureEffectView",void 0),e([F()],ce.prototype,"labelingCollisionInfos",null),e([F()],ce.prototype,"layerAdapter",null),e([F({readOnly:!0})],ce.prototype,"timeExtent",null),e([F()],ce.prototype,"updating",void 0),ce=e([S("esri.views.2d.layers.FeatureLayerView2D")],ce);export{ce as default};
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../AggregateGraphic.js";import r from"../../../Graphic.js";import s from"../../../TrackGraphic.js";import{isSome as i}from"../../../core/arrayUtils.js";import a from"../../../core/Collection.js";import{neverReached as o}from"../../../core/compilerUtils.js";import n from"../../../core/Error.js";import{makeHandle as u,handlesGroup as l}from"../../../core/handleUtils.js";import has from"../../../core/has.js";import h from"../../../core/Logger.js";import{destroyMaybe as c}from"../../../core/maybe.js";import{notDeepEqual as p}from"../../../core/object.js";import{createAbortError as d,createResolver as y,ignoreAbortErrors as f,throwIfNotAbortError as g,isAbortError as m}from"../../../core/promiseUtils.js";import{watch as w}from"../../../core/reactiveUtils.js";import{sqlOr as v,sqlIn as _,sqlAnd as b}from"../../../core/sql.js";import{property as F}from"../../../core/accessorSupport/decorators/property.js";import{subclass as S}from"../../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as A}from"../../../core/support/UpdatingHandles.js";import j from"../../../geometry/Extent.js";import U from"../../../layers/effects/FeatureEffectView.js";import{convertFromFeature as I}from"../../../layers/graphics/featureConversionUtils.js";import x from"../../../layers/support/FeatureFilter.js";import{checkServiceCurrentUserSupport as E}from"../../../layers/support/featureLayerUtils.js";import{packFields as k}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as C}from"../../../layers/support/layerUtils.js";import{combineTimeExtent as V}from"../../../layers/support/timeSupport.js";import q from"../../../rest/support/AggregateFeatureSet.js";import R from"../../../rest/support/AttributeBinsFeatureSet.js";import O from"../../../rest/support/AttributeBinsQuery.js";import Q from"../../../rest/support/FeatureSet.js";import L from"../../../rest/support/Query.js";import{LayerView2DMixin as T}from"./LayerView2D.js";import{FeatureContainer as D}from"./features/FeatureContainer.js";import{createFeaturePipelineWorkerProxy as P}from"./features/FeaturePipelineWorkerProxy.js";import{FeatureSourceEventLog as W}from"./features/FeatureSourceEventLog.js";import{CatalogFootprintLayerAdapter as M}from"./features/layerAdapters/CatalogFootprintLayerAdapter.js";import{FeatureLayerAdapter as H}from"./features/layerAdapters/FeatureLayerAdapter.js";import{createFeatureIdInfo as N}from"./features/layerAdapters/featureServiceUtils.js";import{InMemoryLayerAdapter as J}from"./features/layerAdapters/InMemoryLayerAdapter.js";import{KnowledgeGraphSublayerAdapter as G}from"./features/layerAdapters/KnowledgeGraphSublayerAdapter.js";import{OGCFeatureLayerAdapter as $}from"./features/layerAdapters/OGCFeatureLayerAdapter.js";import{OrientedImageryLayerAdapter as B}from"./features/layerAdapters/OrientedImageryLayerAdapter.js";import{ParquetLayerAdapter as z}from"./features/layerAdapters/ParquetLayerAdapter.js";import{StreamLayerAdapter as Z}from"./features/layerAdapters/StreamLayerAdapter.js";import{SubtypeGroupLayerAdapter as K}from"./features/layerAdapters/SubtypeGroupLayerAdapter.js";import{createComplexSymbolInstances as X}from"./features/schema/processor/symbols/ComplexSymbolSchema.js";import{DebouncedFeatureOverride as Y}from"./support/DebouncedFeatureOverride.js";import{FeatureCommandQueue as ee}from"./support/FeatureCommandQueue.js";import{handleNoEngineError as te}from"./support/handleNoEngineError.js";import{toJSONGeometryType as re}from"./support/util.js";import{FeatureTileSubscriptionManager as se}from"../tiling/FeatureTileSubscriptionManager.js";import ie from"../../layers/FeatureLayerView.js";import ae from"../../layers/LayerView.js";import oe from"../../layers/RefreshableLayerView.js";import{defaultHighlightName as ne}from"../../support/HighlightDefaults.js";function ue(e,t){const r=new Set;return e&&e.forEach((e=>r.add(e))),t&&t.forEach((e=>r.add(e))),r.has("*")?["*"]:Array.from(r)}const le=4294967294;function he(e,t){return l(e.map((e=>w((()=>{const t=e();return t&&"object"==typeof t?"getTime"in t&&"function"==typeof t.getTime?t.getTime():JSON.stringify(t):t}),t))))}let ce=class extends(ie(oe(T(ae)))){constructor(){super(...arguments),this._commandsQueue=new ee({process:e=>{switch(e.type){case"override-batch":return this._doOverride(e);case"update":return this._doUpdate();case"highlight":return this._updateHighlights()}}}),this._visibilityOverrides=new Set,this._lastAvailableFields=[],this._lastTargetState=null,this.eventLog=new W,this._sourceRefreshVersion=1,this._displayRefreshVersion=1,this._pipelineUpdating=!1,this._editUpdatingHandles=new A,this._fields=null,this._sourceUpdating=!1,this.featureEffectView=new U}destroy(){this._workerProxy?.destroy(),this._workerAttached.reject(d()),this._commandsQueue.destroy()}initialize(){this._workerAttached=y(),f(this._workerAttached.promise),this.addResolvingPromise(this._initProxy()),this.featureEffectView.featureEffect=this.featureEffect,this.featureEffectView.endTransition()}async _initProxy(){const e=this.layer;if("isTable"in e&&e.isTable)throw new n("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e});if(("feature"===e.type||"subtype-group"===e.type)&&!1===C(e)?.operations.supportsQuery)throw new n("featurelayerview:query-not-supported","layer view requires a layer with query capability",{layer:e});this._workerProxy&&this._workerProxy.destroy();const t=this._createClientOptions();this._workerProxy=await P(t)}async _attachProxy(){const e={service:await this.layerAdapter.createServiceOptions(this.view),tileInfoJSON:this.view?.featuresTilingScheme?.tileInfo?.toJSON()};let t=[];Array.isArray(e.service.source)&&(t=e.service.source);try{await this._workerProxy.pipeline.onAttach(e,{transferList:t}),this._workerAttached.resolve()}catch(r){this._workerAttached.reject(d()),g(r)}}async _detachProxy(){return this._workerProxy.pipeline.onDetach()}async getWorker(){return await this._workerAttached.promise,this._workerProxy}get dataUpdating(){return this._sourceUpdating||this._editUpdatingHandles.updating}get effectiveDisplayFilterClause(){const e=this.effectiveDisplayFilter?.where??null;return e&&this.hasHighlight?v(e,_(this.layer.objectIdField,this.highlightIds)):e}get hasAllFeatures(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryAllFeatures}get hasAllFeaturesInView(){const e=this.effectiveDisplayFilter?.where||null,t=!this.eventLog.willQueryAllFeatures&&null!=e&&"1=1"!==e;return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&!t}get hasFullGeometries(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryFullResolutionGeometry}get labelingCollisionInfos(){const e=this.layerAdapter.getLabelingDeconflictionInfo(this.view),t=this.layer.geometryType,r=!this.suspended;return e.map((({vvEvaluators:e,deconflictionEnabled:s,labelingInfo:i})=>({labelingInfo:i,container:this.featureContainer,vvEvaluators:e,deconflictionEnabled:s,geometryType:t,visible:r})))}get layerAdapter(){switch(this.layer.type){case"feature":return"memory"===this.layer.source.type?new J(this.layer):new H(this.layer);case"geojson":case"csv":case"wfs":return new J(this.layer);case"parquet":return new z(this.layer);case"subtype-group":return new K(this.layer);case"ogc-feature":return new $(this.layer);case"stream":return new Z(this.layer);case"oriented-imagery":return new B(this.layer);case"knowledge-graph-sublayer":return new G(this.layer);case"catalog-footprint":return new M(this.layer);default:o(this.layer)}return null}get timeExtent(){return V(this.layerAdapter.timeOptions,this.view?.timeExtent,this._get("timeExtent"))}getDisplayStatistics(e,t){return this.featureContainer?.getDisplayStatistics(e,t)}async queryHeatmapStatistics(e){return(await this.getWorker()).pipeline.queryHeatmapStatistics(e)}highlight(e,t){let s;e instanceof r?s=[e.getObjectId()]:"number"==typeof e||"string"==typeof e?s=[e]:a.isCollection(e)&&e.length>0?s=e.map((e=>e?.getObjectId())).toArray():Array.isArray(e)&&e.length>0&&(s="number"==typeof e[0]||"string"==typeof e[0]?e:e.map((e=>e?.getObjectId())));const o=s?.filter(i);if(!o?.length)return u();const n=t?.name??ne;return this._addHighlights(o,n),u((()=>!this.destroyed&&this._removeHighlights(o,n)))}async hitTest(e,i){const a=await this.featureContainer.hitTest(i);if(0===a.length)return null;const o=await this.getWorker(),{features:n,aggregates:u,tracks:l}=await o.pipeline.getDisplayFeatures(a),h=this.featureContainer.getSortKeys(a),c=({displayId:e},{displayId:t})=>h.has(e)&&h.has(t)?h.get(e)-h.get(t):e-t;return n.sort(c).reverse(),u.sort(c).reverse(),[...u.map((r=>this._createGraphicHit(e,t.fromJSON(r)))),...l.map((t=>this._createGraphicHit(e,s.fromJSON(t)))),...n.map((t=>this._createGraphicHit(e,r.fromJSON(t))))]}async queryStatistics(){const e=await this.getWorker();return te(e.pipeline.queryStatistics(),{featureCount:0,ringCount:0,vertexCount:0})}async querySummaryStatistics(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForSummaryStatistics(this._cleanUpQuery(e),i,r);return te(a,{})}async queryAggregateSummaryStatistics(e,t,r){const s={...t,scale:this.view.scale},i=(await this.getWorker()).aggregates.executeQueryForSummaryStatistics(this._cleanUpAggregateQuery(e),s,r);return te(i,{})}async queryUniqueValues(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForUniqueValues(this._cleanUpQuery(e),i,r);return te(a,{uniqueValueInfos:[]})}async queryAggregateUniqueValues(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForUniqueValues(this._cleanUpAggregateQuery(e),i,r);return te(a,{uniqueValueInfos:[]})}async queryClassBreaks(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForClassBreaks(this._cleanUpQuery(e),i,r);return te(a,{classBreakInfos:[]})}async queryAggregateClassBreaks(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForClassBreaks(this._cleanUpAggregateQuery(e),i,r);return te(a,{classBreakInfos:[]})}async queryHistogram(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForHistogram(this._cleanUpQuery(e),i,r);return te(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateHistogram(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForHistogram(this._cleanUpAggregateQuery(e),i,r);return te(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then((e=>{const t=Q.fromJSON(e);return t.features.forEach((e=>this._setLayersForFeature(e))),t}))}async queryVisibleFeatures(e,t){const r=(await this.getWorker()).pipeline.queryVisibleFeatures(this._cleanUpQuery(e),t),s=await te(r,{features:[]}),i=Q.fromJSON(s);return i.features.forEach((e=>this._setLayersForFeature(e))),i}async queryAggregates(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t),s=await te(r,{features:[]}),i=q.fromJSON(s);return i.features.forEach((e=>this._setLayersForFeature(e))),i}async queryAggregateIds(e,t){const r=(await this.getWorker()).aggregates.executeQueryForIds(this._cleanUpAggregateQuery(e),t);return te(r,[])}async queryAggregateCount(e,t){const r=(await this.getWorker()).aggregates.executeQueryForCount(this._cleanUpAggregateQuery(e),t);return te(r,0)}async queryAggregateJSON(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t);return te(r,{features:[]})}async queryFeaturesJSON(e,t){const r=(await this.getWorker()).features.executeQuery(this._cleanUpQuery(e),t);return te(r,{features:[]})}async queryObjectIds(e,t){const r=(await this.getWorker()).features.executeQueryForIds(this._cleanUpQuery(e),t);return te(r,[])}async queryFeatureCount(e,t){const r=(await this.getWorker()).features.executeQueryForCount(this._cleanUpQuery(e),t);return te(r,0)}async queryExtent(e,t){const r=(await this.getWorker()).features.executeQueryForExtent(this._cleanUpQuery(e),t),s=await te(r,{count:0,extent:null});return{count:s.count,extent:j.fromJSON(s.extent)}}async queryAttributeBins(e,t){const r=(await this.getWorker()).features.executeAttributeBinsQuery(this._cleanUpAttributeBinsQuery(e),t),s=await te(r,{features:[]});return R.fromJSON(s)}async getSampleFeatures(e){return(await this.getWorker()).pipeline.getSampleFeatures(e)}setVisibility(e,t){t?this._visibilityOverrides.delete(e):this._visibilityOverrides.add(e),this._update()}update(e){if(!this.subscriptionManager)return;this.view.animation&&!this._lastTargetState&&(this._lastTargetState=e.state.clone()),!this.view.animation&&this._lastTargetState&&(this._lastTargetState=null);const t=this.subscriptionManager.update(e.targetState,this._lastTargetState),r=this.subscriptionManager.coverageSet;for(const s of this.featureContainer.tiles||[])s.isCoverage=r.has(s.id),s.neededForCoverage=t.has(s.id)||s.isCoverage;this.featureContainer.setVisibleTiles(t)}attach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.attach"),f(this._updatingHandles.addPromise(this._workerAttached.promise)),f(this._attachProxy()),this.featureContainer=new D(this),this.container.addChild(this.featureContainer),this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this.subscriptionManager=new se({tileInfoView:this.view.featuresTilingScheme,updateSubscriptions:e=>{this.featureContainer.updateSubscriptions(e),f(this._updatingHandles.addPromise(this.getWorker().then((t=>t.pipeline.updateSubscriptions(e)))))},isDone:e=>this.featureContainer.isDone(e)}),this.requestUpdate(),this.addAttachHandles([he([()=>this._displayRefreshVersion,()=>this.layer.displayFilterInfo,()=>this.timeExtent,()=>this.clips,()=>this.filter,()=>this.effectiveDisplayFilterClause,()=>this.featureEffect,()=>this._sourceRefreshVersion,()=>this.view.timeZone,()=>this.view.timeExtent,...this.layerAdapter.getUpdateHashProperties(this.view)],(()=>this._update())),w((()=>this.updateSuspended),(e=>{e||(this.subscriptionManager.resume(),this.view.labelManager.requestUpdate())})),w((()=>this.visible),(e=>{this.view.labelManager.requestUpdate()}))]),this._update(),"stream"!==this.layer.type&&"parquet"!==this.layer.type&&"catalog-footprint"!==this.layer.type&&this.addAttachHandles(this.layer.on("edits",(e=>this._editUpdatingHandles.addPromise(this._edit(e)))))}detach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.detach"),this._detachProxy(),this._fields=null,this.view.labelManager.removeContainer(this.featureContainer),this.featureContainer.destroy(),this.featureContainer=null,this._commandsQueue.clear(),this.container.removeAllChildren(),this.subscriptionManager=c(this.subscriptionManager),this._workerProxy.pipeline.onDetach(),this._workerAttached=y(),f(this._workerAttached.promise),this._lastAvailableFields=[],this._lastSchema=null}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}addOverrides(e){return this._commandsQueue.push({type:"override",options:{...e,release:[]}})}removeOverrides(e){for(const r of e)if(null==r)throw new n("featurelayerview:bad-override","Tried to remove an override for an invalid objectId",{objectId:r});const t={added:[],updated:[],removed:[],release:e,isWeak:!1,historicMoment:null};return this._commandsQueue.push({type:"override",options:t})}isUpdating(){const e="renderer"in this.layer&&null!=this.layer.renderer,t=this._commandsQueue.updateTracking.updating,r=null!=this._updatingRequiredPromise,s=this.featureContainer.updatingHandles.updating,i=this.updateRequested||e&&(t||r)||s||this._pipelineUpdating||this.dataUpdating;if(has("esri-2d-log-updating")){console.log(`Updating FLV2D (${this.layer.id}): ${i}\n -> updateRequested ${this.updateRequested}\n -> hasRenderer ${e}\n -> updatingRequiredFields ${r}\n -> hasPendingCommand ${t}\n -> dataUpdating ${this.dataUpdating}\n -> processing ${this._pipelineUpdating}\n -> updatingContainer ${s}\n`);for(const e of this.featureContainer.subscriptions())console.log(` -> Tile[${e.id}] Done: ${e.done}`)}return i}_createClientOptions(){const e=this;return{get container(){return e.featureContainer},setUpdating:e=>{this._set("_pipelineUpdating",e.pipeline),this._set("_sourceUpdating",e.source)},emitEvent:e=>{this.emit(e.name,e.event)},get eventLog(){return e.eventLog},fetch:async t=>{if(has("esri-2d-stabilize-glyphs")){const r=[];for(const s of t)r.push(await e.view.stage.painter.textureManager.rasterizeItem(s));return r}return Promise.all(t.map((t=>e.view.stage.painter.textureManager.rasterizeItem(t))))},fetchDictionary:e=>Promise.all(e.map((e=>this._fetchDictionaryRequest(e))))}}async _fetchDictionaryRequest(e){try{if("subtype-group"===this.layer.type)throw new Error("InternalError: SubtypeGroupLayer does not support dictionary renderer");const t=this.layer.renderer;if(!t||"dictionary"!==t.type)throw new Error("InternalError: Expected layer to have a DictionaryRenderer");const r=this._lastSchema.processor.mesh.factory.symbology;if("dictionary"!==r.type)throw new Error("InternalError: Expected schema to be of type 'dictionary'");const s={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:r.scaleExpression};this._fields||(this._fields=this.layer.fields.map((e=>e.toJSON())));const i=r.visualVariableUniforms,a=re(this.layer.geometryType),o=await t.getSymbolForControlString(e.controlString,a,!1);if(!o||!o.data)return{type:"dictionary-response",meshes:[]};return{type:"dictionary-response",meshes:await X({...o.data,hasTextStringTemplates:!0},{uniforms:i,path:"renderer",schemaOptions:s})}}catch(t){return{type:"dictionary-response",meshes:[]}}}_cleanUpQuery(e){const t=L.from(e)||this.createQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAttributeBinsQuery(e){const t=O.from(e);return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAggregateQuery(e){const t=L.from(e)||this.createAggregateQuery();t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference);const r=t.objectIds??[];for(const s of t.aggregateIds??[])r.push(s);return t.objectIds=r,t.aggregateIds=[],t.toJSON()}async _update(){return this._commandsQueue.push({type:"update"})}_edit(e){return this.updateSuspended?(this.subscriptionManager.suspend(),Promise.resolve()):this._commandsQueue.push({type:"edit",event:e})}async doRefresh(e){this.attached&&(this.updateSuspended&&e||(e?this.incrementSourceRefreshVersion():this.incrementDisplayRefreshVersion()))}incrementSourceRefreshVersion(){this._sourceRefreshVersion=(this._sourceRefreshVersion+1)%le+1}incrementDisplayRefreshVersion(){this._displayRefreshVersion=(this._displayRefreshVersion+1)%le+1}async _resolveIdenifiers(e){const t=[],r=[];for(const a of e)null==a.objectId||-1===a.objectId?null==a.globalId?h.getLogger(this).warn("mapview-apply-edits","A feature identifier must contain either a GlobalId or ObjectId. Ignoring",{identifier:a}):r.push(a.globalId):t.push(a.objectId);const s="globalIdField"in this.layer&&this.layer.globalIdField,i=s&&this.availableFields.includes(s);if(r.length&&!i)return h.getLogger(this).error(new n("mapview-apply-edits",`Editing the specified service requires the layer's globalIdField, ${s} to be included the layer's outFields for updates to be reflected on the map`)),t;if(r.length){const e=await this._workerProxy.pipeline.getObjectIdsFromGlobalIds(r);for(const r of e)t.push(r)}return t}_resolveOverrides(e){const t=!1,r=!1,s=re(this.layer.geometryType),i=N(this.layer),a=[];for(const o of e.added){const e=I(o,s,t,r,i);if(null==e.objectId)throw new n("featurelayerview:bad-override","Feature does not have an objectId",{feature:o});a.push(e)}for(const o of e.updated){const e=I(o,s,t,r,i);if(null==e.objectId)throw new n("featurelayerview:bad-override","Feature does not have an objectId",{feature:o});a.push(e)}for(const o of e.removed)if(null==o)throw new n("featurelayerview:bad-override","Tried to remove an invalid objectId",{objectId:o});return{type:"override",updates:a,removed:e.removed,release:e.release,isWeak:e.isWeak??!1,historicMoment:e.historicMoment??null}}async _resolveEdit(e){const t=this.layer,r=e.historicMoment?.getTime()??null,s="layerId"in t&&e.editedFeatures?.find((e=>e.layerId===t.layerId));if(s&&this._canEditByFeature(s)){const{adds:e,deletes:t,updates:i}=s.editedFeatures,a=this.layer.objectIdField,o=i.map((e=>e.current)),n=t.map((e=>"attributes"in e?{objectId:a?e.attributes[a]:null}:e)),u=await this._resolveIdenifiers(n);return this._resolveOverrides({added:e,updated:o,removed:u,historicMoment:r,isWeak:!0,release:[]})}const[i,a,o]=await Promise.all([this._resolveIdenifiers(e.addedFeatures),this._resolveIdenifiers(e.updatedFeatures),this._resolveIdenifiers(e.deletedFeatures)]);return{type:"override-by-id",updates:[...i,...a],removed:o,historicMoment:r,isWeak:!0}}_canEditByFeature(e){const{adds:t,updates:r}=e.editedFeatures;return t.every((e=>this.view.spatialReference.equals(e.geometry?.spatialReference)))&&r.every((e=>this.view.spatialReference.equals(e.current.geometry?.spatialReference)))}async _doUpdate(){"featureReduction"in this.layer&&this.layer.featureReduction&&this.layer.featureReduction!==this._lastFeatureReduction&&(this.layer.featureReduction=this.layer.featureReduction?.clone(),this._lastFeatureReduction=this.layer.featureReduction);try{if(await Promise.allSettled([this._handleChange(),E(this.layer)]),this.destroyed||!this.layerAdapter?.hasRequiredSupport||!this.subscriptionManager)return;const e=this.featureContainer.instanceStore;this.featureContainer.attributeView.lockTextureUploads();const t=this._lastSchema?.processor.mesh.factory.symbology?.type;let r=!0;"subtype-group"!==this.layer.type&&"dictionary"===this.layer.renderer?.type&&"dictionary"===t&&(r=!1),e.updateStart(r);const s=this.featureEffect,i={store:e,cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,scaleExpression:void 0},a=await this._createViewSchemaConfig(),o={source:this.layerAdapter.createSourceSchema(a,this._sourceRefreshVersion),processor:await this.layerAdapter.createProcessorSchema(i,a,this._displayRefreshVersion)},n=o.processor.mesh.factory.labels;n&&this.view.labelManager.setLabelSchemaStyles(n,this.featureContainer);const u=p(this._lastSchema?.source.mutable,o.source.mutable)||p(this._lastSchema?.processor,o.processor);if(!u)return this.featureContainer.requestRender(),this.featureContainer.attributeView.unlockTextureUploads(),e.updateEnd(r),void(this.featureEffectView.featureEffect=s);this._lastSchema=o,this._fields=null;const l=Math.round(performance.now());has("esri-2d-update-debug")&&console.debug(`Id[${this.layer.uid}] Version[${l}] FeatureLayerView2D._doUpdate`,{changes:u});const h=await this.getWorker();await h.pipeline.updateSchema(o,l),e.updateEnd(r),this.featureEffectView.featureEffect=s,this.featureEffectView.endTransition(),this.featureContainer.restartAllAnimations(),this.featureContainer.attributeView.unlockTextureUploads(),this.featureContainer.trySwapRenderState(),this.featureContainer.requestRender(),has("esri-2d-update-debug")&&console.debug(`Version[${l}] FeatureLayerView2D.updateEnd`),this.requestUpdate()}catch(e){has("esri-2d-update-debug")&&console.error("Encountered an error during update",e)}}async _doOverride(e){const t=await this.getWorker();try{for(const r of e.messages)switch(r.type){case"edit":{const e=new Y;e.add(await this._resolveEdit(r.event)),await t.pipeline.onOverride(e.toMessage());break}case"override":{const e=new Y;e.add(this._resolveOverrides(r.options)),await t.pipeline.onOverride(e.toMessage());break}}}catch(r){m(r),0}}_getEffectiveAvailableFields(e){const t=ue(this._lastAvailableFields,e);return this._lastAvailableFields=t,k(this.layer.fieldsIndex,t)}async _createViewSchemaConfig(){const e=this.requiresCurrentUser?await this.signedInUser:null,t=[pe(this.view,this.layerAdapter,this.timeExtent,this._visibilityOverrides,this.filter,this.effectiveDisplayFilterClause),this.featureEffect?.filter?.toJSON()??null];return{availableFields:this._getEffectiveAvailableFields(this.availableFields),displayFilterEnabled:this.displayFilterEnabled,filters:t,scale:this.view.scale,timeZone:this.view.timeZone,timeExtent:this.view.timeExtent,currentUser:e}}_processHighlight(){this._commandsQueue.push({type:"highlight"})}async _updateHighlights(){const e=this._getHighlights(),t=await this.getWorker();if(this.destroyed)return;const r=t.pipeline.updateHighlight({highlights:e}).catch((e=>{m(e)||h.getLogger(this).error(e)}));this._updatingHandles.addPromise(r)}_setLayersForFeature(e){e.layer=e.sourceLayer=this.layer,this.layerAdapter.setGraphicOrigin&&this.layerAdapter.setGraphicOrigin(e)}_createGraphicHit(e,t){return this._setLayersForFeature(t),null!=t.geometry&&(t.geometry.spatialReference=this.view.spatialReference),{type:"graphic",graphic:t,layer:this.layer,mapPoint:e}}};function pe(e,t,r,s,i,a){i&&(i=i.clone());const o=null!=i?i.timeExtent:null,n=null!=r&&null!=o?r.intersection(o):r||o;n&&(i??=new x,i.timeExtent=n),i=t.addFilters?.(i,e)??i,a&&(i??=new x,i.where=b(i.where,a));let u=i?.toJSON()??null;return s.size&&(u??=(new x).toJSON(),u.hiddenIds=Array.from(s)),u}e([F()],ce.prototype,"_commandsQueue",void 0),e([F()],ce.prototype,"_sourceRefreshVersion",void 0),e([F()],ce.prototype,"_displayRefreshVersion",void 0),e([F({readOnly:!0})],ce.prototype,"_pipelineUpdating",void 0),e([F()],ce.prototype,"_sourceUpdating",void 0),e([F({readOnly:!0})],ce.prototype,"dataUpdating",null),e([F({readOnly:!0})],ce.prototype,"effectiveDisplayFilterClause",null),e([F({readOnly:!0})],ce.prototype,"hasAllFeatures",null),e([F({readOnly:!0})],ce.prototype,"hasAllFeaturesInView",null),e([F({readOnly:!0})],ce.prototype,"hasFullGeometries",null),e([F()],ce.prototype,"featureEffectView",void 0),e([F()],ce.prototype,"labelingCollisionInfos",null),e([F()],ce.prototype,"layerAdapter",null),e([F({readOnly:!0})],ce.prototype,"timeExtent",null),e([F()],ce.prototype,"updating",void 0),ce=e([S("esri.views.2d.layers.FeatureLayerView2D")],ce);export{ce as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import has from"../../../../core/has.js";import{throwIfAborted as
|
|
5
|
+
import has from"../../../../core/has.js";import{destroyMaybe as e}from"../../../../core/maybe.js";import{throwIfAborted as t,createResolver as s}from"../../../../core/promiseUtils.js";import{UpdatingHandles as r}from"../../../../core/support/UpdatingHandles.js";import{AFeatureContainer as i}from"../../engine/AFeatureContainer.js";import{WGLDrawPhase as n,FeatureSelection as a,FeatureBatchingStrategy as o}from"../../engine/webgl/enums.js";import h from"../../engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js";import{Techniques as d}from"../../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import{TechniqueType as l}from"../../engine/webgl/shaderGraph/techniques/TechniqueType.js";import{RenderState as u}from"./RenderState.js";import{renderHighlight as c}from"../support/util.js";class _{constructor(e,t){this.id=e,this.version=t,this._resolver=s(),this._done=!1}get done(){return this._done}get promise(){return this._resolver.promise}end(){this._resolver.resolve(),this._done=!0}destroy(){this._resolver.reject()}}class p extends i{constructor(e){super(e.view.featuresTilingScheme),this.updatingHandles=new r,this._hitTestsRequests=[],this._store=new h,this._visibleTiles=new Set,this._subscriptions=new Map,this._updateStatisticsRequests=[],this._lockStatisticUpdates=!1,this._shouldUnlockAttributeView=!1,this._layerView=e,this.addTransitionable(this._layerView.featureEffectView)}destroy(){super.destroy(),this._renderState=e(this._renderState),this._renderStateNext=e(this._renderStateNext)}renderChildren(e){if(this._updateAttributeView(),this._renderState?.update(this.attributeView.currentEpoch),this._layerView.requestUpdate(),this._renderState){const e=Array.from(this._renderState.tiles()).filter((e=>e.needsUpload));if(e.length){e[Math.floor(Math.random()*e.length)].upload(),e.length>=2&&this.requestRender()}for(const t of this._renderState.tiles())t.tryReady(this.attributeView.currentEpoch)&&(this._subscriptions.get(t.key.id)?.end(),this._layerView.requestUpdate(),this.hasLabels&&this._layerView.view.labelManager.requestUpdate(),this._layerView.view.labelManager.symbolFader.restartDeclutter(),this.requestRender())}const t=this._layerView.subscriptionManager.updateVisibility();this.setVisibleTiles(t);for(const s of this.children)s.setTransform(e.state);switch(super.renderChildren(e),e.drawPhase){case n.MAP:return this._renderMapPhase(e);case n.HIGHLIGHT:return this._renderHighlightPhase(e);case n.LABEL:return this._renderLabelPhase(e)}}subscriptions(){return this._subscriptions.values()}get _instanceStore(){return this._store}get instanceStore(){return this._store}get layerView(){return this._layerView}get hasLabels(){return this._layerView.labelingCollisionInfos.length>0}get hasHighlight(){return this._layerView.hasHighlight}get _layer(){return this._layerView.layer}_getHeatmapInstance(e){if(null==this._instanceStore||!(e.drawPhase&d.heatmap.drawPhase))return null;for(const t of this._instanceStore.values())if(f(t))return t;return null}get tiles(){return this._renderState?.tiles()}get children(){return this._renderState?Array.from(this._renderState.tiles()).filter((e=>this._visibleTiles.has(e.key.id))):[]}updateAttributeView(e){this.requestRender(),this.attributeView.requestUpdate(e),this.hasLabels&&(this._layerView.view.labelManager.requestUpdate(),this._layerView.view.labelManager.symbolFader.restartDeclutter())}updateSubscriptions(e){for(const{tileId:t,version:s}of e.subscribe)if(this._subscriptions.has(t))this._subscriptions.get(t).version=s;else{const e=new _(t,s);this._subscriptions.set(t,e),this.updatingHandles.addPromise(e.promise)}for(const t of e.unsubscribe){const e=this._subscriptions.get(t);e?.destroy(),this._subscriptions.delete(t),this.removeTile(t)}}isDone(e){return!!this._renderState&&this._renderState.isTileDone(e)}async updateRenderState(e){has("esri-2d-update-debug")&&console.debug(`Version[${e}] FeatureContainer.updateRenderState`),this._renderStateNext=new u((()=>this._stage),(e=>this._subscriptions.get(e)?.version),e,this.layerView.view.labelManager.symbolFader,this,this.tileInfoView)}getDisplayStatistics(e,t){const s=this._statisticsByLevel.get(e);return s?s.get(t):null}updateStatistics(e,t){if(this._lockStatisticUpdates)return void this._updateStatisticsRequests.push({level:e,statistics:t});let s=this._statisticsByLevel.get(e);s||(s=new Map,this._statisticsByLevel.set(e,s));for(const r of t)s.set(r.fieldName,{minValue:r.minValue,maxValue:r.maxValue})}lockForOverrides(){this._renderState?.lockUploads(),this._lockStatisticUpdates=!0,this.attributeView.locked||(this.attributeView.lockTextureUploads(),this._shouldUnlockAttributeView=!0)}unlockForOverrides(){this._renderState?.unlockUploads(),this._shouldUnlockAttributeView&&(this.attributeView.unlockTextureUploads(),this._shouldUnlockAttributeView=!1),this._lockStatisticUpdates=!1;for(const e of this._updateStatisticsRequests)this.updateStatistics(e.level,e.statistics);this._updateStatisticsRequests=[],this._renderState?.flush(),this.requestRender()}trySwapRenderState(){if(this._renderStateNext){has("esri-2d-update-debug")&&console.debug(`Version[${this._renderStateNext.version}] FeatureContainer.update.swapRenderState`);const e=new Map;for(const t of this._renderState?.tiles()||[])e.set(t.id,t.metricsVisibility);this._renderState?.destroy(),this._renderState=this._renderStateNext,this._renderState.flush();for(const t of this._renderState.tiles())t.copyMetricsVisibility(e.get(t.id)||new Set);this._renderStateNext=null}this.requestRender()}setVisibleTiles(e){this._visibleTiles=e;for(const t of this.tiles??[])t.rendering=e.has(t.key.id)}async onMessage(e,s){t(s);const r=e.inner;if(!this._subscriptions.has(r.id))return;const i=this._subscriptions.get(r.id);if(i.version!==r.subscriptionVesrion){if(has("esri-2d-update-debug")){const e=`${r.subscriptionVesrion} != ${i.version}`;console.debug(`Version[${e}] Tile[${r.id}] FeatureContainer - Dropping message, outdated version]`,r)}return}const n=this._renderStateNext??this._renderState;if(!n)throw new Error("InternalError: No renderState defined");n.version!==r.version&&console.error(`InternalError: Version mismatch. [renderState: ${n.version}, message: ${r.version}]`),n.enqueueUpdate(e),this.requestRender(),this._layerView.view.labelManager.requestUpdate(),this._layerView.requestUpdate()}removeTile(e){(this._renderState||this._renderStateNext)&&(this._renderState&&this._renderState.removeTile(e),this._renderStateNext&&this._renderStateNext.removeTile(e))}hitTest(e){let t=this._hitTestsRequests.find((({x:t,y:s})=>t===e.x&&s===e.y));const r=s();return t?t.resolvers.push(r):(t={x:e.x,y:e.y,resolvers:[r]},this._hitTestsRequests.push(t)),this.requestRender(),r.promise}getSortKeys(e){const t=new Set(e),s=new Map;for(const r of this.children)if(r.getSortKeys(t).forEach(((e,t)=>s.set(t,e))),s.size===t.size)break;return s}get hasAnimation(){return this.hasLabels}doRender(e){const{minScale:t,maxScale:s}=this._layer.effectiveScaleRange,r=e.state.scale;r<=(t||1/0)&&r>=s&&super.doRender(e)}afterRender(e){super.afterRender(e),this._hitTestsRequests.length&&this.requestRender()}setStencilReference(e){if(null==this._getHeatmapInstance(e))super.setStencilReference(e);else for(const t of this.children)t.stencilRef=d.heatmap.getStencilReference(t)}_renderMapPhase(e){this._layerView.featureEffectView.hasEffects?(this._renderOutsideEffect(e),this._renderInsideEffect(e)):this._renderFeatures(e,a.All),this._hitTestsRequests.length>0&&this._renderHittest(e)}_renderHighlightPhase(e){this.hasHighlight&&c(e,!1,(e=>{this._renderFeatures(e,a.Highlight)}))}_renderLabelPhase(e){this._renderFeatures(e,a.All)}_renderInsideEffect(e){const t=e.painter.effects.insideEffect;t.bind(e),this._renderFeatures(e,a.InsideEffect),t.draw(e,this._layerView.featureEffectView.includedEffects),t.unbind()}_renderOutsideEffect(e){const t=e.painter.effects.outsideEffect;t.bind(e),this._renderFeatures(e,a.OutsideEffect),t.draw(e,this._layerView.featureEffectView.excludedEffects),t.unbind()}_renderHittest(e){const{context:t}=e,s=e.painter.effects.hittest,r=t.getBoundFramebufferObject(),i=t.getViewport(),o=e.passOptions,h=e.drawPhase;s.bind(e),e.passOptions=s.createOptions(e,this._hitTestsRequests),e.drawPhase=n.HITTEST;const{distance:d,smallSymbolDistance:l}=e.passOptions,u=Math.max(d,l);for(const n of this.children)n.visible&&n.containsScreenPoint(e.state,e.passOptions.position,2*u)&&this._renderTile(n,e,a.All);s.draw(e),s.unbind(),t.bindFramebuffer(r),t.restoreViewport(i),e.passOptions=o,e.drawPhase=h}_renderFeatures(e,t){const s=this._getHeatmapInstance(e);null!=s?this._renderHeatmapFeatures(e,t,s):this._renderGeometryFeatures(e,t)}_renderGeometryFeatures(e,t){for(const s of this.children)s.visible&&this._renderTile(s,e,t)}_renderHeatmapFeatures(e,t,s){for(const r of this.children)r.visible&&this._renderTile(r,e,t,l.Heatmap);s.techniqueRef.renderResolvePass(e,s)}_renderTile(e,t,s,r){const i=has("featurelayer-strict-draw-order")?o.STRICT_ORDER:has("featurelayer-force-marker-text-draw-order")?o.STRICT_MARKERS_AND_TEXT:o.BATCHING,n=e.getDisplayList(this._instanceStore,i);t.selection=s,n?.render(t,r)}}function f(e){return e.techniqueRef.type===l.Heatmap}export{p as FeatureContainer};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../../core/CircularArray.js";import t from"../../../../core/Error.js";import has from"../../../../core/has.js";import i from"../../../../core/Logger.js";import{create as s}from"../../../../geometry/support/aaBoundingRect.js";import"../../tiling/TileInfoView.js";import o from"../../tiling/TileKey.js";import"../../tiling/TileQueue.js";import"../../tiling/TileStrategy.js";import{FeatureTile as n}from"../../engine/webgl/FeatureTile.js";import{TechniqueType as r}from"../../engine/webgl/shaderGraph/techniques/TechniqueType.js";const d=1e3;class l{constructor(t,i,s,o,n,r){this.getStage=t,this.getSubscriptionVersion=i,this.version=s,this._fader=o,this._container=n,this._tileInfoView=r,this._pendingUpdates=new e(d),this._locked=!1,this._tiles=new Map}destroy(){for(const e of this.tiles())e.destroy();this._pendingUpdates.clear(),this._tiles.clear()}tiles(){return this._tiles.values()}size(){return this._tiles.size}getTile(e){return this._tiles.get(e)}setTiles(e){this._tiles.clear();for(const t of e)this._tiles.set(t.key.id,t)}lockUploads(){this._locked=!0}unlockUploads(){this._locked=!1,this.flush()}enqueueUpdate(e){this._pendingUpdates.enqueue(e)}update(e){if(!this._locked)for(;this._pendingUpdates.size;){const t=this._pendingUpdates.peek();if(null==t||t.inner.attributeEpoch>e)break;this._updateTile(t),this._pendingUpdates.dequeue()}}removeTile(e){const t=this._tiles.get(e);has("esri-2d-update-debug")&&console.debug(`Tile[${e}] RenderState.removeTile`),t&&(this._fader.unregisterFeatureTile(t),t.destroy()),this._tiles.delete(e)}isTileDone(e){const t=this._tiles.get(e.id);return!!t&&(t.isReady&&t.decluttered)}flush(){for(;this._pendingUpdates.size;){const e=this._pendingUpdates.dequeue();null!=e&&this._updateTile(e)}for(const e of this._tiles.values())e.upload()}_updateTile(e){const{inner:t,objectIdMap:i}=e,s=this.getSubscriptionVersion(t.id);if(s!==t.subscriptionVesrion){if(has("esri-2d-update-debug")){const e=`${t.subscriptionVesrion} != ${s}`;console.debug(`Version[${e}] Tile[${t.id}] FeatureContainer - Dropping message, outdated version]`,t)}return}if(has("esri-2d-update-debug")){const e=t.debugInfo?.chunkId??"<EnsureEnd>";console.debug(`Version[${t.version}] Tile[${t.id}] Chunk[${e}] RenderState.updateTile [${t.type}]`,t)}const o=this._ensureTile(t.id);if("update"===t.type){const[e,...s]=t.modify;o.onMessage({type:"update",modify:e,remove:t.remove,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});for(const o of s){const e=this._tiles.get(o.tileId);e&&e.onMessage({type:"update",modify:o,remove:t.remove,end:!1,isPixelBuffer:!0,attributeEpoch:null,objectIdMap:i})}return}if(null==t.append)return void o.onMessage({type:"append",clear:t.clear,debugInfo:t.debugInfo,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});const[n,...r]=t.append;o.onMessage({type:"append",clear:t.clear,append:n,debugInfo:t.debugInfo,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});for(const d of r){const e=this._tiles.get(d.tileId);e&&e.onMessage({type:"update",modify:d,remove:[],sort:!1,end:!1,isPixelBuffer:!0,attributeEpoch:null,objectIdMap:i})}}_ensureTile(e){if(!this._tiles.has(e)){const t=this._createTile(e);this._copyPixelBufferedEntitiesInto(t),this._tiles.set(e,t)}return this._tiles.get(e)}_createTile(e){has("esri-2d-update-debug")&&console.debug(`Version[${this.version}] Tile[${e}] RenderState.createTile`);const d=new o(e),l=this._tileInfoView.getTileBounds(s(),d),a=l[0],u=l[3],p=this._tileInfoView.getTileResolution(d.level),c=this._container.instanceStore.find(r.Label)?.instanceId,h=new n(d,p,a,u,this._fader,c,!0);if(this._fader.registerFeatureTile(h),h.stage=this.getStage(),!h.stage){const e=new t("featurelayerview:webgl","Cannot create tile with empty stage");i.getLogger("esri.views.2d.layers.features.RenderState").error(e)}return h}_copyPixelBufferedEntitiesInto(e){let t=7;const i=this._tileInfoView.getLODInfoAt(e.key);for(let s=-1;s<=1;s++)for(let o=-1;o<=1;o++){if(0===s&&0===o)continue;const n=e.key.getNormalizedNeighbor(o,s,i).id,r=this._tiles.get(n);if(null!=r){const i=1<<t;e.copyPixelBufferedEntitesFrom(r,i,o,s)}t--}}}export{l as RenderState};
|
|
5
|
+
import e from"../../../../core/CircularArray.js";import t from"../../../../core/Error.js";import has from"../../../../core/has.js";import i from"../../../../core/Logger.js";import{create as s}from"../../../../geometry/support/aaBoundingRect.js";import"../../tiling/TileInfoView.js";import o from"../../tiling/TileKey.js";import"../../tiling/TileQueue.js";import"../../tiling/TileStrategy.js";import{FeatureTile as n}from"../../engine/webgl/FeatureTile.js";import{TechniqueType as r}from"../../engine/webgl/shaderGraph/techniques/TechniqueType.js";const d=1e3;class l{constructor(t,i,s,o,n,r){this.getStage=t,this.getSubscriptionVersion=i,this.version=s,this._fader=o,this._container=n,this._tileInfoView=r,this._pendingUpdates=new e(d),this._locked=!1,this._tiles=new Map}destroy(){for(const e of this.tiles())this._fader.unregisterFeatureTile(e),e.destroy();this._pendingUpdates.clear(),this._tiles.clear(),this._container=null,this._fader=null}tiles(){return this._tiles.values()}size(){return this._tiles.size}getTile(e){return this._tiles.get(e)}setTiles(e){this._tiles.clear();for(const t of e)this._tiles.set(t.key.id,t)}lockUploads(){this._locked=!0}unlockUploads(){this._locked=!1,this.flush()}enqueueUpdate(e){this._pendingUpdates.enqueue(e)}update(e){if(!this._locked)for(;this._pendingUpdates.size;){const t=this._pendingUpdates.peek();if(null==t||t.inner.attributeEpoch>e)break;this._updateTile(t),this._pendingUpdates.dequeue()}}removeTile(e){const t=this._tiles.get(e);has("esri-2d-update-debug")&&console.debug(`Tile[${e}] RenderState.removeTile`),t&&(this._fader.unregisterFeatureTile(t),t.destroy()),this._tiles.delete(e)}isTileDone(e){const t=this._tiles.get(e.id);return!!t&&(t.isReady&&t.decluttered)}flush(){for(;this._pendingUpdates.size;){const e=this._pendingUpdates.dequeue();null!=e&&this._updateTile(e)}for(const e of this._tiles.values())e.upload()}_updateTile(e){const{inner:t,objectIdMap:i}=e,s=this.getSubscriptionVersion(t.id);if(s!==t.subscriptionVesrion){if(has("esri-2d-update-debug")){const e=`${t.subscriptionVesrion} != ${s}`;console.debug(`Version[${e}] Tile[${t.id}] FeatureContainer - Dropping message, outdated version]`,t)}return}if(has("esri-2d-update-debug")){const e=t.debugInfo?.chunkId??"<EnsureEnd>";console.debug(`Version[${t.version}] Tile[${t.id}] Chunk[${e}] RenderState.updateTile [${t.type}]`,t)}const o=this._ensureTile(t.id);if("update"===t.type){const[e,...s]=t.modify;o.onMessage({type:"update",modify:e,remove:t.remove,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});for(const o of s){const e=this._tiles.get(o.tileId);e&&e.onMessage({type:"update",modify:o,remove:t.remove,end:!1,isPixelBuffer:!0,attributeEpoch:null,objectIdMap:i})}return}if(null==t.append)return void o.onMessage({type:"append",clear:t.clear,debugInfo:t.debugInfo,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});const[n,...r]=t.append;o.onMessage({type:"append",clear:t.clear,append:n,debugInfo:t.debugInfo,end:t.end,attributeEpoch:t.attributeEpoch,objectIdMap:i});for(const d of r){const e=this._tiles.get(d.tileId);e&&e.onMessage({type:"update",modify:d,remove:[],sort:!1,end:!1,isPixelBuffer:!0,attributeEpoch:null,objectIdMap:i})}}_ensureTile(e){if(!this._tiles.has(e)){const t=this._createTile(e);this._copyPixelBufferedEntitiesInto(t),this._tiles.set(e,t)}return this._tiles.get(e)}_createTile(e){has("esri-2d-update-debug")&&console.debug(`Version[${this.version}] Tile[${e}] RenderState.createTile`);const d=new o(e),l=this._tileInfoView.getTileBounds(s(),d),a=l[0],u=l[3],p=this._tileInfoView.getTileResolution(d.level),c=this._container.instanceStore.find(r.Label)?.instanceId,h=new n(d,p,a,u,this._fader,c,!0);if(this._fader.registerFeatureTile(h),h.stage=this.getStage(),!h.stage){const e=new t("featurelayerview:webgl","Cannot create tile with empty stage");i.getLogger("esri.views.2d.layers.features.RenderState").error(e)}return h}_copyPixelBufferedEntitiesInto(e){let t=7;const i=this._tileInfoView.getLODInfoAt(e.key);for(let s=-1;s<=1;s++)for(let o=-1;o<=1;o++){if(0===s&&0===o)continue;const n=e.key.getNormalizedNeighbor(o,s,i).id,r=this._tiles.get(n);if(null!=r){const i=1<<t;e.copyPixelBufferedEntitesFrom(r,i,o,s)}t--}}}export{l as RenderState};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../core/Error.js";import{removeMaybe as r}from"../../core/maybe.js";import{createResolver as t,onAbort as i,throwIfAborted as l}from"../../core/promiseUtils.js";import a from"../../layers/Layer.js";function
|
|
5
|
+
import e from"../../core/Error.js";import{removeMaybe as r}from"../../core/maybe.js";import{createResolver as t,onAbort as i,throwIfAborted as l}from"../../core/promiseUtils.js";import a from"../../layers/Layer.js";function s(e){return"tryRecycleWith"in e}class o{constructor(r,l,a){this.layer=r,this.view=l,this.layerViewImporter=a,this._controller=new AbortController,this._deferred=t(),this._started=!1,this.done=!1,this.promise=this._deferred.promise,i(this._controller.signal,(()=>{this._recycleController?.abort();const t=new e("cancelled:layerview-create","layerview creation cancelled",{layer:r});this._deferred.reject(t)}))}tryRecycle(e){if(!this.done||!this.layerView||!s(this.layerView))return null;this._recycleController?.abort(),this._recycleController=new AbortController;const r=this.layer.type,t=this._recycleController.signal;for(let i=0;i<e.length;i++){const a=e[i];if(a.type!==r)continue;const s=this.layerView.tryRecycleWith(a,{signal:t});if(s){e.splice(i,1),this.layer=a;const r=this.layerView,o=r.view;return this.promise=s.then((()=>(l(t),a.emit("layerview-destroy",{view:o,layerView:r}),o.emit("layerview-destroy",{view:o,layerView:r}),a.emit("layerview-create",{view:o,layerView:r}),o.emit("layerview-create",{view:o,layerView:r}),r))),this.promise}}return null}destroy(){this._controller.abort();const{layerView:e}=this;if(e){const{layer:r,view:t}=this;r.emit("layerview-destroy",{view:t,layerView:e}),t.emit("layerview-destroy",{layer:r,layerView:e})}this.done=!0,this.layer=null,this.layerView=null,this.view=null,this.layerViewImporter=null,this._map=null,this.promise=null,this._deferred=null}async start(){const{view:t}=this;if(this._started||!t.map)return;this._started=!0;const{_controller:{signal:a},layer:s}=this;this._map=t.map;try{let y,w;if(await s.load({signal:a}),s.prefetchResources&&await s.prefetchResources({signal:a}),n(s))y=await s.createLayerView(t,{signal:a});else{if(!this.layerViewImporter.hasLayerViewModule(s))throw new e("layer:view-not-supported","No layerview implementation was found");const r=await this.layerViewImporter.importLayerView(s);l(a),y="default"in r?new r.default({layer:s,view:t}):new r({layer:s,view:t})}const c=()=>{w=r(w),y.destroyed||y.destroy(),y.layer=null,y.parent=null,y.view=null,this.done=!0};w=i(a,c),l(a);try{await y.when()}catch(o){throw c(),o}const h=this._map?.allLayers?.includes(s);if(!h)return c(),void this._deferred.reject(new e("view:no-layerview-for-layer","The layer has been removed from the map",{layer:s}));this.layerView=y,s.emit("layerview-create",{view:t,layerView:y}),t.emit("layerview-create",{layer:s,layerView:y}),this.done=!0,this._deferred.resolve(y)}catch(o){s.emit("layerview-create-error",{view:t,error:o}),t.emit("layerview-create-error",{layer:s,error:o}),this.done=!0,this._deferred.reject(new e("layerview:create-error","layerview creation failed",{layer:s,error:o}))}}}function n(e){return e.createLayerView!==a.prototype.createLayerView}export{o as LayerLayerViewInfo};
|