@arcgis/core 5.1.0-next.45 → 5.1.0-next.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{288bd32831e94e81653e.js → 08d76c600926d7642a8b.js} +1 -1
- package/assets/esri/core/workers/chunks/{54db91c0a3bd1946e026.js → 0d59f5cd3fdd7d6fd693.js} +1 -1
- package/assets/esri/core/workers/chunks/{288082ae7b19837a3d38.js → 20e715e3aeb1c3265901.js} +1 -1
- package/assets/esri/core/workers/chunks/{0155e5679ded9de5c327.js → 3a7c02616d942c81257d.js} +1 -1
- package/assets/esri/core/workers/chunks/3e9700445518b8f9ae1b.js +1 -0
- package/assets/esri/core/workers/chunks/{375eac59c9f88c7572db.js → 4b3545965b11a54184d4.js} +2 -2
- package/assets/esri/core/workers/chunks/{d3d024b3d2bb8fbbf760.js → 569e4479707bc6881d97.js} +1 -1
- package/assets/esri/core/workers/chunks/{8cafdd4addd366795600.js → 6c49ac7888679b9f7823.js} +1 -1
- package/assets/esri/core/workers/chunks/{ca88a364ef911526102e.js → 7b48c102a44606291f82.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a3f874700f86b750390.js → 867c0cd99a005a3d8e08.js} +3 -3
- package/assets/esri/core/workers/chunks/{e5927f9d0e757ec4c22a.js → a422cfe1e2afe0722acd.js} +1 -1
- package/assets/esri/core/workers/chunks/{f6e3954ddbb5993d56df.js → b45fdc04d399d2849d63.js} +1 -1
- package/assets/esri/core/workers/chunks/{dbafe96ce37bb82d0584.js → b49b608c0d58a9b55fa2.js} +1 -1
- package/assets/esri/core/workers/chunks/b744b950999b92393e37.js +1 -0
- package/assets/esri/core/workers/chunks/cd491c37ba1ac381178c.js +1 -0
- package/assets/esri/core/workers/chunks/{b86cb84c03b76e824213.js → f9fe89ced41b49608667.js} +1 -1
- package/assets/esri/core/workers/chunks/{bf4d2f42d31861ea1046.js → ff75fb0fce51ac12e656.js} +1 -1
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/HUDMaterial.glsl.js +1 -1
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/OITBlend.glsl.js +2 -1
- package/chunks/PointRenderer.glsl.js +1 -1
- package/chunks/Terrain.glsl.js +4 -4
- package/config.js +1 -1
- package/kernel.js +1 -1
- package/layers/IntegratedMesh3DTilesLayer.d.ts +2 -1
- package/layers/IntegratedMesh3DTilesLayer.js +1 -1
- package/layers/Layer.d.ts +2 -1
- package/layers/ParquetLayer.d.ts +23 -1
- package/layers/knowledgeGraph/dataModelVisualizationUtils.js +1 -1
- package/layers/support/LayerContingentValuesCache.js +1 -1
- package/layers/support/arcgisLayers.js +1 -1
- package/layers/support/schemaValidator.js +1 -1
- package/libs/ajv/ajv.bundle-wrapper.js +2 -0
- package/package.json +3 -3
- package/renderers/visualVariables/SizeVariable.js +1 -1
- package/rest/locator/locationToAddress.js +1 -1
- package/rest/support/LocationToAddressParameters.d.ts +62 -2
- package/rest/support/types.d.ts +6 -0
- package/support/revision.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/engine/vectorTiles/Placement.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/i3s/Highlights.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TileCompositor.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialGlobalParameters.js +2 -0
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterialRepository.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +3 -3
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +1 -1
- package/views/webgl/InstanceCounter.js +1 -1
- package/webscene/support/schemaValidator.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/385f1bb9164b2d488b2d.js +0 -1
- package/assets/esri/core/workers/chunks/73d7337ac9efdbad14a4.js +0 -1
- package/assets/esri/core/workers/chunks/fce8d4ff920baf8856e6.js +0 -1
- package/chunks/ajv.bundle.js +0 -2
- /package/assets/esri/core/workers/chunks/{375eac59c9f88c7572db.js.LICENSE.txt → 4b3545965b11a54184d4.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[926,4794],{69540(e,t,n){n.d(t,{OU:()=>c,Pw:()=>h});var i=n(5482),r=n(69622),s=(n(44208),n(4718)),o=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let r=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,r={},l=new Map;for(const t in n){const o=n[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,s.TU)(c,e),null!=c&&null==h)continue;0===a?l.set(t,h):r[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,n]of l)e.set(t,n,0)}return u}};return r=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],r),r},h=c(r.A)},66344(e,t,n){n.d(t,{q:()=>a});const i=!!(0,n(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const n=this._db.get(e.id+t);return n?.size??0}put(e,t,n,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==n&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,n,r,0);if(void 0===n)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,n,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new s(n,r,l)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const n=this._db.get(t);if(!n)return;this._size-=n.size,e.size-=n.size;let i=n.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,n.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}n.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const n=this._db.get(t);if(n)return this._size-=n.size,e.size-=n.size,this._db.delete(t),++this._hit,n.entry;++this._miss}get(e,t){t=e.id+t;const n=this._db.get(t);if(void 0!==n)return this._db.delete(t),n.lives=n.lifetime,this._db.set(t,n),++this._hit,n.entry;++this._miss}peek(e,t){const n=this._db.get(e.id+t);return n?++this._hit:++this._miss,n?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},n=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;n[r]=(n[r]||0)+e.size,this._clients.forEach(n=>{const{id:r,name:s}=n;if(i.startsWith(r)){const n=t[s]||0;t[s]=n+e.size}})});const i={};this._clients.forEach(e=>{const n=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[n]||0;t[n]=r,i[n]=Math.round(100*e.hitRate)+"%"}else i[n]="0%"});const r=Object.keys(t);r.sort((e,n)=>t[n]-t[e]),r.forEach(n=>e[n]=Math.round(t[n]/2**20)+"MB / "+i[n]);for(let t=n.length-1;t>=0;--t){const i=n[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,n)=>{n.startsWith(t)&&(this._size-=e.size,this._db.delete(n),this._notifyRemove(n,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,n]of this._db)t.startsWith(e.id)&&(yield n.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,n,i){const r=this._clients.get(e.split(o)[0])?.removeFunc,s=r?.(t,i,n);return"number"==typeof s?s:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const n=t??this;if(n.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[s,a]of this._db)if(0===a.lifetime&&(!i||s.startsWith(i))){const i=t??this._clients.get(s.split(o)[0]);if(this._purgeItem(s,a,i),n.size<=.9*e)return;r||=this._db.has(s)}}for(const[r,s]of this._db)if(!i||r.startsWith(i)){const i=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,s,i),n.size<=.9*e)return}}_purgeItem(e,t,n){if(this._db.delete(e),t.lives<=1){this._size-=t.size,n&&(n.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,n&&(n.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class s{constructor(e,t,n){this.entry=e,this.size=t,this.lifetime=n,this.lives=n}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new r(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,n=1){this._storage.put(this,e,t,n,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},60999(e,t,n){n.d(t,{DZ:()=>m,Ke:()=>p,Tj:()=>c,UT:()=>f,aD:()=>g,jJ:()=>u});var i=n(5482),r=n(69622),s=n(97768),o=n(17676),a=n(10107),l=n(64108);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function c(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function m(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function f(e,t){return new y(e,t)}let y=class extends r.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},67482(e,t,n){function i(e){return null!=a(e)||null!=o(e)}function r(e){return l.test(e)}function s(e){return a(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let n=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,i=0;for(;!t&&i<=e.length;)t=!u.test(e[i]),i++;n=!t}}return n}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function a(e){const t=l.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,r=+n.month-1,s=+n.day,o=+(n.hours??"0"),a=+(n.minutes??"0"),u=+(n.seconds??"0");if(o>23)return null;if(a>59)return null;if(u>59)return null;const c=n.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,r,s,o,a,u,h);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,r,s,o,a,u,h)}return Number.isNaN(d)?null:d}n.d(t,{Br:()=>r,Cq:()=>i,_U:()=>s});const l=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},75503(e,t,n){n.d(t,{wq:()=>a});var i=n(4576),r=n(21818),s=(n(44208),n(15142)),o=n(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),w.prune(),S.prune(),v.prune(),C.prune()}all(e){l(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(b(e,n))for(w.clear();n;){for(let r=0,s=n.children.length;r<s;r++){const s=n.children[r],o=n.leaf?i(s):s;b(e,o)&&(n.leaf?t(s):_(e,o)?l(s,t):w.push(s))}n=w.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!b(e,t))return!1;for(w.clear();t;){for(let i=0,r=t.children.length;i<r;i++){const r=t.children[i],s=t.leaf?n(r):r;if(b(e,s)){if(t.leaf||_(e,s))return!0;w.push(r)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,n=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(v.clear(),C.clear();n||v.length>0;){if(n||(n=v.pop(),s=v.data[v.length-1],o=C.pop()??0,a=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,r.z)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),v.push(n),this._condense(v),this;a||n.leaf||!_(n,l)?s?(o++,n=s.children[o],a=!1):n=null:(v.push(n),C.push(o),o=0,s=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const r=n-t+1;let s=this._maxEntries;if(r<=s){const i=new F(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(r)/Math.log(s)),s=Math.ceil(r/s**(i-1)));const o=new M([]);o.height=i;const a=Math.ceil(r/s),l=a*Math.ceil(Math.sqrt(s));x(e,t,n,l,this._compareMinX);for(let r=t;r<=n;r+=l){const t=Math.min(r+l-1,n);x(e,r,t,a,this._compareMinY);for(let n=r;n<=t;n+=a){const r=Math.min(n+a-1,t);o.children.push(this._build(e,n,r,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,r=n?e:i(e);v.clear();const s=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,r=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=m(o),l=y(e,o)-a;l<r?(r=l,i=a<i?a:i,n=o):l===r&&a<i&&(i=a,n=o)}t=n||t.children[0]}return t}(r,this._data,t,v);for(s.children.push(e),h(s,r);t>=0&&v.data[t].children.length>this._maxEntries;)this._split(v,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)h(t.data[i],e)}(r,v,t)}_split(e,t){const n=e.data[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i);if(!s)return;const o=n.children.splice(s,n.children.length-s),a=n.leaf?new F(o):new M(o);a.height=n.height,u(n,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this._data=new M([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,r,s;i=r=1/0;for(let o=t;o<=n-t;o++){const t=c(e,0,o,this._toBBox),a=c(e,o,n,this._toBBox),l=g(t,a),u=m(t)+m(a);l<i?(i=l,s=o,r=u<r?u:r):l===i&&u<r&&(r=u,s=o)}return s}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,r=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,r)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const r=this._toBBox,s=c(e,0,t,r),o=c(e,n-t,n,r);let a=f(s)+f(o);for(let i=t;i<n-t;i++){const t=e.children[i];h(s,e.leaf?r(t):t),a+=f(s)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?r(t):t),a+=f(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const r=e.data[t-1],s=r.children;s.splice((0,i.qh)(s,n,s.length,r.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let n=e;for(S.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,r.z)(e));else S.pushArray(n.children);n=S.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,n,i,r){r||(r=new F([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let s,o=t;o<n;o++)s=e.children[o],h(r,e.leaf?i(s):s);return r}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function m(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function f(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,r-n)*Math.max(0,s-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function x(e,t,n,i,r){const s=[t,n];for(;s.length;){const t=s.pop(),n=s.pop();if(t-n<=i)continue;const a=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,a,n,t,r),s.push(n,a,a,t)}}const w=new s.A,S=new s.A,v=new s.A,C=new s.A({deallocator:void 0});class T{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class A extends T{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends A{constructor(e){super(),this.children=e,this.leaf=!0}}class M extends A{constructor(e){super(),this.children=e,this.leaf=!1}}},36708(e,t,n){n.d(t,{C_:()=>d,OH:()=>f,Vh:()=>y,on:()=>h,pc:()=>g,wB:()=>l,z7:()=>u});var i=n(37955),r=n(36563),s=n(97768),o=n(17676),a=n(14012);function l(e,t,n={}){return c(e,t,n,p)}function u(e,t,n={}){return c(e,t,n,m)}function c(e,t,n={},i){let r=null;const o=n.once?(e,n)=>{i(e)&&((0,s.xt)(r),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(r=(0,a.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return r}function h(e,t,n,o={}){let a=null,u=null,c=null;function h(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,s.xt)(c),n(e)}const p=l(e,(e,n)=>{h(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,r.hA)(()=>{p.remove(),h()}),c}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,s.xt)(a)}return new Promise((i,s)=>{a=(0,r.vE)([(0,o.u7)(n,()=>{l(),s((0,o.NK)())}),c(e,e=>{l(),i(e)},{sync:!1,once:!0},t??p)])})}(e,m,t)}function p(e){return!0}function m(e){return!!e}n(80559);const f={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},60408(e,t,n){function i(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function r(e){return void 0!==e.points}function s(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?s(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":i(e)?"esriGeometryEnvelope":r(e)?"esriGeometryMultipoint":null:null}function c(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function h(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}n.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>o,U9:()=>r,W0:()=>h,ZC:()=>i,fT:()=>s,uW:()=>l})},65864(e,t,n){n.d(t,{rS:()=>c,xD:()=>d});var i=n(5443),r=n(91075),s=n(48526),o=n(86738),a=n(39829),l=n(82799),u=n(60408);function c(e){return null==e?null:e instanceof r.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?s.A.fromJSON(e):(0,u.ZC)(e)?i.A.fromJSON(e):null}const h={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:s.A,esriGeometryMultiPatch:a.A};function d(e){return e&&h[e]||null}},50498(e,t,n){n.d(t,{Ye:()=>h,gy:()=>c,iI:()=>p,yR:()=>d});var i=n(66552),r=n(5443),s=n(91075),o=n(48526),a=n(86738),l=n(39829),u=n(82799);const c=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),h=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),d={base:s.A,key:"type",typeMap:{extent:r.A,multipoint:o.A,point:a.A,polyline:u.A,polygon:l.A}},p=new i.J({esriGeometryBezier3Curve:"cubic-bezier",esriGeometryCircularArc:"circular-arc",esriGeometryEllipticArc:"elliptic-arc"},{ignoreUnknown:!0})},6518(e,t,n){n.d(t,{F:()=>a});var i=n(44208),r=n(75503),s=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,s.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,n){n.d(t,{A:()=>m});var i=n(4576),r=n(49186),s=n(65529),o=n(53966),a=n(70328),l=n(19419),u=n(90708),c=n(6518),h=n(51441),d=n(37730);const p=(0,a.vt)();class m{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new s.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,r]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,a.Jt)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,l.vt)(),e.geometry),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:s}=e;for(const e in s)n.attributes[e]=s[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,n){n.d(t,{T:()=>r});var i=n(43334);const r={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,n)=>new i.Om(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},33771(e,t,n){n.r(t),n.d(t,{default:()=>w});var i=n(60999),r=n(49186),s=n(53966),o=n(34727),a=n(17676),l=n(67076),u=n(21325),c=n(90708),h=n(83221),d=n(31464),p=n(56390),m=n(85113),f=n(82832),y=n(34322),g=n(95466),_=n(54218),b=n(98623);const x="esri.layers.WFSLayer";class w{constructor(){this._customParameters=null,this._queryEngine=null,this._supportsPagination=!0}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){const{getFeatureUrl:n,getFeatureOutputFormat:i,fields:s,geometryType:o,featureType:l,maxRecordCount:u,maxTotalRecordCount:c,maxPageCount:m,objectIdField:f,customParameters:_}=e,{spatialReference:x,getFeatureSpatialReference:w}=(0,y.UH)(n,l,e.spatialReference);try{await(0,d.Nk)(w,x)}catch{throw new r.A("unsupported-projection","Projection not supported",{inSpatialReference:w,outSpatialReference:x})}(0,a.Te)(t),this._customParameters=_,this._featureType=l,this._fieldsIndex=g.A.fromLayerJSON({fields:s,dateFieldsTimeReference:s.some(e=>"esriFieldTypeDate"===e.type)?{timeZoneIANA:b.n$}:null}),this._geometryType=o,this._getFeatureUrl=n,this._getFeatureOutputFormat=i,this._getFeatureSpatialReference=w,this._maxRecordCount=u,this._maxTotalRecordCount=c,this._maxPageCount=m,this._objectIdField=f,this._spatialReference=x;let v=await this._snapshotFeatures(t);if(v.errors.length>0&&(this._supportsPagination=!1,v=await this._snapshotFeatures(t),v.errors.length>0))throw v.errors[0];const C={type:"object-id",fieldName:f};return this._queryEngine=new p.do({fieldsIndex:this._fieldsIndex,geometryType:o,hasM:!1,hasZ:!1,featureIdInfo:C,spatialReference:x,timeInfo:null,featureStore:new h.A({geometryType:o,hasM:!1,hasZ:!1})}),this._queryEngine.featureStore.addMany(v.features),{warnings:S(v),extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async applyEdits(){throw new r.A("wfs-source:editing-not-supported","applyEdits() is not supported on WFSLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(_.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){return this._customParameters=e.customParameters,this._maxRecordCount=e.maxRecordCount,this._maxTotalRecordCount=e.maxTotalRecordCount,this._maxPageCount=e.maxPageCount,this._snapshotTask?.abort(),this._snapshotTask=(0,i.UT)(e=>this._snapshotFeatures({signal:e})),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),this._queryEngine.featureStore.addMany(e.features);for(const t of S(e))s.A.getLogger(x).warn(new l.A("wfs-layer:refresh-warning",t.message,t.details));e.errors?.length&&s.A.getLogger(x).warn(new l.A("wfs-layer:refresh-error","Refresh completed with errors",{errors:e.errors}))},()=>{this._queryEngine.featureStore.clear()}),await this._waitSnapshotComplete(),{extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _snapshotFeatures(e){const t=e?.signal,n=this._maxTotalRecordCount,i=this._maxPageCount,r=this._supportsPagination&&i>1?await(0,y.E)(this._getFeatureUrl,this._featureType.typeName,{customParameters:this._customParameters,signal:t}):void 0;let s=[];const l=[];if(null==r)try{s=await this._singleQuery(t)}catch(e){(0,a.zf)(e)||l.push(e)}else{const e=Math.min(r,n),u=function*(e,t,n){for(let i=0;i<t;i++)yield e._pageQuery(i,n)}(this,(0,o.qE)(Math.ceil(e/this._maxRecordCount),1,i),t);await Promise.allSettled(Array.from({length:10}).map(()=>async function(e,t,n){let i=e.next();for(;!i.done;){try{const e=await i.value;t.push(...e)}catch(e){(0,a.zf)(e)||n.push(e)}i=e.next()}}(u,s,l)))}return(0,a.Te)(t),{features:s,totalRecordCount:r,maxTotalRecordCount:n,maxPageCount:i,errors:l}}async _singleQuery(e){const t=Number.isFinite(this._maxRecordCount)&&this._maxRecordCount>0?this._maxRecordCount:void 0,n=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,count:t,signal:e});return this._processGeoJSON(n,{signal:e})}async _pageQuery(e,t){const n=e*this._maxRecordCount,i=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,startIndex:n,count:this._maxRecordCount,signal:t});return this._processGeoJSON(i,{startIndex:n,signal:t})}_processGeoJSON(e,t){(0,m.sO)(e,this._getFeatureSpatialReference.wkid);const{startIndex:n,signal:i}=t;(0,a.Te)(i);const r=(0,m.bd)(e,{geometryType:this._geometryType,hasZ:!1,objectIdField:this._objectIdField});if(!(0,u.aI)(this._spatialReference,this._getFeatureSpatialReference))for(const e of r)null!=e.geometry&&(e.geometry=(0,c.Ux)((0,d.Cv)((0,c.zv)(e.geometry,this._geometryType,!1,!1),this._getFeatureSpatialReference,this._spatialReference)));let s=n??1;for(const e of r){const t={};(0,f.MB)(this._fieldsIndex,t,e.attributes,!0),e.attributes=t,null==t[this._objectIdField]&&(e.objectId=t[this._objectIdField]=s++)}return r}}function S(e){const t=[];return null!=e.totalRecordCount&&(e.features.length<e.totalRecordCount&&t.push({name:"wfs-layer:maxRecordCount-too-low",message:`Could only fetch ${e.features.length} of ${e.totalRecordCount} in ${e.maxPageCount} queries. Try increasing the value of WFSLayer.maxRecordCount.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount}}),e.totalRecordCount>e.maxTotalRecordCount&&t.push({name:"wfs-layer:large-dataset",message:`The number of ${e.totalRecordCount} features exceeds the maximum allowed of ${e.maxTotalRecordCount}.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount,maxTotalRecordCount:e.maxTotalRecordCount}})),t}},85113(e,t,n){n.d(t,{BM:()=>T,bd:()=>A,sO:()=>C,xD:()=>h});var i=n(67482),r=n(49186),s=n(21325),o=n(90708),a=n(43334),l=n(92722),u=n(30524);const c={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function h(e){return c[e]}function*d(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*p(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function m(e){for(const t of e)if(t.length>2)return!0;return!1}function f(e){let t=0;for(let n=0;n<e.length;n++){const i=e[n],r=e[(n+1)%e.length];t+=i[0]*r[1]-r[0]*i[1]}return t<=0}function y(e){const t=e[0],n=e[e.length-1];t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]||e.push(t)}function g(e,t){const{coordinates:n,type:i}=e,r=t.hasZ??!1,s=!0;switch(i){case"Point":return new l.A([],[...n],r,!1);case"LineString":return(0,o.Ap)({paths:[n],hasZ:s},r,!1);case"MultiLineString":return(0,o.Ap)({paths:n,hasZ:s},r,!1);case"MultiPoint":return(0,o.PR)({points:n,hasZ:s},r,!1);case"Polygon":case"MultiPolygon":{const e=new l.A([],[],r,!1);for(const t of"Polygon"===i?[n]:n){_(e,t[0],r);for(let n=1;n<t.length;n++)b(e,t[n],r)}return e}}}function _(e,t,n){y(t),function(e){return!f(e)}(t)?w(e,t,n):x(e,t,n)}function b(e,t,n){y(t),function(e){return f(e)}(t)?w(e,t,n):x(e,t,n)}function x(e,t,n){for(const i of t)S(e,i,n);e.lengths.push(t.length)}function w(e,t,n){for(let i=t.length-1;i>=0;i--)S(e,t[i],n);e.lengths.push(t.length)}function S(e,[t,n,i],r){e.coords.push(t,n),r&&e.coords.push(i||0)}function v(e){switch(typeof e){case"string":return(0,i.Br)(e)?"esriFieldTypeDate":"esriFieldTypeString";case"number":return"esriFieldTypeDouble";default:return"unknown"}}function C(e,t=4326){if(!e)throw new r.A("geojson-layer:empty","GeoJSON data is empty");if("Feature"!==e.type&&"FeatureCollection"!==e.type)throw new r.A("geojson-layer:unsupported-geojson-object","missing or not supported GeoJSON object type",{data:e});const{crs:n}=e;if(!n)return;const i="string"==typeof n?n:"name"===n.type?n.properties.name:"EPSG"===n.type?n.properties.code:null,o=(0,s.oT)({wkid:t})?new RegExp(".*(CRS84H?|4326)$","i"):new RegExp(`.*(${t})$`,"i");if(!i||!o.test(i))throw new r.A("geojson:unsupported-crs","unsupported GeoJSON 'crs' member",{crs:n})}function T(e,t={}){const n=[],i=new Set,r=new Set;let s,o=!1,a=null,l=!1,{geometryType:c=null}=t;for(const t of d(e)){const{geometry:e,properties:d,id:f}=t;if((!e||(c||(c=h(e.type)),h(e.type)===c))&&(o||(o=m(p(e))),l||(l=null!=f,l&&(s=typeof f,d&&(a=Object.keys(d).filter(e=>d[e]===f)))),d&&a&&l&&null!=f&&(a.length>1?a=a.filter(e=>d[e]===f):1===a.length&&(a=d[a[0]]===f?a:[])),d))for(const e in d){if(i.has(e))continue;const t=v(d[e]);if("unknown"===t){r.add(e);continue}r.delete(e),i.add(e);const s=(0,u.rS)(e);s&&n.push({name:s,alias:e,type:t})}}const f=(0,u.rS)(1===a?.length&&a[0]||null)??void 0;if(f)for(const e of n)if(e.name===f&&(0,u.WA)(e)){e.type="esriFieldTypeOID";break}return{fields:n,geometryType:c,hasZ:o,objectIdFieldName:f,objectIdFieldType:s,unknownFields:Array.from(r)}}function A(e,t){return Array.from(function*(e,t={}){const{geometryType:n,objectIdField:i}=t;for(const r of e){const{geometry:e,properties:s,id:o}=r;if(e&&h(e.type)!==n)continue;const l=s||{};let u;i&&(u=l[i],null==o||u||(l[i]=u=o)),yield new a.Om(e&&g(e,t),l,null,u)}}(d(e),t))}},82832(e,t,n){n.d(t,{$1:()=>y,CR:()=>f,MB:()=>d,PC:()=>g,Yx:()=>l,bP:()=>c});var i=n(67482),r=n(21325),s=n(30524);class o{constructor(e){this.description=e,this.code=null}}class a{constructor(e){this.globalId=null,this.objectId=null,this.success=!1,this.uniqueId=null,this.error=new o(e)}}function l(e){return new a(e)}class u{constructor(e){this.globalId=null,this.success=!0,this.objectId=this.uniqueId=e}}function c(e){return new u(e)}const h=new Set;function d(e,t,n,i=!1){h.clear();for(const r in n){const o=e.get(r);if(!o)continue;const a=p(o,n[r]);if(h.add(o.name),o&&(i||o.editable)){const e=(0,s.CJ)(o,a);if(e)return l((0,s.uo)(e,o,a));t[o.name]=a}}for(const t of e.requiredFields??[])if(!h.has(t.name))return l(`missing required field "${t.name}"`);return null}function p(e,t){let n=t;return(0,s.WA)(e)&&"string"==typeof t?n=parseFloat(t):(0,s.yM)(e)&&null!=t&&"string"!=typeof t?n=String(t):(0,s.vE)(e)&&"string"==typeof t&&(n=(0,i._U)(t)),(0,s.WX)(n)}let m;function f(e,t){if(!e||!(0,r.fn)(t))return e;if("rings"in e||"paths"in e){if(null==m)throw new TypeError("geometry engine not loaded");return m.simplify(t,e)}return e}async function y(e,t){!(0,r.fn)(e)||"esriGeometryPolygon"!==t&&"esriGeometryPolyline"!==t||await async function(){return null==m&&(m=await n.e(1023).then(n.bind(n,81023))),m}()}const g={supportsAutoIntervalBin:!0,supportsFixedIntervalBin:!0,supportsFixedBoundariesBin:!0,supportsDateBin:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsNormalization:!0,supportedStatisticTypes:["COUNT","SUM","AVG","VAR","STDDEV","MIN","MAX","PERCENTILE_CONT","PERCENTILE_DISC","CentroidAggregate","EnvelopeAggregate","ConvexHullAggregate"],supportedNormalizationTypes:["field","log","naturalLog","percentOfTotal","squareRoot"]}},34322(e,t,n){n.d(t,{E:()=>N,Fu:()=>S,O8:()=>M,UH:()=>G,YW:()=>R,i5:()=>b,mG:()=>F,x$:()=>P});var i=n(11254),r=n(49186),s=n(5479),o=n(84952),a=n(5443),l=n(91218),u=n(16930),c=n(21325),h=n(50498),d=n(85113),p=n(13043),m=n(60694),f=n(20437),y=n(30524);const g="xlink:href",_="2.0.0",b="__esri_wfs_id__",x="wfs-layer:feature-type-not-found",w="wfs-layer:unknown-geometry-type";async function S(e,t){const n=function(e){const t=k(e);(function(e){const t=e.firstElementChild?.getAttribute("version");if(t&&t!==_)throw new r.A("wfs-layer:unsupported-wfs-version",`Unsupported WFS version ${t}. Supported version: ${_}`)})(t),O(t);const n=t.firstElementChild,i=(0,s.PP)(function(e){return(0,p.i)(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",defaultSpatialReference:4326,supportedSpatialReferences:[]},n=new Set;return(0,p.p)(e,{Name:e=>{const{name:n,prefix:i}=j(e.textContent);t.typeName=`${i}:${n}`,t.name=n,t.namespacePrefix=i,t.namespaceUri=e.lookupNamespaceURI(i)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=a.A.fromJSON(function(e){let t,n,i,r;for(const s of e.children)switch(s.localName){case"LowerCorner":[t,n]=s.textContent.split(" ").map(e=>Number.parseFloat(e));break;case"UpperCorner":[i,r]=s.textContent.split(" ").map(e=>Number.parseFloat(e))}return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:c.KK}}(e))},DefaultCRS:e=>{const i=A(e);i&&(t.defaultSpatialReference=i,n.add(i))},OtherCRS:e=>{const t=A(e);t&&n.add(t)}}),t.title||(t.title=t.name),n.add(4326),t.supportedSpatialReferences.push(...n),t}}})}(n));return{operations:T(n),get featureTypes(){return Array.from(i())},readFeatureTypes:i}}((await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:_,...t?.customParameters},signal:t?.signal})).data);return function(e,t){(0,o.m3)(e)&&((0,o.FX)(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=(0,o.lM)(t.operations.DescribeFeatureType.url)),(0,o.FX)(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=(0,o.lM)(t.operations.GetFeature.url)))}(e,n),n}const v=["json","application/json; subtype=geojson; charset=utf-8","application/json; subtype=geojson","application/json","geojson","application/geo+json"];function C(e){for(const t of v){const n=e.findIndex(e=>e.toLowerCase()===t);if(n>=0)return e[n]}return null}function T(e){let t=!0;const n={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}},i=[],s=[];if((0,p.p)(e,{OperationsMetadata:{Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&i.push(e)}}}},Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{n.GetCapabilities.url=e.getAttribute(g)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{n.DescribeFeatureType.url=e.getAttribute(g)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{n.GetFeature.url=e.getAttribute(g)}}},Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&s.push(e)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{t="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{n.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),n.GetFeature.outputFormat=C(s)??C(i),!t)throw new r.A("wfs-layer:kvp-encoding-not-supported","WFS service doesn't support key/value pair (KVP) encoding");if(null==n.GetFeature.outputFormat)throw new r.A("wfs-layer:geojson-not-supported","WFS service doesn't support GeoJSON output format");return n}function A(e){const t=parseInt(e.textContent?.match(/(?<wkid>\d+$)/i)?.groups?.wkid??"",10);if(!Number.isNaN(t))return t}function F(e,t,n){return(0,s.I6)(e,e=>n?e.name===t&&e.namespaceUri===n:e.typeName===t||e.name===t)}async function M(e,t,n,i={}){const{featureType:s,extent:o}=await async function(e,t,n,i={}){const s=e.readFeatureTypes(),o=t?F(s,t,n):s.next().value,{spatialReference:a=new u.A({wkid:o?.defaultSpatialReference})}=i;if(null==o)throw t?new r.A(x,`The type '${t}' could not be found in the service`):new r.A("wfs-layer:empty-service","The service is empty");let h=o.extent;if(h&&!(0,c.aI)(h.spatialReference,a))try{await(0,l.initializeProjection)(h.spatialReference,a,void 0,i),h=(0,l.project)(h,a)}catch{throw new r.A("wfs-layer:unsupported-spatial-reference","Projection not supported")}return{extent:h,spatialReference:a,featureType:o}}(e,t,n,i),{spatialReference:a}=G(e.operations.GetFeature.url,s,i.spatialReference),{fields:h,geometryType:d,swapXY:p,objectIdField:m,geometryField:f}=await async function(e,t,n,i={}){const{typeName:s}=t,[o,a]=await Promise.allSettled([E(e.operations.DescribeFeatureType.url,s,i),I(e,s,n,i)]),l=e=>new r.A("wfs-layer:getWFSLayerTypeInfo-error",`An error occurred while getting info about the feature type '${s}'`,{error:e});if("rejected"===o.status)throw l(o.reason);if("rejected"===a.status)throw l(a.reason);const{fields:u,errors:c}=o.value??{},h=o.value?.geometryType||a.value?.geometryType,d=a.value?.swapXY??!1;if(null==h)throw new r.A(w,`The geometry type could not be determined for type '${s}`,{typeName:s,geometryType:h,fields:u,errors:c});return{...R(u??[]),geometryType:h,swapXY:d}}(e,s,a,i);return{url:e.operations.GetCapabilities.url,name:s.name,namespaceUri:s.namespaceUri,fields:h,geometryField:f,geometryType:d,objectIdField:m,spatialReference:i.spatialReference??new u.A({wkid:s.defaultSpatialReference}),extent:o,swapXY:p,wfsCapabilities:e,customParameters:i.customParameters}}function R(e){const t=e.find(e=>"geometry"===e.type);let n=e.find(e=>"oid"===e.type);return e=e.filter(e=>"geometry"!==e.type),n||(n=new f.A({name:b,type:"oid",alias:b}),e.unshift(n)),{geometryField:t?.name??null,objectIdField:n.name,fields:e}}async function I(e,t,n,r={}){let s,o=!1;const[a,l]=await Promise.all([P(e.operations.GetFeature.url,t,n,e.operations.GetFeature.outputFormat,{...r,count:1}),(0,i.A)(e.operations.GetFeature.url,{responseType:"text",query:z(t,n,void 0,{...r,count:1}),signal:r?.signal})]),u="FeatureCollection"===a.type&&a.features[0]?.geometry;if(u){let e;switch(s=h.gy.fromJSON((0,d.xD)(u.type)),u.type){case"Point":e=u.coordinates;break;case"LineString":case"MultiPoint":e=u.coordinates[0];break;case"MultiLineString":case"Polygon":e=u.coordinates[0][0];break;case"MultiPolygon":e=u.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(l.data);if(t){const n=e[0].toFixed(3),i=e[1].toFixed(3),r=parseFloat(t[1]).toFixed(3);n===parseFloat(t[2]).toFixed(3)&&i===r&&(o=!0)}}return{geometryType:s,swapXY:o}}async function E(e,t,n){return function(e,t){const{name:n}=j(e),i=k(t);O(i);const o=(0,s.I6)((0,p.i)(i.firstElementChild,{element:e=>e}),e=>e.getAttribute("name")===n);if(null!=o){const e=o.getAttribute("type"),t=e?(0,s.I6)((0,p.i)(i.firstElementChild,{complexType:e=>e}),t=>t.getAttribute("name")===j(e).name):(0,s.I6)((0,p.i)(o,{complexType:e=>e}),()=>!0);if(t)return function(e){const t=[],n=[];let i;const s=(0,p.i)(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const o of s){const s=o.getAttribute("name");if(!s)continue;let a,l;if(o.hasAttribute("type")?a=j(o.getAttribute("type")).name:(0,p.p)(o,{simpleType:{restriction:e=>(a=j(e.getAttribute("base")).name,{maxLength:e=>{l=+e.getAttribute("value")}})}}),!a)continue;const u="true"===o.getAttribute("nillable");let c=!1;switch(a.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":n.push(new f.A({name:s,alias:s,type:"integer",nullable:u,length:(0,y._b)("integer")}));break;case"float":case"double":case"decimal":n.push(new f.A({name:s,alias:s,type:"double",nullable:u,length:(0,y._b)("double")}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":n.push(new f.A({name:s,alias:s,type:"string",nullable:u,length:l??(0,y._b)("string")}));break;case"datetime":case"date":n.push(new f.A({name:s,alias:s,type:"date",nullable:u,length:l??(0,y._b)("date")}));break;case"pointpropertytype":i="point",c=!0;break;case"multipointpropertytype":i="multipoint",c=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":i="polyline",c=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":i="polygon",c=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":c=!0,t.push(new r.A(w,`geometry type '${a}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:t.push(new r.A("wfs-layer:unknown-field-type",`Unknown field type '${a}'`,{type:(new XMLSerializer).serializeToString(e)}))}c&&n.push(new f.A({name:s,alias:s,type:"geometry",nullable:u}))}for(const e of n)if("integer"===e.type&&!e.nullable&&B.has(e.name.toLowerCase())){e.type="oid";break}return{geometryType:i,fields:n,errors:t}}(t)}throw new r.A(x,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(i)})}(t,(await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:_,TYPENAME:t,TYPENAMES:t,...n?.customParameters},signal:n?.signal})).data)}const B=new Set(["objectid","fid"]);async function P(e,t,n,s,o){let{data:a}=await(0,i.A)(e,{responseType:"text",query:z(t,n,s,o),signal:o?.signal});a=a.replaceAll(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{return JSON.parse(a)}catch(e){throw new r.A("wfs-layer:malformed-json","Error while parsing the response",{response:a,error:e})}}function z(e,t,n,i){const r="number"==typeof t?t:t.wkid;return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:e,OUTPUTFORMAT:n,SRSNAME:"EPSG:"+r,STARTINDEX:i?.startIndex,COUNT:i?.count,...i?.customParameters}}async function N(e,t,n){const r=await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:t,RESULTTYPE:"hits",...n?.customParameters},signal:n?.signal}),s=/numberMatched=["'](?<numberMatched>\d+)["']/gi.exec(r.data);if(s?.groups)return+s.groups.numberMatched}function k(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function j(e){const[t,n]=e.split(":");return{prefix:n?t:"",name:n??t}}function O(e){let t="",n="";if((0,p.p)(e.firstElementChild,{Exception:e=>(t=e.getAttribute("exceptionCode"),{ExceptionText:e=>{n=e.textContent}})}),t)throw new r.A(`wfs-layer:${t}`,n)}function G(e,t,n){const i={wkid:t.defaultSpatialReference},r=null!=n?.wkid?{wkid:n.wkid}:i;return{spatialReference:r,getFeatureSpatialReference:(0,m.Fi)(e)||r.wkid&&t.supportedSpatialReferences.includes(r.wkid)?{wkid:r.wkid}:{wkid:t.defaultSpatialReference}}}},13043(e,t,n){function i(e,t){if(e&&t)for(const n of e.children)if(n.localName in t){const e=t[n.localName];if("function"==typeof e){const t=e(n);t&&i(n,t)}else i(n,e)}}function*r(e,t){for(const n of e.children)if(n.localName in t){const e=t[n.localName];"function"==typeof e?yield e(n):yield*r(n,e)}}n.d(t,{i:()=>r,p:()=>i})},39357(e,t,n){n.d(t,{A:()=>a});var i,r=n(5482),s=n(25482),o=n(91429);let a=i=class extends s.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new i({name:this.name,code:this.code})}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"name",void 0),(0,r.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],a.prototype,"code",void 0),a=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValue")],a)},53177(e,t,n){n.d(t,{A:()=>c});var i,r=n(5482),s=n(4718),o=n(91429),a=n(39357),l=n(76357),u=n(93223);let c=class extends l.A{static{i=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const n=String(e);this.codedValues.some(e=>(String(e.code)===n&&(t=e.name),!!t))}return t}clone(){return new i({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,r.Cg)([(0,o.MZ)({type:[a.A],json:{write:{isRequired:!0}}})],c.prototype,"codedValues",void 0),(0,r.Cg)([(0,u.e)({codedValue:"coded-value"})],c.prototype,"type",void 0),c=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValueDomain")],c)},76357(e,t,n){n.d(t,{A:()=>u});var i=n(5482),r=n(66552),s=n(25482),o=n(91429),a=n(93223);const l=new r.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends s.o{constructor(e){super(e),this.name=null,this.type=null}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,i.Cg)([(0,a.e)(l),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,i.Cg)([(0,o.$K)("esri.layers.support.Domain")],u)},20437(e,t,n){n.d(t,{A:()=>m});var i,r=n(5482),s=n(66552),o=n(25482),a=n(91429),l=n(56507),u=n(8631),c=n(98453),h=n(36005),d=n(93223);const p=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let m=class extends o.o{static{i=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let n=null;try{n=t?JSON.parse(t):null}catch(e){}return n?.value??null}readValueType(e,{description:t}){let n=null;try{n=t?JSON.parse(t):null}catch(e){}return n?p.fromJSON(n.fieldValueType):null}clone(){return new i({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,r.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"description",void 0),(0,r.Cg)([(0,h.w)("description")],m.prototype,"readDescription",null),(0,r.Cg)([(0,a.MZ)({types:u.g,json:{read:{reader:u.r},write:!0}})],m.prototype,"domain",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,r.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,"length",void 0),(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,r.Cg)([(0,d.e)(c.m)],m.prototype,"type",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"valueType",void 0),(0,r.Cg)([(0,h.w)("valueType",["description"])],m.prototype,"readValueType",null),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=i=(0,r.Cg)([(0,a.$K)("esri.layers.support.Field")],m)},41628(e,t,n){n.d(t,{A:()=>l});var i,r=n(5482),s=n(91429),o=n(76357),a=n(93223);let l=class extends o.A{static{i=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new i({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,r.Cg)([(0,s.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,n){t[n]=[this.minValue||0,e]},isRequired:!0}}})],l.prototype,"maxValue",void 0),(0,r.Cg)([(0,s.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,n){t[n]=[e,this.maxValue||0]},isRequired:!0}}})],l.prototype,"minValue",void 0),(0,r.Cg)([(0,a.e)({range:"range"})],l.prototype,"type",void 0),l=i=(0,r.Cg)([(0,s.$K)("esri.layers.support.RangeDomain")],l)},8631(e,t,n){n.d(t,{r:()=>d,g:()=>h});var i,r=n(53177),s=n(76357),o=n(5482),a=n(91429),l=n(93223);let u=class extends s.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],u.prototype,"type",void 0),u=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],u);var c=n(41628);const h={key:"type",base:s.A,typeMap:{range:c.A,"coded-value":r.A,inherited:u}};function d(e){if(!e?.type)return null;switch(e.type){case"range":return c.A.fromJSON(e);case"codedValue":return r.A.fromJSON(e);case"inherited":return u.fromJSON(e)}return null}},98453(e,t,n){n.d(t,{m:()=>i});const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},2272(e,t,n){n.d(t,{Dl:()=>u,gf:()=>h,jV:()=>l,lF:()=>c});var i=n(92602),r=n(70333),s=n(4718),o=n(84952),a=n(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,s.o8)(e)}function c(e,t,n){const i={};for(const r in e){if("declaredClass"===r)continue;const s=e[r];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))i[r]=s.map(e=>c(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(n?.[r]);i[r]=t?e:JSON.stringify(e)}else i[r]=t?s:JSON.stringify(s);else i[r]=s}return i}async function h(e,t,s){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??r.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!r.id&&i.A.request.useIdentity&&await Promise.all([n.e(7632),n.e(9846),n.e(148)]).then(n.bind(n,50148));const l=await r.id.getCredential(e,s);return l?.token}},926(e,t,n){n.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>m,getApiKey:()=>c,getSessionToken:()=>h});var i=n(92602),r=n(11254),s=n(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function c(e){if(!m(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),n=i.A.apiKeys;if(Array.isArray(n.scopes))for(const e of n.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return n.basemapStyles&&o.test(e)?n.basemapStyles:i.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?i.A.apiKey:null}async function h(e){if(!i.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=c(e);if(!t)return null;u&&await u;const{styleFamily:n="arcgis",autoRefresh:s,duration:a=43200}=i.A.sessions.basemap,h=`${t}:${n}`,d=l.get(h);if(d&&(!s||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,r.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:n,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(h,p)}finally{u=null}return p.sessionToken}function d(){return null!=i.A.apiKey||null!=i.A.apiKeys.basemapStyles}function p(e,t){return t?m(e):null!=c(e)}function m(e){const t=(0,s.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[926,4794],{69540(e,t,n){n.d(t,{OU:()=>c,Pw:()=>h});var i=n(5482),r=n(69622),s=(n(44208),n(4718)),o=(n(53966),n(97768)),a=n(88620),l=n(64108);const u=Symbol("ClonableMixin"),c=e=>{var t;const n=e;let r=class extends n{constructor(){super(...arguments),this[t]=!0}static{t=u}clone(e){const t=(0,a.oY)(this);(0,o.Lw)(t,"unable to clone instance of non-accessor class");const n=t.metadata,i=t.store,r={},l=new Map;for(const t in n){const o=n[t],a=i?.originOf(t),u=o.clonable;if(o.readOnly||!1===u||7!==a&&0!==a&&5!==a&&4!==a)continue;const c=this[t];let h=null;if("function"==typeof u)h=u(c,e);else if("reference"===u)h=c;else if(h=(0,s.TU)(c,e),null!=c&&null==h)continue;0===a?l.set(t,h):r[t]=h}const u=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const e=(0,a.oY)(u)?.store;if(e)for(const[t,n]of l)e.set(t,n,0)}return u}};return r=(0,i.Cg)([(0,l.$)("esri.core.Clonable")],r),r},h=c(r.A)},66344(e,t,n){n.d(t,{q:()=>a});const i=!!(0,n(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const n=this._db.get(e.id+t);return n?.size??0}put(e,t,n,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==n&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,n,r,0);if(void 0===n)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,n,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new s(n,r,l)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const n=this._db.get(t);if(!n)return;this._size-=n.size,e.size-=n.size;let i=n.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,n.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}n.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const n=this._db.get(t);if(n)return this._size-=n.size,e.size-=n.size,this._db.delete(t),++this._hit,n.entry;++this._miss}get(e,t){t=e.id+t;const n=this._db.get(t);if(void 0!==n)return this._db.delete(t),n.lives=n.lifetime,this._db.set(t,n),++this._hit,n.entry;++this._miss}peek(e,t){const n=this._db.get(e.id+t);return n?++this._hit:++this._miss,n?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},n=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;n[r]=(n[r]||0)+e.size,this._clients.forEach(n=>{const{id:r,name:s}=n;if(i.startsWith(r)){const n=t[s]||0;t[s]=n+e.size}})});const i={};this._clients.forEach(e=>{const n=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[n]||0;t[n]=r,i[n]=Math.round(100*e.hitRate)+"%"}else i[n]="0%"});const r=Object.keys(t);r.sort((e,n)=>t[n]-t[e]),r.forEach(n=>e[n]=Math.round(t[n]/2**20)+"MB / "+i[n]);for(let t=n.length-1;t>=0;--t){const i=n[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,n)=>{n.startsWith(t)&&(this._size-=e.size,this._db.delete(n),this._notifyRemove(n,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,n]of this._db)t.startsWith(e.id)&&(yield n.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,n,i){const r=this._clients.get(e.split(o)[0])?.removeFunc,s=r?.(t,i,n);return"number"==typeof s?s:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const n=t??this;if(n.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[s,a]of this._db)if(0===a.lifetime&&(!i||s.startsWith(i))){const i=t??this._clients.get(s.split(o)[0]);if(this._purgeItem(s,a,i),n.size<=.9*e)return;r||=this._db.has(s)}}for(const[r,s]of this._db)if(!i||r.startsWith(i)){const i=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,s,i),n.size<=.9*e)return}}_purgeItem(e,t,n){if(this._db.delete(e),t.lives<=1){this._size-=t.size,n&&(n.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,n&&(n.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class s{constructor(e,t,n){this.entry=e,this.size=t,this.lifetime=n,this.lives=n}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new r(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,n=1){this._storage.put(this,e,t,n,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},60999(e,t,n){n.d(t,{DZ:()=>m,Ke:()=>p,Tj:()=>c,UT:()=>f,aD:()=>g,jJ:()=>u});var i=n(5482),r=n(69622),s=n(97768),o=n(17676),a=n(10107),l=n(64108);function u(e,t,n){return(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))}async function c(e,t,n){return(await(0,o.Lx)(e.map((e,i)=>t.apply(n,[e,i])))).map(e=>e.value)}function h(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function p(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return h(await e)}catch(e){return d(e)}}async function m(e){try{return h(await e)}catch(e){return(0,o.QP)(e),d(e)}}function f(e,t){return new y(e,t)}let y=class extends r.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:n}=this._abortController;this.promise=e(n),this.promise.then(e=>{this._result=h(e),this._cleanup()},e=>{this._result=d(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,i.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,i.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,i.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,i.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class g{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,i.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,i.hk)(t)}}}},67482(e,t,n){function i(e){return null!=a(e)||null!=o(e)}function r(e){return l.test(e)}function s(e){return a(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let n=!0;if(c&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,i=0;for(;!t&&i<=e.length;)t=!u.test(e[i]),i++;n=!t}}return n}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function a(e){const t=l.exec(e);if(!t?.groups)return null;const n=t.groups,i=+n.year,r=+n.month-1,s=+n.day,o=+(n.hours??"0"),a=+(n.minutes??"0"),u=+(n.seconds??"0");if(o>23)return null;if(a>59)return null;if(u>59)return null;const c=n.ms??"0",h=c?+c.padEnd(3,"0").slice(0,3):0;let d;if(n.isUTC||!n.offsetSign)d=Date.UTC(i,r,s,o,a,u,h);else{const e=+n.offsetHours,t=+n.offsetMinutes;d=6e4*("+"===n.offsetSign?-1:1)*(60*e+t)+Date.UTC(i,r,s,o,a,u,h)}return Number.isNaN(d)?null:d}n.d(t,{Br:()=>r,Cq:()=>i,_U:()=>s});const l=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,u=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,c=!Number.isNaN(new Date("technology 10").getTime())},75503(e,t,n){n.d(t,{wq:()=>a});var i=n(4576),r=n(21818),s=(n(44208),n(15142)),o=n(11006);class a{constructor(e=9,t){this._compareMinX=d,this._compareMinY=p,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),w.prune(),S.prune(),v.prune(),C.prune()}all(e){l(this._data,e)}search(e,t){let n=this._data;const i=this._toBBox;if(b(e,n))for(w.clear();n;){for(let r=0,s=n.children.length;r<s;r++){const s=n.children[r],o=n.leaf?i(s):s;b(e,o)&&(n.leaf?t(s):_(e,o)?l(s,t):w.push(s))}n=w.pop()}}collides(e){let t=this._data;const n=this._toBBox;if(!b(e,t))return!1;for(w.clear();t;){for(let i=0,r=t.children.length;i<r;i++){const r=t.children[i],s=t.leaf?n(r):r;if(b(e,s)){if(t.leaf||_(e,s))return!0;w.push(r)}}t=w.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,n=e.length;t<n;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new F([]),this}remove(e){if(!e)return this;let t,n=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(v.clear(),C.clear();n||v.length>0;){if(n||(n=v.pop(),s=v.data[v.length-1],o=C.pop()??0,a=!0),n.leaf&&(t=(0,i.qh)(n.children,(0,r.z)(e),n.children.length,n.indexHint),-1!==t))return n.children.splice(t,1),v.push(n),this._condense(v),this;a||n.leaf||!_(n,l)?s?(o++,n=s.children[o],a=!1):n=null:(v.push(n),C.push(o),o=0,s=n,n=n.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,n,i){const r=n-t+1;let s=this._maxEntries;if(r<=s){const i=new F(e.slice(t,n+1));return u(i,this._toBBox),i}i||(i=Math.ceil(Math.log(r)/Math.log(s)),s=Math.ceil(r/s**(i-1)));const o=new M([]);o.height=i;const a=Math.ceil(r/s),l=a*Math.ceil(Math.sqrt(s));x(e,t,n,l,this._compareMinX);for(let r=t;r<=n;r+=l){const t=Math.min(r+l-1,n);x(e,r,t,a,this._compareMinY);for(let n=r;n<=t;n+=a){const r=Math.min(n+a-1,t);o.children.push(this._build(e,n,r,i-1))}}return u(o,this._toBBox),o}_insert(e,t,n){const i=this._toBBox,r=n?e:i(e);v.clear();const s=function(e,t,n,i){for(;i.push(t),!0!==t.leaf&&i.length-1!==n;){let n,i=1/0,r=1/0;for(let s=0,o=t.children.length;s<o;s++){const o=t.children[s],a=m(o),l=y(e,o)-a;l<r?(r=l,i=a<i?a:i,n=o):l===r&&a<i&&(i=a,n=o)}t=n||t.children[0]}return t}(r,this._data,t,v);for(s.children.push(e),h(s,r);t>=0&&v.data[t].children.length>this._maxEntries;)this._split(v,t),t--;!function(e,t,n){for(let i=n;i>=0;i--)h(t.data[i],e)}(r,v,t)}_split(e,t){const n=e.data[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const s=this._chooseSplitIndex(n,r,i);if(!s)return;const o=n.children.splice(s,n.children.length-s),a=n.leaf?new F(o):new M(o);a.height=n.height,u(n,this._toBBox),u(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(n,a)}_splitRoot(e,t){this._data=new M([e,t]),this._data.height=e.height+1,u(this._data,this._toBBox)}_chooseSplitIndex(e,t,n){let i,r,s;i=r=1/0;for(let o=t;o<=n-t;o++){const t=c(e,0,o,this._toBBox),a=c(e,o,n,this._toBBox),l=g(t,a),u=m(t)+m(a);l<i?(i=l,s=o,r=u<r?u:r):l===i&&u<r&&(r=u,s=o)}return s}_chooseSplitAxis(e,t,n){const i=e.leaf?this._compareMinX:d,r=e.leaf?this._compareMinY:p;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,r)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const r=this._toBBox,s=c(e,0,t,r),o=c(e,n-t,n,r);let a=f(s)+f(o);for(let i=t;i<n-t;i++){const t=e.children[i];h(s,e.leaf?r(t):t),a+=f(s)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];h(o,e.leaf?r(t):t),a+=f(o)}return a}_condense(e){for(let t=e.length-1;t>=0;t--){const n=e.data[t];if(0===n.children.length)if(t>0){const r=e.data[t-1],s=r.children;s.splice((0,i.qh)(s,n,s.length,r.indexHint),1)}else this.clear();else u(n,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let n=e;for(S.clear();n;){if(!0===n.leaf)for(const e of n.children)t((0,r.z)(e));else S.pushArray(n.children);n=S.pop()??null}}function u(e,t){c(e,0,e.children.length,t,e)}function c(e,t,n,i,r){r||(r=new F([])),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let s,o=t;o<n;o++)s=e.children[o],h(r,e.leaf?i(s):s);return r}function h(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function d(e,t){return e.minX-t.minX}function p(e,t){return e.minY-t.minY}function m(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function f(e){return e.maxX-e.minX+(e.maxY-e.minY)}function y(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function g(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,r-n)*Math.max(0,s-i)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function b(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function x(e,t,n,i,r){const s=[t,n];for(;s.length;){const t=s.pop(),n=s.pop();if(t-n<=i)continue;const a=n+Math.ceil((t-n)/i/2)*i;(0,o.q)(e,a,n,t,r),s.push(n,a,a,t)}}const w=new s.A,S=new s.A,v=new s.A,C=new s.A({deallocator:void 0});class T{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class A extends T{constructor(){super(...arguments),this.height=1,this.indexHint=new i.vW}}class F extends A{constructor(e){super(),this.children=e,this.leaf=!0}}class M extends A{constructor(e){super(),this.children=e,this.leaf=!1}}},36708(e,t,n){n.d(t,{C_:()=>d,OH:()=>f,Vh:()=>y,on:()=>h,pc:()=>g,wB:()=>l,z7:()=>u});var i=n(37955),r=n(36563),s=n(97768),o=n(17676),a=n(14012);function l(e,t,n={}){return c(e,t,n,p)}function u(e,t,n={}){return c(e,t,n,m)}function c(e,t,n={},i){let r=null;const o=n.once?(e,n)=>{i(e)&&((0,s.xt)(r),t(e,n))}:(e,n)=>{i(e)&&t(e,n)};if(r=(0,a.Cn)(e,o,n.sync,n.equals),n.initial){const t=e();o(t,t)}return r}function h(e,t,n,o={}){let a=null,u=null,c=null;function h(){a&&u&&(u.remove(),o.onListenerRemove?.(a),a=null,u=null)}function d(e){o.once&&o.once&&(0,s.xt)(c),n(e)}const p=l(e,(e,n)=>{h(),(0,i.wb)(e)&&(a=e,u=(0,i.on)(e,t,d),o.onListenerAdd?.(e))},{sync:o.sync,initial:!0});return c=(0,r.hA)(()=>{p.remove(),h()}),c}function d(e,t){return function(e,t,n){if((0,o.G4)(n))return Promise.reject((0,o.NK)());const i=e();if(t?.(i))return Promise.resolve(i);let a=null;function l(){a=(0,s.xt)(a)}return new Promise((i,s)=>{a=(0,r.vE)([(0,o.u7)(n,()=>{l(),s((0,o.NK)())}),c(e,e=>{l(),i(e)},{sync:!1,once:!0},t??p)])})}(e,m,t)}function p(e){return!0}function m(e){return!!e}n(80559);const f={sync:!0},y={initial:!0},g={sync:!0,initial:!0}},60408(e,t,n){function i(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function r(e){return void 0!==e.points}function s(e){return void 0!==e.x&&void 0!==e.y}function o(e){return void 0!==e.paths||void 0!==e.curvePaths}function a(e){return void 0!==e.rings||void 0!==e.curveRings}function l(e){return"object"==typeof e&&"vertexAttributes"in e}function u(e){return e?s(e)?"esriGeometryPoint":o(e)?"esriGeometryPolyline":a(e)?"esriGeometryPolygon":i(e)?"esriGeometryEnvelope":r(e)?"esriGeometryMultipoint":null:null}function c(e){return null!=e&&("hasZ"in e&&e.hasZ||"z"in e&&null!=e.z)}function h(e){return null!=e&&("hasM"in e&&e.hasM||"m"in e&&null!=e.m)}n.d(t,{$B:()=>u,Bi:()=>a,Pv:()=>c,Rg:()=>o,U9:()=>r,W0:()=>h,ZC:()=>i,fT:()=>s,uW:()=>l})},65864(e,t,n){n.d(t,{rS:()=>c,xD:()=>d});var i=n(5443),r=n(91075),s=n(48526),o=n(86738),a=n(39829),l=n(82799),u=n(60408);function c(e){return null==e?null:e instanceof r.A?e:(0,u.fT)(e)?o.A.fromJSON(e):(0,u.Rg)(e)?l.A.fromJSON(e):(0,u.Bi)(e)?a.A.fromJSON(e):(0,u.U9)(e)?s.A.fromJSON(e):(0,u.ZC)(e)?i.A.fromJSON(e):null}const h={esriGeometryPoint:o.A,esriGeometryPolyline:l.A,esriGeometryPolygon:a.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:s.A,esriGeometryMultiPatch:a.A};function d(e){return e&&h[e]||null}},50498(e,t,n){n.d(t,{Ye:()=>h,gy:()=>c,iI:()=>p,yR:()=>d});var i=n(66552),r=n(5443),s=n(91075),o=n(48526),a=n(86738),l=n(39829),u=n(82799);const c=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon"}),h=(0,i.O)()({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh"}),d={base:s.A,key:"type",typeMap:{extent:r.A,multipoint:o.A,point:a.A,polyline:u.A,polygon:l.A}},p=new i.J({esriGeometryBezier3Curve:"cubic-bezier",esriGeometryCircularArc:"circular-arc",esriGeometryEllipticArc:"elliptic-arc"},{ignoreUnknown:!0})},6518(e,t,n){n.d(t,{F:()=>a});var i=n(44208),r=n(75503),s=n(19419);const o={minX:0,minY:0,maxX:0,maxY:0};class a{constructor(){this._indexInvalid=!1,this._boundsToLoad=[],this._boundsById=new Map,this._idByBounds=new Map,this._index=new r.wq(9,(0,i.A)("esri-csp-restrictions")?e=>({minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}):["[0]","[1]","[2]","[3]"]),this._loadIndex=()=>{if(this._indexInvalid){const e=new Array(this._idByBounds.size);let t=0;this._idByBounds.forEach((n,i)=>{e[t++]=i}),this._indexInvalid=!1,this._index.clear(),this._index.load(e)}else this._boundsToLoad.length&&(this._index.load(Array.from(new Set(this._boundsToLoad.filter(e=>this._idByBounds.has(e))))),this._boundsToLoad.length=0)}}get fullBounds(){if(!this._boundsById.size)return null;const e=(0,s.Ie)();for(const t of this._boundsById.values())t&&(e[0]=Math.min(t[0],e[0]),e[1]=Math.min(t[1],e[1]),e[2]=Math.max(t[2],e[2]),e[3]=Math.max(t[3],e[3]));return e}get valid(){return!this._indexInvalid}clear(){this._indexInvalid=!1,this._boundsToLoad.length=0,this._boundsById.clear(),this._idByBounds.clear(),this._index.clear()}delete(e){const t=this._boundsById.get(e);this._boundsById.delete(e),t&&(this._idByBounds.delete(t),this._indexInvalid||this._index.remove(t))}forEachInBounds(e,t){this._loadIndex(),function(e,t,n){(function(e){o.minX=e[0],o.minY=e[1],o.maxX=e[2],o.maxY=e[3]})(t),e.search(o,n)}(this._index,e,e=>t(this._idByBounds.get(e)))}get(e){return this._boundsById.get(e)}has(e){return this._boundsById.has(e)}invalidateIndex(){this._indexInvalid||(this._indexInvalid=!0,this._boundsToLoad.length=0)}set(e,t){if(!this._indexInvalid){const t=this._boundsById.get(e);t&&(this._index.remove(t),this._idByBounds.delete(t))}this._boundsById.set(e,t),t&&(this._idByBounds.set(t,e),this._indexInvalid||(this._boundsToLoad.push(t),this._boundsToLoad.length>5e4&&this._loadIndex()))}}},83221(e,t,n){n.d(t,{A:()=>m});var i=n(4576),r=n(49186),s=n(65529),o=n(53966),a=n(70328),l=n(19419),u=n(90708),c=n(6518),h=n(51441),d=n(37730);const p=(0,a.vt)();class m{constructor(e){this.geometryInfo=e,this._boundsStore=new c.F,this._featuresById=new Map,this._usedMemory=0,this.events=new s.bk,this.featureAdapter=d.T}get usedMemory(){return this._usedMemory}get geometryType(){return this.geometryInfo.geometryType}get hasM(){return this.geometryInfo.hasM}get hasZ(){return this.geometryInfo.hasZ}get numFeatures(){return this._featuresById.size}get fullBounds(){return this._boundsStore.fullBounds}get storeStatistics(){let e=0;return this._featuresById.forEach(t=>{null!=t.geometry&&t.geometry.coords&&(e+=t.geometry.coords.length)}),{featureCount:this._featuresById.size,vertexCount:e/(this.hasZ?this.hasM?4:3:this.hasM?3:2)}}getFullExtent(e){if(null==this.fullBounds)return null;const[t,n,i,r]=this.fullBounds;return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:(0,h.ag)(e)}}add(e){this._add(e),this._emitChanged()}addMany(e){for(const t of e)this._add(t);this._emitChanged()}upsertMany(e){const t=e.map(e=>this._upsert(e));return this._emitChanged(),t.filter(i.Ru)}clear(){this._featuresById.clear(),this._boundsStore.clear(),this._emitChanged(),this._usedMemory=0}removeById(e){const t=this._featuresById.get(e);return t?(this._remove(t),this._emitChanged(),t):null}removeManyById(e){this._boundsStore.invalidateIndex();for(const t of e){const e=this._featuresById.get(t);e&&this._remove(e)}this._emitChanged()}forEachBounds(e,t){for(const n of e){const e=this._boundsStore.get(n.objectId);e&&t((0,a.Jt)(p,e))}}getFeature(e){return this._featuresById.get(e)}has(e){return this._featuresById.has(e)}forEach(e){this._featuresById.forEach(t=>e(t))}forEachInBounds(e,t){this._boundsStore.forEachInBounds(e,e=>{t(this._featuresById.get(e))})}_emitChanged(){this.events.emit("changed",void 0)}_add(e){if(!e)return;const t=e.objectId;if(null==t)return void o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e}));const n=this._featuresById.get(t);let i;if(n?(e.displayId=n.displayId,i=this._boundsStore.get(t),this._boundsStore.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0):null!=this.onFeatureAdd&&this.onFeatureAdd(e),!e.geometry?.coords?.length)return this._boundsStore.set(t,null),void this._featuresById.set(t,e);i=(0,u.jQ)(null!=i?i:(0,l.vt)(),e.geometry),null!=i&&this._boundsStore.set(t,i),this._featuresById.set(t,e),this._usedMemory+=this.estimateFeatureUsedMemory?.(e)??0}_upsert(e){const t=e?.objectId;if(null==t)return o.A.getLogger("esri.layers.graphics.data.FeatureStore").error(new r.A("featurestore:invalid-feature","feature id is missing",{feature:e})),null;const n=this._featuresById.get(t);if(!n)return this._add(e),e;this._usedMemory-=this.estimateFeatureUsedMemory?.(n)??0;const{geometry:i,attributes:s}=e;for(const e in s)n.attributes[e]=s[e];return i&&(n.geometry=i,this._boundsStore.set(t,(0,u.jQ)((0,l.vt)(),i)??null)),this._usedMemory+=this.estimateFeatureUsedMemory?.(n)??0,n}_remove(e){null!=this.onFeatureRemove&&this.onFeatureRemove(e);const t=e.objectId;return this._boundsStore.delete(t),this._featuresById.delete(t),this._usedMemory-=this.estimateFeatureUsedMemory?.(e)??0,e}}},37730(e,t,n){n.d(t,{T:()=>r});var i=n(43334);const r={getObjectId:e=>e.objectId,getAttributes:e=>e.attributes,getAttribute:(e,t)=>e.attributes[t],cloneWithGeometry:(e,t,n)=>new i.Om(t,e.attributes,null,e.objectId),getGeometry:e=>e.geometry,getCentroid:(e,t)=>e.ensureCentroid(t)}},33771(e,t,n){n.r(t),n.d(t,{default:()=>w});var i=n(60999),r=n(49186),s=n(53966),o=n(34727),a=n(17676),l=n(67076),u=n(21325),c=n(90708),h=n(83221),d=n(31464),p=n(56390),m=n(85113),f=n(82832),y=n(34322),g=n(95466),_=n(54218),b=n(98623);const x="esri.layers.WFSLayer";class w{constructor(){this._customParameters=null,this._queryEngine=null,this._supportsPagination=!0}destroy(){this._queryEngine?.destroy(),this._queryEngine=null}async load(e,t={}){const{getFeatureUrl:n,getFeatureOutputFormat:i,fields:s,geometryType:o,featureType:l,maxRecordCount:u,maxTotalRecordCount:c,maxPageCount:m,objectIdField:f,customParameters:_}=e,{spatialReference:x,getFeatureSpatialReference:w}=(0,y.UH)(n,l,e.spatialReference);try{await(0,d.Nk)(w,x)}catch{throw new r.A("unsupported-projection","Projection not supported",{inSpatialReference:w,outSpatialReference:x})}(0,a.Te)(t),this._customParameters=_,this._featureType=l,this._fieldsIndex=g.A.fromLayerJSON({fields:s,dateFieldsTimeReference:s.some(e=>"esriFieldTypeDate"===e.type)?{timeZoneIANA:b.n$}:null}),this._geometryType=o,this._getFeatureUrl=n,this._getFeatureOutputFormat=i,this._getFeatureSpatialReference=w,this._maxRecordCount=u,this._maxTotalRecordCount=c,this._maxPageCount=m,this._objectIdField=f,this._spatialReference=x;let v=await this._snapshotFeatures(t);if(v.errors.length>0&&(this._supportsPagination=!1,v=await this._snapshotFeatures(t),v.errors.length>0))throw v.errors[0];const C={type:"object-id",fieldName:f};return this._queryEngine=new p.do({fieldsIndex:this._fieldsIndex,geometryType:o,hasM:!1,hasZ:!1,featureIdInfo:C,spatialReference:x,timeInfo:null,featureStore:new h.A({geometryType:o,hasM:!1,hasZ:!1})}),this._queryEngine.featureStore.addMany(v.features),{warnings:S(v),extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async applyEdits(){throw new r.A("wfs-source:editing-not-supported","applyEdits() is not supported on WFSLayer")}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),(await this._queryEngine.executeQueryForIds(e,t.signal)).filter(_.Et)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){return this._customParameters=e.customParameters,this._maxRecordCount=e.maxRecordCount,this._maxTotalRecordCount=e.maxTotalRecordCount,this._maxPageCount=e.maxPageCount,this._snapshotTask?.abort(),this._snapshotTask=(0,i.UT)(e=>this._snapshotFeatures({signal:e})),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),this._queryEngine.featureStore.addMany(e.features);for(const t of S(e))s.A.getLogger(x).warn(new l.A("wfs-layer:refresh-warning",t.message,t.details));e.errors?.length&&s.A.getLogger(x).warn(new l.A("wfs-layer:refresh-error","Refresh completed with errors",{errors:e.errors}))},()=>{this._queryEngine.featureStore.clear()}),await this._waitSnapshotComplete(),{extent:(await this._queryEngine.fetchRecomputedExtents()).fullExtent}}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _snapshotFeatures(e){const t=e?.signal,n=this._maxTotalRecordCount,i=this._maxPageCount,r=this._supportsPagination&&i>1?await(0,y.E)(this._getFeatureUrl,this._featureType.typeName,{customParameters:this._customParameters,signal:t}):void 0;let s=[];const l=[];if(null==r)try{s=await this._singleQuery(t)}catch(e){(0,a.zf)(e)||l.push(e)}else{const e=Math.min(r,n),u=function*(e,t,n){for(let i=0;i<t;i++)yield e._pageQuery(i,n)}(this,(0,o.qE)(Math.ceil(e/this._maxRecordCount),1,i),t);await Promise.allSettled(Array.from({length:10}).map(()=>async function(e,t,n){let i=e.next();for(;!i.done;){try{const e=await i.value;t.push(...e)}catch(e){(0,a.zf)(e)||n.push(e)}i=e.next()}}(u,s,l)))}return(0,a.Te)(t),{features:s,totalRecordCount:r,maxTotalRecordCount:n,maxPageCount:i,errors:l}}async _singleQuery(e){const t=Number.isFinite(this._maxRecordCount)&&this._maxRecordCount>0?this._maxRecordCount:void 0,n=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,count:t,signal:e});return this._processGeoJSON(n,{signal:e})}async _pageQuery(e,t){const n=e*this._maxRecordCount,i=await(0,y.x$)(this._getFeatureUrl,this._featureType.typeName,this._getFeatureSpatialReference,this._getFeatureOutputFormat,{customParameters:this._customParameters,startIndex:n,count:this._maxRecordCount,signal:t});return this._processGeoJSON(i,{startIndex:n,signal:t})}_processGeoJSON(e,t){(0,m.sO)(e,this._getFeatureSpatialReference.wkid);const{startIndex:n,signal:i}=t;(0,a.Te)(i);const r=(0,m.bd)(e,{geometryType:this._geometryType,hasZ:!1,objectIdField:this._objectIdField});if(!(0,u.aI)(this._spatialReference,this._getFeatureSpatialReference))for(const e of r)null!=e.geometry&&(e.geometry=(0,c.Ux)((0,d.Cv)((0,c.zv)(e.geometry,this._geometryType,!1,!1),this._getFeatureSpatialReference,this._spatialReference)));let s=n??1;for(const e of r){const t={};(0,f.MB)(this._fieldsIndex,t,e.attributes,!0),e.attributes=t,null==t[this._objectIdField]&&(e.objectId=t[this._objectIdField]=s++)}return r}}function S(e){const t=[];return null!=e.totalRecordCount&&(e.features.length<e.totalRecordCount&&t.push({name:"wfs-layer:maxRecordCount-too-low",message:`Could only fetch ${e.features.length} of ${e.totalRecordCount} in ${e.maxPageCount} queries. Try increasing the value of WFSLayer.maxRecordCount.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount}}),e.totalRecordCount>e.maxTotalRecordCount&&t.push({name:"wfs-layer:large-dataset",message:`The number of ${e.totalRecordCount} features exceeds the maximum allowed of ${e.maxTotalRecordCount}.`,details:{recordCount:e.features.length,totalRecordCount:e.totalRecordCount,maxTotalRecordCount:e.maxTotalRecordCount}})),t}},85113(e,t,n){n.d(t,{BM:()=>T,bd:()=>A,sO:()=>C,xD:()=>h});var i=n(67482),r=n(49186),s=n(21325),o=n(90708),a=n(43334),l=n(92722),u=n(30524);const c={LineString:"esriGeometryPolyline",MultiLineString:"esriGeometryPolyline",MultiPoint:"esriGeometryMultipoint",Point:"esriGeometryPoint",Polygon:"esriGeometryPolygon",MultiPolygon:"esriGeometryPolygon"};function h(e){return c[e]}function*d(e){switch(e.type){case"Feature":yield e;break;case"FeatureCollection":for(const t of e.features)t&&(yield t)}}function*p(e){if(e)switch(e.type){case"Point":yield e.coordinates;break;case"LineString":case"MultiPoint":yield*e.coordinates;break;case"MultiLineString":case"Polygon":for(const t of e.coordinates)yield*t;break;case"MultiPolygon":for(const t of e.coordinates)for(const e of t)yield*e}}function m(e){for(const t of e)if(t.length>2)return!0;return!1}function f(e){let t=0;for(let n=0;n<e.length;n++){const i=e[n],r=e[(n+1)%e.length];t+=i[0]*r[1]-r[0]*i[1]}return t<=0}function y(e){const t=e[0],n=e[e.length-1];t[0]===n[0]&&t[1]===n[1]&&t[2]===n[2]||e.push(t)}function g(e,t){const{coordinates:n,type:i}=e,r=t.hasZ??!1,s=!0;switch(i){case"Point":return new l.A([],[...n],r,!1);case"LineString":return(0,o.Ap)({paths:[n],hasZ:s},r,!1);case"MultiLineString":return(0,o.Ap)({paths:n,hasZ:s},r,!1);case"MultiPoint":return(0,o.PR)({points:n,hasZ:s},r,!1);case"Polygon":case"MultiPolygon":{const e=new l.A([],[],r,!1);for(const t of"Polygon"===i?[n]:n){_(e,t[0],r);for(let n=1;n<t.length;n++)b(e,t[n],r)}return e}}}function _(e,t,n){y(t),function(e){return!f(e)}(t)?w(e,t,n):x(e,t,n)}function b(e,t,n){y(t),function(e){return f(e)}(t)?w(e,t,n):x(e,t,n)}function x(e,t,n){for(const i of t)S(e,i,n);e.lengths.push(t.length)}function w(e,t,n){for(let i=t.length-1;i>=0;i--)S(e,t[i],n);e.lengths.push(t.length)}function S(e,[t,n,i],r){e.coords.push(t,n),r&&e.coords.push(i||0)}function v(e){switch(typeof e){case"string":return(0,i.Br)(e)?"esriFieldTypeDate":"esriFieldTypeString";case"number":return"esriFieldTypeDouble";default:return"unknown"}}function C(e,t=4326){if(!e)throw new r.A("geojson-layer:empty","GeoJSON data is empty");if("Feature"!==e.type&&"FeatureCollection"!==e.type)throw new r.A("geojson-layer:unsupported-geojson-object","missing or not supported GeoJSON object type",{data:e});const{crs:n}=e;if(!n)return;const i="string"==typeof n?n:"name"===n.type?n.properties.name:"EPSG"===n.type?n.properties.code:null,o=(0,s.oT)({wkid:t})?new RegExp(".*(CRS84H?|4326)$","i"):new RegExp(`.*(${t})$`,"i");if(!i||!o.test(i))throw new r.A("geojson:unsupported-crs","unsupported GeoJSON 'crs' member",{crs:n})}function T(e,t={}){const n=[],i=new Set,r=new Set;let s,o=!1,a=null,l=!1,{geometryType:c=null}=t;for(const t of d(e)){const{geometry:e,properties:d,id:f}=t;if((!e||(c||(c=h(e.type)),h(e.type)===c))&&(o||(o=m(p(e))),l||(l=null!=f,l&&(s=typeof f,d&&(a=Object.keys(d).filter(e=>d[e]===f)))),d&&a&&l&&null!=f&&(a.length>1?a=a.filter(e=>d[e]===f):1===a.length&&(a=d[a[0]]===f?a:[])),d))for(const e in d){if(i.has(e))continue;const t=v(d[e]);if("unknown"===t){r.add(e);continue}r.delete(e),i.add(e);const s=(0,u.rS)(e);s&&n.push({name:s,alias:e,type:t})}}const f=(0,u.rS)(1===a?.length&&a[0]||null)??void 0;if(f)for(const e of n)if(e.name===f&&(0,u.WA)(e)){e.type="esriFieldTypeOID";break}return{fields:n,geometryType:c,hasZ:o,objectIdFieldName:f,objectIdFieldType:s,unknownFields:Array.from(r)}}function A(e,t){return Array.from(function*(e,t={}){const{geometryType:n,objectIdField:i}=t;for(const r of e){const{geometry:e,properties:s,id:o}=r;if(e&&h(e.type)!==n)continue;const l=s||{};let u;i&&(u=l[i],null==o||u||(l[i]=u=o)),yield new a.Om(e&&g(e,t),l,null,u)}}(d(e),t))}},82832(e,t,n){n.d(t,{$1:()=>y,CR:()=>f,MB:()=>d,PC:()=>g,Yx:()=>l,bP:()=>c});var i=n(67482),r=n(21325),s=n(30524);class o{constructor(e){this.description=e,this.code=null}}class a{constructor(e){this.globalId=null,this.objectId=null,this.success=!1,this.uniqueId=null,this.error=new o(e)}}function l(e){return new a(e)}class u{constructor(e){this.globalId=null,this.success=!0,this.objectId=this.uniqueId=e}}function c(e){return new u(e)}const h=new Set;function d(e,t,n,i=!1){h.clear();for(const r in n){const o=e.get(r);if(!o)continue;const a=p(o,n[r]);if(h.add(o.name),o&&(i||o.editable)){const e=(0,s.CJ)(o,a);if(e)return l((0,s.uo)(e,o,a));t[o.name]=a}}for(const t of e.requiredFields??[])if(!h.has(t.name))return l(`missing required field "${t.name}"`);return null}function p(e,t){let n=t;return(0,s.WA)(e)&&"string"==typeof t?n=parseFloat(t):(0,s.yM)(e)&&null!=t&&"string"!=typeof t?n=String(t):(0,s.vE)(e)&&"string"==typeof t&&(n=(0,i._U)(t)),(0,s.WX)(n)}let m;function f(e,t){if(!e||!(0,r.fn)(t))return e;if("rings"in e||"paths"in e){if(null==m)throw new TypeError("geometry engine not loaded");return m.simplify(t,e)}return e}async function y(e,t){!(0,r.fn)(e)||"esriGeometryPolygon"!==t&&"esriGeometryPolyline"!==t||await async function(){return null==m&&(m=await n.e(1023).then(n.bind(n,81023))),m}()}const g={supportsAutoIntervalBin:!0,supportsFixedIntervalBin:!0,supportsFixedBoundariesBin:!0,supportsDateBin:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsNormalization:!0,supportedStatisticTypes:["COUNT","SUM","AVG","VAR","STDDEV","MIN","MAX","PERCENTILE_CONT","PERCENTILE_DISC","CentroidAggregate","EnvelopeAggregate","ConvexHullAggregate"],supportedNormalizationTypes:["field","log","naturalLog","percentOfTotal","squareRoot"]}},34322(e,t,n){n.d(t,{E:()=>N,Fu:()=>S,O8:()=>M,UH:()=>G,YW:()=>R,i5:()=>b,mG:()=>F,x$:()=>P});var i=n(11254),r=n(49186),s=n(5479),o=n(84952),a=n(5443),l=n(91218),u=n(16930),c=n(21325),h=n(50498),d=n(85113),p=n(13043),m=n(60694),f=n(20437),y=n(30524);const g="xlink:href",_="2.0.0",b="__esri_wfs_id__",x="wfs-layer:feature-type-not-found",w="wfs-layer:unknown-geometry-type";async function S(e,t){const n=function(e){const t=k(e);(function(e){const t=e.firstElementChild?.getAttribute("version");if(t&&t!==_)throw new r.A("wfs-layer:unsupported-wfs-version",`Unsupported WFS version ${t}. Supported version: ${_}`)})(t),O(t);const n=t.firstElementChild,i=(0,s.PP)(function(e){return(0,p.i)(e,{FeatureTypeList:{FeatureType:e=>{const t={typeName:"undefined:undefined",name:"",title:"",description:"",extent:null,namespacePrefix:"",namespaceUri:"",defaultSpatialReference:4326,supportedSpatialReferences:[]},n=new Set;return(0,p.p)(e,{Name:e=>{const{name:n,prefix:i}=j(e.textContent);t.typeName=`${i}:${n}`,t.name=n,t.namespacePrefix=i,t.namespaceUri=e.lookupNamespaceURI(i)},Abstract:e=>{t.description=e.textContent},Title:e=>{t.title=e.textContent},WGS84BoundingBox:e=>{t.extent=a.A.fromJSON(function(e){let t,n,i,r;for(const s of e.children)switch(s.localName){case"LowerCorner":[t,n]=s.textContent.split(" ").map(e=>Number.parseFloat(e));break;case"UpperCorner":[i,r]=s.textContent.split(" ").map(e=>Number.parseFloat(e))}return{xmin:t,ymin:n,xmax:i,ymax:r,spatialReference:c.KK}}(e))},DefaultCRS:e=>{const i=A(e);i&&(t.defaultSpatialReference=i,n.add(i))},OtherCRS:e=>{const t=A(e);t&&n.add(t)}}),t.title||(t.title=t.name),n.add(4326),t.supportedSpatialReferences.push(...n),t}}})}(n));return{operations:T(n),get featureTypes(){return Array.from(i())},readFeatureTypes:i}}((await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetCapabilities",VERSION:_,...t?.customParameters},signal:t?.signal})).data);return function(e,t){(0,o.m3)(e)&&((0,o.FX)(e,t.operations.DescribeFeatureType.url,!0)&&(t.operations.DescribeFeatureType.url=(0,o.lM)(t.operations.DescribeFeatureType.url)),(0,o.FX)(e,t.operations.GetFeature.url,!0)&&(t.operations.GetFeature.url=(0,o.lM)(t.operations.GetFeature.url)))}(e,n),n}const v=["json","application/json; subtype=geojson; charset=utf-8","application/json; subtype=geojson","application/json","geojson","application/geo+json"];function C(e){for(const t of v){const n=e.findIndex(e=>e.toLowerCase()===t);if(n>=0)return e[n]}return null}function T(e){let t=!0;const n={GetCapabilities:{url:""},DescribeFeatureType:{url:""},GetFeature:{url:"",outputFormat:null,supportsPagination:!1}},i=[],s=[];if((0,p.p)(e,{OperationsMetadata:{Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&i.push(e)}}}},Operation:e=>{switch(e.getAttribute("name")){case"GetCapabilities":return{DCP:{HTTP:{Get:e=>{n.GetCapabilities.url=e.getAttribute(g)}}}};case"DescribeFeatureType":return{DCP:{HTTP:{Get:e=>{n.DescribeFeatureType.url=e.getAttribute(g)}}}};case"GetFeature":return{DCP:{HTTP:{Get:e=>{n.GetFeature.url=e.getAttribute(g)}}},Parameter:e=>{if("outputformat"===e.getAttribute("name")?.toLowerCase())return{AllowedValues:{Value:({textContent:e})=>{e&&s.push(e)}}}}}}},Constraint:e=>{switch(e.getAttribute("name")){case"KVPEncoding":return{DefaultValue:e=>{t="true"===e.textContent.toLowerCase()}};case"ImplementsResultPaging":return{DefaultValue:e=>{n.GetFeature.supportsPagination="true"===e.textContent.toLowerCase()}}}}}}),n.GetFeature.outputFormat=C(s)??C(i),!t)throw new r.A("wfs-layer:kvp-encoding-not-supported","WFS service doesn't support key/value pair (KVP) encoding");if(null==n.GetFeature.outputFormat)throw new r.A("wfs-layer:geojson-not-supported","WFS service doesn't support GeoJSON output format");return n}function A(e){const t=parseInt(e.textContent?.match(/(?<wkid>\d+$)/i)?.groups?.wkid??"",10);if(!Number.isNaN(t))return t}function F(e,t,n){return(0,s.I6)(e,e=>n?e.name===t&&e.namespaceUri===n:e.typeName===t||e.name===t)}async function M(e,t,n,i={}){const{featureType:s,extent:o}=await async function(e,t,n,i={}){const s=e.readFeatureTypes(),o=t?F(s,t,n):s.next().value,{spatialReference:a=new u.A({wkid:o?.defaultSpatialReference})}=i;if(null==o)throw t?new r.A(x,`The type '${t}' could not be found in the service`):new r.A("wfs-layer:empty-service","The service is empty");let h=o.extent;if(h&&!(0,c.aI)(h.spatialReference,a))try{await(0,l.initializeProjection)(h.spatialReference,a,void 0,i),h=(0,l.project)(h,a)}catch{throw new r.A("wfs-layer:unsupported-spatial-reference","Projection not supported")}return{extent:h,spatialReference:a,featureType:o}}(e,t,n,i),{spatialReference:a}=G(e.operations.GetFeature.url,s,i.spatialReference),{fields:h,geometryType:d,swapXY:p,objectIdField:m,geometryField:f}=await async function(e,t,n,i={}){const{typeName:s}=t,[o,a]=await Promise.allSettled([E(e.operations.DescribeFeatureType.url,s,i),I(e,s,n,i)]),l=e=>new r.A("wfs-layer:getWFSLayerTypeInfo-error",`An error occurred while getting info about the feature type '${s}'`,{error:e});if("rejected"===o.status)throw l(o.reason);if("rejected"===a.status)throw l(a.reason);const{fields:u,errors:c}=o.value??{},h=o.value?.geometryType||a.value?.geometryType,d=a.value?.swapXY??!1;if(null==h)throw new r.A(w,`The geometry type could not be determined for type '${s}`,{typeName:s,geometryType:h,fields:u,errors:c});return{...R(u??[]),geometryType:h,swapXY:d}}(e,s,a,i);return{url:e.operations.GetCapabilities.url,name:s.name,namespaceUri:s.namespaceUri,fields:h,geometryField:f,geometryType:d,objectIdField:m,spatialReference:i.spatialReference??new u.A({wkid:s.defaultSpatialReference}),extent:o,swapXY:p,wfsCapabilities:e,customParameters:i.customParameters}}function R(e){const t=e.find(e=>"geometry"===e.type);let n=e.find(e=>"oid"===e.type);return e=e.filter(e=>"geometry"!==e.type),n||(n=new f.A({name:b,type:"oid",alias:b}),e.unshift(n)),{geometryField:t?.name??null,objectIdField:n.name,fields:e}}async function I(e,t,n,r={}){let s,o=!1;const[a,l]=await Promise.all([P(e.operations.GetFeature.url,t,n,e.operations.GetFeature.outputFormat,{...r,count:1}),(0,i.A)(e.operations.GetFeature.url,{responseType:"text",query:z(t,n,void 0,{...r,count:1}),signal:r?.signal})]),u="FeatureCollection"===a.type&&a.features[0]?.geometry;if(u){let e;switch(s=h.gy.fromJSON((0,d.xD)(u.type)),u.type){case"Point":e=u.coordinates;break;case"LineString":case"MultiPoint":e=u.coordinates[0];break;case"MultiLineString":case"Polygon":e=u.coordinates[0][0];break;case"MultiPolygon":e=u.coordinates[0][0][0]}const t=/<[^>]*pos[^>]*> *(-?\d+(?:\.\d+)?) (-?\d+(?:\.\d+)?)/.exec(l.data);if(t){const n=e[0].toFixed(3),i=e[1].toFixed(3),r=parseFloat(t[1]).toFixed(3);n===parseFloat(t[2]).toFixed(3)&&i===r&&(o=!0)}}return{geometryType:s,swapXY:o}}async function E(e,t,n){return function(e,t){const{name:n}=j(e),i=k(t);O(i);const o=(0,s.I6)((0,p.i)(i.firstElementChild,{element:e=>e}),e=>e.getAttribute("name")===n);if(null!=o){const e=o.getAttribute("type"),t=e?(0,s.I6)((0,p.i)(i.firstElementChild,{complexType:e=>e}),t=>t.getAttribute("name")===j(e).name):(0,s.I6)((0,p.i)(o,{complexType:e=>e}),()=>!0);if(t)return function(e){const t=[],n=[];let i;const s=(0,p.i)(e,{complexContent:{extension:{sequence:{element:e=>e}}}});for(const o of s){const s=o.getAttribute("name");if(!s)continue;let a,l;if(o.hasAttribute("type")?a=j(o.getAttribute("type")).name:(0,p.p)(o,{simpleType:{restriction:e=>(a=j(e.getAttribute("base")).name,{maxLength:e=>{l=+e.getAttribute("value")}})}}),!a)continue;const u="true"===o.getAttribute("nillable");let c=!1;switch(a.toLowerCase()){case"integer":case"nonpositiveinteger":case"negativeinteger":case"long":case"int":case"short":case"byte":case"nonnegativeinteger":case"unsignedlong":case"unsignedint":case"unsignedshort":case"unsignedbyte":case"positiveinteger":n.push(new f.A({name:s,alias:s,type:"integer",nullable:u,length:(0,y._b)("integer")}));break;case"float":case"double":case"decimal":n.push(new f.A({name:s,alias:s,type:"double",nullable:u,length:(0,y._b)("double")}));break;case"boolean":case"string":case"gyearmonth":case"gyear":case"gmonthday":case"gday":case"gmonth":case"anyuri":case"qname":case"notation":case"normalizedstring":case"token":case"language":case"idrefs":case"entities":case"nmtoken":case"nmtokens":case"name":case"ncname":case"id":case"idref":case"entity":case"duration":case"time":n.push(new f.A({name:s,alias:s,type:"string",nullable:u,length:l??(0,y._b)("string")}));break;case"datetime":case"date":n.push(new f.A({name:s,alias:s,type:"date",nullable:u,length:l??(0,y._b)("date")}));break;case"pointpropertytype":i="point",c=!0;break;case"multipointpropertytype":i="multipoint",c=!0;break;case"curvepropertytype":case"multicurvepropertytype":case"multilinestringpropertytype":i="polyline",c=!0;break;case"surfacepropertytype":case"multisurfacepropertytype":case"multipolygonpropertytype":i="polygon",c=!0;break;case"geometrypropertytype":case"multigeometrypropertytype":c=!0,t.push(new r.A(w,`geometry type '${a}' is not supported`,{type:(new XMLSerializer).serializeToString(e)}));break;default:t.push(new r.A("wfs-layer:unknown-field-type",`Unknown field type '${a}'`,{type:(new XMLSerializer).serializeToString(e)}))}c&&n.push(new f.A({name:s,alias:s,type:"geometry",nullable:u}))}for(const e of n)if("integer"===e.type&&!e.nullable&&B.has(e.name.toLowerCase())){e.type="oid";break}return{geometryType:i,fields:n,errors:t}}(t)}throw new r.A(x,`Type '${e}' not found in document`,{document:(new XMLSerializer).serializeToString(i)})}(t,(await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"DescribeFeatureType",VERSION:_,TYPENAME:t,TYPENAMES:t,...n?.customParameters},signal:n?.signal})).data)}const B=new Set(["objectid","fid"]);async function P(e,t,n,s,o){let{data:a}=await(0,i.A)(e,{responseType:"text",query:z(t,n,s,o),signal:o?.signal});a=a.replaceAll(/": +(-?\d+),(\d+)(,)?/g,'": $1.$2$3');try{return JSON.parse(a)}catch(e){throw new r.A("wfs-layer:malformed-json","Error while parsing the response",{response:a,error:e})}}function z(e,t,n,i){const r="number"==typeof t?t:t.wkid;return{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:e,OUTPUTFORMAT:n,SRSNAME:"EPSG:"+r,STARTINDEX:i?.startIndex,COUNT:i?.count,...i?.customParameters}}async function N(e,t,n){const r=await(0,i.A)(e,{responseType:"text",query:{SERVICE:"WFS",REQUEST:"GetFeature",VERSION:_,TYPENAMES:t,RESULTTYPE:"hits",...n?.customParameters},signal:n?.signal}),s=/numberMatched=["'](?<numberMatched>\d+)["']/gi.exec(r.data);if(s?.groups)return+s.groups.numberMatched}function k(e){return(new DOMParser).parseFromString(e.trim(),"text/xml")}function j(e){const[t,n]=e.split(":");return{prefix:n?t:"",name:n??t}}function O(e){let t="",n="";if((0,p.p)(e.firstElementChild,{Exception:e=>(t=e.getAttribute("exceptionCode"),{ExceptionText:e=>{n=e.textContent}})}),t)throw new r.A(`wfs-layer:${t}`,n)}function G(e,t,n){const i={wkid:t.defaultSpatialReference},r=null!=n?.wkid?{wkid:n.wkid}:i;return{spatialReference:r,getFeatureSpatialReference:(0,m.Fi)(e)||r.wkid&&t.supportedSpatialReferences.includes(r.wkid)?{wkid:r.wkid}:{wkid:t.defaultSpatialReference}}}},13043(e,t,n){function i(e,t){if(e&&t)for(const n of e.children)if(n.localName in t){const e=t[n.localName];if("function"==typeof e){const t=e(n);t&&i(n,t)}else i(n,e)}}function*r(e,t){for(const n of e.children)if(n.localName in t){const e=t[n.localName];"function"==typeof e?yield e(n):yield*r(n,e)}}n.d(t,{i:()=>r,p:()=>i})},39357(e,t,n){n.d(t,{A:()=>a});var i,r=n(5482),s=n(25482),o=n(91429);let a=i=class extends s.o{constructor(e){super(e),this.name=null,this.code=null}clone(){return new i({name:this.name,code:this.code})}};(0,r.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"name",void 0),(0,r.Cg)([(0,o.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],a.prototype,"code",void 0),a=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValue")],a)},53177(e,t,n){n.d(t,{A:()=>c});var i,r=n(5482),s=n(4718),o=n(91429),a=n(39357),l=n(76357),u=n(93223);let c=class extends l.A{static{i=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const n=String(e);this.codedValues.some(e=>(String(e.code)===n&&(t=e.name),!!t))}return t}clone(){return new i({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,r.Cg)([(0,o.MZ)({type:[a.A],json:{write:{isRequired:!0}}})],c.prototype,"codedValues",void 0),(0,r.Cg)([(0,u.e)({codedValue:"coded-value"})],c.prototype,"type",void 0),c=i=(0,r.Cg)([(0,o.$K)("esri.layers.support.CodedValueDomain")],c)},76357(e,t,n){n.d(t,{A:()=>u});var i=n(5482),r=n(66552),s=n(25482),o=n(91429),a=n(93223);const l=new r.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let u=class extends s.o{constructor(e){super(e),this.name=null,this.type=null}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,i.Cg)([(0,a.e)(l),(0,o.MZ)({json:{write:{isRequired:!0}}})],u.prototype,"type",void 0),u=(0,i.Cg)([(0,o.$K)("esri.layers.support.Domain")],u)},20437(e,t,n){n.d(t,{A:()=>m});var i,r=n(5482),s=n(66552),o=n(25482),a=n(91429),l=n(56507),u=n(8631),c=n(98453),h=n(36005),d=n(93223);const p=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",currency:"currency",dateAndTime:"date-and-time",description:"description",emailAddress:"email-address",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",phoneNumber:"phone-number",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let m=class extends o.o{static{i=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let n=null;try{n=t?JSON.parse(t):null}catch(e){}return n?.value??null}readValueType(e,{description:t}){let n=null;try{n=t?JSON.parse(t):null}catch(e){}return n?p.fromJSON(n.fieldValueType):null}clone(){return new i({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,r.Cg)([(0,a.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"description",void 0),(0,r.Cg)([(0,h.w)("description")],m.prototype,"readDescription",null),(0,r.Cg)([(0,a.MZ)({types:u.g,json:{read:{reader:u.r},write:!0}})],m.prototype,"domain",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,r.Cg)([(0,a.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,"length",void 0),(0,r.Cg)([(0,a.MZ)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,r.Cg)([(0,d.e)(c.m)],m.prototype,"type",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"valueType",void 0),(0,r.Cg)([(0,h.w)("valueType",["description"])],m.prototype,"readValueType",null),(0,r.Cg)([(0,a.MZ)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=i=(0,r.Cg)([(0,a.$K)("esri.layers.support.Field")],m)},41628(e,t,n){n.d(t,{A:()=>l});var i,r=n(5482),s=n(91429),o=n(76357),a=n(93223);let l=class extends o.A{static{i=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new i({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,r.Cg)([(0,s.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,n){t[n]=[this.minValue||0,e]},isRequired:!0}}})],l.prototype,"maxValue",void 0),(0,r.Cg)([(0,s.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,n){t[n]=[e,this.maxValue||0]},isRequired:!0}}})],l.prototype,"minValue",void 0),(0,r.Cg)([(0,a.e)({range:"range"})],l.prototype,"type",void 0),l=i=(0,r.Cg)([(0,s.$K)("esri.layers.support.RangeDomain")],l)},8631(e,t,n){n.d(t,{r:()=>d,g:()=>h});var i,r=n(53177),s=n(76357),o=n(5482),a=n(91429),l=n(93223);let u=class extends s.A{static{i=this}constructor(e){super(e),this.type="inherited"}clone(){return new i}};(0,o.Cg)([(0,l.e)({inherited:"inherited"})],u.prototype,"type",void 0),u=i=(0,o.Cg)([(0,a.$K)("esri.layers.support.InheritedDomain")],u);var c=n(41628);const h={key:"type",base:s.A,typeMap:{range:c.A,"coded-value":r.A,inherited:u}};function d(e){if(!e?.type)return null;switch(e.type){case"range":return c.A.fromJSON(e);case"codedValue":return r.A.fromJSON(e);case"inherited":return u.fromJSON(e)}return null}},98453(e,t,n){n.d(t,{m:()=>i});const i=new(n(66552).J)({esriFieldTypeSmallInteger:"small-integer",esriFieldTypeInteger:"integer",esriFieldTypeSingle:"single",esriFieldTypeDouble:"double",esriFieldTypeLong:"long",esriFieldTypeString:"string",esriFieldTypeDate:"date",esriFieldTypeOID:"oid",esriFieldTypeGeometry:"geometry",esriFieldTypeBlob:"blob",esriFieldTypeRaster:"raster",esriFieldTypeGUID:"guid",esriFieldTypeGlobalID:"global-id",esriFieldTypeXML:"xml",esriFieldTypeBigInteger:"big-integer",esriFieldTypeDateOnly:"date-only",esriFieldTypeTimeOnly:"time-only",esriFieldTypeTimestampOffset:"timestamp-offset"})},2272(e,t,n){n.d(t,{Dl:()=>u,gf:()=>h,jV:()=>l,lF:()=>c});var i=n(92602),r=n(70333),s=n(4718),o=n(84952),a=n(926);function l(e,t){return t?{...t,query:{...e,...t.query}}:{query:e}}function u(e){return"string"==typeof e?(0,o.An)(e):(0,s.o8)(e)}function c(e,t,n){const i={};for(const r in e){if("declaredClass"===r)continue;const s=e[r];if(null!=s&&"function"!=typeof s)if(Array.isArray(s))i[r]=s.map(e=>c(e));else if("object"==typeof s)if(s.toJSON){const e=s.toJSON(n?.[r]);i[r]=t?e:JSON.stringify(e)}else i[r]=t?s:JSON.stringify(s);else i[r]=s}return i}async function h(e,t,s){const o=function(e,t){return e?t&&(0,a.Qc)(e)?t:(0,a.getApiKey)(e)??r.id?.findCredential(e)?.token:null}(e,t);if(o)return o;!r.id&&i.A.request.useIdentity&&await Promise.all([n.e(7632),n.e(8145),n.e(148)]).then(n.bind(n,50148));const l=await r.id.getCredential(e,s);return l?.token}},926(e,t,n){n.d(t,{Dd:()=>d,Jn:()=>p,Qc:()=>m,getApiKey:()=>c,getSessionToken:()=>h});var i=n(92602),r=n(11254),s=n(84952);const o=/^https?:\/\/(i?basemaps|basemapstyles)-api\.arcgis\.com\//i,a=new Set(["elevation3d.arcgis.com","js.arcgis.com","jsdev.arcgis.com","jsqa.arcgis.com","static.arcgis.com"]),l=new Map;let u=null;function c(e){if(!m(e))return null;const t=t=>t instanceof RegExp?t.test(e):"string"==typeof t&&e.startsWith(t),n=i.A.apiKeys;if(Array.isArray(n.scopes))for(const e of n.scopes)if(Array.isArray(e.urls)){if(e.urls.some(t))return e.token}else if(t(e.urls))return e.token;return n.basemapStyles&&o.test(e)?n.basemapStyles:i.A.apiKey&&/^https?:\/\/.+\.arcgis\.com(\/|$)/i.test(e)?i.A.apiKey:null}async function h(e){if(!i.A.sessions?.basemap?.enabled||!o.test(e))return null;const t=c(e);if(!t)return null;u&&await u;const{styleFamily:n="arcgis",autoRefresh:s,duration:a=43200}=i.A.sessions.basemap,h=`${t}:${n}`,d=l.get(h);if(d&&(!s||d.endTime>Date.now()))return d.sessionToken;let p;u=(0,r.A)("https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/sessions/start",{cacheBust:!0,query:{durationSeconds:a,styleFamily:n,token:t}});try{p=(await u).data,p.endTime-=5e3,l.set(h,p)}finally{u=null}return p.sessionToken}function d(){return null!=i.A.apiKey||null!=i.A.apiKeys.basemapStyles}function p(e,t){return t?m(e):null!=c(e)}function m(e){const t=(0,s.$z)(e,!0);return!!t&&!a.has(t)&&!e.endsWith("/sharing/rest/generateToken")}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7867],{66344(e,t,s){s.d(t,{q:()=>a});const i=!!(0,s(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const s=this._db.get(e.id+t);return s?.size??0}put(e,t,s,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==s&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,s,r,0);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,s,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new n(s,r,l)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const s=this._db.get(t);if(!s)return;this._size-=s.size,e.size-=s.size;let i=s.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,s.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}s.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const s=this._db.get(t);if(s)return this._size-=s.size,e.size-=s.size,this._db.delete(t),++this._hit,s.entry;++this._miss}get(e,t){t=e.id+t;const s=this._db.get(t);if(void 0!==s)return this._db.delete(t),s.lives=s.lifetime,this._db.set(t,s),++this._hit,s.entry;++this._miss}peek(e,t){const s=this._db.get(e.id+t);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},s=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;s[r]=(s[r]||0)+e.size,this._clients.forEach(s=>{const{id:r,name:n}=s;if(i.startsWith(r)){const s=t[n]||0;t[n]=s+e.size}})});const i={};this._clients.forEach(e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[s]||0;t[s]=r,i[s]=Math.round(100*e.hitRate)+"%"}else i[s]="0%"});const r=Object.keys(t);r.sort((e,s)=>t[s]-t[e]),r.forEach(s=>e[s]=Math.round(t[s]/2**20)+"MB / "+i[s]);for(let t=s.length-1;t>=0;--t){const i=s[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,s)=>{s.startsWith(t)&&(this._size-=e.size,this._db.delete(s),this._notifyRemove(s,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,s]of this._db)t.startsWith(e.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,i){const r=this._clients.get(e.split(o)[0])?.removeFunc,n=r?.(t,i,s);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const s=t??this;if(s.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[n,a]of this._db)if(0===a.lifetime&&(!i||n.startsWith(i))){const i=t??this._clients.get(n.split(o)[0]);if(this._purgeItem(n,a,i),s.size<=.9*e)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!i||r.startsWith(i)){const i=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,n,i),s.size<=.9*e)return}}_purgeItem(e,t,s){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class n{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new r(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,s=1){this._storage.put(this,e,t,s,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},9775(e,t,s){s.d(t,{A:()=>n});var i=s(62788),r=s(95488);class n{constructor(e=e=>e.values().next().value){this._peeker=e,this._observable=new r.I,this._items=new Set}get length(){return(0,i.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let e;for(e of this._items);return e}peek(){if(0!==this.length)return this._peeker(this._items)}push(e){this.contains(e)||(this._items.add(e),this._observable.notify())}contains(e){return(0,i.gc)(this._observable),this._items.has(e)}pop(){if(0===this.length)return;const e=this.peek();return this._items.delete(e),this._observable.notify(),e}popLast(){if(0===this.length)return;const e=this.last();return this._items.delete(e),this._observable.notify(),e}remove(e){this.contains(e)&&(this._items.delete(e),this._observable.notify())}filter(e){const t=this.length;return this._items.forEach(t=>{e(t)||this._items.delete(t)}),t!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,i.gc)(this._observable),yield*this._items}}},48459(e,t,s){s.r(t),s.d(t,{default:()=>P});var i=s(5482),r=s(7762),n=s(21818),o=s(49186),a=s(44208),l=s(53966),u=s(17676),c=s(563),p=s(39516),d=s(16930),h=s(70328),f=s(56390),y=s(8384),m=s(58727),g=s(64714),w=s(17754),_=s(20437),S=s(95466),x=s(10427),b=s(16238);function z(e){switch(e.type){case"wkb":return b.A.fromJSON(e);case"location":return x.A.fromJSON(e)}}var F=s(42760),v=s(39412),R=s(63892),C=s(30661),I=s(28923),A=s(44320),q=s(35258),E=s(16630);const M=new C.Z,O="__OBJECTID",T=new TextDecoder;class P{constructor(){this._fileInfos=new Map,this._queue=new c.QueueProcessor({concurrency:4,process:(e,t)=>this._executeQuery(e,t)}),this._indexMap={}}async load(e){const t=e.spatialReference?d.A.fromJSON(e.spatialReference):void 0;if(t&&!t.isWGS84&&!t.isWebMercator)throw new o.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");const s=await(0,F.nc)({urls:new r.A(e.urls),fields:e.fields?.map(e=>_.A.fromJSON(e)),geometryEncoding:e.geometryEncoding?z(e.geometryEncoding):null,geometryType:e.geometryType?(0,F.hG)(e.geometryType):null,displayOptimization:e.displayOptimization,spatialReference:t},{customParameters:e.customParameters});if(!s.fields)throw new o.A("parquet:unsupported","Fields must be defined");let n;if(s.spatialReference&&s.geometryType){if(!s.spatialReference)throw new o.A("parquet:unsupported","SpatialReference must be defined");if(!s.spatialReference.isGeographic&&!s.spatialReference.isWebMercator)throw new o.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");s.spatialReference.isGeographic&&!s.spatialReference.isWGS84&&(l.A.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:s.spatialReference}),s.spatialReference=d.A.WGS84),n={geometry:s.geometryEncoding?{geometryType:(0,F.sA)(s.geometryType),spatialReference:s.spatialReference.toJSON(),encoding:s.geometryEncoding.toJSON()}:null,displayOptimization:s.displayOptimization}}this.setCustomParameters(e.customParameters),this._geometryInfo=n;const a=e.urls;for(const e of a)this._addFile(e);this._capabilities=N(await this.getFileStatistics());const u=this._fileInfos.values().next().value;if(!u)return{layerDefinition:{},capabilities:N(null)};const c=await u,{fields:p}=s;if(null==p)throw new o.A("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",p);p.push(new _.A({name:O,type:"oid",alias:O}));for(const e of p){const t=c.file.columnForFieldName(e.name);null!=t&&(this._indexMap[e.name]=t)}const f=new S.A(p.map(e=>e.toJSON()));this._fieldsIndex=f;const y=(0,F.sA)(s.geometryType??"point");if(this._metadata=q.i.createFeature({fieldsIndex:f.toJSON(),geometryType:y,featureIdInfo:{type:"object-id",fieldName:"rowId"},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:s.spatialReference,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:y,featureIdInfo:{type:"object-id",fieldName:"rowId"},hasM:!1,hasZ:!1,spatialReference:s.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},s.spatialReference){const e=await this.getFileInfos();this._fullExtent=function(e,t){const s=(0,h.hZ)((0,h.vt)(),h.qv);for(const t of e){const e=(0,R.hD)(t.file);if(!e)return null;const i=e.columns[e.primary_column];if(!i.bbox)return null;const r=Q(i.bbox);(0,h.RF)(s,r)}return{xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:t}}(e,s.spatialReference.toJSON())}if(null==this._fullExtent&&"location"===s.geometryEncoding?.type){const{xField:e,yField:t}=s.geometryEncoding,r=(0,h.hZ)((0,h.vt)(),h.qv);for(const s of await this.getFileInfos())for(const n of s.file.rowGroups()){const s={stack:[],error:void 0,hasError:!1};try{const o=(0,i.mS)(s,n.columnDescriptorForAttribute(e),!1),a=(0,i.mS)(s,n.columnDescriptorForAttribute(t),!1),l=[o.minValue(),a.minValue(),o.maxValue(),a.maxValue()];(0,h.DC)(r,l),n.free()}catch(e){s.error=e,s.hasError=!0}finally{(0,i.hk)(s)}}this._fullExtent={xmin:r[0],ymin:r[1],xmax:r[3],ymax:r[4],spatialReference:s.spatialReference?.toJSON()}}return{capabilities:this._capabilities,layerDefinition:{fields:s.fields?.map(e=>e.toJSON()),drawingInfo:(0,g.F0)(y),extent:this._fullExtent??void 0,geometryType:y,geometryEncoding:s.geometryEncoding?.toJSON(),displayOptimization:s.displayOptimization}}}destroy(){for(const e of this._fileInfos.values())e.then(e=>e.file.free);this._fileInfos.clear(),this._queue.destroy()}setCustomParameters(e){this._customParameters=e}getIndexMap(){return this._indexMap}async getFileId(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return(await t).id}async getFileInfo(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return t}async getFileInfos(){return Promise.all(Array.from(this._fileInfos.values()))}async getFileStatistics(){if(!this._fileInfos.size)return null;const e=(await this.getFileInfos()).reduce((e,t)=>e+t.file.byteLength(),0);return{featureCount:await this._getFeatureCount(),byteLength:e}}async updateFiles(e){const t=new Set(e);for(const[e,s]of this._fileInfos.entries())t.has(e)?t.delete(e):(s.then(e=>e.file.free()),this._fileInfos.delete(e));await Promise.all(Array.from(t.values()).map(e=>this._addFile(e)))}async queryFeatures(e,t){return this._validateQuery(e),function(e){return!!(e.objectIds?.length||e.outStatistics||e.orderByFields?.length||e.returnDistinctValues)}(e)||(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0),(e.outStatistics||e.returnDistinctValues)&&(e.returnGeometry=void 0),(await this._enqueueQuery(e,t)).createQueryResponse()}async queryFeatureCount(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),G(s)?(s.outFields=void 0,s.returnGeometry=void 0,(await this._enqueueQuery(s,t)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),G(s)?(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,8e3):8e3,s.resultOffset=s.resultOffset??0,s.returnGeometry=void 0,s.outFields=void 0,(await this._enqueueQuery(s,t)).items.map(e=>e.getObjectId())):Array.from({length:await this._getFeatureCount()},(e,t)=>t)}async queryExtent(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(s),this._fullExtent&&!G(s))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=(0,n.z)(this._metadata.spatialReference);s.returnGeometry=!0,s.outFields=void 0;const r=(0,h.hZ)((0,h.vt)(),h.qv),o=(0,h.vt)(),a=await this._enqueueQuery(s,t);let l=0;for(const e of a.items)e.getBounds(o)&&((0,h.RF)(r,o),l+=1);return{count:l,extent:(0,f.Wc)(r,i,s.outSR?(0,n.z)(s.outSR):i,i,!1)}}async queryStream(e,t,s){if(!s.signal)throw new Error("InternalError: AbortSignal must be passed");const i=await this.getFileInfo(e),r=(await(0,v.N)()).Query.new();"tile"===t.type&&(r.setExtent(t.extent),r.setQuantizationTransform(t.transform),r.setScale(t.scale)),r.setOutFields(t.outFields.filter(e=>null!=this._indexMap[e])),r.setOutSpatialReference(t.outSpatialReference.wkid),r.setReturnGeometry(!0),t.where&&await this._setWhereClause(r,i.file,t.where);const n=await i.file.executeQuery(r,s.signal),o=i.streamIdCounter++,a=(0,u.NY)(s.signal,e=>{const t=i.streams.get(o);null!=t&&(t.handle.remove(),i.streams.delete(o))});return i.streams.set(o,{stream:n,handle:a}),o}async getStreamNext(e,t,s){if(!s.signal)throw new Error("InternalError: AbortSignal must be passed");const i=await this.getFileInfo(e),r=i.streams.get(t);if(!r)return null;const n=await r.stream.next(s.signal);return null==n&&(r.handle.remove(),i.streams.delete(t)),n?.serialize().buffer}async createPatch(e,t,s,i,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const n=await this.getFileInfo(e);return(await n.file.createChunkPatch(t,s,i,r.signal)).serialize().buffer}async _getFile(e){for(const t of await this.getFileInfos())if(t.id===e)return t.file;throw new Error(`InternalError: File ${e} does not exist`)}_addFile(e){const t=this._fileInfos.size;this._fileInfos.set(e,this._createFileInfo(e,t))}async _createFileInfo(e,t){return{id:t,file:await(0,R.DV)(e,{geometryInfo:this._geometryInfo,getCustomParameters:()=>this._customParameters}),streamIdCounter:0,streams:new Map}}async _getFeatureCount(){return(await this.getFileInfos()).reduce((e,t)=>e+t.file.numRows(),0)}_validateQuery(e){if(!this._capabilities.query.supportsStatistics&&e.outStatistics)throw new o.A("parquet:unsupported","Statistics queries are not supported",{query:e});if(!this._capabilities.query.supportsOrderBy&&e.orderByFields?.length)throw new o.A("parquet:unsupported","Queries using orderBy are not supported",{query:e});if(!this._capabilities.query.supportsDistinct&&e.returnDistinctValues)throw new o.A("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:e})}async _setWhereClause(e,t,s){const i=this._indexMap,r=this._fieldsIndex,n={getAttribute(e,s){const n=t.readAttribute(e.rowGroup,e.row,i[s]),o=r.get(s);return"esriFieldTypeString"===o.type||"esriFieldTypeDateOnly"===o.type||"esriFieldTypeTimeOnly"===o.type||"esriFieldTypeTimestampOffset"===o.type?T.decode(n):n}},a=await(0,p.GP)(s,this._fieldsIndex);if(!a.isStandardized)throw new o.A("sql-parse-error","expression is not standardized");e.setWhere(s),e.setWhereEvaluator((e,t)=>a.testFeatureCompiled({rowGroup:e,row:t},n,null)),e.setWhereFields(a.fieldNames)}async*_fetchChunks(e,t){const s=await(0,v.N)();for(const i of await this.getFileInfos()){const r=s.Query.new();r.setOutFields(e.fields),r.setReturnGeometry(e.returnGeometry),e.where&&await this._setWhereClause(r,i.file,e.where);const n=await i.file.executeQuery(r),o=[],a=n.next(t);for(let e=0;e<4;e++)o.push(n.next(t));let l=await a;for(;null!=l;){(0,u.Te)(t);const e=new E.s(this._metadata,this._indexMap,l,i.id),s=k([new I.j(e,null,0,!1)],this._queryEngineParams),r=o.shift();o.push(n.next(t)),yield s,l=await r}}}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){const s=await this._getReadParams(e);if(e.where=void 0,e.objectIds?.length){const s=new Map;for(const t of e.objectIds){const e=(0,w.wY)(t),i=(0,w.gE)(t);let r=s.get(e);r||(r=[],s.set(e,r)),r.push(i)}const i=[];for(const[r,n]of s.entries()){const s=await this._executeFileIdQuery(e,r,n,t);for(const e of s)i.push(e)}return new y.G(i,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}let i=e.resultRecordCount??await this._getFeatureCount(),r=e.resultOffset??0;e.resultRecordCount=void 0,e.resultOffset=void 0;const n=[];for await(const o of this._fetchChunks(s,t)){const s=await o.executeQueryForOpaqueFeatures(e,t);if(s.length>r){const t=s.slice(r,Math.min(r+i,s.length));for(const e of t)n.push(e);if(r=0,i-=t.length,0===i)return new y.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}else r-=s.length}return new y.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}async _executeFileIdQuery(e,t,s,i){const r=await this._getReadParams(e),n=(await(0,v.N)()).Query.new();n.setOutFields(r.fields),n.setReturnGeometry(r.returnGeometry),n.setIds(new Uint32Array(s));const o=await this._getFile(t),a=await o.executeQuery(n,i);let l=await a.next(i),u=0;const c=[];for(;null!=l;){const e=new E.s(this._metadata,this._indexMap,l,t),s=new I.j(e,null,u++,!1);c.push(s),l=await a.next(i)}return k(c,this._queryEngineParams).executeQueryForOpaqueFeatures(e,i)}async _getReadParams(e){const t=new Set;if(e.outStatistics)for(const s of e.outStatistics)null!=s.onStatisticField&&t.add(s.onStatisticField);if(e.outFields)for(const s of e.outFields)t.add(s);return{fields:(t.has("*")?this._fieldsIndex.fields.map(e=>e.name):Array.from(t)).filter(e=>null!=this._indexMap[e]),returnGeometry:!!e.returnGeometry||!!e.geometry,where:e.where}}}function G(e){for(const t in e){const s=t;switch(s){case"resultOffset":case"resultRecordCount":case"aggregateIds":case"distance":case"gdbVersion":case"geometry":case"having":case"timeExtent":case"objectIds":case"historicMoment":case"where":return null!=e[s]}}return!1}function k(e,t){const s=new A.I;for(const t of e)s.insert(t);return new f.do({...t,featureStore:s})}function Q(e){switch(e.length){case 4:return(0,h.Jt)((0,h.vt)(),e);case 6:return e;default:throw new o.A("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{bbox:e})}}function N(e){const t=e?.featureCount;let s=!1;return null!=t&&t<(0,a.A)("parquetlayer-full-query-feature-count")&&(s=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:!1},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:8e3,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:s,supportsExtent:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:s,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsPercentileStatistics:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:s,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,supportsTrueCurve:!1,tileMaxRecordCount:void 0},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},10427(e,t,s){s.d(t,{A:()=>a});var i=s(5482),r=s(69540),n=s(25482),o=s(91429);let a=class extends((0,r.OU)(n.o)){constructor(e){super(e),this.type="location",this.xField=null,this.yField=null}};(0,i.Cg)([(0,o.MZ)({type:["location"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"xField",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"yField",void 0),a=(0,i.Cg)([(0,o.$K)("esri.layers.support.ParquetGeometryEncodingLocation")],a)},16238(e,t,s){s.d(t,{A:()=>a});var i=s(5482),r=s(69540),n=s(25482),o=s(91429);let a=class extends((0,r.OU)(n.o)){constructor(e){super(e),this.type="wkb",this.field=null}};(0,i.Cg)([(0,o.MZ)({type:["wkb"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,i.Cg)([(0,o.MZ)({type:["counter-clockwise"],json:{write:!0}})],a.prototype,"orientation",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"field",void 0),a=(0,i.Cg)([(0,o.$K)("esri.layers.support.ParquetGeometryEncodingWkb")],a)},54625(e,t,s){s.d(t,{i_:()=>r});var i=s(30524);function r(e,t,s){t=(0,i.rS)(t)?.toLowerCase(),s=(0,i.rS)(s)?.toLowerCase();const r=e.map(e=>e.toLowerCase()),a=t?e[r.indexOf(t)]:null,l=s?e[r.indexOf(s)]:null;return{longitudeFieldName:a||e[r.indexOf(o.find(e=>r.includes(e)))],latitudeFieldName:l||e[r.indexOf(n.find(e=>r.includes(e)))]}}const n=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"]},42760(e,t,s){s.d(t,{hG:()=>y,nc:()=>m,sA:()=>f,ye:()=>d}),s(7762);var i=s(49186),r=s(66552),n=s(16930),o=s(20437),a=s(30524),l=s(54625),u=s(10427),c=s(16238),p=s(63892);const d=new r.J({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"}),h=new Set(["uncompressed","snappy","gzip"]);function f(e){return d.toJSON(e)}function y(e){return d.fromJSON(e)}async function m(e,t={}){if(e.urls.length<1)throw new i.A("parquet:bad-input","At least one url must be specified",e);if(e.geometryType&&e.spatialReference&&e.geometryEncoding&&e.fields)return e;const s=await(0,p.DV)(e.urls.getItemAt(0),{getCustomParameters:()=>t.customParameters});for(const e of s.compressionCodecs())if(!h.has(e))throw new i.A("parquet:unsupported",`Compression codec ${e} is unsupported. Must be of type ${Array.from(h).join(",")}`);const r=(0,p.hD)(s),d={...e,file:s};if(null==d.fields&&(d.fields=s.fields(!1).map(e=>o.A.fromJSON({name:e.name,alias:e.name,type:e.type}))),null!=d.geometryEncoding){const e=d.geometryEncoding;switch(e.type){case"wkb":{const t=d.fields.find(t=>t.name===e.field);if(!t)throw new i.A("parquet:unsupported",`Geometry encoding references field ${e.field} which does not exist`);if("blob"!==t.type)throw new i.A("parquet:unsupported",`Invalid field type for geometry encoding. Found ${t.type} but expected 'blob'`);break}case"location":for(const t of[e.xField,e.yField])if(null!=t){const e=d.fields.find(e=>e.name===t);if(!e)throw new i.A("parquet:unsupported",`Geometry encoding references field ${t} which does not exist`);if(!(0,a.WA)(e))throw new i.A("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${e.type} but expected a numeric`)}}}null==d.geometryEncoding&&(d.geometryEncoding=function(e,t){if(null!=e){const t=e.primary_column,s=e.columns[t];return new c.A({field:t,orientation:"counterclockwise"===s.orientation?"counter-clockwise":null})}const s=t.filter(e=>(0,a.WA)(e)).map(e=>e.name),i=(0,l.i_)(s);return i.latitudeFieldName&&i.longitudeFieldName?new u.A({xField:i.longitudeFieldName,yField:i.latitudeFieldName}):null}(r,d.fields));const f=(0,p.Xj)(s);if(f&&(d.displayOptimization=f),d.geometryEncoding)switch(d.geometryEncoding.type){case"location":null==d.spatialReference&&(d.spatialReference=n.A.WGS84),null==d.geometryType&&(d.geometryType="point");break;case"wkb":{if(!r)return d;const e=r.primary_column,t=r.columns[e];if(d.geometryType||(d.geometryType=function(e){const{geometry_types:t}=e,s=new Set;for(const e of t){const t=g(e);t&&s.add(t)}if(s.size>1)throw new i.A("parquet:unsupported","Parquet mixed geometry types are not supported",{geometryTypes:s});return 1===s.size?s.values().next().value:void 0}(t)),d.spatialReference||(d.spatialReference=function(e){const t=e.crs?.id?.code;return t&&"number"==typeof t?new n.A({wkid:t}):void 0}(t)),d.fields)for(const e of Object.keys(r.columns))d.fields=d.fields.filter(t=>t.name!==e)}}if(d.displayOptimization){const e=d.displayOptimization.index;if(!d.spatialReference&&e.wkid&&(d.spatialReference=new n.A({wkid:e.wkid})),!d.geometryType)switch(e.type){case"z":d.geometryType="point";break;case"xz":d.geometryType=e.geometryType}}return d}function g(e){switch(e){case"Point":return"point";case"Polygon":case"MultiPolygon":return"polygon";case"LineString":return"polyline";case"MultiPoint":return"multipoint";default:return null}}},63892(e,t,s){s.d(t,{DV:()=>y,Xj:()=>g,hD:()=>m});var i=s(11254),r=s(49186),n=s(44208),o=s(563),a=s(84952),l=s(39412);const u="parquet.v1",c=new o.QueueProcessor({concurrency:12,process:async e=>{const{data:t}=await(0,i.A)(e.url,e.options);return t}}),p=e=>async function(t,s,i,r){const o=e?.(),a={url:t,options:{responseType:"array-buffer",query:o??{},cacheMode:"no-store",useQueue:!0,headers:{range:`bytes=${s}-${i}`}}};if(!(0,n.A)("parquetlayer-cache-enabled"))return c.push(a);const l=new URL(t);l.searchParams.append("range",`${s}-${i}`);try{const e=await caches.open(`${u}:${t}`),s=await e.match(l);if(s)return await s.arrayBuffer();const i=await c.push(a);return await e.put(l,new Response(i,{headers:{"Content-Type":"application/octet-stream","Content-Length":i.byteLength.toString()}})),i}catch(e){return c.push(a)}},d=e=>async function(t){if((0,a.w8)(t)){const{data:e}=await(0,i.A)(t,{responseType:"blob"});return e.size}const{data:s}=await(0,i.A)(t,{responseType:"native",method:"head",query:e?.()}),r=s.headers.get("Content-Length");if(null==r)throw new Error("Unable to parse content length");const o=parseInt(r,10);if(!(0,n.A)("parquetlayer-cache-enabled"))return o;try{const e=`${u}:${t}`,i=new URL(t);i.searchParams.append("metadata","true");let r=await caches.open(e);const n=s.headers.get("etag")??s.headers.get("Last-Modified");if(null==n)return await caches.delete(e),o;const a=await r.match(i),l=await(a?.json());l?.tag!==n&&(await caches.delete(e),r=await caches.open(e));const c=JSON.stringify({tag:n});await r.put(i,new Response(c,{headers:{"Content-Type":"application/json","Content-Length":c.length.toString()}}))}catch(e){}return o};function h(e,t){switch(t){case"esriGeometryPoint":return e.GeometryType.Point;case"esriGeometryPolygon":case"polygon":return e.GeometryType.Polygon;case"esriGeometryPolyline":case"polyline":return e.GeometryType.Polyline;case"esriGeometryMultipoint":case"multipoint":return e.GeometryType.Multipoint;default:throw new r.A("parquet",`Found unexpected GeometryType: ${t}`)}}function f(e,t){const s=e.GeometryInfo.new();t.geometry&&s.setGeometry(function(e,t){const s=t.encoding,i=h(e,t.geometryType),r=t.spatialReference.wkid;if(null==r)throw new Error("InternalError: Wkid must be defined.");switch(s.type){case"wkb":return e.GeometryField.fromWkb(s.field,r,i);case"location":{const{yField:t,xField:n}=s;return e.GeometryField.fromLocation(t,n,r,i)}}}(e,t.geometry));const i=t.displayOptimization;if(i){const{index:t,parentColumn:r}=i,n=e=>null!=r?[r,e].join("."):e;if("z"===t.type){const i=e.DisplayOptimizationZBuilder.new();i.setCodeField(n(t.code)),i.setXColumn(n(t.xColumn)),i.setYColumn(n(t.yColumn)),i.setCooordinatePrecision(t.coordinatePrecision),i.setFullExtent(t.fullExtent),i.setSpatialReference(t.wkid,t.wkt),i.setHasZ(!!t.zColumn),i.setHasM(!!t.mColumn),s.setOptmizationZ(i)}if("xz"===t.type){const i=h(e,t.geometryType),r=e.DisplayOptimizationXZBuilder.new();r.setCodeField(n(t.code)),r.setEncoding(t.encoding),r.setFullExtent(t.fullExtent),r.setGeometryType(i),r.setSpatialReference(t.wkid,t.wkt),r.setMaxLevel(t.maxLevel),r.setHasZ(t.hasZ??!1),r.setHasM(t.hasM??!1);for(const s of t.levels??[]){const[t,i]=s.transform.translate,[o,a]=s.transform.scale,l=new Float64Array([t,i]),u=new Float64Array([o,a]),c=n(s.column);r.addLevel(e.MultiscaleGeometryField.new(s.level,s.scale,c,l,u))}s.setOptmizationXZ(r)}}return s}async function y(e,t={}){const s=await(0,l.N)(),i=p(t.getCustomParameters),n=d(t.getCustomParameters),o=t.geometryInfo?f(s,t.geometryInfo):null;try{return await s.ParquetFile.fromUrl(e,i,n,o)}catch(e){throw new r.A("parquet","Failed to parse file",{error:e})}}function m(e){const t=e.keyValueMetadata("geo");return null!=t?JSON.parse(t):null}function g(e){if(e.keyValueMetadata("esri"))throw new r.A("parquet:unsupported","File was created using an unsupported experimental display index. Please regenerate the file.");const t=e.keyValueMetadata("geodisplay");if(null!=t)return JSON.parse(t);const s=e.keyValueMetadata("org.apache.spark.sql.parquet.row.metadata");if(null!=s){const e=JSON.parse(s);for(const t of e.fields)if(null!=t.metadata&&"type"in t.metadata&&("xz"===t.metadata.type||"z"===t.metadata.type)){const e={parentColumn:t.name,index:t.metadata};if("xz"===e.index.type&&(e.index.geometryType=e.index.geometryType.toLowerCase(),"esri-pbf"===e.index.encoding&&(e.index.encoding="esriPBF"),"esriPBF"!==e.index.encoding))throw new r.A("parquet:unsupported",`Encoding for display index must be of type esriPBF, but found ${e.index.encoding}`);return e}}return null}},93470(e,t,s){s.d(t,{Cb:()=>n,HW:()=>c,JR:()=>r,JZ:()=>l,WR:()=>a,b6:()=>p,fT:()=>i,nC:()=>u,yM:()=>o});const i=[252,146,31,255],r=[153,153,153,255],n={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i},a={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},l={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},u={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},c={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},p={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}},76213(e,t,s){s.d(t,{C2:()=>o,CQ:()=>i,DY:()=>r,GR:()=>y,Gh:()=>l,MZ:()=>d,TB:()=>f,U5:()=>a,_M:()=>u,cp:()=>m,eG:()=>n,fq:()=>h,hM:()=>p,ie:()=>c});const i=512,r=29,n=24,o=4,a=6,l=1.05,u=3,c=3,p=4,d=1,h=10,f=256,y=32,m=512}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7867],{66344(e,t,s){s.d(t,{q:()=>a});const i=!!(0,s(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(e=10485760,t=.3){this._maxSize=e,this._maxClientSizeRatio=t,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._clients=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._clients.clear(),this._db.clear()}register(e){this._clients.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._clients.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(e,t){const s=this._db.get(e.id+t);return s?.size??0}put(e,t,s,r,o){t=e.id+t;const a=this._db.get(t);if(a&&(this._size-=a.size,e.size-=a.size,this._db.delete(t),a.entry!==s&&this._notifyRemove(t,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(t,s,r,0);if(void 0===s)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return i||console.warn(`Refusing to cache entry with size ${r} for key ${t}`),void this._notifyRemove(t,s,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(t,new n(s,r,l)),this._size+=r,e.size+=r,this._checkSize()}updateSize(e,t){t=e.id+t;const s=this._db.get(t);if(!s)return;this._size-=s.size,e.size-=s.size;let i=s.entry.usedMemory;for(;i>this._maxSize;){const e=this._notifyRemove(t,s.entry,i,1);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}s.size=i,this._size+=i,e.size+=i,this._checkSize()}pop(e,t){t=e.id+t;const s=this._db.get(t);if(s)return this._size-=s.size,e.size-=s.size,this._db.delete(t),++this._hit,s.entry;++this._miss}get(e,t){t=e.id+t;const s=this._db.get(t);if(void 0!==s)return this._db.delete(t),s.lives=s.lifetime,this._db.set(t,s),++this._hit,s.entry;++this._miss}peek(e,t){const s=this._db.get(e.id+t);return s?++this._hit:++this._miss,s?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},s=new Array;this._db.forEach((e,i)=>{const r=e.lifetime;s[r]=(s[r]||0)+e.size,this._clients.forEach(s=>{const{id:r,name:n}=s;if(i.startsWith(r)){const s=t[n]||0;t[n]=s+e.size}})});const i={};this._clients.forEach(e=>{const s=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const r=t[s]||0;t[s]=r,i[s]=Math.round(100*e.hitRate)+"%"}else i[s]="0%"});const r=Object.keys(t);r.sort((e,s)=>t[s]-t[e]),r.forEach(s=>e[s]=Math.round(t[s]/2**20)+"MB / "+i[s]);for(let t=s.length-1;t>=0;--t){const i=s[t];i&&(e["Priority "+(t+-3-1)]=Math.round(i/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._clients.forEach(e=>e.resetHitRate())}clear(e){const t=e.id;this._db.forEach((e,s)=>{s.startsWith(t)&&(this._size-=e.size,this._db.delete(s),this._notifyRemove(s,e.entry,e.size,0))}),e.size=0}clearAll(){this._db.forEach((e,t)=>this._notifyRemove(t,e.entry,e.size,0)),this._clients.forEach(e=>e.size=0),this._size=0,this._db.clear()}*values(e){for(const[t,s]of this._db)t.startsWith(e.id)&&(yield s.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,s,i){const r=this._clients.get(e.split(o)[0])?.removeFunc,n=r?.(t,i,s);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((e,t)=>this._checkSizeLimits(e,t)),this._clients.forEach(e=>this._checkSizeLimits(this._maxClientSize,e)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const s=t??this;if(s.size<=e)return;const i=t?.id;let r=!0;for(;r;){r=!1;for(const[n,a]of this._db)if(0===a.lifetime&&(!i||n.startsWith(i))){const i=t??this._clients.get(n.split(o)[0]);if(this._purgeItem(n,a,i),s.size<=.9*e)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!i||r.startsWith(i)){const i=t??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,n,i),s.size<=.9*e)return}}_purgeItem(e,t,s){if(this._db.delete(e),t.lives<=1){this._size-=t.size,s&&(s.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,1);null!=i&&i>0&&(this._size+=i,s&&(s.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}new r(0);class n{constructor(e,t,s){this.entry=e,this.size=t,this.lifetime=s,this.lives=s}}const o=":";class a{constructor(e,t){this.removeFunc=t,this.id="",this.name="",this.size=0,this._storage=new r(e,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,s=1){this._storage.put(this,e,t,s,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},9775(e,t,s){s.d(t,{A:()=>n});var i=s(62788),r=s(95488);class n{constructor(e=e=>e.values().next().value){this._peeker=e,this._observable=new r.I,this._items=new Set}get length(){return(0,i.gc)(this._observable),this._items.size}clear(){0!==this.length&&(this._items.clear(),this._observable.notify())}last(){if(0===this.length)return;let e;for(e of this._items);return e}peek(){if(0!==this.length)return this._peeker(this._items)}push(e){this.contains(e)||(this._items.add(e),this._observable.notify())}contains(e){return(0,i.gc)(this._observable),this._items.has(e)}pop(){if(0===this.length)return;const e=this.peek();return this._items.delete(e),this._observable.notify(),e}popLast(){if(0===this.length)return;const e=this.last();return this._items.delete(e),this._observable.notify(),e}remove(e){this.contains(e)&&(this._items.delete(e),this._observable.notify())}filter(e){const t=this.length;return this._items.forEach(t=>{e(t)||this._items.delete(t)}),t!==this._items.size&&this._observable.notify(),this}*[Symbol.iterator](){(0,i.gc)(this._observable),yield*this._items}}},48459(e,t,s){s.r(t),s.d(t,{default:()=>P});var i=s(5482),r=s(7762),n=s(21818),o=s(49186),a=s(44208),l=s(53966),u=s(17676),c=s(563),p=s(39516),d=s(16930),h=s(70328),f=s(56390),y=s(8384),m=s(58727),g=s(64714),w=s(17754),_=s(20437),S=s(95466),x=s(10427),b=s(16238);function z(e){switch(e.type){case"wkb":return b.A.fromJSON(e);case"location":return x.A.fromJSON(e)}}var F=s(42760),v=s(39412),R=s(63892),C=s(30661),I=s(28923),A=s(44320),q=s(35258),E=s(16630);const M=new C.Z,O="__OBJECTID",T=new TextDecoder;class P{constructor(){this._fileInfos=new Map,this._queue=new c.QueueProcessor({concurrency:4,process:(e,t)=>this._executeQuery(e,t)}),this._indexMap={}}async load(e){const t=e.spatialReference?d.A.fromJSON(e.spatialReference):void 0;if(t&&!t.isWGS84&&!t.isWebMercator)throw new o.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");const s=await(0,F.nc)({urls:new r.A(e.urls),fields:e.fields?.map(e=>_.A.fromJSON(e)),geometryEncoding:e.geometryEncoding?z(e.geometryEncoding):null,geometryType:e.geometryType?(0,F.hG)(e.geometryType):null,displayOptimization:e.displayOptimization,spatialReference:t},{customParameters:e.customParameters});if(!s.fields)throw new o.A("parquet:unsupported","Fields must be defined");let n;if(s.spatialReference&&s.geometryType){if(!s.spatialReference)throw new o.A("parquet:unsupported","SpatialReference must be defined");if(!s.spatialReference.isGeographic&&!s.spatialReference.isWebMercator)throw new o.A("parquet:unsupported-projection","Only WGS84 and Web Mercator are supported");s.spatialReference.isGeographic&&!s.spatialReference.isWGS84&&(l.A.getLogger("parquet:unsupported-projection").warn("Found a geographic projection that is not WGS84. Handling as WGS84.",{spatialReference:s.spatialReference}),s.spatialReference=d.A.WGS84),n={geometry:s.geometryEncoding?{geometryType:(0,F.sA)(s.geometryType),spatialReference:s.spatialReference.toJSON(),encoding:s.geometryEncoding.toJSON()}:null,displayOptimization:s.displayOptimization}}this.setCustomParameters(e.customParameters),this._geometryInfo=n;const a=e.urls;for(const e of a)this._addFile(e);this._capabilities=N(await this.getFileStatistics());const u=this._fileInfos.values().next().value;if(!u)return{layerDefinition:{},capabilities:N(null)};const c=await u,{fields:p}=s;if(null==p)throw new o.A("parquet-layer:missing-metadata","Unable to create parquet source: cannot infer fields",p);p.push(new _.A({name:O,type:"oid",alias:O}));for(const e of p){const t=c.file.columnForFieldName(e.name);null!=t&&(this._indexMap[e.name]=t)}const f=new S.A(p.map(e=>e.toJSON()));this._fieldsIndex=f;const y=(0,F.sA)(s.geometryType??"point");if(this._metadata=q.i.createFeature({fieldsIndex:f.toJSON(),geometryType:y,featureIdInfo:{type:"object-id",fieldName:"rowId"},subtypes:null,subtypeField:null,types:null,typeIdField:null,globalIdField:null,spatialReference:s.spatialReference,outSpatialReference:null,timeInfo:null,timeReferenceUnknownClient:null,dateFieldsTimeZone:null}),this._queryEngineParams={fieldsIndex:this._metadata.fieldsIndex,geometryType:y,featureIdInfo:{type:"object-id",fieldName:"rowId"},hasM:!1,hasZ:!1,spatialReference:s.spatialReference?.toJSON()??{wkid:4326},aggregateAdapter:null,timeInfo:null,definitionExpression:null},s.spatialReference){const e=await this.getFileInfos();this._fullExtent=function(e,t){const s=(0,h.hZ)((0,h.vt)(),h.qv);for(const t of e){const e=(0,R.hD)(t.file);if(!e)return null;const i=e.columns[e.primary_column];if(!i.bbox)return null;const r=Q(i.bbox);(0,h.RF)(s,r)}return{xmin:s[0],ymin:s[1],xmax:s[3],ymax:s[4],spatialReference:t}}(e,s.spatialReference.toJSON())}if(null==this._fullExtent&&"location"===s.geometryEncoding?.type){const{xField:e,yField:t}=s.geometryEncoding,r=(0,h.hZ)((0,h.vt)(),h.qv);for(const s of await this.getFileInfos())for(const n of s.file.rowGroups()){const s={stack:[],error:void 0,hasError:!1};try{const o=(0,i.mS)(s,n.columnDescriptorForAttribute(e),!1),a=(0,i.mS)(s,n.columnDescriptorForAttribute(t),!1),l=[o.minValue(),a.minValue(),o.maxValue(),a.maxValue()];(0,h.DC)(r,l),n.free()}catch(e){s.error=e,s.hasError=!0}finally{(0,i.hk)(s)}}this._fullExtent={xmin:r[0],ymin:r[1],xmax:r[3],ymax:r[4],spatialReference:s.spatialReference?.toJSON()}}return{capabilities:this._capabilities,layerDefinition:{fields:s.fields?.map(e=>e.toJSON()),drawingInfo:(0,g.F0)(y),extent:this._fullExtent??void 0,geometryType:y,geometryEncoding:s.geometryEncoding?.toJSON(),displayOptimization:s.displayOptimization}}}destroy(){for(const e of this._fileInfos.values())e.then(e=>e.file.free);this._fileInfos.clear(),this._queue.destroy()}setCustomParameters(e){this._customParameters=e}getIndexMap(){return this._indexMap}async getFileId(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return(await t).id}async getFileInfo(e){const t=this._fileInfos.get(e);if(!t)throw new Error(`InternalError: File ${e} does not exist`);return t}async getFileInfos(){return Promise.all(Array.from(this._fileInfos.values()))}async getFileStatistics(){if(!this._fileInfos.size)return null;const e=(await this.getFileInfos()).reduce((e,t)=>e+t.file.byteLength(),0);return{featureCount:await this._getFeatureCount(),byteLength:e}}async updateFiles(e){const t=new Set(e);for(const[e,s]of this._fileInfos.entries())t.has(e)?t.delete(e):(s.then(e=>e.file.free()),this._fileInfos.delete(e));await Promise.all(Array.from(t.values()).map(e=>this._addFile(e)))}async queryFeatures(e,t){return this._validateQuery(e),function(e){return!!(e.objectIds?.length||e.outStatistics||e.orderByFields?.length||e.returnDistinctValues)}(e)||(e.resultRecordCount=e.resultRecordCount?Math.min(e.resultRecordCount,8e3):8e3,e.resultOffset=e.resultOffset??0),(e.outStatistics||e.returnDistinctValues)&&(e.returnGeometry=void 0),(await this._enqueueQuery(e,t)).createQueryResponse()}async queryFeatureCount(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),G(s)?(s.outFields=void 0,s.returnGeometry=void 0,(await this._enqueueQuery(s,t)).createQueryResponseForCount()):this._getFeatureCount()}async queryObjectIds(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);return this._validateQuery(s),G(s)?(s.resultRecordCount=s.resultRecordCount?Math.min(s.resultRecordCount,8e3):8e3,s.resultOffset=s.resultOffset??0,s.returnGeometry=void 0,s.outFields=void 0,(await this._enqueueQuery(s,t)).items.map(e=>e.getObjectId())):Array.from({length:await this._getFeatureCount()},(e,t)=>t)}async queryExtent(e,t){const s=await(0,m.T2)(e,null,this._queryEngineParams.spatialReference);if(this._validateQuery(s),this._fullExtent&&!G(s))return{count:await this._getFeatureCount(),extent:this._fullExtent};const i=(0,n.z)(this._metadata.spatialReference);s.returnGeometry=!0,s.outFields=void 0;const r=(0,h.hZ)((0,h.vt)(),h.qv),o=(0,h.vt)(),a=await this._enqueueQuery(s,t);let l=0;for(const e of a.items)e.getBounds(o)&&((0,h.RF)(r,o),l+=1);return{count:l,extent:(0,f.Wc)(r,i,s.outSR?(0,n.z)(s.outSR):i,i,!1)}}async queryStream(e,t,s){if(!s.signal)throw new Error("InternalError: AbortSignal must be passed");const i=await this.getFileInfo(e),r=(await(0,v.N)()).Query.new();"tile"===t.type&&(r.setExtent(t.extent),r.setQuantizationTransform(t.transform),r.setScale(t.scale)),r.setOutFields(t.outFields.filter(e=>null!=this._indexMap[e])),r.setOutSpatialReference(t.outSpatialReference.wkid),r.setReturnGeometry(!0),t.where&&await this._setWhereClause(r,i.file,t.where);const n=await i.file.executeQuery(r,s.signal),o=i.streamIdCounter++,a=(0,u.NY)(s.signal,e=>{const t=i.streams.get(o);null!=t&&(t.handle.remove(),i.streams.delete(o))});return i.streams.set(o,{stream:n,handle:a}),o}async getStreamNext(e,t,s){if(!s.signal)throw new Error("InternalError: AbortSignal must be passed");const i=await this.getFileInfo(e),r=i.streams.get(t);if(!r)return null;const n=await r.stream.next(s.signal);return null==n&&(r.handle.remove(),i.streams.delete(t)),n?.serialize().buffer}async createPatch(e,t,s,i,r){if(!r.signal)throw new Error("InternalError: AbortSignal must be passed");const n=await this.getFileInfo(e);return(await n.file.createChunkPatch(t,s,i,r.signal)).serialize().buffer}async _getFile(e){for(const t of await this.getFileInfos())if(t.id===e)return t.file;throw new Error(`InternalError: File ${e} does not exist`)}_addFile(e){const t=this._fileInfos.size;this._fileInfos.set(e,this._createFileInfo(e,t))}async _createFileInfo(e,t){return{id:t,file:await(0,R.DV)(e,{geometryInfo:this._geometryInfo,getCustomParameters:()=>this._customParameters}),streamIdCounter:0,streams:new Map}}async _getFeatureCount(){return(await this.getFileInfos()).reduce((e,t)=>e+t.file.numRows(),0)}_validateQuery(e){if(!this._capabilities.query.supportsStatistics&&e.outStatistics)throw new o.A("parquet:unsupported","Statistics queries are not supported",{query:e});if(!this._capabilities.query.supportsOrderBy&&e.orderByFields?.length)throw new o.A("parquet:unsupported","Queries using orderBy are not supported",{query:e});if(!this._capabilities.query.supportsDistinct&&e.returnDistinctValues)throw new o.A("parquet:unsupported","Queries using returnDistinctValues are not supported",{query:e})}async _setWhereClause(e,t,s){const i=this._indexMap,r=this._fieldsIndex,n={getAttribute(e,s){const n=t.readAttribute(e.rowGroup,e.row,i[s]),o=r.get(s);return"esriFieldTypeString"===o.type||"esriFieldTypeDateOnly"===o.type||"esriFieldTypeTimeOnly"===o.type||"esriFieldTypeTimestampOffset"===o.type?T.decode(n):n}},a=await(0,p.GP)(s,this._fieldsIndex);if(!a.isStandardized)throw new o.A("sql-parse-error","expression is not standardized");e.setWhere(s),e.setWhereEvaluator((e,t)=>a.testFeatureCompiled({rowGroup:e,row:t},n,null)),e.setWhereFields(a.fieldNames)}async*_fetchChunks(e,t){const s=await(0,v.N)();for(const i of await this.getFileInfos()){const r=s.Query.new();r.setOutFields(e.fields),r.setReturnGeometry(e.returnGeometry),e.where&&await this._setWhereClause(r,i.file,e.where);const n=await i.file.executeQuery(r),o=[],a=n.next(t);for(let e=0;e<4;e++)o.push(n.next(t));let l=await a;for(;null!=l;){(0,u.Te)(t);const e=new E.s(this._metadata,this._indexMap,l,i.id),s=k([new I.j(e,null,0,!1)],this._queryEngineParams),r=o.shift();o.push(n.next(t)),yield s,l=await r}}}_enqueueQuery(e,t){return this._queue.push(e,t)}async _executeQuery(e,t){const s=await this._getReadParams(e);if(e.where=void 0,e.objectIds?.length){const s=new Map;for(const t of e.objectIds){const e=(0,w.wY)(t),i=(0,w.gE)(t);let r=s.get(e);r||(r=[],s.set(e,r)),r.push(i)}const i=[];for(const[r,n]of s.entries()){const s=await this._executeFileIdQuery(e,r,n,t);for(const e of s)i.push(e)}return new y.G(i,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}let i=e.resultRecordCount??await this._getFeatureCount(),r=e.resultOffset??0;e.resultRecordCount=void 0,e.resultOffset=void 0;const n=[];for await(const o of this._fetchChunks(s,t)){const s=await o.executeQueryForOpaqueFeatures(e,t);if(s.length>r){const t=s.slice(r,Math.min(r+i,s.length));for(const e of t)n.push(e);if(r=0,i-=t.length,0===i)return new y.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}else r-=s.length}return new y.G(n,e,{fieldsIndex:this._fieldsIndex,geometryType:this._metadata.geometryType,spatialReference:this._queryEngineParams.spatialReference,objectIdField:"rowId",hasM:!1,hasZ:!1,featureAdapter:M})}async _executeFileIdQuery(e,t,s,i){const r=await this._getReadParams(e),n=(await(0,v.N)()).Query.new();n.setOutFields(r.fields),n.setReturnGeometry(r.returnGeometry),n.setIds(new Uint32Array(s));const o=await this._getFile(t),a=await o.executeQuery(n,i);let l=await a.next(i),u=0;const c=[];for(;null!=l;){const e=new E.s(this._metadata,this._indexMap,l,t),s=new I.j(e,null,u++,!1);c.push(s),l=await a.next(i)}return k(c,this._queryEngineParams).executeQueryForOpaqueFeatures(e,i)}async _getReadParams(e){const t=new Set;if(e.outStatistics)for(const s of e.outStatistics)null!=s.onStatisticField&&t.add(s.onStatisticField);if(e.outFields)for(const s of e.outFields)t.add(s);return{fields:(t.has("*")?this._fieldsIndex.fields.map(e=>e.name):Array.from(t)).filter(e=>null!=this._indexMap[e]),returnGeometry:!!e.returnGeometry||!!e.geometry,where:e.where}}}function G(e){for(const t in e){const s=t;switch(s){case"resultOffset":case"resultRecordCount":case"aggregateIds":case"distance":case"gdbVersion":case"geometry":case"having":case"timeExtent":case"objectIds":case"historicMoment":case"where":return null!=e[s]}}return!1}function k(e,t){const s=new A.I;for(const t of e)s.insert(t);return new f.do({...t,featureStore:s})}function Q(e){switch(e.length){case 4:return(0,h.Jt)((0,h.vt)(),e);case 6:return e;default:throw new o.A("parquet:protocol-violation","Invalid Geoparquet file. BoundingBox size must be 4 or 6.",{bbox:e})}}function N(e){const t=e?.featureCount;let s=!1;return null!=t&&t<(0,a.A)("parquetlayer-full-query-feature-count")&&(s=!0),{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:!1},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!1,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1},query:{maxRecordCount:8e3,maxRecordCountFactor:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!1,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:s,supportsExtent:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:s,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsPercentileStatistics:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1,supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsReturnMesh:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:s,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,supportsTrueCurve:!1,tileMaxRecordCount:void 0},queryAttributeBins:{supportsDate:!1,supportsFixedInterval:!1,supportsAutoInterval:!1,supportsFixedBoundaries:!1,supportsStackBy:!1,supportsSplitBy:!1,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!1},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsTrueCurveUpdate:!1,supportsTrueCurveUpdateByTrueCurveClientsOnly:!0,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},10427(e,t,s){s.d(t,{A:()=>a});var i=s(5482),r=s(69540),n=s(25482),o=s(91429);let a=class extends((0,r.OU)(n.o)){constructor(e){super(e),this.type="location",this.xField=null,this.yField=null}};(0,i.Cg)([(0,o.MZ)({type:["location"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"xField",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"yField",void 0),a=(0,i.Cg)([(0,o.$K)("esri.layers.support.ParquetGeometryEncodingLocation")],a)},16238(e,t,s){s.d(t,{A:()=>a});var i=s(5482),r=s(69540),n=s(25482),o=s(91429);let a=class extends((0,r.OU)(n.o)){constructor(e){super(e),this.type="wkb",this.field=null}};(0,i.Cg)([(0,o.MZ)({type:["wkb"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],a.prototype,"type",void 0),(0,i.Cg)([(0,o.MZ)({type:["counter-clockwise"],json:{write:!0}})],a.prototype,"orientation",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],a.prototype,"field",void 0),a=(0,i.Cg)([(0,o.$K)("esri.layers.support.ParquetGeometryEncodingWkb")],a)},54625(e,t,s){s.d(t,{i_:()=>r});var i=s(30524);function r(e,t,s){t=(0,i.rS)(t)?.toLowerCase(),s=(0,i.rS)(s)?.toLowerCase();const r=e.map(e=>e.toLowerCase()),a=t?e[r.indexOf(t)]:null,l=s?e[r.indexOf(s)]:null;return{longitudeFieldName:a||e[r.indexOf(o.find(e=>r.includes(e)))],latitudeFieldName:l||e[r.indexOf(n.find(e=>r.includes(e)))]}}const n=["lat","lat83","latitude","latitude83","latdecdeg","lat_dd","y","ycenter","point_y"],o=["lon","lng","lng83","long","long83","longitude","longitude83","longdecdeg","long_dd","x","xcenter","point_x"]},42760(e,t,s){s.d(t,{hG:()=>y,nc:()=>m,sA:()=>f,ye:()=>d}),s(7762);var i=s(49186),r=s(66552),n=s(16930),o=s(20437),a=s(30524),l=s(54625),u=s(10427),c=s(16238),p=s(63892);const d=new r.J({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"}),h=new Set(["uncompressed","snappy","gzip"]);function f(e){return d.toJSON(e)}function y(e){return d.fromJSON(e)}async function m(e,t={}){if(e.urls.length<1)throw new i.A("parquet:bad-input","At least one url must be specified",e);if(e.geometryType&&e.spatialReference&&e.geometryEncoding&&e.fields)return e;const s=await(0,p.DV)(e.urls.getItemAt(0),{getCustomParameters:()=>t.customParameters});for(const e of s.compressionCodecs())if(!h.has(e))throw new i.A("parquet:unsupported",`Compression codec ${e} is unsupported. Must be of type ${Array.from(h).join(",")}`);const r=(0,p.hD)(s),d={...e,file:s};if(null==d.fields&&(d.fields=s.fields(!1).map(e=>o.A.fromJSON({name:e.name,alias:e.name,type:e.type}))),null!=d.geometryEncoding){const e=d.geometryEncoding;switch(e.type){case"wkb":{const t=d.fields.find(t=>t.name===e.field);if(!t)throw new i.A("parquet:unsupported",`Geometry encoding references field ${e.field} which does not exist`);if("blob"!==t.type)throw new i.A("parquet:unsupported",`Invalid field type for geometry encoding. Found ${t.type} but expected 'blob'`);break}case"location":for(const t of[e.xField,e.yField])if(null!=t){const e=d.fields.find(e=>e.name===t);if(!e)throw new i.A("parquet:unsupported",`Geometry encoding references field ${t} which does not exist`);if(!(0,a.WA)(e))throw new i.A("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${e.type} but expected a numeric`)}}}null==d.geometryEncoding&&(d.geometryEncoding=function(e,t){if(null!=e){const t=e.primary_column,s=e.columns[t];return new c.A({field:t,orientation:"counterclockwise"===s.orientation?"counter-clockwise":null})}const s=t.filter(e=>(0,a.WA)(e)).map(e=>e.name),i=(0,l.i_)(s);return i.latitudeFieldName&&i.longitudeFieldName?new u.A({xField:i.longitudeFieldName,yField:i.latitudeFieldName}):null}(r,d.fields));const f=(0,p.Xj)(s);if(f&&(d.displayOptimization=f),d.geometryEncoding)switch(d.geometryEncoding.type){case"location":null==d.spatialReference&&(d.spatialReference=n.A.WGS84),null==d.geometryType&&(d.geometryType="point");break;case"wkb":{if(!r)return d;const e=r.primary_column,t=r.columns[e];if(d.geometryType||(d.geometryType=function(e){const{geometry_types:t}=e,s=new Set;for(const e of t){const t=g(e);t&&s.add(t)}if(s.size>1)throw new i.A("parquet:unsupported","Parquet mixed geometry types are not supported",{geometryTypes:s});return 1===s.size?s.values().next().value:void 0}(t)),d.spatialReference||(d.spatialReference=function(e){const t=e.crs?.id?.code;return t&&"number"==typeof t?new n.A({wkid:t}):void 0}(t)),d.fields)for(const e of Object.keys(r.columns))d.fields=d.fields.filter(t=>t.name!==e)}}if(d.displayOptimization){const e=d.displayOptimization.index;if(!d.spatialReference&&e.wkid&&(d.spatialReference=new n.A({wkid:e.wkid})),!d.geometryType)switch(e.type){case"z":d.geometryType="point";break;case"xz":d.geometryType=e.geometryType}}return d}function g(e){switch(e){case"Point":return"point";case"Polygon":case"MultiPolygon":return"polygon";case"LineString":return"polyline";case"MultiPoint":return"multipoint";default:return null}}},63892(e,t,s){s.d(t,{DV:()=>y,Xj:()=>g,hD:()=>m});var i=s(11254),r=s(49186),n=s(44208),o=s(563),a=s(84952),l=s(39412);const u="parquet.v1",c=new o.QueueProcessor({concurrency:12,process:async e=>{const{data:t}=await(0,i.A)(e.url,e.options);return t}}),p=e=>async function(t,s,i,r){const o=e?.(),a={url:t,options:{responseType:"array-buffer",query:o??{},cacheMode:"no-store",useQueue:!0,headers:{range:`bytes=${s}-${i}`}}};if(!(0,n.A)("parquetlayer-cache-enabled"))return c.push(a);const l=new URL(t);l.searchParams.append("range",`${s}-${i}`);try{const e=await caches.open(`${u}:${t}`),s=await e.match(l);if(s)return await s.arrayBuffer();const i=await c.push(a);return await e.put(l,new Response(i,{headers:{"Content-Type":"application/octet-stream","Content-Length":i.byteLength.toString()}})),i}catch(e){return c.push(a)}},d=e=>async function(t){if((0,a.w8)(t)){const{data:e}=await(0,i.A)(t,{responseType:"blob"});return e.size}const{data:s}=await(0,i.A)(t,{responseType:"native",method:"head",query:e?.()}),r=s.headers.get("Content-Length");if(null==r)throw new Error("Unable to parse content length");const o=parseInt(r,10);if(!(0,n.A)("parquetlayer-cache-enabled"))return o;try{const e=`${u}:${t}`,i=new URL(t);i.searchParams.append("metadata","true");let r=await caches.open(e);const n=s.headers.get("etag")??s.headers.get("Last-Modified");if(null==n)return await caches.delete(e),o;const a=await r.match(i),l=await(a?.json());l?.tag!==n&&(await caches.delete(e),r=await caches.open(e));const c=JSON.stringify({tag:n});await r.put(i,new Response(c,{headers:{"Content-Type":"application/json","Content-Length":c.length.toString()}}))}catch(e){}return o};function h(e,t){switch(t){case"esriGeometryPoint":return e.GeometryType.Point;case"esriGeometryPolygon":case"polygon":return e.GeometryType.Polygon;case"esriGeometryPolyline":case"polyline":return e.GeometryType.Polyline;case"esriGeometryMultipoint":case"multipoint":return e.GeometryType.Multipoint;default:throw new r.A("parquet",`Found unexpected GeometryType: ${t}`)}}function f(e,t){const s=e.GeometryInfo.new();t.geometry&&s.setGeometry(function(e,t){const s=t.encoding,i=h(e,t.geometryType),r=t.spatialReference.wkid;if(null==r)throw new Error("InternalError: Wkid must be defined.");switch(s.type){case"wkb":return e.GeometryField.fromWkb(s.field,r,i);case"location":{const{yField:t,xField:n}=s;return e.GeometryField.fromLocation(t,n,r,i)}}}(e,t.geometry));const i=t.displayOptimization;if(i){const{index:t,parentColumn:r}=i,n=e=>null!=r?[r,e].join("."):e;if("z"===t.type){const i=e.DisplayOptimizationZBuilder.new();i.setCodeField(n(t.code)),i.setXColumn(n(t.xColumn)),i.setYColumn(n(t.yColumn)),i.setCooordinatePrecision(t.coordinatePrecision),i.setFullExtent(t.fullExtent),i.setSpatialReference(t.wkid,t.wkt),i.setHasZ(!!t.zColumn),i.setHasM(!!t.mColumn),s.setOptmizationZ(i)}if("xz"===t.type){const i=h(e,t.geometryType),r=e.DisplayOptimizationXZBuilder.new();r.setCodeField(n(t.code)),r.setEncoding(t.encoding),r.setFullExtent(t.fullExtent),r.setGeometryType(i),r.setSpatialReference(t.wkid,t.wkt),r.setMaxLevel(t.maxLevel),r.setHasZ(t.hasZ??!1),r.setHasM(t.hasM??!1);for(const s of t.levels??[]){const[t,i]=s.transform.translate,[o,a]=s.transform.scale,l=new Float64Array([t,i]),u=new Float64Array([o,a]),c=n(s.column);r.addLevel(e.MultiscaleGeometryField.new(s.level,s.scale,c,l,u))}s.setOptmizationXZ(r)}}return s}async function y(e,t={}){const s=await(0,l.N)(),i=p(t.getCustomParameters),n=d(t.getCustomParameters),o=t.geometryInfo?f(s,t.geometryInfo):null;try{return await s.ParquetFile.fromUrl(e,i,n,o)}catch(e){throw new r.A("parquet","Failed to parse file",{error:e})}}function m(e){const t=e.keyValueMetadata("geo");return null!=t?JSON.parse(t):null}function g(e){if(e.keyValueMetadata("esri"))throw new r.A("parquet:unsupported","File was created using an unsupported experimental display index. Please regenerate the file.");const t=e.keyValueMetadata("geodisplay");if(null!=t)return JSON.parse(t);const s=e.keyValueMetadata("org.apache.spark.sql.parquet.row.metadata");if(null!=s){const e=JSON.parse(s);for(const t of e.fields)if(null!=t.metadata&&"type"in t.metadata&&("xz"===t.metadata.type||"z"===t.metadata.type)){const e={parentColumn:t.name,index:t.metadata};if("xz"===e.index.type&&(e.index.geometryType=e.index.geometryType.toLowerCase(),"esri-pbf"===e.index.encoding&&(e.index.encoding="esriPBF"),"esriPBF"!==e.index.encoding))throw new r.A("parquet:unsupported",`Encoding for display index must be of type esriPBF, but found ${e.index.encoding}`);return e}}return null}},93470(e,t,s){s.d(t,{Cb:()=>n,HW:()=>c,JR:()=>r,JZ:()=>l,WR:()=>a,b6:()=>p,fT:()=>i,nC:()=>u,yM:()=>o});const i=[252,146,31,255],r=[153,153,153,255],n={type:"esriSMS",style:"esriSMSCircle",size:6,color:i,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:i},a={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},l={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},u={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},c={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},p={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}},76213(e,t,s){s.d(t,{C2:()=>a,CQ:()=>i,DY:()=>r,GR:()=>m,Gh:()=>u,MZ:()=>h,Rm:()=>o,TB:()=>y,U5:()=>l,_M:()=>c,cp:()=>g,eG:()=>n,fq:()=>f,hM:()=>d,ie:()=>p});const i=512,r=29,n=24,o=3,a=4,l=6,u=1.05,c=3,p=3,d=4,h=1,f=10,y=256,m=32,g=512}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5859],{6774(t,i,s){s.d(i,{O3:()=>h,Ox:()=>_,bR:()=>e});class e{constructor(t,i){this.x=t,this.y=i}static fromArray(t){return new e(t[0],t[1])}clone(){return new e(this.x,this.y)}equals(t,i){return t===this.x&&i===this.y}isEqual(t){return t.x===this.x&&t.y===this.y}setCoords(t,i){return this.x=t,this.y=i,this}normalize(){const t=this.x,i=this.y,s=Math.sqrt(t*t+i*i);return this.x/=s,this.y/=s,this}rightPerpendicular(){const t=this.x;return this.x=this.y,this.y=-t,this}leftPerpendicular(){const t=this.x;return this.x=-this.y,this.y=t,this}move(t,i){return this.x+=t,this.y+=i,this}assign(t){return this.x=t.x,this.y=t.y,this}assignAdd(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this}assignSub(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this}rotate(t,i){const s=this.x,e=this.y;return this.x=s*t-e*i,this.y=s*i+e*t,this}rotateReverse(t,i){const s=this.x,e=this.y;return this.x=s*t+e*i,this.y=-s*i+e*t,this}scale(t){return this.x*=t,this.y*=t,this}length(){const t=this.x,i=this.y;return Math.sqrt(t*t+i*i)}sub(t){return this.x-=t.x,this.y-=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}static distance(t,i){const s=i.x-t.x,e=i.y-t.y;return Math.sqrt(s*s+e*e)}static add(t,i){return new e(t.x+i.x,t.y+i.y)}static sub(t,i){return new e(t.x-i.x,t.y-i.y)}}class n{constructor(t,i,s){this.ratio=t,this.x=i,this.y=s}}class h{constructor(t,i,s,e=8,n=8){this._lines=[],this._starts=[],this.validateTessellation=!0,this._pixelRatio=e,this._pixelMargin=n,this._tileSize=512*e,this._dz=t,this._yPos=i,this._xPos=s}setPixelMargin(t){t!==this._pixelMargin&&(this._pixelMargin=t,this.setExtent(this._extent))}setExtent(t){this._extent=t,this._finalRatio=this._tileSize/t*(1<<this._dz);let i=this._pixelRatio*this._pixelMargin;i/=this._finalRatio;const s=t>>this._dz;i>s&&(i=s),this._margin=i,this._xmin=s*this._xPos-i,this._ymin=s*this._yPos-i,this._xmax=this._xmin+s+2*i,this._ymax=this._ymin+s+2*i}reset(t){this._type=t,this._lines=[],this._starts=[],this._line=null,this._start=0}moveTo(t,i){this._pushLine(),this._prevIsIn=this._isIn(t,i),this._moveTo(t,i,this._prevIsIn),this._prevPt=new e(t,i),this._firstPt=new e(t,i),this._dist=0}lineTo(t,i){const s=this._isIn(t,i),h=new e(t,i),_=e.distance(this._prevPt,h);let r,a,o,l,x,u,y,c;if(s)this._prevIsIn?this._lineTo(t,i,!0):(r=this._prevPt,a=h,o=this._intersect(a,r),this._start=this._dist+_*(1-this._r),this._lineTo(o.x,o.y,!0),this._lineTo(a.x,a.y,!0));else if(this._prevIsIn)a=this._prevPt,r=h,o=this._intersect(a,r),this._lineTo(o.x,o.y,!0),this._lineTo(r.x,r.y,!1);else{const t=this._prevPt,i=h;if(t.x<=this._xmin&&i.x<=this._xmin||t.x>=this._xmax&&i.x>=this._xmax||t.y<=this._ymin&&i.y<=this._ymin||t.y>=this._ymax&&i.y>=this._ymax)this._lineTo(i.x,i.y,!1);else{const s=[];if((t.x<this._xmin&&i.x>this._xmin||t.x>this._xmin&&i.x<this._xmin)&&(l=(this._xmin-t.x)/(i.x-t.x),c=t.y+l*(i.y-t.y),c<=this._ymin?u=!1:c>=this._ymax?u=!0:s.push(new n(l,this._xmin,c))),(t.x<this._xmax&&i.x>this._xmax||t.x>this._xmax&&i.x<this._xmax)&&(l=(this._xmax-t.x)/(i.x-t.x),c=t.y+l*(i.y-t.y),c<=this._ymin?u=!1:c>=this._ymax?u=!0:s.push(new n(l,this._xmax,c))),(t.y<this._ymin&&i.y>this._ymin||t.y>this._ymin&&i.y<this._ymin)&&(l=(this._ymin-t.y)/(i.y-t.y),y=t.x+l*(i.x-t.x),y<=this._xmin?x=!1:y>=this._xmax?x=!0:s.push(new n(l,y,this._ymin))),(t.y<this._ymax&&i.y>this._ymax||t.y>this._ymax&&i.y<this._ymax)&&(l=(this._ymax-t.y)/(i.y-t.y),y=t.x+l*(i.x-t.x),y<=this._xmin?x=!1:y>=this._xmax?x=!0:s.push(new n(l,y,this._ymax))),0===s.length)x?u?this._lineTo(this._xmax,this._ymax,!0):this._lineTo(this._xmax,this._ymin,!0):u?this._lineTo(this._xmin,this._ymax,!0):this._lineTo(this._xmin,this._ymin,!0);else if(s.length>1&&s[0].ratio>s[1].ratio)this._start=this._dist+_*s[1].ratio,this._lineTo(s[1].x,s[1].y,!0),this._lineTo(s[0].x,s[0].y,!0);else{this._start=this._dist+_*s[0].ratio;for(let t=0;t<s.length;t++)this._lineTo(s[t].x,s[t].y,!0)}this._lineTo(i.x,i.y,!1)}}this._dist+=_,this._prevIsIn=s,this._prevPt=h}close(){if(this._line.length>2){const t=this._firstPt,i=this._prevPt;t.x===i.x&&t.y===i.y||this.lineTo(t.x,t.y);const s=this._line;let e=s.length;for(;e>=4&&(s[0].x===s[1].x&&s[0].x===s[e-2].x||s[0].y===s[1].y&&s[0].y===s[e-2].y);)s.pop(),s[0].x=s[e-2].x,s[0].y=s[e-2].y,--e}}result(t=!0){return this._pushLine(),0===this._lines.length?null:(3===this._type&&t&&r.simplify(this._tileSize,this._margin*this._finalRatio,this._lines),this._lines)}resultWithStarts(){if(2!==this._type)throw new Error("Only valid for lines");this._pushLine();const t=this._lines,i=t.length;if(0===i)return null;const s=[];for(let e=0;e<i;e++)s.push({line:t[e],start:this._starts[e]||0});return s}_isIn(t,i){return t>=this._xmin&&t<=this._xmax&&i>=this._ymin&&i<=this._ymax}_intersect(t,i){let s,n,h;if(i.x>=this._xmin&&i.x<=this._xmax)n=i.y<=this._ymin?this._ymin:this._ymax,h=(n-t.y)/(i.y-t.y),s=t.x+h*(i.x-t.x);else if(i.y>=this._ymin&&i.y<=this._ymax)s=i.x<=this._xmin?this._xmin:this._xmax,h=(s-t.x)/(i.x-t.x),n=t.y+h*(i.y-t.y);else{n=i.y<=this._ymin?this._ymin:this._ymax,s=i.x<=this._xmin?this._xmin:this._xmax;const e=(s-t.x)/(i.x-t.x),_=(n-t.y)/(i.y-t.y);e<_?(h=e,n=t.y+e*(i.y-t.y)):(h=_,s=t.x+_*(i.x-t.x))}return this._r=h,new e(s,n)}_pushLine(){this._line&&(1===this._type?this._line.length>0&&(this._lines.push(this._line),this._starts.push(this._start)):2===this._type?this._line.length>1&&(this._lines.push(this._line),this._starts.push(this._start)):3===this._type&&this._line.length>3&&(this._lines.push(this._line),this._starts.push(this._start))),this._line=[],this._start=0}_moveTo(t,i,s){3!==this._type?s&&(t=Math.round((t-(this._xmin+this._margin))*this._finalRatio),i=Math.round((i-(this._ymin+this._margin))*this._finalRatio),this._line.push(new e(t,i))):(s||(t<this._xmin&&(t=this._xmin),t>this._xmax&&(t=this._xmax),i<this._ymin&&(i=this._ymin),i>this._ymax&&(i=this._ymax)),t=Math.round((t-(this._xmin+this._margin))*this._finalRatio),i=Math.round((i-(this._ymin+this._margin))*this._finalRatio),this._line.push(new e(t,i)),this._isH=!1,this._isV=!1)}_lineTo(t,i,s){let n,h;if(3!==this._type)if(s){if(t=Math.round((t-(this._xmin+this._margin))*this._finalRatio),i=Math.round((i-(this._ymin+this._margin))*this._finalRatio),this._line.length>0&&(n=this._line[this._line.length-1],n.equals(t,i)))return;this._line.push(new e(t,i))}else this._line&&this._line.length>0&&this._pushLine();else if(s||(t<this._xmin&&(t=this._xmin),t>this._xmax&&(t=this._xmax),i<this._ymin&&(i=this._ymin),i>this._ymax&&(i=this._ymax)),t=Math.round((t-(this._xmin+this._margin))*this._finalRatio),i=Math.round((i-(this._ymin+this._margin))*this._finalRatio),this._line&&this._line.length>0){n=this._line[this._line.length-1];const s=n.x===t,_=n.y===i;if(s&&_)return;this._isH&&s||this._isV&&_?(n.x=t,n.y=i,h=this._line[this._line.length-2],h.x===t&&h.y===i?(this._line.pop(),this._line.length<=1?(this._isH=!1,this._isV=!1):(h=this._line[this._line.length-2],this._isH=h.x===t,this._isV=h.y===i)):(this._isH=h.x===t,this._isV=h.y===i)):(this._line.push(new e(t,i)),this._isH=s,this._isV=_)}else this._line.push(new e(t,i))}}class _{setExtent(t){this._ratio=4096===t?1:4096/t}get validateTessellation(){return this._ratio<1}reset(t){this._lines=[],this._line=null}moveTo(t,i){this._line&&this._lines.push(this._line),this._line=[];const s=this._ratio;this._line.push(new e(t*s,i*s))}lineTo(t,i){const s=this._ratio;this._line.push(new e(t*s,i*s))}close(){const t=this._line;t&&!t[0].isEqual(t[t.length-1])&&t.push(t[0])}result(){return this._line&&this._lines.push(this._line),0===this._lines.length?null:this._lines}}class r{static simplify(t,i,s){if(!s)return;const e=-i,n=t+i,h=-i,_=t+i,a=[],o=[],l=s.length;for(let t=0;t<l;++t){const i=s[t];if(!i||i.length<2)continue;let r,l=i[0];const x=i.length;for(let s=1;s<x;++s)r=i[s],l.x===r.x&&(l.x<=e&&(l.y>r.y?(a.push(t),a.push(s),a.push(0),a.push(-1)):(o.push(t),o.push(s),o.push(0),o.push(-1))),l.x>=n&&(l.y<r.y?(a.push(t),a.push(s),a.push(1),a.push(-1)):(o.push(t),o.push(s),o.push(1),o.push(-1)))),l.y===r.y&&(l.y<=h&&(l.x<r.x?(a.push(t),a.push(s),a.push(2),a.push(-1)):(o.push(t),o.push(s),o.push(2),o.push(-1))),l.y>=_&&(l.x>r.x?(a.push(t),a.push(s),a.push(3),a.push(-1)):(o.push(t),o.push(s),o.push(3),o.push(-1)))),l=r}if(0===a.length||0===o.length)return;r.fillParent(s,o,a),r.fillParent(s,a,o);const x=[];r.calcDeltas(x,o,a),r.calcDeltas(x,a,o),r.addDeltas(x,s)}static fillParent(t,i,s){const e=s.length,n=i.length;for(let h=0;h<n;h+=4){const n=i[h],_=i[h+1],r=i[h+2],o=t[n][_-1],l=t[n][_];let x=8092,u=-1;for(let i=0;i<e;i+=4){if(s[i+2]!==r)continue;const e=s[i],n=s[i+1],h=t[e][n-1],_=t[e][n];switch(r){case 0:case 1:if(a(o.y,h.y,_.y)&&a(l.y,h.y,_.y)){const t=Math.abs(_.y-h.y);t<x&&(x=t,u=i)}break;case 2:case 3:if(a(o.x,h.x,_.x)&&a(l.x,h.x,_.x)){const t=Math.abs(_.x-h.x);t<x&&(x=t,u=i)}}}i[h+3]=u}}static calcDeltas(t,i,s){const e=i.length;for(let n=0;n<e;n+=4){const e=[],h=r.calcDelta(n,i,s,e);t.push(i[n]),t.push(i[n+1]),t.push(i[n+2]),t.push(h)}}static calcDelta(t,i,s,e){const n=i[t+3];if(-1===n)return 0;const h=e.length;return h>1&&e[h-2]===n?0:(e.push(n),r.calcDelta(n,s,i,e)+1)}static addDeltas(t,i){const s=t.length;let e=0;for(let i=0;i<s;i+=4){const s=t[i+3];s>e&&(e=s)}for(let n=0;n<s;n+=4){const s=i[t[n]],h=t[n+1],_=e-t[n+3];switch(t[n+2]){case 0:s[h-1].x-=_,s[h].x-=_,1===h&&(s[s.length-1].x-=_),h===s.length-1&&(s[0].x-=_);break;case 1:s[h-1].x+=_,s[h].x+=_,1===h&&(s[s.length-1].x+=_),h===s.length-1&&(s[0].x+=_);break;case 2:s[h-1].y-=_,s[h].y-=_,1===h&&(s[s.length-1].y-=_),h===s.length-1&&(s[0].y-=_);break;case 3:s[h-1].y+=_,s[h].y+=_,1===h&&(s[s.length-1].y+=_),h===s.length-1&&(s[0].y+=_)}}}}const a=(t,i,s)=>t>=i&&t<=s||t>=s&&t<=i},13195(t,i,s){s.d(i,{GW:()=>p,IU:()=>f,Jo:()=>_,MG:()=>h,Wh:()=>u,aA:()=>o,cP:()=>E,os:()=>l,p6:()=>m,pJ:()=>r,ru:()=>T,s3:()=>R,wV:()=>c,yM:()=>S,z0:()=>y});var e=s(95108),n=s(6774);const h=Number.POSITIVE_INFINITY,_=Math.PI,r=2*_,a=128/_,o=256/360,l=_/180,x=1/Math.LN2;function u(t,i){return(t%=i)>=0?t:t+i}function y(t){return u(t*a,256)}function c(t){return u(t*o,256)}function m(t){return Math.log(t)*x}function p(t,i,s){return t*(1-s)+i*s}function f(t){return 8+Math.max(16*(t-14),0)}function R(t,i,s){let e,n,h,_=0;for(const r of s){e=r.length;for(let s=1;s<e;++s)n=r[s-1],h=r[s],n.y>i!=h.y>i&&((h.x-n.x)*(i-n.y)-(h.y-n.y)*(t-n.x)>0?_++:_--)}return 0!==_}function T(t,i,s,n){let h,_,r,a;const o=n*n;for(const n of s){const s=n.length;if(!(s<2)){h=n[0].x,_=n[0].y;for(let l=1;l<s;++l){if(r=n[l].x,a=n[l].y,(0,e.Ng)(t,i,h,_,r,a)<o)return!0;h=r,_=a}}}return!1}function E(t,i){if(0===i||Number.isNaN(i))return t;const s=[],e=new n.bR(0,0),h=new n.bR(0,0),_=new n.bR(0,0);for(let r=0;r<t.length;r++){const a=t[r],o=[];for(let t=0;t<a.length;t++){const s=a[t-1],r=a[t],l=a[t+1];0===t?e.setCoords(0,0):e.assignSub(r,s).normalize().rightPerpendicular(),t===a.length-1?h.setCoords(0,0):h.assignSub(l,r).normalize().rightPerpendicular(),_.assignAdd(e,h).normalize();const x=_.x*h.x+_.y*h.y;0!==x&&_.scale(1/x),o.push(n.bR.add(r,_.scale(i)))}s.push(o)}return s}function S(t,i,s,e){const h=new n.bR(t[0],t[1]);if(h.scale(e),"viewport"===i){const t=-s*(Math.PI/180),i=Math.cos(t),e=Math.sin(t);h.rotate(i,e)}return h}},76213(t,i,s){s.d(i,{C2:()=>_,CQ:()=>e,DY:()=>n,GR:()=>m,Gh:()=>a,MZ:()=>u,TB:()=>c,U5:()=>r,_M:()=>o,cp:()=>p,eG:()=>h,fq:()=>y,hM:()=>x,ie:()=>l});const e=512,n=29,h=24,_=4,r=6,a=1.05,o=3,l=3,x=4,u=1,y=10,c=256,m=32,p=512},89518(t,i,s){s.d(i,{M9:()=>_,Ss:()=>r,fw:()=>o,ws:()=>a});const e=new Float32Array(1),n=new Uint32Array(e.buffer);function h(t){return e[0]=t,n[0]}function _(t,i){return 65535&t|i<<16}function r(t,i,s,e){return 255&t|(255&i)<<8|(255&s)<<16|e<<24}function a(t,i){return 255&t|(255&i)<<8}function o(t){const i=h(t),s=i>>>31;let e=i>>>23&255,n=8388607&i;return e-=127,e>15?s<<15|31744:e<-25?0:(e<-14&&(n+=8388608,n/=2**(-14-e),e=-15),e+=15,n/=8192,n=function(t){const i=Math.floor(t),s=t-i;return i<1023&&(s>.5||.5===s&&i%2==1)?i+1:i}(n),s<<15|e<<10|n)}},68572(t,i,s){s.d(i,{H:()=>_,q:()=>r}),s(44208);var e=s(23304),n=s(63907);function h(t){switch(t){case n.pe.BYTE:case n.pe.UNSIGNED_BYTE:return 1;case n.pe.SHORT:case n.pe.UNSIGNED_SHORT:case n.pe.HALF_FLOAT:return 2;case n.pe.FLOAT:case n.pe.INT:case n.pe.UNSIGNED_INT:return 4}}function _(t){const i=[],s=[],e=[];for(const n of t){const t=h(n.type)*n.count;switch(t%2||t%4||4){case 4:i.push(n);continue;case 2:s.push(n);continue;case 1:e.push(n);continue;default:throw new Error("Found unexpected dataType byte count")}}return i.push(...s),i.push(...e),i}class r{static fromVertexSpec(t,i){const{attributes:s,optionalAttributes:e}=t;let n,a,o;const l=[];for(const t in s){if(s[t].otherSource)continue;const i=s[t];"position"===i.pack?n={...i,name:t,offset:0}:"id"===i.pack?a={...i,name:t,offset:4}:"bitset"===t?o={...i,name:t,offset:7}:l.push({...i,name:t})}for(const t in e)if(!0===i[t]){const i=e[t];l.push({...i,name:t})}const x=_(l),u=[];let y=8,c=1;for(const t of x)u.push({...t,offset:y}),y+=h(t.type)*t.count,t.packAlternating&&(c=Math.max(t.packAlternating.count,c));const m=Uint32Array.BYTES_PER_ELEMENT,p=y%m;return new r(n,a,o,u,y+(p?m-p:0),c)}constructor(t,i,s,e,n,h){this.position=t,this.id=i,this.bitset=s,this.standardAttributes=e,this.stride=n,this.packVertexCount=h,e.push(s),this._attributes=[t,i,s,...e]}get attributeLayout(){if(!this._attributeLayout){const t=(0,e.hU)(this._attributes),i=this._attributes.map(t=>({name:t.name,count:t.count,offset:t.offset,type:t.type,packPrecisionFactor:t.packPrecisionFactor,normalized:t.normalized??!1}));this._attributeLayout={attributes:i,hash:t,stride:this.stride}}return this._attributeLayout}}},23304(t,i,s){s.d(i,{Ph:()=>h,Z0:()=>_,hU:()=>n});var e=s(799);function n(t){const i=t.map(({name:t,count:i,type:s})=>`${t}.${i}.${s}`).join(",");return(0,e.Wm)(i)}function h(t,i,s,e,n,_,r){if(t.primitiveName===i){let i=e?.readWithDefault(n,_,t[s]&&r);return"text"===t.type&&(i=i.toString()),void(t[s]=i)}if("type"in t&&null!=t.type){if(t.effects)for(const a of t.effects)h(a,i,s,e,n,_,r);switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":if(t.symbolLayers)for(const a of t.symbolLayers)h(a,i,s,e,n,_,r);break;case"CIMTextSymbol":t.symbol&&h(t.symbol,i,s,e,n,_,r);break;case"CIMHatchFill":t.lineSymbol&&h(t.lineSymbol,i,s,e,n,_,r);break;case"CIMPictureMarker":case"CIMCharacterMarker":case"CIMVectorMarker":if(t.markerPlacement&&h(t.markerPlacement,i,s,e,n,_,r),"CIMVectorMarker"===t.type&&t.markerGraphics)for(const a of t.markerGraphics)h(a,i,s,e,n,_,r),h(a.symbol,i,s,e,n,_,r)}}}function _(t){const i=Math.max(1.25*t.width,20);return null!=t.effects&&t.effects.length>0?400:i}},63907(t,i,s){s.d(i,{$0:()=>u,C5:()=>x,CQ:()=>f,H0:()=>h,SB:()=>a,WR:()=>e,XN:()=>_,iE:()=>r,ld:()=>o,nI:()=>c,pe:()=>n,r6:()=>y,uH:()=>p,vt:()=>l,xL:()=>m});const e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},n={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},h={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},_=Object.values(h),r={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},a={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},o={FLOAT:n.FLOAT,UNSIGNED_BYTE:n.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:n.BYTE,UNSIGNED_SHORT:n.UNSIGNED_SHORT,SHORT:n.SHORT,UNSIGNED_INT:n.UNSIGNED_INT,INT:n.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},l={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},x=1029,u=0,y=36064,c=33306,m=36096,p=36128,f={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5859],{6774(t,i,s){s.d(i,{O3:()=>h,Ox:()=>_,bR:()=>e});class e{constructor(t,i){this.x=t,this.y=i}static fromArray(t){return new e(t[0],t[1])}clone(){return new e(this.x,this.y)}equals(t,i){return t===this.x&&i===this.y}isEqual(t){return t.x===this.x&&t.y===this.y}setCoords(t,i){return this.x=t,this.y=i,this}normalize(){const t=this.x,i=this.y,s=Math.sqrt(t*t+i*i);return this.x/=s,this.y/=s,this}rightPerpendicular(){const t=this.x;return this.x=this.y,this.y=-t,this}leftPerpendicular(){const t=this.x;return this.x=-this.y,this.y=t,this}move(t,i){return this.x+=t,this.y+=i,this}assign(t){return this.x=t.x,this.y=t.y,this}assignAdd(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this}assignSub(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this}rotate(t,i){const s=this.x,e=this.y;return this.x=s*t-e*i,this.y=s*i+e*t,this}rotateReverse(t,i){const s=this.x,e=this.y;return this.x=s*t+e*i,this.y=-s*i+e*t,this}scale(t){return this.x*=t,this.y*=t,this}length(){const t=this.x,i=this.y;return Math.sqrt(t*t+i*i)}sub(t){return this.x-=t.x,this.y-=t.y,this}add(t){return this.x+=t.x,this.y+=t.y,this}static distance(t,i){const s=i.x-t.x,e=i.y-t.y;return Math.sqrt(s*s+e*e)}static add(t,i){return new e(t.x+i.x,t.y+i.y)}static sub(t,i){return new e(t.x-i.x,t.y-i.y)}}class n{constructor(t,i,s){this.ratio=t,this.x=i,this.y=s}}class h{constructor(t,i,s,e=8,n=8){this._lines=[],this._starts=[],this.validateTessellation=!0,this._pixelRatio=e,this._pixelMargin=n,this._tileSize=512*e,this._dz=t,this._yPos=i,this._xPos=s}setPixelMargin(t){t!==this._pixelMargin&&(this._pixelMargin=t,this.setExtent(this._extent))}setExtent(t){this._extent=t,this._finalRatio=this._tileSize/t*(1<<this._dz);let i=this._pixelRatio*this._pixelMargin;i/=this._finalRatio;const s=t>>this._dz;i>s&&(i=s),this._margin=i,this._xmin=s*this._xPos-i,this._ymin=s*this._yPos-i,this._xmax=this._xmin+s+2*i,this._ymax=this._ymin+s+2*i}reset(t){this._type=t,this._lines=[],this._starts=[],this._line=null,this._start=0}moveTo(t,i){this._pushLine(),this._prevIsIn=this._isIn(t,i),this._moveTo(t,i,this._prevIsIn),this._prevPt=new e(t,i),this._firstPt=new e(t,i),this._dist=0}lineTo(t,i){const s=this._isIn(t,i),h=new e(t,i),_=e.distance(this._prevPt,h);let r,a,o,l,x,u,y,c;if(s)this._prevIsIn?this._lineTo(t,i,!0):(r=this._prevPt,a=h,o=this._intersect(a,r),this._start=this._dist+_*(1-this._r),this._lineTo(o.x,o.y,!0),this._lineTo(a.x,a.y,!0));else if(this._prevIsIn)a=this._prevPt,r=h,o=this._intersect(a,r),this._lineTo(o.x,o.y,!0),this._lineTo(r.x,r.y,!1);else{const t=this._prevPt,i=h;if(t.x<=this._xmin&&i.x<=this._xmin||t.x>=this._xmax&&i.x>=this._xmax||t.y<=this._ymin&&i.y<=this._ymin||t.y>=this._ymax&&i.y>=this._ymax)this._lineTo(i.x,i.y,!1);else{const s=[];if((t.x<this._xmin&&i.x>this._xmin||t.x>this._xmin&&i.x<this._xmin)&&(l=(this._xmin-t.x)/(i.x-t.x),c=t.y+l*(i.y-t.y),c<=this._ymin?u=!1:c>=this._ymax?u=!0:s.push(new n(l,this._xmin,c))),(t.x<this._xmax&&i.x>this._xmax||t.x>this._xmax&&i.x<this._xmax)&&(l=(this._xmax-t.x)/(i.x-t.x),c=t.y+l*(i.y-t.y),c<=this._ymin?u=!1:c>=this._ymax?u=!0:s.push(new n(l,this._xmax,c))),(t.y<this._ymin&&i.y>this._ymin||t.y>this._ymin&&i.y<this._ymin)&&(l=(this._ymin-t.y)/(i.y-t.y),y=t.x+l*(i.x-t.x),y<=this._xmin?x=!1:y>=this._xmax?x=!0:s.push(new n(l,y,this._ymin))),(t.y<this._ymax&&i.y>this._ymax||t.y>this._ymax&&i.y<this._ymax)&&(l=(this._ymax-t.y)/(i.y-t.y),y=t.x+l*(i.x-t.x),y<=this._xmin?x=!1:y>=this._xmax?x=!0:s.push(new n(l,y,this._ymax))),0===s.length)x?u?this._lineTo(this._xmax,this._ymax,!0):this._lineTo(this._xmax,this._ymin,!0):u?this._lineTo(this._xmin,this._ymax,!0):this._lineTo(this._xmin,this._ymin,!0);else if(s.length>1&&s[0].ratio>s[1].ratio)this._start=this._dist+_*s[1].ratio,this._lineTo(s[1].x,s[1].y,!0),this._lineTo(s[0].x,s[0].y,!0);else{this._start=this._dist+_*s[0].ratio;for(let t=0;t<s.length;t++)this._lineTo(s[t].x,s[t].y,!0)}this._lineTo(i.x,i.y,!1)}}this._dist+=_,this._prevIsIn=s,this._prevPt=h}close(){if(this._line.length>2){const t=this._firstPt,i=this._prevPt;t.x===i.x&&t.y===i.y||this.lineTo(t.x,t.y);const s=this._line;let e=s.length;for(;e>=4&&(s[0].x===s[1].x&&s[0].x===s[e-2].x||s[0].y===s[1].y&&s[0].y===s[e-2].y);)s.pop(),s[0].x=s[e-2].x,s[0].y=s[e-2].y,--e}}result(t=!0){return this._pushLine(),0===this._lines.length?null:(3===this._type&&t&&r.simplify(this._tileSize,this._margin*this._finalRatio,this._lines),this._lines)}resultWithStarts(){if(2!==this._type)throw new Error("Only valid for lines");this._pushLine();const t=this._lines,i=t.length;if(0===i)return null;const s=[];for(let e=0;e<i;e++)s.push({line:t[e],start:this._starts[e]||0});return s}_isIn(t,i){return t>=this._xmin&&t<=this._xmax&&i>=this._ymin&&i<=this._ymax}_intersect(t,i){let s,n,h;if(i.x>=this._xmin&&i.x<=this._xmax)n=i.y<=this._ymin?this._ymin:this._ymax,h=(n-t.y)/(i.y-t.y),s=t.x+h*(i.x-t.x);else if(i.y>=this._ymin&&i.y<=this._ymax)s=i.x<=this._xmin?this._xmin:this._xmax,h=(s-t.x)/(i.x-t.x),n=t.y+h*(i.y-t.y);else{n=i.y<=this._ymin?this._ymin:this._ymax,s=i.x<=this._xmin?this._xmin:this._xmax;const e=(s-t.x)/(i.x-t.x),_=(n-t.y)/(i.y-t.y);e<_?(h=e,n=t.y+e*(i.y-t.y)):(h=_,s=t.x+_*(i.x-t.x))}return this._r=h,new e(s,n)}_pushLine(){this._line&&(1===this._type?this._line.length>0&&(this._lines.push(this._line),this._starts.push(this._start)):2===this._type?this._line.length>1&&(this._lines.push(this._line),this._starts.push(this._start)):3===this._type&&this._line.length>3&&(this._lines.push(this._line),this._starts.push(this._start))),this._line=[],this._start=0}_moveTo(t,i,s){3!==this._type?s&&(t=Math.round((t-(this._xmin+this._margin))*this._finalRatio),i=Math.round((i-(this._ymin+this._margin))*this._finalRatio),this._line.push(new e(t,i))):(s||(t<this._xmin&&(t=this._xmin),t>this._xmax&&(t=this._xmax),i<this._ymin&&(i=this._ymin),i>this._ymax&&(i=this._ymax)),t=Math.round((t-(this._xmin+this._margin))*this._finalRatio),i=Math.round((i-(this._ymin+this._margin))*this._finalRatio),this._line.push(new e(t,i)),this._isH=!1,this._isV=!1)}_lineTo(t,i,s){let n,h;if(3!==this._type)if(s){if(t=Math.round((t-(this._xmin+this._margin))*this._finalRatio),i=Math.round((i-(this._ymin+this._margin))*this._finalRatio),this._line.length>0&&(n=this._line[this._line.length-1],n.equals(t,i)))return;this._line.push(new e(t,i))}else this._line&&this._line.length>0&&this._pushLine();else if(s||(t<this._xmin&&(t=this._xmin),t>this._xmax&&(t=this._xmax),i<this._ymin&&(i=this._ymin),i>this._ymax&&(i=this._ymax)),t=Math.round((t-(this._xmin+this._margin))*this._finalRatio),i=Math.round((i-(this._ymin+this._margin))*this._finalRatio),this._line&&this._line.length>0){n=this._line[this._line.length-1];const s=n.x===t,_=n.y===i;if(s&&_)return;this._isH&&s||this._isV&&_?(n.x=t,n.y=i,h=this._line[this._line.length-2],h.x===t&&h.y===i?(this._line.pop(),this._line.length<=1?(this._isH=!1,this._isV=!1):(h=this._line[this._line.length-2],this._isH=h.x===t,this._isV=h.y===i)):(this._isH=h.x===t,this._isV=h.y===i)):(this._line.push(new e(t,i)),this._isH=s,this._isV=_)}else this._line.push(new e(t,i))}}class _{setExtent(t){this._ratio=4096===t?1:4096/t}get validateTessellation(){return this._ratio<1}reset(t){this._lines=[],this._line=null}moveTo(t,i){this._line&&this._lines.push(this._line),this._line=[];const s=this._ratio;this._line.push(new e(t*s,i*s))}lineTo(t,i){const s=this._ratio;this._line.push(new e(t*s,i*s))}close(){const t=this._line;t&&!t[0].isEqual(t[t.length-1])&&t.push(t[0])}result(){return this._line&&this._lines.push(this._line),0===this._lines.length?null:this._lines}}class r{static simplify(t,i,s){if(!s)return;const e=-i,n=t+i,h=-i,_=t+i,a=[],o=[],l=s.length;for(let t=0;t<l;++t){const i=s[t];if(!i||i.length<2)continue;let r,l=i[0];const x=i.length;for(let s=1;s<x;++s)r=i[s],l.x===r.x&&(l.x<=e&&(l.y>r.y?(a.push(t),a.push(s),a.push(0),a.push(-1)):(o.push(t),o.push(s),o.push(0),o.push(-1))),l.x>=n&&(l.y<r.y?(a.push(t),a.push(s),a.push(1),a.push(-1)):(o.push(t),o.push(s),o.push(1),o.push(-1)))),l.y===r.y&&(l.y<=h&&(l.x<r.x?(a.push(t),a.push(s),a.push(2),a.push(-1)):(o.push(t),o.push(s),o.push(2),o.push(-1))),l.y>=_&&(l.x>r.x?(a.push(t),a.push(s),a.push(3),a.push(-1)):(o.push(t),o.push(s),o.push(3),o.push(-1)))),l=r}if(0===a.length||0===o.length)return;r.fillParent(s,o,a),r.fillParent(s,a,o);const x=[];r.calcDeltas(x,o,a),r.calcDeltas(x,a,o),r.addDeltas(x,s)}static fillParent(t,i,s){const e=s.length,n=i.length;for(let h=0;h<n;h+=4){const n=i[h],_=i[h+1],r=i[h+2],o=t[n][_-1],l=t[n][_];let x=8092,u=-1;for(let i=0;i<e;i+=4){if(s[i+2]!==r)continue;const e=s[i],n=s[i+1],h=t[e][n-1],_=t[e][n];switch(r){case 0:case 1:if(a(o.y,h.y,_.y)&&a(l.y,h.y,_.y)){const t=Math.abs(_.y-h.y);t<x&&(x=t,u=i)}break;case 2:case 3:if(a(o.x,h.x,_.x)&&a(l.x,h.x,_.x)){const t=Math.abs(_.x-h.x);t<x&&(x=t,u=i)}}}i[h+3]=u}}static calcDeltas(t,i,s){const e=i.length;for(let n=0;n<e;n+=4){const e=[],h=r.calcDelta(n,i,s,e);t.push(i[n]),t.push(i[n+1]),t.push(i[n+2]),t.push(h)}}static calcDelta(t,i,s,e){const n=i[t+3];if(-1===n)return 0;const h=e.length;return h>1&&e[h-2]===n?0:(e.push(n),r.calcDelta(n,s,i,e)+1)}static addDeltas(t,i){const s=t.length;let e=0;for(let i=0;i<s;i+=4){const s=t[i+3];s>e&&(e=s)}for(let n=0;n<s;n+=4){const s=i[t[n]],h=t[n+1],_=e-t[n+3];switch(t[n+2]){case 0:s[h-1].x-=_,s[h].x-=_,1===h&&(s[s.length-1].x-=_),h===s.length-1&&(s[0].x-=_);break;case 1:s[h-1].x+=_,s[h].x+=_,1===h&&(s[s.length-1].x+=_),h===s.length-1&&(s[0].x+=_);break;case 2:s[h-1].y-=_,s[h].y-=_,1===h&&(s[s.length-1].y-=_),h===s.length-1&&(s[0].y-=_);break;case 3:s[h-1].y+=_,s[h].y+=_,1===h&&(s[s.length-1].y+=_),h===s.length-1&&(s[0].y+=_)}}}}const a=(t,i,s)=>t>=i&&t<=s||t>=s&&t<=i},13195(t,i,s){s.d(i,{GW:()=>p,IU:()=>f,Jo:()=>_,MG:()=>h,Wh:()=>u,aA:()=>o,cP:()=>E,os:()=>l,p6:()=>m,pJ:()=>r,ru:()=>T,s3:()=>R,wV:()=>c,yM:()=>S,z0:()=>y});var e=s(95108),n=s(6774);const h=Number.POSITIVE_INFINITY,_=Math.PI,r=2*_,a=128/_,o=256/360,l=_/180,x=1/Math.LN2;function u(t,i){return(t%=i)>=0?t:t+i}function y(t){return u(t*a,256)}function c(t){return u(t*o,256)}function m(t){return Math.log(t)*x}function p(t,i,s){return t*(1-s)+i*s}function f(t){return 8+Math.max(16*(t-14),0)}function R(t,i,s){let e,n,h,_=0;for(const r of s){e=r.length;for(let s=1;s<e;++s)n=r[s-1],h=r[s],n.y>i!=h.y>i&&((h.x-n.x)*(i-n.y)-(h.y-n.y)*(t-n.x)>0?_++:_--)}return 0!==_}function T(t,i,s,n){let h,_,r,a;const o=n*n;for(const n of s){const s=n.length;if(!(s<2)){h=n[0].x,_=n[0].y;for(let l=1;l<s;++l){if(r=n[l].x,a=n[l].y,(0,e.Ng)(t,i,h,_,r,a)<o)return!0;h=r,_=a}}}return!1}function E(t,i){if(0===i||Number.isNaN(i))return t;const s=[],e=new n.bR(0,0),h=new n.bR(0,0),_=new n.bR(0,0);for(let r=0;r<t.length;r++){const a=t[r],o=[];for(let t=0;t<a.length;t++){const s=a[t-1],r=a[t],l=a[t+1];0===t?e.setCoords(0,0):e.assignSub(r,s).normalize().rightPerpendicular(),t===a.length-1?h.setCoords(0,0):h.assignSub(l,r).normalize().rightPerpendicular(),_.assignAdd(e,h).normalize();const x=_.x*h.x+_.y*h.y;0!==x&&_.scale(1/x),o.push(n.bR.add(r,_.scale(i)))}s.push(o)}return s}function S(t,i,s,e){const h=new n.bR(t[0],t[1]);if(h.scale(e),"viewport"===i){const t=-s*(Math.PI/180),i=Math.cos(t),e=Math.sin(t);h.rotate(i,e)}return h}},76213(t,i,s){s.d(i,{C2:()=>r,CQ:()=>e,DY:()=>n,GR:()=>p,Gh:()=>o,MZ:()=>y,Rm:()=>_,TB:()=>m,U5:()=>a,_M:()=>l,cp:()=>f,eG:()=>h,fq:()=>c,hM:()=>u,ie:()=>x});const e=512,n=29,h=24,_=3,r=4,a=6,o=1.05,l=3,x=3,u=4,y=1,c=10,m=256,p=32,f=512},89518(t,i,s){s.d(i,{M9:()=>_,Ss:()=>r,fw:()=>o,ws:()=>a});const e=new Float32Array(1),n=new Uint32Array(e.buffer);function h(t){return e[0]=t,n[0]}function _(t,i){return 65535&t|i<<16}function r(t,i,s,e){return 255&t|(255&i)<<8|(255&s)<<16|e<<24}function a(t,i){return 255&t|(255&i)<<8}function o(t){const i=h(t),s=i>>>31;let e=i>>>23&255,n=8388607&i;return e-=127,e>15?s<<15|31744:e<-25?0:(e<-14&&(n+=8388608,n/=2**(-14-e),e=-15),e+=15,n/=8192,n=function(t){const i=Math.floor(t),s=t-i;return i<1023&&(s>.5||.5===s&&i%2==1)?i+1:i}(n),s<<15|e<<10|n)}},68572(t,i,s){s.d(i,{H:()=>_,q:()=>r}),s(44208);var e=s(23304),n=s(63907);function h(t){switch(t){case n.pe.BYTE:case n.pe.UNSIGNED_BYTE:return 1;case n.pe.SHORT:case n.pe.UNSIGNED_SHORT:case n.pe.HALF_FLOAT:return 2;case n.pe.FLOAT:case n.pe.INT:case n.pe.UNSIGNED_INT:return 4}}function _(t){const i=[],s=[],e=[];for(const n of t){const t=h(n.type)*n.count;switch(t%2||t%4||4){case 4:i.push(n);continue;case 2:s.push(n);continue;case 1:e.push(n);continue;default:throw new Error("Found unexpected dataType byte count")}}return i.push(...s),i.push(...e),i}class r{static fromVertexSpec(t,i){const{attributes:s,optionalAttributes:e}=t;let n,a,o;const l=[];for(const t in s){if(s[t].otherSource)continue;const i=s[t];"position"===i.pack?n={...i,name:t,offset:0}:"id"===i.pack?a={...i,name:t,offset:4}:"bitset"===t?o={...i,name:t,offset:7}:l.push({...i,name:t})}for(const t in e)if(!0===i[t]){const i=e[t];l.push({...i,name:t})}const x=_(l),u=[];let y=8,c=1;for(const t of x)u.push({...t,offset:y}),y+=h(t.type)*t.count,t.packAlternating&&(c=Math.max(t.packAlternating.count,c));const m=Uint32Array.BYTES_PER_ELEMENT,p=y%m;return new r(n,a,o,u,y+(p?m-p:0),c)}constructor(t,i,s,e,n,h){this.position=t,this.id=i,this.bitset=s,this.standardAttributes=e,this.stride=n,this.packVertexCount=h,e.push(s),this._attributes=[t,i,s,...e]}get attributeLayout(){if(!this._attributeLayout){const t=(0,e.hU)(this._attributes),i=this._attributes.map(t=>({name:t.name,count:t.count,offset:t.offset,type:t.type,packPrecisionFactor:t.packPrecisionFactor,normalized:t.normalized??!1}));this._attributeLayout={attributes:i,hash:t,stride:this.stride}}return this._attributeLayout}}},23304(t,i,s){s.d(i,{Ph:()=>h,Z0:()=>_,hU:()=>n});var e=s(799);function n(t){const i=t.map(({name:t,count:i,type:s})=>`${t}.${i}.${s}`).join(",");return(0,e.Wm)(i)}function h(t,i,s,e,n,_,r){if(t.primitiveName===i){let i=e?.readWithDefault(n,_,t[s]&&r);return"text"===t.type&&(i=i.toString()),void(t[s]=i)}if("type"in t&&null!=t.type){if(t.effects)for(const a of t.effects)h(a,i,s,e,n,_,r);switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":if(t.symbolLayers)for(const a of t.symbolLayers)h(a,i,s,e,n,_,r);break;case"CIMTextSymbol":t.symbol&&h(t.symbol,i,s,e,n,_,r);break;case"CIMHatchFill":t.lineSymbol&&h(t.lineSymbol,i,s,e,n,_,r);break;case"CIMPictureMarker":case"CIMCharacterMarker":case"CIMVectorMarker":if(t.markerPlacement&&h(t.markerPlacement,i,s,e,n,_,r),"CIMVectorMarker"===t.type&&t.markerGraphics)for(const a of t.markerGraphics)h(a,i,s,e,n,_,r),h(a.symbol,i,s,e,n,_,r)}}}function _(t){const i=Math.max(1.25*t.width,20);return null!=t.effects&&t.effects.length>0?400:i}},63907(t,i,s){s.d(i,{$0:()=>u,C5:()=>x,CQ:()=>f,H0:()=>h,SB:()=>a,WR:()=>e,XN:()=>_,iE:()=>r,ld:()=>o,nI:()=>c,pe:()=>n,r6:()=>y,uH:()=>p,vt:()=>l,xL:()=>m});const e={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},n={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},h={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},_=Object.values(h),r={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},a={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},o={FLOAT:n.FLOAT,UNSIGNED_BYTE:n.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:n.BYTE,UNSIGNED_SHORT:n.UNSIGNED_SHORT,SHORT:n.SHORT,UNSIGNED_INT:n.UNSIGNED_INT,INT:n.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},l={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},x=1029,u=0,y=36064,c=33306,m=36096,p=36128,f={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}}}]);
|