@arcgis/core 5.2.0-next.104 → 5.2.0-next.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/WebScene.js +1 -1
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/0630e650abdfea1792e4.js +1 -0
  4. package/assets/esri/core/workers/chunks/{9a084a12afd6f0bbabce.js → 082069f80eee0407b828.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{ec5542d6ecc0622f7705.js → 1ec01fd6330d011c76d6.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{4b0e3f83a5f2d3b0478a.js → 20a9d39673d95ed401cc.js} +1 -1
  7. package/assets/esri/core/workers/chunks/24673aac70d6c949b6fa.js +1 -0
  8. package/assets/esri/core/workers/chunks/{bba3eb07a2a0065759f9.js → 25bb07d3c32b16a08813.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{ffca0b2333e760b66d3a.js → 262052dfaec3af8a58b9.js} +1 -1
  10. package/assets/esri/core/workers/chunks/33e583166ab3943ecf0e.js +1 -0
  11. package/assets/esri/core/workers/chunks/{98414a10f6de21107a03.js → 3dc5b97408b54daa9a8d.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{2350f1eb70819cc06bb6.js → 4c00a46bf0345f99a9bb.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{2165493d36c85b7c9a04.js → 5c8f423812a23c02c1fd.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{c2d19bb097d074a1ef21.js → 753d1ff177ecee8e2377.js} +1 -1
  15. package/assets/esri/core/workers/chunks/777fc163530448eea13e.js +1 -0
  16. package/assets/esri/core/workers/chunks/{09a40fd0e462144c4640.js → 842f993fa60b410cb613.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{6cf881f793fd0ec93981.js → 8c521caf050a486b6548.js} +1 -1
  18. package/assets/esri/core/workers/chunks/91e545745706111f5f62.js +1 -0
  19. package/assets/esri/core/workers/chunks/{c582441200ee1cdf51a7.js → 925a0b29d3ed7165b8dd.js} +1 -1
  20. package/assets/esri/core/workers/chunks/b013b70e40dfb6ce013e.js +1 -0
  21. package/assets/esri/core/workers/chunks/{34e04b24942da2b9b87c.js → b56c5883a5468b18b122.js} +1 -1
  22. package/assets/esri/core/workers/chunks/c7b762bae945f383c723.js +1 -0
  23. package/assets/esri/core/workers/chunks/d0eb609a214d85d21ed5.js +1 -0
  24. package/assets/esri/core/workers/chunks/d9b63cf111035b05cd2e.js +1 -0
  25. package/assets/esri/core/workers/chunks/{23c4ec0bcbc83179013e.js → dc1b38f490142f7273ef.js} +1 -1
  26. package/assets/esri/core/workers/chunks/f05622413cadfd14553e.js +1 -0
  27. package/assets/esri/core/workers/chunks/{c91905b5808b8049f96d.js → f3a547f179fe7e655af9.js} +10 -9
  28. package/chunks/GlobalIllumination.glsl.js +4 -4
  29. package/config.js +1 -1
  30. package/kernel.js +1 -1
  31. package/layers/AnnotationFeatureLayer.d.ts +22 -0
  32. package/layers/AnnotationFeatureLayer.js +1 -1
  33. package/layers/DimensionFeatureLayer.js +1 -1
  34. package/layers/list/Item.d.ts +11 -28
  35. package/layers/list/Item.js +1 -1
  36. package/layers/list/LayerItemCollection.js +1 -1
  37. package/layers/list/types.d.ts +30 -0
  38. package/layers/save/featureLayerUtils.js +1 -1
  39. package/layers/support/AnnotationFeatureSublayer.d.ts +24 -3
  40. package/layers/support/AnnotationFeatureSublayer.js +1 -1
  41. package/layers/support/layerUtils.js +1 -1
  42. package/layers/support/layersMapping.js +1 -1
  43. package/layers/support/telemetryDisplayUtils.js +2 -0
  44. package/package.json +5 -5
  45. package/support/revision.js +1 -1
  46. package/symbols/TextSymbol3DLayer.js +1 -1
  47. package/symbols/cim/TextRasterizer.js +1 -1
  48. package/symbols/cim/richTextUtils.js +1 -1
  49. package/symbols/support/Symbol3DTextBorder.js +2 -0
  50. package/views/2d/engine/webgl/GlyphWorker.js +1 -1
  51. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  52. package/views/2d/layers/MediaLayerView2D.js +1 -1
  53. package/views/2d/layers/support/annodime/DimensionInfo.js +1 -1
  54. package/views/2d/layers/support/annodime/MatcherGeometryOverride.js +1 -1
  55. package/views/2d/layers/support/annodime/dimensionUtils.js +1 -1
  56. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  57. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  58. package/views/3d/support/QualityProfile.js +1 -1
  59. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +7 -6
  60. package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
  61. package/views/3d/webgl-engine/lib/BufferGeometryBaseInstance.js +2 -0
  62. package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
  63. package/views/3d/webgl-engine/lib/Buffers.js +2 -0
  64. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  65. package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
  66. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  67. package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
  68. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  69. package/assets/esri/core/workers/chunks/0d69a18146722f792b5b.js +0 -1
  70. package/assets/esri/core/workers/chunks/3a8f6010a9f06a2457ae.js +0 -1
  71. package/assets/esri/core/workers/chunks/546213fb53fa921a3928.js +0 -1
  72. package/assets/esri/core/workers/chunks/5ed56ade84a0bea4a0c8.js +0 -1
  73. package/assets/esri/core/workers/chunks/93375f5f5bb754eca35f.js +0 -1
  74. package/assets/esri/core/workers/chunks/9e514a58b1165e273202.js +0 -1
  75. package/assets/esri/core/workers/chunks/a191ddb3b59ec1a7d818.js +0 -1
  76. package/assets/esri/core/workers/chunks/b24e1c901f7fda2a62ca.js +0 -1
  77. package/assets/esri/core/workers/chunks/da77257b517119578088.js +0 -1
  78. package/assets/esri/core/workers/chunks/fbbc5f551115787363d2.js +0 -1
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6678],{6371(t,e,r){r.d(e,{y:()=>n});const i=new(r(32488).A);function n(t,e=!0){if(!i.hasBidiChar(t))return[t,!1,{...i}];let r;r="rtl"===i.checkContextual(t)?"IDNNN":"ICNNN";const n=e?"VLYSN":"VLYNN";return[i.bidiTransform(t,r,n),!0,{...i}]}},40804(t,e,r){function i(t,e=0){let r=0;for(let i=0;i<4;i++)r+=t[e+i]*n[i];return r}r(34727);const n=[1/256,1/65536,1/16777216,1/4294967296];i(new Uint8ClampedArray([255,255,255,255])),i(new Uint8ClampedArray([255,255,255,0]))},18370(t,e,r){r.d(e,{z:()=>n});class i{constructor(t){this._import=t,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async t=>(this.module=t,t))),this._promise}}function n(t){return new i(t)}},56512(t,e,r){function i(t){let e,r,i=[],n=!1;return function(...s){return n&&e===this&&function(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r])return!1;return!0}(s,i)||(r=t.apply(this,s),e=this,i=s,n=!0),r}}r.d(e,{B:()=>i})},31411(t,e,r){r.d(e,{GS:()=>w,gh:()=>I});var i=r(49186),n=r(56512),s=r(65864),o=r(4305),a=r(50954),l=r(52006),c=r(49663),h=r(46068),u=r(15507);const f=1e-6,m=[0,0];function d(t){return{maxSegmentLength:t.maxSegmentLength??0,maxDeviation:t.maxDeviation??0,maxSegmentsPerCurve:t.maxSegmentsPerCurve??12e3,minSegmentsPerCurve:Math.max(t.minSegmentsPerCurve??1,1)}}class p{constructor(t,e){this.curveStart=t,this.curveEnd=e,this.tStart=0,this.tEnd=0,this.tEndStack=[],this.arcEndStack=[]}get stackSize(){return this.tEndStack.length}initialize(t,e){this.tStart=0,this.arcStart=t,this.tEndStack.push(1),this.arcEndStack.push(e)}splitAt(t){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(t),this.arcEndStack.push(this.interpolate(t))}splitInHalf(){return this.splitAt((this.tStart+this.tEnd)/2)}pop(){this.tEnd=this.tEndStack.pop(),this.arcEnd=this.arcEndStack.pop()}next(){this.tStart=this.tEnd,this.arcStart=this.arcEnd}densify(t,{maxDeviation:e,maxSegmentLength:r,maxSegmentsPerCurve:i,minSegmentsPerCurve:n}){const s=r*r,o=e*e,a=1/i,l=this.interpolate(0),c=this.interpolate(1);(0,u.kb)(this.curveStart,l)>f&&t.push(l),this.initialize(l,c);const h=1/n;for(let t=n-1;t>0;t--){const e=t*h;this.pop(),this.splitAt(e)}for(;this.stackSize>0;)this.pop(),this.tStart===this.tEnd||this.tEnd-this.tStart<a||(0===s||!isFinite(s)||(0,u.kb)(this.arcStart,this.arcEnd)<s)&&(0===o||!isFinite(o)||this.getDeviation2()<o)?(t.push(this.arcEnd),this.next()):this.splitInHalf();return(0,u.kb)(this.curveEnd,c)>f&&t.push([...this.curveEnd]),t}}class y extends p{constructor(t,e){const[r,i,n]=e.b;super(t,r),this._controlPointsStack=[],this._curveControlPoints=[i,n],this._arcControlPoints=[i,n],this._controlPointsStack.push(this._arcControlPoints)}splitAt(t){const{arcStart:e,arcEnd:r,tStart:i,tEnd:n}=this,[s,o]=this._arcControlPoints,a=(t-i)/(n-i),l=(0,u.RS)([],e,s,a),c=(0,u.RS)(m,s,o,a),h=(0,u.RS)([],o,r,a),f=(0,u.RS)([],l,c,a),d=(0,u.RS)([],c,h,a),p=(0,u.RS)([],f,d,a);this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this._controlPointsStack.push([d,h]),this.tEndStack.push(t),this.arcEndStack.push(p),this._arcControlPoints[0]=l,this._arcControlPoints[1]=f,this._controlPointsStack.push(this._arcControlPoints)}pop(){super.pop(),this._arcControlPoints=this._controlPointsStack.pop()}interpolate(t){const{curveStart:e,curveEnd:r}=this,[i,n]=this._curveControlPoints;return(0,o.B4)(e,i,n,r,t)}getDeviation2(){const{arcStart:t,arcEnd:e}=this,[r,i]=this._arcControlPoints;return Math.max((0,u.yE)(r,t,e),(0,u.yE)(i,t,e))}}class g extends p{constructor(t,e){const[r]=e.a;super(t,r),this._derivedEllipse=(0,h.SW)(t,e)}pop(){super.pop(),this._tMid=(this.tStart+this.tEnd)/2,this._arcMid=this.interpolate(this._tMid)}splitInHalf(){this.tEndStack.push(this.tEnd),this.arcEndStack.push(this.arcEnd),this.tEndStack.push(this._tMid),this.arcEndStack.push(this._arcMid)}interpolate(t){return(0,h.Uk)(this._derivedEllipse,t)}getDeviation2(){return(0,u.yE)(this._arcMid,this.arcStart,this.arcEnd)}}function S(t,e,r,{cx:i,cy:n,radius:s,thetaStart:o,thetaEnd:a,isInvalid:l},{maxDeviation:c,maxSegmentLength:h,maxSegmentsPerCurve:m,minSegmentsPerCurve:d}){if(l)return t.push([...r]),t;const p=2*s,y=[i+s*Math.cos(o),n+s*Math.sin(o)],g=[i+s*Math.cos(a),n+s*Math.sin(a)];(0,u.kb)(e,y)>f&&t.push(y);const S=Math.abs(a-o),M=h>0&&h<p?2*Math.asin(h/p):S,C=c>0&&c<=s?2*Math.acos(1-c/s):S,b=Math.min(M,C),x=Math.min(m,Math.max(d,Math.ceil(Math.abs(S/b)))),_=1/x;for(let e=1;e<x;e++){const r=e*_,l=o*(1-r)+a*r;t.push([i+s*Math.cos(l),n+s*Math.sin(l)])}return t.push(g),(0,u.kb)(r,g)>f&&t.push([...r]),t}function M(t,e,r,i){return new y(e,r).densify(t,i)}function C(t,e,r,i){const n=(0,a.pM)(e,r),[s]=r.c;return S(t,e,s,n,i)}function b(t,e,r,i){const n=(0,c.io)(e,r),[s]=r.a;return S(t,e,s,n,i)}function x(t,e,r,i){const[n,s,o,a,l,c,h]=r.a;return 0===c||0===h?(t.push([...n]),t):new g(e,r).densify(t,i)}function _(t,e,r,i){return(0,l.Xq)(r)?(t.push([...r]),t):(0,l.n1)(r)?M(t,e,r,i):(0,l.aO)(r)?C(t,e,r,i):(0,l.DA)(r)?b(t,e,r,i):x(t,e,r,i)}function w(t,e={}){if(!(0,l.Ed)(t))return t;const r=d(e),i=(0,l.FD)(t),n=[];for(const t of i){const e=[];for(let i=0;i<t.length-1;i++){const n=i+1,s=[...(0,l.yP)(t[i])];0===i&&e.push(s),_(e,s,t[n],r)}n.push(e)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},paths:n,spatialReference:t.spatialReference}:{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},rings:n,spatialReference:t.spatialReference}}const k=(0,n.B)(t=>({maxDeviation:0,maxSegmentLength:100*t,maxSegmentsPerCurve:12e3,minSegmentsPerCurve:1}));async function I(t,e,n){const o=new Set(e);return await async function(t,e,n){let s=null;for(const o of t)if(o&&(0,l.Ed)(o)&&null==o.spatialReference.xyTolerance&&(0,l.V8)(o,e)){const t=o.spatialReference;if(!t)throw new i.A("geometry:missing-spatial-reference","Geometry contains an unsupported curve type, but it cannot be densified because it has no spatial reference.");const e=P(t);if(n.has(e))o.spatialReference=n.get(e);else{s||(s=await Promise.all([r.e(9187),r.e(8885),r.e(9117),r.e(3299),r.e(1550)]).then(()=>r(78125)));const a=s.fromSpatialReference(t),l=a?.getTolerance();if(null==l)throw new i.A("geometry:missing-tolerance","Geometry contains an unsupported curve type, but it cannot be densified because the tolerance of its spatial reference is unknown. Set the `xyTolerance` property of the spatial reference.");const c=o.spatialReference.clone();c.read({xyTolerance:l}),o.spatialReference=c,n.set(e,c)}}}(t,o,n),t.map(t=>{if(!t||!(0,l.Ed)(t))return t;const r=t.spatialReference.xyTolerance;if(null==r)return t;const i=k(r);return(0,s.rS)(function(t,e,r){if(!(0,l.Ed)(t))return t;const i=new Set(e),n=d(r),s=(0,l.FD)(t),o=[];let a=!1;for(const t of s){const e=[];for(let r=0;r<t.length-1;r++){const s=r+1,o=[...(0,l.yP)(t[r])];0===r&&e.push(o);const c=t[s];(0,l.Xq)(c)?e.push([...c]):(0,l.n1)(c)&&!i.has("cubic-bezier")?M(e,o,c,n):(0,l.aO)(c)&&!i.has("circular-arc")?C(e,o,c,n):(0,l.DA)(c)&&!i.has("elliptic-arc")?b(e,o,c,n):(0,l.wY)(c)&&!i.has("elliptic-arc")?x(e,o,c,n):(e.push((0,l.tk)(c)),a=!0)}o.push(e)}return"curvePaths"in t?{...void 0!==t.hasZ?{hasZ:t.hasZ}:{},...void 0!==t.hasM?{hasM:t.hasM}:{},spatialReference:t.spatialReference,...a?{curvePaths:o}:{paths:o}}:{hasZ:t.hasZ,hasM:t.hasM,spatialReference:t.spatialReference,...a?{curveRings:o}:{rings:o}}}(t,e,i))})}function P(t){if(null!=t.wkid)return`${t.wkid}`;if(null!=t.wkt)return t.wkt;const e="toJSON"in t&&"function"==typeof t.toJSON?t.toJSON():t;return JSON.stringify(e)}},72726(t,e,r){r.d(e,{Rj:()=>G,mx:()=>F,IT:()=>E,QF:()=>O});var i=r(57582),n=(r(44208),r(4718)),s=r(53966),o=r(34727),a=r(93687),l=r(90629),c=r(36745),h=r(19419),u=r(537),f=r(12359),m=(r(12176),r(60408)),d=r(35833);class p{applyColorSubstitution(t,e){if(!e)return t;this._rasterizationCanvas||(this._rasterizationCanvas=document.createElement("canvas"));const{width:r,height:i}=t,n=this._rasterizationCanvas,s=n.getContext("2d",{willReadFrequently:!0});t!==n&&(n.width=r,n.height=i,s.drawImage(t,0,0,r,i));const o=s.getImageData(0,0,r,i).data;if(e)for(const t of e)if(t&&t.oldColor&&4===t.oldColor.length&&t.newColor&&4===t.newColor.length){const[e,r,i,n]=t.oldColor,[s,a,l,c]=t.newColor;if(e===s&&r===a&&i===l&&n===c)continue;for(let t=0;t<o.length;t+=4)e===o[t]&&r===o[t+1]&&i===o[t+2]&&n===o[t+3]&&(o[t]=s,o[t+1]=a,o[t+2]=l,o[t+3]=c)}const a=new ImageData(o,r,i);return s.putImageData(a,0,0),n}tintImageData(t,e){if(!e||e.length<4)return t;this._rasterizationCanvas||(this._rasterizationCanvas=document.createElement("canvas"));const{width:r,height:i}=t,n=this._rasterizationCanvas,s=n.getContext("2d",{willReadFrequently:!0});t!==n&&(n.width=r,n.height=i,s.drawImage(t,0,0,r,i));const o=s.getImageData(0,0,r,i),a=new Uint8Array(o.data),l=[e[0]/255,e[1]/255,e[2]/255,e[3]/255];for(let t=0;t<a.length;t+=4)a[t]*=l[0],a[t+1]*=l[1],a[t+2]*=l[2],a[t+3]*=l[3];const c=new ImageData(new Uint8ClampedArray(a.buffer),r,i);return s.putImageData(c,0,0),n}}var y=r(26937),g=r(98939),S=r(28076);function M(t){const e=t.getFrame(0);if(e instanceof HTMLImageElement||e instanceof HTMLCanvasElement)return e;const r=document.createElement("canvas");r.width=t.width,r.height=t.height;const i=r.getContext("2d");return e instanceof ImageData?i.putImageData(e,0,0):i.drawImage(e,0,0),r}function C(t,e=0){if(0===e)return t;const r=Math.cos(e),i=Math.sin(e),[n,s]=t;return[n*r+s*-i,n*i+s*r]}var b=r(44589);class x{constructor(t=0,e=0,r=0,i=0){this.x=t,this.y=e,this.width=r,this.height=i}static fromExtent(t){return new x(t.xmin,-t.ymax,t.xmax-t.xmin,t.ymax-t.ymin)}get isEmpty(){return this.width<=0||this.height<=0}union(t){this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.width=Math.max(this.width,t.width),this.height=Math.max(this.height,t.height)}}var _=r(69754);function w(t){return`rgb(${t.slice(0,3).toString()})`}function k(t){return`rgba(${t.slice(0,3).toString()},${t[3]})`}r(5760);class I{constructor(t){t&&(this._textRasterizationCanvas=t)}rasterizeRichText(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const r=this._textRasterizationCanvas,i=r.getContext("2d",{willReadFrequently:!0}),n=this._layoutRichTextRuns(i,t,e);this._parameters=e;const{decoration:s,weight:o}=e.font,a="underline"===s?"none":s,l=a===s?e:v(e,a);this._lineHeight=Math.max(...n.map(t=>t.height),this._measureLineHeight(l)),this._lineThroughWidthOffset="line-through"===a?.1*this._lineHeight:0;const c=null!=e.backgroundColor||null!=e.borderLine,h=c?8:0,u=Math.max(...n.map(t=>t.width),0)+2*h,f=n.reduce((t,e)=>t+e.height,0)+2*h;if(r.width=u+2*this._lineThroughWidthOffset,r.height=f,0===r.width||0===r.height)return r.width=r.height=1,{size:[0,0],image:new Uint32Array(0),sdf:!1,simplePattern:!1,anchorX:0,anchorY:0,canvas:r};this._renderedWidth=u,this._renderedHeight=f,this._renderedOutlineSize=(e.outline.size||0)*e.pixelRatio,this._renderedHaloSize=(e.halo.size||0)*e.pixelRatio,this._lineThroughWidthOffset*=e.pixelRatio;const m=(e.outline&&e.outline.color)??[0,0,0,0],d=e.color??[0,0,0,0],p=e.halo&&e.halo.color?e.halo.color:[0,0,0,0];this._fillStyle=k(d),this._outlineStyle=k(m),this._haloStyle=w(p);const y=this._renderedOutlineSize,g=this._renderedHaloSize;i.save(),i.clearRect(0,0,r.width,r.height);const S=h*e.pixelRatio,M=R("left",this._renderedWidth-2*S,g+y)+S,C=g+y+S;let b=this._lineThroughWidthOffset,x=0;if(c){i.save();const t=e.backgroundColor??[0,0,0,0],n=e.borderLine?.color??[0,0,0,0],s=2*(e.borderLine?.size??0);i.fillStyle=k(t),i.strokeStyle=k(n),i.lineWidth=s,i.fillRect(0,0,r.width,r.height),i.strokeRect(0,0,r.width,r.height),i.restore()}x+=C,b+=M,g>0&&this._renderRichTextOutline(i,n,b,x,e,this._renderedHaloSize+this._renderedOutlineSize),y>0&&this._renderRichTextOutline(i,n,b,x,e,this._renderedOutlineSize);for(const t of n){let r=b;"center"===e.horizontalAlignment?r+=(this._renderedWidth-2*S-t.width)/2:"right"===e.horizontalAlignment&&(r+=this._renderedWidth-2*S-t.width-g-y);let n=r;for(const e of t.segments)P(i,e.parameters,"left",e.characterSpacing),g>0&&(i.globalCompositeOperation="destination-out",i.fillStyle="rgb(0, 0, 0)",this._renderRichTextSegment(i,e,n,x,"fill"),i.globalCompositeOperation="source-over"),i.fillStyle=k(e.parameters.color??d),this._renderRichTextSegment(i,e,n,x,"fill"),n+=e.width;for(const e of t.segments){if("underline"!==e.decoration)continue;const t=this._renderedWidth;this._renderedWidth=e.width,i.textAlign="left",this._renderDecoration(i,r+e.x,x,e.decoration,e.parameters.font.weight,void 0,e.parameters),this._renderedWidth=t}if(a&&"none"!==a){const e=this._renderedWidth;this._renderedWidth=t.width,i.textAlign="left",this._renderDecoration(i,r,x,a,o),this._renderedWidth=e}x+=t.height}i.restore();const _=this._renderedWidth+2*this._lineThroughWidthOffset,I=this._renderedHeight,z=i.getImageData(0,0,_,I),L=new Uint8Array(z.data);if(e.premultiplyColors){let t;for(let e=0;e<L.length;e+=4)t=L[e+3]/255,L[e]=L[e]*t,L[e+1]=L[e+1]*t,L[e+2]=L[e+2]*t}let T,A;switch(e.horizontalAlignment){case"left":T=-.5;break;case"right":T=.5;break;default:T=0}switch(e.verticalAlignment){case"bottom":A=-.5;break;case"top":A=.5;break;case"baseline":A=-1/6;break;default:A=0}return{size:[_,I],image:new Uint32Array(L.buffer),sdf:!1,simplePattern:!1,anchorX:T,anchorY:A,canvas:r}}rasterizeText(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const r=this._textRasterizationCanvas,i=r.getContext("2d",{willReadFrequently:!0});P(i,e),this._parameters=e,this._textLines=t.split(/\r?\n/),this._lineHeight=this._computeLineHeight();const{decoration:n,weight:s}=e.font;this._lineThroughWidthOffset=n&&"line-through"===n?.1*this._lineHeight:0;const o=null!=e.backgroundColor||null!=e.borderLine,a=o?8:0,l=this._computeTextWidth(i,e)+2*a,c=this._lineHeight*this._textLines.length+2*a;if(r.width=l+2*this._lineThroughWidthOffset,r.height=c,0===r.width||0===r.height)return r.width=r.height=1,{size:[0,0],image:new Uint32Array(0),sdf:!1,simplePattern:!1,anchorX:0,anchorY:0,canvas:r};this._renderedLineHeight=Math.round(this._lineHeight),this._renderedOutlineSize=(e.outline.size||0)*e.pixelRatio,this._renderedHaloSize=(e.halo.size||0)*e.pixelRatio,this._renderedWidth=l,this._renderedHeight=c,this._lineThroughWidthOffset*=e.pixelRatio;const h=(e.outline&&e.outline.color)??[0,0,0,0],u=e.color??[0,0,0,0],f=e.halo&&e.halo.color?e.halo.color:[0,0,0,0];this._fillStyle=k(u),this._outlineStyle=k(h),this._haloStyle=w(f);const m=this._renderedLineHeight,d=this._renderedOutlineSize,p=this._renderedHaloSize;i.save(),i.clearRect(0,0,r.width,r.height),P(i,e);const y=a*e.pixelRatio,g=R(i.textAlign,this._renderedWidth-2*y,this._renderedHaloSize+this._renderedOutlineSize)+y,S=p+d+y,M=p>0;let C=this._lineThroughWidthOffset,b=0;if(o){i.save();const t=e.backgroundColor??[0,0,0,0],n=e.borderLine?.color??[0,0,0,0],s=2*(e.borderLine?.size??0);i.fillStyle=k(t),i.strokeStyle=k(n),i.lineWidth=s,i.fillRect(0,0,r.width,r.height),i.strokeRect(0,0,r.width,r.height),i.restore()}M&&this._renderHalo(i,g,S,C,b,e),d>0&&this._renderOutline(i,g,S,C,b,e),b+=S,C+=g;for(const t of this._textLines)M?(i.globalCompositeOperation="destination-out",i.fillStyle="rgb(0, 0, 0)",i.fillText(t,C,b),i.globalCompositeOperation="source-over",i.fillStyle=this._fillStyle,i.fillText(t,C,b)):(i.fillStyle=this._fillStyle,i.fillText(t,C,b)),n&&"none"!==n&&this._renderDecoration(i,C,b,n,s),b+=m;i.restore();const x=this._renderedWidth+2*this._lineThroughWidthOffset,_=this._renderedHeight,I=i.getImageData(0,0,x,_),z=new Uint8Array(I.data);if(e.premultiplyColors){let t;for(let e=0;e<z.length;e+=4)t=z[e+3]/255,z[e]=z[e]*t,z[e+1]=z[e+1]*t,z[e+2]=z[e+2]*t}let v,L;switch(e.horizontalAlignment){case"left":v=-.5;break;case"right":v=.5;break;default:v=0}switch(e.verticalAlignment){case"bottom":L=-.5;break;case"top":L=.5;break;case"baseline":L=-1/6;break;default:L=0}return{size:[x,_],image:new Uint32Array(z.buffer),sdf:!1,simplePattern:!1,anchorX:v,anchorY:L,canvas:r}}_renderHalo(t,e,r,i,n,s){const o=this._renderedWidth,a=this._renderedHeight;this._outlineRasterizationCanvas||(this._outlineRasterizationCanvas=document.createElement("canvas")),this._outlineRasterizationCanvas.width=o,this._outlineRasterizationCanvas.height=a;const l=this._outlineRasterizationCanvas,c=l.getContext("2d");c.clearRect(0,0,o,a),P(c,s);const{decoration:h,weight:u}=s.font;c.fillStyle=this._haloStyle,c.strokeStyle=this._haloStyle,c.lineJoin="round",this._renderOutlineNative(c,e,r,h,u,this._renderedHaloSize+this._renderedOutlineSize),t.globalAlpha=this._parameters.halo.color[3],t.drawImage(l,0,0,o,a,i,n,o,a),t.globalAlpha=1}_renderOutline(t,e,r,i,n,s){const o=this._renderedWidth,a=this._renderedHeight;this._outlineRasterizationCanvas||(this._outlineRasterizationCanvas=document.createElement("canvas")),this._outlineRasterizationCanvas.width=o,this._outlineRasterizationCanvas.height=a;const l=this._outlineRasterizationCanvas,c=l.getContext("2d");c.clearRect(0,0,o,a),P(c,s);const{decoration:h,weight:u}=s.font;c.fillStyle=this._outlineStyle,c.strokeStyle=this._outlineStyle,c.lineJoin="round",this._renderOutlineNative(c,e,r,h,u,this._renderedOutlineSize),t.globalAlpha=this._parameters.outline.color[3],t.drawImage(l,0,0,o,a,i,n,o,a),t.globalAlpha=1}_renderOutlineNative(t,e,r,i,n,s){const o=this._renderedLineHeight;for(const a of this._textLines){const l=2*s,c=5,h=.1;for(let s=0;s<c;s++){const o=(1-(c-1)*h+s*h)*l;t.lineWidth=o,t.strokeText(a,e,r),i&&"none"!==i&&this._renderDecoration(t,e,r,i,n,o)}r+=o}}computeTextSize(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const r=this._textRasterizationCanvas,i=r.getContext("2d");P(i,e),this._parameters=e,this._textLines=t.split(/\r?\n/),this._lineHeight=this._computeLineHeight();const n=this._computeTextWidth(i,e),s=this._lineHeight*this._textLines.length;return r.width=n,r.height=s,[n*e.pixelRatio,s*e.pixelRatio]}computeRichTextSize(t,e){this._textRasterizationCanvas||(this._textRasterizationCanvas=document.createElement("canvas"));const r=this._textRasterizationCanvas.getContext("2d"),i=this._layoutRichTextRuns(r,t,e),n=Math.max(...i.map(t=>t.width),0),s=i.reduce((t,e)=>t+e.height,0);return[n*e.pixelRatio,s*e.pixelRatio]}_renderRichTextOutline(t,e,r,i,n,s){const o=this._renderedWidth,a=this._renderedHeight;this._outlineRasterizationCanvas||(this._outlineRasterizationCanvas=document.createElement("canvas")),this._outlineRasterizationCanvas.width=o,this._outlineRasterizationCanvas.height=a;const l=this._outlineRasterizationCanvas,c=l.getContext("2d");c.clearRect(0,0,o,a),c.fillStyle=s===this._renderedOutlineSize?this._outlineStyle:this._haloStyle,c.strokeStyle=c.fillStyle,c.lineJoin="round";let h=i;for(const t of e){let e=r;"center"===n.horizontalAlignment?e+=(this._renderedWidth-t.width)/2:"right"===n.horizontalAlignment&&(e+=this._renderedWidth-t.width-this._renderedHaloSize-this._renderedOutlineSize);let i=e;for(const e of t.segments){P(c,e.parameters,"left",e.characterSpacing);const t=2*s,r=5,n=.1;for(let s=0;s<r;s++){const o=1-(r-1)*n+s*n;c.lineWidth=o*t,this._renderRichTextSegment(c,e,i,h,"stroke")}i+=e.width}for(const r of t.segments){if("underline"!==r.decoration)continue;const t=this._renderedWidth;this._renderedWidth=r.width,c.textAlign="left",this._renderDecoration(c,e+r.x,h,r.decoration,r.parameters.font.weight,2*s,r.parameters),this._renderedWidth=t}const o="underline"===n.font.decoration?"none":n.font.decoration;if(o&&"none"!==o){const r=this._renderedWidth;this._renderedWidth=t.width,c.textAlign="left",this._renderDecoration(c,e,h,o,n.font.weight,2*s),this._renderedWidth=r}h+=t.height}s===this._renderedOutlineSize?t.globalAlpha=this._parameters.outline.color[3]:t.globalAlpha=this._parameters.halo.color[3],t.drawImage(l,0,0,o,a,this._lineThroughWidthOffset,0,o,a),t.globalAlpha=1}_layoutRichTextRuns(t,e,r){const i="underline"===r.font.decoration?v(r,"none"):r,n=[{segments:[],width:0,height:this._measureLineHeight(i)}];for(const s of e){const e=s.text.split(/\r?\n/),o=z(r,s);for(let r=0;r<e.length;r++){const a=e[r],l=n[n.length-1];if(a.length>0){const e=this._measureRichTextSegmentWidth(t,a,o,s.characterSpacing);l.segments.push({text:a,width:e,x:l.width,parameters:o,characterSpacing:s.characterSpacing,decoration:o.font.decoration}),l.width+=e,l.height=Math.max(l.height,this._measureLineHeight(o))}r<e.length-1&&n.push({segments:[],width:0,height:this._measureLineHeight(i)})}}return n}_measureTextWidthWithSpacing(t,e,r,i){const n=this._parameters,s=this._textLines;this._parameters=r,this._textLines=[e],P(t,r,"left",i);const o=this._computeTextWidth(t,r);return this._parameters=n,this._textLines=s,o}_measureRichTextSegmentWidth(t,e,r,i){return this._measureTextWidthWithSpacing(t,e,r,i)}_renderRichTextSegment(t,e,r,i,n){"fill"===n?t.fillText(e.text,r,i):t.strokeText(e.text,r,i)}_measureLineHeight(t){const e=this._parameters;this._parameters=t;const r=this._computeLineHeight();return this._parameters=e,r}_computeTextWidth(t,e){let r=0;for(const e of this._textLines)r=Math.max(r,t.measureText(e).width);const i=e.font;return("italic"===i.style||"oblique"===i.style||"string"==typeof i.weight&&("bold"===i.weight||"bolder"===i.weight)||"number"==typeof i.weight&&i.weight>600)&&(r+=.3*t.measureText("w").width),r+=2*(0,l.Lz)(this._parameters.halo.size),Math.round(r)}_computeLineHeightBase(t=this._parameters){return 1.275*t.size}_computeLineHeight(){let t=this._computeLineHeightBase();const e=this._parameters.font.decoration;return e&&"underline"===e&&(t*=1.3),Math.round(t+2*(0,l.Lz)(this._parameters.halo.size))}_renderDecoration(t,e,r,i,n,s,o=this._parameters){let a=.9*this._lineHeight;const c="bold"===n?.06:"bolder"===n?.09:.04;switch(t.textAlign){case"center":e-=this._renderedWidth/2;break;case"right":e-=this._renderedWidth}const h=t.textBaseline,u=function(t){return"underline"===t?(0,l.Lz)(2):0}(i);if("underline"===i)switch(a=.9*this._computeLineHeightBase(o),h){case"top":r+=a+u;break;case"middle":r+=a/2+u}else if("line-through"===i)switch(h){case"top":r+=a/1.5;break;case"middle":r+=a/3}const f=s?1.5*s:Math.ceil(a*c);t.save(),t.beginPath(),t.strokeStyle=t.fillStyle,t.lineWidth=f,t.moveTo(e-this._lineThroughWidthOffset,r),t.lineTo(e+this._renderedWidth+2*this._lineThroughWidthOffset,r),t.stroke(),t.restore()}}function P(t,e,r,i=0){const n=Math.max(e.size,.5),s=e.font,o=`${s.style} ${s.weight} ${(0,l.Lz)(n).toFixed(1)}px ${s.family}, sans-serif`;t.font=o,t.textBaseline="top",function(t,e){t.letterSpacing=e>0?`${e}em`:"0px"}(t,i);let a=r??"left";if(!r)switch(e.horizontalAlignment){case"left":default:a="left";break;case"right":a="right";break;case"center":a="center"}t.textAlign=a}function z(t,e){return{...t,color:e.color??t.color,font:{...t.font,family:e.font.family??t.font.family,style:e.font.style??t.font.style,weight:e.font.weight??t.font.weight,decoration:e.font.decoration??t.font.decoration},size:e.fontSize}}function v(t,e){return{...t,font:{...t.font,decoration:e}}}function R(t,e,r){return"center"===t?.5*e:"right"===t?e-r:r}var L=r(93397);r(75434),r(69221);const T=Math.PI/180,A=()=>s.A.getLogger("esri.symbols.cim.CIMSymbolDrawHelper");class E{constructor(t){this._t=t}static createIdentity(){return new E([1,0,0,0,1,0])}clone(){const t=this._t;return new E(t.slice())}transform(t){const e=this._t;return[e[0]*t[0]+e[1]*t[1]+e[2],e[3]*t[0]+e[4]*t[1]+e[5]]}static createScale(t,e){return new E([t,0,0,0,e,0])}scale(t,e){const r=this._t;return r[0]*=t,r[1]*=t,r[2]*=t,r[3]*=e,r[4]*=e,r[5]*=e,this}scaleRatio(){return Math.sqrt(this._t[0]*this._t[0]+this._t[1]*this._t[1])}static createTranslate(t,e){return new E([0,0,t,0,0,e])}translate(t,e){const r=this._t;return r[2]+=t,r[5]+=e,this}static createRotate(t){const e=Math.cos(t),r=Math.sin(t);return new E([e,-r,0,r,e,0])}rotate(t){return E.multiply(this,E.createRotate(t),this)}angle(){const t=this._t[0],e=this._t[3],r=Math.sqrt(t*t+e*e);return[t/r,e/r]}static multiply(t,e,r){const i=t._t,n=e._t,s=i[0]*n[0]+i[3]*n[1],o=i[1]*n[0]+i[4]*n[1],a=i[2]*n[0]+i[5]*n[1]+n[2],l=i[0]*n[3]+i[3]*n[4],c=i[1]*n[3]+i[4]*n[4],h=i[2]*n[3]+i[5]*n[4]+n[5],u=r._t;return u[0]=s,u[1]=o,u[2]=a,u[3]=l,u[4]=c,u[5]=h,r}invert(){const t=this._t;let e=t[0]*t[4]-t[1]*t[3];if(0===e)return new E([0,0,0,0,0,0]);e=1/e;const r=(t[1]*t[5]-t[2]*t[4])*e,i=(t[2]*t[3]-t[0]*t[5])*e,n=t[4]*e,s=-t[1]*e,o=-t[3]*e,a=t[0]*e;return new E([n,s,r,o,a,i])}}class D{constructor(t,e){this._resourceManager=t,this._transfos=[],this._sizeTransfos=[],this._textScaling=[],this._geomUnitsPerPoint=1,this._placementPool=new a.A(()=>new g.W,void 0,void 0,100),this._earlyReturn=!1,this._mapRotation=0,this._transfos.push(e||E.createIdentity()),this._sizeTransfos.push(e?e.scaleRatio():1),this._textScaling.push(1)}setTransform(t,e){this._transfos=[t||E.createIdentity()],this._sizeTransfos=[e||(t?t.scaleRatio():1)],this._textScaling=[1]}setGeomUnitsPerPoint(t){this._geomUnitsPerPoint=t}transformPt(t){return this._transfos[this._transfos.length-1].transform(t)}transformSize(t){return t*this._sizeTransfos[this._sizeTransfos.length-1]}scaleText(t){return t*this._textScaling[this._textScaling.length-1]}reverseTransformPt(t){return this._transfos[this._transfos.length-1].invert().transform(t)}reverseTransformSize(t){return t/this._sizeTransfos[this._sizeTransfos.length-1]}reverseTransformScalar(t){return t/this._transfos[this._transfos.length-1].scaleRatio()}reverseScaleText(t){return t/this._textScaling[this._textScaling.length-1]}getTransformAngle(){return this._transfos[this._transfos.length-1].angle()}geomUnitsPerPoint(){return this.isEmbedded()?1:this._geomUnitsPerPoint}prevGeomUnitsPerPoint(){return this._transfos.length>2?1:this._geomUnitsPerPoint}isEmbedded(){return this._transfos.length>1}back(){return this._transfos[this._transfos.length-1]}push(t,e=!1,r=1){const i=e?t.scaleRatio():1;E.multiply(t,this.back(),t),this._transfos.push(t),this._sizeTransfos.push(this._sizeTransfos[this._sizeTransfos.length-1]*i),this._textScaling.push(this._textScaling[this._textScaling.length-1]*r)}pop(){this._transfos.splice(-1,1),this._sizeTransfos.splice(-1,1),this._textScaling.splice(-1,1)}drawSymbol(t,e,r){if(t)switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":this.drawMultiLayerSymbol(t,e);break;case"CIMTextSymbol":this.drawTextSymbol(t,e,r)}}drawMultiLayerSymbol(t,e){if(!t||!e)return;const r=t.symbolLayers;if(!r)return;const i=t.effects;if(i&&i.length>0){const t=this.executeEffects(i,e);if(t){let e=t.next();for(;e;)this.drawSymbolLayers(r,e.asJSON()),e=t.next()}}else this.drawSymbolLayers(r,e)}executeEffects(t,e){const r=this.geomUnitsPerPoint(),i=(0,L.ll)(t);let n=new d.kT(c.z.fromJSONCIM(e));for(const s of t){const t=(0,y.A)(s);t&&(n=t.execute(n,s,{geomUnitsPerPoint:r,tileKey:null,maxInflateSize:i,scale:null,spatialReference:e.spatialReference,preventClipping:!1}))}return n}drawSymbolLayers(t,e){let r=t.length;for(;r--;){const i=t[r];if(!i||!1===i.enable)continue;const n=i.effects;if(n&&n.length>0){const t=this.executeEffects(n,e);if(t){let e=null;for(;(e=t.next())&&(this.drawSymbolLayer(i,e.asJSON()),!this._earlyReturn););}}else this.drawSymbolLayer(i,e);if(this._earlyReturn)return}}drawSymbolLayer(t,e){switch(t.type){case"CIMSolidFill":this.drawSolidFill(e,t.color,t.path);break;case"CIMHatchFill":this.drawHatchFill(e,t);break;case"CIMPictureFill":this.drawPictureFill(e,t);break;case"CIMGradientFill":this.drawGradientFill(e,t);break;case"CIMSolidStroke":this.drawSolidStroke(e,t.color,t.width,t.capStyle,t.joinStyle,t.miterLimit,t.path);break;case"CIMPictureStroke":this.drawPictureStroke(e,t);break;case"CIMGradientStroke":this.drawGradientStroke(e,t);break;case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":this.drawMarkerLayer(t,e)}}drawHatchFill(t,e){const r=function(t,e,r){let i=(0,L.$w)(t.separation,S.D.CIMHatchFill.separation)*r,n=(0,L.$w)(t.rotation);if(0===i)return null;i<0&&(i=-i);let s=0;const o=.5*i;for(;s>o;)s-=i;for(;s<-o;)s+=i;const a=(0,h.vt)();(0,u.Rg)(a,e),a[0]-=o,a[1]-=o,a[2]+=o,a[3]+=o;const l=[[a[0],a[1]],[a[0],a[3]],[a[2],a[3]],[a[2],a[1]]];for(;n>180;)n-=180;for(;n<0;)n+=180;const c=Math.cos(n*T),f=Math.sin(n*T),m=-i*f,d=i*c;let p,y,g,M;s=(0,L.$w)(t.offsetX)*r*f-(0,L.$w)(t.offsetY)*r*c,p=g=Number.MAX_VALUE,y=M=-Number.MAX_VALUE;for(const t of l){const e=t[0],r=t[1],i=c*e+f*r,n=-f*e+c*r;p=Math.min(p,i),g=Math.min(g,n),y=Math.max(y,i),M=Math.max(M,n)}g=Math.floor(g/i)*i;let C=c*p-f*g-m*s/i,b=f*p+c*g-d*s/i,x=c*y-f*g-m*s/i,_=f*y+c*g-d*s/i;const w=1+Math.round((M-g)/i),k=[];for(let t=0;t<w;t++)C+=m,b+=d,x+=m,_+=d,k.push([[C,b],[x,_]]);return{paths:k}}(e,t,this.geomUnitsPerPoint());r&&(this.pushClipPath(t),this.drawMultiLayerSymbol(e.lineSymbol,r),this.popClipPath())}drawPictureFill(t,e){}drawGradientFill(t,e){}drawPictureStroke(t,e){}drawGradientStroke(t,e){}drawMarkerLayer(t,e){const r=t.markerPlacement;if(r){const i=(0,y.c)(r);if(i){const n="CIMMarkerPlacementInsidePolygon"===r.type||"CIMMarkerPlacementPolygonCenter"===r.type&&r.clipAtBoundary;n&&this.pushClipPath(e);const s=i.execute(c.z.fromJSONCIM(e),r,this.geomUnitsPerPoint(),null);if(s){let e=null;for(;(e=s.next())&&(this.drawMarker(t,e),!this._earlyReturn););}n&&this.popClipPath()}}else{const r=this._placementPool.acquire();if((0,m.fT)(e))r.tx=e.x,r.ty=e.y,this.drawMarker(t,r);else if((0,m.Bi)(e)){const i=(0,f.l8)(e);i&&([r.tx,r.ty]=i,this.drawMarker(t,r))}else if((0,m.Rg)(e)){for(const i of e.paths)for(const e of i)if(r.tx=e[0],r.ty=e[1],this.drawMarker(t,r),this._earlyReturn)break}else for(const i of e.points)if(r.tx=i[0],r.ty=i[1],this.drawMarker(t,r),this._earlyReturn)break;this._placementPool.release(r)}}drawMarker(t,e){switch(t.type){case"CIMCharacterMarker":case"CIMPictureMarker":this.drawPictureMarker(t,e);break;case"CIMVectorMarker":this.drawVectorMarker(t,e)}}drawPictureMarker(t,e){if(!t)return;const r=this._resourceManager.getResource(t.url),i=(0,L.$w)(t.size,S.D.CIMPictureMarker.size);if(null==r||i<=0)return;const n=r.width,s=r.height;if(!n||!s)return;const o=n/s,a=(0,L.$w)(t.scaleX,1),l=E.createIdentity(),c=t.anchorPoint;if(c){let e=c.x,r=c.y;"Absolute"!==t.anchorPointUnits&&(e*=i*o*a,r*=i),l.translate(-e,-r)}let h=(0,L.$w)(t.rotation);t.rotateClockwise&&(h=-h),this._mapRotation&&(h+=this._mapRotation),h&&l.rotate(h*T);let u=(0,L.$w)(t.offsetX),f=(0,L.$w)(t.offsetY);if(u||f){if(this._mapRotation){const t=T*this._mapRotation,e=Math.cos(t),r=Math.sin(t),i=u*r+f*e;u=u*e-f*r,f=i}l.translate(u,f)}const m=this.geomUnitsPerPoint();1!==m&&l.scale(m,m);const d=e.getAngle();d&&l.rotate(d),l.translate(e.tx,e.ty),this.push(l),this.drawImage(t,i),this.pop()}drawVectorMarker(t,e){if(!t)return;const r=t.markerGraphics;if(!r)return;const i=(0,L.$w)(t.size,S.D.CIMVectorMarker.size),n=t.frame,s=n?n.ymax-n.ymin:0,o=i&&s?i/s:1,a=E.createIdentity();n&&a.translate(.5*-(n.xmax+n.xmin),.5*-(n.ymax+n.ymin));const l=t.anchorPoint;if(l){let e=l.x,r=l.y;"Absolute"!==t.anchorPointUnits?n&&(e*=n.xmax-n.xmin,r*=n.ymax-n.ymin):(e/=o,r/=o),a.translate(-e,-r)}1!==o&&a.scale(o,o);let c=(0,L.$w)(t.rotation);t.rotateClockwise&&(c=-c),this._mapRotation&&(c+=this._mapRotation),c&&a.rotate(c*T);let h=(0,L.$w)(t.offsetX),u=(0,L.$w)(t.offsetY);if(h||u){if(this._mapRotation){const t=T*this._mapRotation,e=Math.cos(t),r=Math.sin(t),i=h*r+u*e;h=h*e-u*r,u=i}a.translate(h,u)}const f=this.geomUnitsPerPoint();1!==f&&a.scale(f,f);const m=e.getAngle();m&&a.rotate(m),a.translate(e.tx,e.ty);const d=t.scaleSymbolsProportionally?1:o;this.push(a,t.scaleSymbolsProportionally,d);for(const t of r){t?.symbol&&t.geometry||A().error("Invalid marker graphic",t);let e=t.textString;if("number"==typeof e&&(e=e.toString()),this.drawSymbol(t.symbol,t.geometry,e),this._earlyReturn)break}this.pop()}drawTextSymbol(t,e,r){if(!t)return;if(!(0,m.fT)(e))return;if((0,L.$w)(t.height,S.D.CIMTextSymbol.height)<=0)return;const i=E.createIdentity();let n=(0,L.$w)(t.angle);n=-n,n&&i.rotate(n*T);const s=(0,L.$w)(t.offsetX),o=(0,L.$w)(t.offsetY);(s||o)&&i.translate(s,o);const a=this.geomUnitsPerPoint();1!==a&&i.scale(a,a),i.translate(e.x,e.y),this.push(i),this.drawText(t,r),this.pop()}}class F extends D{constructor(t,e){super(t,e),this.reset()}reset(){this._xmin=this._ymin=1/0,this._xmax=this._ymax=-1/0,this._clipCount=0}envelope(){return new x(this._xmin,this._ymin,this._xmax-this._xmin,this._ymax-this._ymin)}bounds(){return(0,h.fA)(this._xmin,this._ymin,this._xmax,this._ymax)}drawSolidFill(t){if(t&&!(this._clipCount>0))if((0,m.Bi)(t))this._processPath(t.rings,0);else if((0,m.Rg)(t))this._processPath(t.paths,0);else if((0,m.ZC)(t)){const e=W(t);e&&this._processPath(e.rings,0)}else console.error("drawSolidFill Unexpected geometry type!")}drawSolidStroke(t,e,r){if(!t||this._clipCount>0||null==r||r<=0)return;const i=Math.max(.5*this.transformSize((0,L.$w)(r,S.D.CIMSolidStroke.width)),.25);if((0,m.Bi)(t))this._processPath(t.rings,i);else if((0,m.Rg)(t))this._processPath(t.paths,i);else if((0,m.ZC)(t)){const e=W(t);e&&this._processPath(e.rings,i)}else console.error("drawSolidStroke unexpected geometry type!")}drawMarkerLayer(t,e){(0,m.Bi)(e)&&t.markerPlacement&&("CIMMarkerPlacementInsidePolygon"===t.markerPlacement.type||"CIMMarkerPlacementPolygonCenter"===t.markerPlacement.type&&t.markerPlacement.clipAtBoundary)?this._processPath(e.rings,0):super.drawMarkerLayer(t,e)}drawHatchFill(t,e){this.drawSolidFill(t)}drawPictureFill(t,e){this.drawSolidFill(t)}drawGradientFill(t,e){this.drawSolidFill(t)}drawPictureStroke(t,e){this.drawSolidStroke(t,null,e.width)}drawGradientStroke(t,e){this.drawSolidStroke(t,null,e.width)}pushClipPath(t){this.drawSolidFill(t),this._clipCount++}popClipPath(){this._clipCount--}drawImage(t,e){const{url:r}=t,i=(0,L.$w)(t.scaleX,1);let n=i*e,s=e;const o=this._resourceManager.getResource(r);if(null!=o){const t=o.height/o.width;n=i*(e?t>1?e:e/t:o.width),s=e?t>1?e*t:e:o.height}this._merge(this.transformPt([-n/2,-s/2]),0),this._merge(this.transformPt([-n/2,s/2]),0),this._merge(this.transformPt([n/2,-s/2]),0),this._merge(this.transformPt([n/2,s/2]),0)}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new I);const r=$(t),i=(0,_.Z)({textString:e,font:r.font,symbol:t,supportsRichText:(0,_.q)(e)});let[n,s]=i?this._textRasterizer.computeRichTextSize(i,r):this._textRasterizer.computeTextSize(e,r);n=(0,l.PN)(n),s=(0,l.PN)(s);const o=this.transformSize(1)*this.reverseTransformScalar(1);n*=o,s*=o;const a=t.horizontalAlignment??S.D.CIMTextSymbol.horizontalalignment,c=t.verticalAlignment??S.D.CIMTextSymbol.verticalalignment;let h=0;switch(a){case"Left":h=n/2;break;case"Right":h=-n/2}let u=0;switch(c){case"Bottom":u=s/2;break;case"Top":u=-s/2;break;case"Baseline":u=s/6}this._merge(this.transformPt([-n/2+h,-s/2+u]),0),this._merge(this.transformPt([-n/2+h,s/2+u]),0),this._merge(this.transformPt([n/2+h,-s/2+u]),0),this._merge(this.transformPt([n/2+h,s/2+u]),0)}_processPath(t,e){if(t)for(const r of t){const t=r?r.length:0;if(t>1){this._merge(this.transformPt(r[0]),e);for(let i=1;i<t;i++)this._merge(this.transformPt(r[i]),e)}}}_merge(t,e){t[0]-e<this._xmin&&(this._xmin=t[0]-e),t[0]+e>this._xmax&&(this._xmax=t[0]+e),t[1]-e<this._ymin&&(this._ymin=t[1]-e),t[1]+e>this._ymax&&(this._ymax=t[1]+e)}}class G extends D{constructor(t,e,r,i){super(e,r),this._applyAdditionalRenderProps=i,this._colorSubstitutionHelper=new p,this._ctx=t}drawSolidFill(t,e){if(!t)return;if((0,m.Bi)(t))this._buildPath(t.rings,!0);else if((0,m.Rg)(t))this._buildPath(t.paths,!0);else if((0,m.ZC)(t))this._buildPath(W(t).rings,!0);else{if(!(0,m.U9)(t))return;console.log("CanvasDrawHelper.drawSolidFill - No implementation!")}const r=this._ctx;r.fillStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",r.fill("evenodd")}drawSolidStroke(t,e,r,i,n,s){if(!t||!e||0===r)return;if((0,m.Bi)(t))this._buildPath(t.rings,!0);else if((0,m.Rg)(t))this._buildPath(t.paths,!1);else{if(!(0,m.ZC)(t))return void console.log("CanvasDrawHelper.drawSolidStroke isn't implemented!");this._buildPath(W(t).rings,!0)}const o=this._ctx;o.strokeStyle="string"==typeof e?e:"rgba("+Math.round(e[0])+","+Math.round(e[1])+","+Math.round(e[2])+","+(e[3]??255)/255+")",o.lineWidth=Math.max(this.transformSize(r),.5),this._setCapStyle(i),this._setJoinStyle(n),o.miterLimit=s,o.stroke()}pushClipPath(t){if(this._ctx.save(),(0,m.Bi)(t))this._buildPath(t.rings,!0);else if((0,m.Rg)(t))this._buildPath(t.paths,!0);else{if(!(0,m.ZC)(t))return;this._buildPath(W(t).rings,!0)}this._ctx.clip("evenodd")}popClipPath(){this._ctx.restore()}drawImage(t,e){const{colorSubstitutions:r,url:i,tintColor:n}=t,s=(0,L.$w)(t.scaleX,1),o=this._resourceManager.getResource(i);if(null==o)return;let a=e*(o.width/o.height),l=e;e||(a=o.width,l=o.height);const c=(0,L.UE)(i)||"src"in o&&(0,L.UE)(o.src);let h="getFrame"in o?M(o):o;r&&(h=this._colorSubstitutionHelper.applyColorSubstitution(h,r)),this._applyAdditionalRenderProps&&!c&&n&&(h=this._colorSubstitutionHelper.tintImageData(h,n));const u=this.transformPt([0,0]),[f,m]=this.getTransformAngle(),d=this.transformSize(1),p=this._ctx;p.save(),p.setTransform({m11:s*d*f,m12:s*d*m,m21:-d*m,m22:d*f,m41:u[0],m42:u[1]}),p.drawImage(h,-a/2,-l/2,a,l),p.restore()}drawText(t,e){if(!e||0===e.length)return;this._textRasterizer||(this._textRasterizer=new I);const r=$(t,this.transformSize((0,l.PN)(1))),i=(0,_.Z)({textString:e,font:r.font,symbol:t,supportsRichText:(0,_.q)(e)}),n=i?this._textRasterizer.rasterizeRichText(i,r):this._textRasterizer.rasterizeText(e,r);if(!n)return;const{size:s,anchorX:o,anchorY:a,canvas:c}=n,h=s[0]*(o+.5),u=s[1]*(a-.5),f=this._ctx,m=this.transformPt([0,0]),[d,p]=this.getTransformAngle();f.save(),f.setTransform({m11:1*d,m12:1*p,m21:-1*p,m22:1*d,m41:m[0]-1*h,m42:m[1]+1*u}),f.drawImage(c,0,0),f.restore()}drawPictureFill(t,e){if(!t)return;let{colorSubstitutions:r,height:i,offsetX:n,offsetY:s,rotation:o,scaleX:a,tintColor:l,url:c}=e;const h=this._resourceManager.getResource(c);if(null==h)return;if((0,m.Bi)(t))this._buildPath(t.rings,!0);else if((0,m.Rg)(t))this._buildPath(t.paths,!0);else if((0,m.ZC)(t))this._buildPath(W(t).rings,!0);else{if(!(0,m.U9)(t))return;console.log("CanvasDrawHelper.drawPictureFill - No implementation!")}const u=this._ctx,f=(0,L.UE)(c)||"src"in h&&(0,L.UE)(h.src);let d,p="getFrame"in h?M(h):h;if(r&&(p=this._colorSubstitutionHelper.applyColorSubstitution(p,r)),this._applyAdditionalRenderProps){f||l&&(p=this._colorSubstitutionHelper.tintImageData(p,l)),d=u.createPattern(p,"repeat");const t=this.transformSize(1);o||(o=0),n?n*=t:n=0,s?s*=t:s=0,i&&(i*=t);const e=i?i/h.height:1,r=a&&i?a*i/h.width:1;if(0!==o||1!==e||1!==r||0!==n||0!==s){const t=new DOMMatrix;t.rotateSelf(0,0,-o).translateSelf(n,s).scaleSelf(r,e,1),d.setTransform(t)}}else d=u.createPattern(p,"repeat");u.save(),u.fillStyle=d,u.fill("evenodd"),u.restore()}drawPictureStroke(t,e){if(!t)return;let{colorSubstitutions:r,capStyle:i,joinStyle:s,miterLimit:o,tintColor:a,url:c,width:h}=e;const u=this._resourceManager.getResource(c);if(null==u)return;let f;if((0,m.Bi)(t))f=t.rings;else if((0,m.Rg)(t))f=t.paths;else{if(!(0,m.ZC)(t))return(0,m.U9)(t)?void console.log("CanvasDrawHelper.drawPictureStroke - No implementation!"):void 0;f=W(t).rings}h||(h=u.width);const d=(0,L.UE)(c)||"src"in u&&(0,L.UE)(u.src);let p="getFrame"in u?M(u):u;r&&(p=this._colorSubstitutionHelper.applyColorSubstitution(p,r)),this._applyAdditionalRenderProps&&(d||a&&(p=this._colorSubstitutionHelper.tintImageData(p,a)));const y=Math.max(this.transformSize((0,l.Lz)(h)),.5),g=y/p.width,S=this._ctx,C=S.createPattern(p,"repeat-y");let b,x;S.save(),this._setCapStyle(i),this._setJoinStyle(s),void 0!==o&&(S.miterLimit=o),S.lineWidth=y;for(let t of f)if(t=(0,n.o8)(t),B(t),t&&!(t.length<=1)){b=this.transformPt(t[0]);for(let e=1;e<t.length;e++){x=this.transformPt(t[e]);const r=H(b,x),i=new DOMMatrix;i.translateSelf(0,b[1]-y/2).scaleSelf(g,g,1).rotateSelf(0,0,90-r),C.setTransform(i),S.strokeStyle=C,S.beginPath(),S.moveTo(b[0],b[1]),S.lineTo(x[0],x[1]),S.stroke(),b=x}}S.restore()}drawGradientFill(t,e){if(!t)return;let r;if((0,m.Bi)(t))r=t.rings;else if((0,m.Rg)(t))r=t.paths;else{if(!(0,m.ZC)(t))return void A().error("Unable to draw gradient fill");r=W(t).rings}this._buildPath(r,!0);const{angle:i,gradientMethod:n,gradientSize:s,gradientSizeUnits:a}=e,c=S.D.CIMGradientFill,u=e.gradientType??c.gradientType,f=-(0,o.kU)(i??0),d=(0,h.Ie)();for(const t of r){const e=t?t.length:0;if(e>1)for(let r=0;r<e;r++){let e=this.transformPt(t[r]);"Linear"!==n&&"Rectangular"!==n||(e=C(e,-f)),(0,h.tK)(d,e)}}const[p,y,g,M]=d,x=this._ctx;switch(x.save(),n){case"Buffered":A().error(`Gradient method "${n}" currently unsupported.`);break;case"Linear":{const t=(y+M)/2,r="Absolute"===a?this.transformSize((0,l.Lz)(s)):(0,L.yX)(s,c.gradientSize)*(g-p),[i,n]="Discrete"===u?[g,g-r]:[p+r,p],o=C([i,t],f),h=C([n,t],f),m=x.createLinearGradient(o[0],o[1],h[0],h[1]);(0,b.AH)(m,e),x.fillStyle=m,x.fill("evenodd");break}case"Circular":{const t=(0,h.gX)(d),r=(0,h.ib)(d)/2,i="Absolute"===a?this.transformSize((0,l.Lz)(s)):(0,L.yX)(s,c.gradientSize)*r,[n,o]="Discrete"===u?[r,r-i]:[i,0],f=x.createRadialGradient(t[0],t[1],n,t[0],t[1],o);(0,b.AH)(f,e),x.fillStyle=f,x.fill("evenodd");break}case"Rectangular":{const r=(0,h.gX)(d),i=r[0],n=r[1],o=C(r,f),m=(r,i,n,s,a,l,c,h)=>{x.save(),this.pushClipPath(t);const u=C([a,l],f),m=C([c,h],f);x.beginPath(),x.moveTo(o[0],o[1]),x.lineTo(u[0],u[1]),x.lineTo(m[0],m[1]),x.lineTo(o[0],o[1]),x.clip();const d=C([r,i],f),p=C([n,s],f),y=x.createLinearGradient(d[0],d[1],p[0],p[1]);(0,b.AH)(y,e),x.fillStyle=y,x.fill("evenodd"),x.restore()};let S="Absolute"===a?this.transformSize((0,l.Lz)(s)):(0,L.yX)(s,c.gradientSize)*((0,h.VL)(d)/2),[_,w]="Discrete"===u?[g,g-S]:[i+S,i];m(_,n,w,n,g,y,g,M),[_,w]="Discrete"===u?[p,p+S]:[i-S,i],m(_,n,w,n,p,M,p,y),S="Absolute"===a?this.transformSize((0,l.Lz)(s)):(0,L.yX)(s,c.gradientSize)*((0,h.uJ)(d)/2);let[k,I]="Discrete"===u?[M,M-S]:[n+S,n];m(i,k,i,I,g,M,p,M),[k,I]="Discrete"===u?[y,y+S]:[n-S,n],m(i,k,i,I,p,y,g,y);break}}x.restore()}drawGradientStroke(t,e){const{capStyle:r,gradientMethod:i,gradientSize:s,gradientSizeUnits:o,joinStyle:a,miterLimit:c,width:h}=e;if(!t||0===h)return;let u;if((0,m.Bi)(t))u=t.rings;else if((0,m.Rg)(t))u=t.paths;else{if(!(0,m.ZC)(t))return void A().error("Unable to draw gradient stroke");u=W(t).rings}const f=e.gradientType??S.D.CIMGradientStroke.gradientType,d=Math.max(this.transformSize((0,l.Lz)(h)),.5),p=this._ctx;let y,g;p.save(),this._setCapStyle(r),this._setJoinStyle(a),void 0!==c&&(p.miterLimit=c),p.lineWidth=d;for(let t of u){if(t=(0,n.o8)(t),B(t),!t||t.length<=1)continue;let r=0;y=this.transformPt(t[0]);for(let e=1;e<t.length;e++){g=this.transformPt(t[e]);const i=g[0]-y[0],n=g[1]-y[1];r+=Math.sqrt(i*i+n*n),y=g}const a="Absolute"===o?this.transformSize((0,l.Lz)(s)):(0,L.yX)(s,S.D.CIMGradientStroke.gradientSize)*("AcrossLine"===i?d:r);let c=0;y=this.transformPt(t[0]);for(let n=1;n<t.length;n++){g=this.transformPt(t[n]);const s=g[0]-y[0],o=g[1]-y[1],l=Math.sqrt(s*s+o*o);let h,u,m,S;switch(i){case"AcrossLine":{const[t,e]=C([s/l,o/l],-Math.PI/2),r=d/2,i="Discrete"===f?r:a-r;h=(y[0]+g[0])/2+t*i,u=(y[1]+g[1])/2+e*i,m=h-t*a,S=u-e*a;break}case"AlongLine":{const t=s/l,e=o/l;"Discrete"===f?(h=y[0]-t*c,u=y[1]-e*c,m=h+t*a,S=u+e*a):(m=y[0]+t*(r-c),S=y[1]+e*(r-c),h=m-t*a,u=S-e*a);break}default:return A().error("Unrecognized gradient method:",i),void p.restore()}const M=p.createLinearGradient(h,u,m,S);(0,b.AH)(M,e),p.strokeStyle=M,p.beginPath(),p.moveTo(y[0],y[1]),p.lineTo(g[0],g[1]),p.stroke(),c+=l,y=g}}p.restore()}_buildPath(t,e){const r=this._ctx;if(r.beginPath(),t)for(const i of t){const t=i?i.length:0;if(t>1){let n=this.transformPt(i[0]);r.moveTo(n[0],n[1]);for(let e=1;e<t;e++)n=this.transformPt(i[e]),r.lineTo(n[0],n[1]);e&&r.closePath()}}}_setCapStyle(t){switch(t){case"Butt":this._ctx.lineCap="butt";break;case"Round":this._ctx.lineCap="round";break;case"Square":this._ctx.lineCap="square"}}_setJoinStyle(t){switch(t){case"Bevel":this._ctx.lineJoin="bevel";break;case"Round":this._ctx.lineJoin="round";break;case"Miter":this._ctx.lineJoin="miter"}}}function H(t,e){const r=e[0]-t[0],i=e[1]-t[1];return 180/Math.PI*Math.atan2(i,r)}const W=t=>t?{spatialReference:t.spatialReference,rings:[[[t.xmin,t.ymin],[t.xmin,t.ymax],[t.xmax,t.ymax],[t.xmax,t.ymin],[t.xmin,t.ymin]]]}:null,O=(t,e,r)=>{switch(t){case"ExtraLeading":return 1+e/r;case"Multiple":return e;case"Exact":return e/r}};function $(t,e=1){const r=(0,L.DW)(t),n=(0,L._d)(t.fontStyleName),s=t.fontFamilyName??i.Vb,{weight:o,style:a}=n,l=e*(t.height||5),c=(0,L.Bu)(t.horizontalAlignment),h=(0,L.Nl)(t.verticalAlignment),u=(0,L.pM)(t),f=(0,L.pM)(t.haloSymbol),m=null!=f?e*(t.haloSize??0):0,d=(0,L._1)(t.symbol),p=e*((0,L.xo)(t.symbol)||0),y="CIMBackgroundCallout"===t.callout?.type?t.callout.backgroundSymbol:null,g=(0,L.pM)(y),S=(0,L.xo)(y),M=(0,L._1)(y);return{color:u,size:l,horizontalAlignment:c,verticalAlignment:h,font:{family:s,style:(0,L.pV)(a),weight:(0,L.Kn)(o),decoration:r},outline:{size:p||0,color:d},halo:{size:m||0,color:f,style:a},backgroundColor:g,borderLine:null!=S&&null!=M?{size:S,color:M}:null,pixelRatio:1,premultiplyColors:!0}}function B(t){let e,r,i,n,s,o=t[0],a=1;for(;a<t.length;)e=t[a][0]-o[0],r=t[a][1]-o[1],n=0!==e?r/e:Math.PI/2,void 0!==i&&Math.abs(n-i)<=1e-4?(t.splice(a-1,1),o=s):(s=o,o=t[a],a++),i=n}},15867(t,e,r){r.r(e),r.d(e,{CIMSymbolHelper:()=>L,CIMSymbolInflatedSizeHelper:()=>R,forEachSymbolLayer:()=>T,symbolToCIM:()=>P});var i=r(6371),n=r(4718),s=r(53966),o=r(87811),a=r(90629),l=r(19419),c=r(537),h=r(52006),u=r(31411),f=r(11831),m=r(35833),d=r(98939),p=r(72726),y=r(28076),g=r(93397),S=r(59868),M=r(13195),C=r(75434),b=r(69221);const x=Math.PI,_=x/2,w=Math.PI/180,k=96/72,I=()=>s.A.getLogger("esri.symbols.cim.CIMSymbolHelper");function P(t){let e;switch(t.type){case"cim":return t.data;case"web-style":return t;case"simple-marker":{const r=L.fromSimpleMarker(t);if(!r)throw new Error("InternalError: Cannot convert symbol to CIM");e=r;break}case"picture-marker":e=L.fromPictureMarker(t);break;case"simple-line":e=L.fromSimpleLineSymbol(t);break;case"simple-fill":e=L.fromSimpleFillSymbol(t);break;case"picture-fill":e=L.fromPictureFillSymbol(t);break;case"text":e=L.fromTextSymbol(t)}return{type:"CIMSymbolReference",symbol:e}}function z(t,e,r){switch(e.type){case"CIMSymbolReference":return z(t,e.symbol,r);case"CIMPointSymbol":null==r&&(r={x:0,y:0}),t.drawSymbol(e,r);break;case"CIMLineSymbol":null==r&&(r={paths:[[[0,0],[10,0]]]}),t.drawSymbol(e,r);break;case"CIMPolygonSymbol":null==r&&(r={rings:[[[0,0],[0,10],[10,10],[10,0],[0,0]]]}),t.drawSymbol(e,r);break;case"CIMTextSymbol":{const r={x:0,y:0};t.drawSymbol(e,r);break}case"CIMVectorMarker":{const r=new d.W;t.drawMarker(e,r);break}}return t.envelope()}function v(t){if(!t)return 0;switch(t.type){case"CIMMarkerPlacementAlongLineSameSize":case"CIMMarkerPlacementAlongLineRandomSize":case"CIMMarkerPlacementAtExtremities":case"CIMMarkerPlacementAtMeasuredUnits":case"CIMMarkerPlacementAtRatioPositions":case"CIMMarkerPlacementOnLine":case"CIMMarkerPlacementOnVertices":return Math.abs(t.offset??0);default:return 0}}class R{static getSymbolInflateSize(t,e,r,i,n){return t||(t=[0,0,0,0]),e?this._getInflateSize(t,e,r,i,n):t}static safeSize(t){const e=Math.max(Math.abs(t[0]),Math.abs(t[2])),r=Math.max(Math.abs(t[1]),Math.abs(t[3]));return Math.sqrt(e*e+r*r)}static getPointSymbolHaloPadding(t,e){const r=(0,g.$w)(t.haloSize);if(r<=0||!t.haloSymbol?.symbolLayers?.some(t=>!1!==t.enable))return 0;const i=this.getSymbolInflateSize([0,0,0,0],t.haloSymbol,e,0,null);return r+this.safeSize(i)}static _vectorMarkerBounds(t,e,r,i){let n=!0;const s=(0,l.vt)();if(e?.markerGraphics)for(const o of e.markerGraphics){const e=[0,0,0,0];o.geometry&&((0,c.Rg)(s,o.geometry),e[0]=0,e[1]=0,e[2]=0,e[3]=0,this.getSymbolInflateSize(e,o.symbol,r,0,i),s[0]+=e[0],s[1]+=e[1],s[2]+=e[2],s[3]+=e[3],n?(t[0]=s[0],t[1]=s[1],t[2]=s[2],t[3]=s[3],n=!1):(t[0]=Math.min(t[0],s[0]),t[1]=Math.min(t[1],s[1]),t[2]=Math.max(t[2],s[2]),t[3]=Math.max(t[3],s[3])))}return t}static _getInflateSize(t,e,r,i,n){if(function(t){return void 0!==t.symbolLayers}(e)){const s=this._getLayersInflateSize(t,e.symbolLayers,r,i,n),o=(0,g.ll)(e.effects);if(o>0&&(s[0]-=o,s[1]-=o,s[2]+=o,s[3]+=o),"CIMPointSymbol"===e.type){const t=this.getPointSymbolHaloPadding(e,r);t>0&&(s[0]-=t,s[1]-=t,s[2]+=t,s[3]+=t)}return s}return this._getTextInflatedSize(t,e,n)}static _getLayersInflateSize(t,e,r,i,n){let s=!0;if(!e)return t;for(const o of e){if(!o)continue;let e=[0,0,0,0];switch(o.type){case"CIMSolidFill":case"CIMPictureFill":case"CIMHatchFill":case"CIMGradientFill":break;case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":{const t=o;let r=t.width;null!=r&&("Square"===t.capStyle||"Miter"===t.joinStyle?r/=1.4142135623730951:r/=2,e[0]=-r,e[1]=-r,e[2]=r,e[3]=r);break}case"CIMCharacterMarker":case"CIMVectorMarker":case"CIMPictureMarker":{const t=o;if("CIMVectorMarker"===o.type){const t=o;if(e=this._vectorMarkerBounds(e,t,r,n),t.frame){const r=(t.frame.xmin+t.frame.xmax)/2,i=(t.frame.ymin+t.frame.ymax)/2;if(e[0]-=r,e[1]-=i,e[2]-=r,e[3]-=i,null!=t.size){const r=t.size/(t.frame.ymax-t.frame.ymin);e[0]*=r,e[1]*=r,e[2]*=r,e[3]*=r}}}else if("CIMPictureMarker"===o.type){const i=o,n=r.getResource(i.url);let s=1;if(null!=n&&n.height&&(s=n.width/n.height),null!=t.size){const r=t.size/2,n=t.size*s*(i.scaleX??1)/2;e=[-n,-r,n,r]}}else if(null!=t.size){const r=t.size/2;e=[-r,-r,r,r]}if(t.anchorPoint){let r,i;"Absolute"===t.anchorPointUnits?(r=t.anchorPoint.x,i=t.anchorPoint.y):(r=t.anchorPoint.x*(e[2]-e[0]),i=t.anchorPoint.y*(e[3]-e[1]));const n=1.25*Math.sqrt(r*r+i*i);e[0]-=n,e[1]-=n,e[2]+=n,e[3]+=n}let s=(0,g.$w)(t.rotation);if(t.rotateClockwise&&(s=-s),i&&(s-=i),s){const t=w*s,r=Math.cos(t),i=Math.sin(t),n=(0,l.vt)([M.MG,M.MG,-M.MG,-M.MG]);(0,l.tK)(n,[e[0]*r-e[1]*i,e[0]*i+e[1]*r]),(0,l.tK)(n,[e[0]*r-e[3]*i,e[0]*i+e[3]*r]),(0,l.tK)(n,[e[2]*r-e[1]*i,e[2]*i+e[1]*r]),(0,l.tK)(n,[e[2]*r-e[3]*i,e[2]*i+e[3]*r]),e=n}let a=(0,g.$w)(t.offsetX),c=(0,g.$w)(t.offsetY);if(i){const t=w*i,e=Math.cos(t),r=Math.sin(t),n=a*r+c*e;a=a*e-c*r,c=n}e[0]+=a,e[1]+=c,e[2]+=a,e[3]+=c;const h=v(t.markerPlacement);h>0&&(e[0]-=h,e[1]-=h,e[2]+=h,e[3]+=h);break}}const a=(0,g.ll)(o.effects);a>0&&(e[0]-=a,e[1]-=a,e[2]+=a,e[3]+=a),s?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],s=!1):(t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[2]),t[3]=Math.max(t[3],e[3]))}return t}static _getTextInflatedSize(t,e,r){const i=(0,b.hV)(e.height??y.D.CIMTextSymbol.height);if(t[0]=-i/2,t[1]=-i/2,t[2]=i/2,t[3]=i/2,!r)return t;const n=r.get(e);if(!n)return t;if(!function(t){return"glyphs"===t.type?t.glyphs.length>0:t.runs.some(t=>t.glyphs.glyphs.length>0)}(n.glyphMosaicItems))return t;const{lineGapType:s,lineGap:o}=e,a=s?(0,p.QF)(s,o??0,i):0,l=e.horizontalAlignment??y.D.CIMTextSymbol.horizontalalignment,c=e.verticalAlignment??y.D.CIMTextSymbol.verticalalignment,h="CIMBackgroundCallout"===e.callout?.type,u=(0,C.tA)(n.glyphMosaicItems,{scale:i/24,angle:(0,g.$w)(e.angle),xOffset:(0,g.$w)(e.offsetX),yOffset:(0,g.$w)(e.offsetY),horizontalAlignment:l,verticalAlignment:c,maxLineWidth:(0,b.Lu)(e.lineWidth),lineHeight:29*Math.max(.25,Math.min(a||1,4)),decoration:e.font.decoration||"none",useCIMAngleBehavior:!0,hasBackground:h}).boundsT,f=Math.sqrt(u.width*u.width+u.height*u.height);return t[0]-=u.x+f,t[1]-=u.y-f,t[2]+=u.x+f,t[3]+=-u.y+f,t}}class L{static getEnvelope(t,e,r,i){if(!t)return null;const n=new p.mx(r,i);if(Array.isArray(t)){let r;for(const i of t)r?r.union(z(n,i,e)):r=z(n,i,e);return r}return z(n,t,e)}static expandEnvelopeForPointSymbolHalo(t,e,r,i=0){const n=R.getPointSymbolHaloPadding(e,r);if(n<=0)return;const s=n+i;t.x-=s,t.y-=s,t.width+=2*s,t.height+=2*s}static getTextureInfo(t,e,r,i,n,s=0){const o=i??this.getEnvelope(t,null,e);if(!o)return[0,0,0,0,1];const a=Math.max(o.width,o.height)*k;let l=null!=n?Math.max(n/a,1):1;l*=k,o.x*=l,o.y*=l,o.width*=l,o.height*=l,o.width=Math.max(Math.ceil(o.x+o.width)-Math.floor(o.x),1)-1,o.height=Math.max(Math.ceil(o.y+o.height)-Math.floor(o.y),1)-1;let c=o.x+.5*o.width,h=o.y+.5*o.height;if(c+=o.x-Math.floor(o.x),h+=o.y-Math.floor(o.y),!i){const t=Math.ceil(s*l);o.width+=r+2*t,o.height+=r+2*t,c+=r/2,h+=r/2}return[o.width,o.height,c,h,l]}static getTextureAnchor(t,e,r,i=0){const[n,s,o,a,l]=this.getTextureInfo(t,e,2,null,r,i);return[-o/n,-a/s,s/l*k]}static rasterize(t,e,r,i,n=!0,s,o=0){const[a,l,c,h,u]=this.getTextureInfo(e,i,2,r,s,o);t.width=a,t.height=l;const f=t.getContext("2d",{willReadFrequently:!0}),m=p.IT.createScale(u,-u);m.translate(.5*a-c,.5*l+h);const y=new p.Rj(f,i,m);switch(e.type){case"CIMPointSymbol":{const t={type:"point",x:0,y:0};y.drawSymbol(e,t);break}case"CIMVectorMarker":{const t=new d.W;y.drawMarker(e,t);break}}const g=f.getImageData(0,0,t.width,t.height),S=new Uint8Array(g.data);if(n){let t;for(let e=0;e<S.length;e+=4)t=S[e+3]/255,S[e]=S[e]*t,S[e+1]=S[e+1]*t,S[e+2]=S[e+2]*t}return[S,t.width,t.height,-c/a,-h/l,u]}static fromTextSymbol(t){const{text:e}=t;return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,anchorPointUnits:"Relative",dominantSizeAxis3D:"Y",size:10,billboardMode3D:"FaceNearPlane",frame:{xmin:-5,ymin:-5,xmax:5,ymax:5},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{x:0,y:0},symbol:L.createCIMTextSymbolfromTextSymbol(t),textString:e}],scaleSymbolsProportionally:!0,respectFrame:!0}],scaleX:1,angleAlignment:"Display"}}static fromPictureFillSymbol(t){const{height:e,outline:r,width:i,xoffset:n,xscale:s,yoffset:o,yscale:a}=t,l=[],c={type:"CIMPolygonSymbol",symbolLayers:l};if(r){const t=U(r);t&&l.push(t)}let h=t.url;"esriPFS"===t.type&&t.imageData&&(h=t.imageData);const u="angle"in t?t.angle??0:0,f=(i??0)*(s||1),m=(e??0)*(a||1);return l.push({type:"CIMPictureFill",enable:!0,invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:h,height:m,width:f,offsetX:(0,g.$w)(n),offsetY:(0,g.$w)(o),rotation:(0,g.$w)(-u),colorSubstitutions:null}),c}static fromSimpleFillSymbol(t){const{color:e,style:r,outline:i}=t,s=[],o={type:"CIMPolygonSymbol",symbolLayers:s};if(i){const t=U(i);t&&s.push(t)}if(r&&"solid"!==r&&"none"!==r&&"esriSFSSolid"!==r&&"esriSFSNull"!==r){const t={type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",color:G(e),capStyle:"Butt",joinStyle:"Miter",width:.75}]};let i=0;const o=(0,a.PN)(N(r)?8:10);switch(r){case"vertical":case"esriSFSVertical":i=90;break;case"forward-diagonal":case"esriSFSForwardDiagonal":case"diagonal-cross":case"esriSFSDiagonalCross":i=-45;break;case"backward-diagonal":case"esriSFSBackwardDiagonal":i=45;break;case"cross":case"esriSFSCross":i=0}s.push({type:"CIMHatchFill",lineSymbol:t,offsetX:0,offsetY:0,rotation:i,separation:o}),"cross"===r||"esriSFSCross"===r?s.push({type:"CIMHatchFill",lineSymbol:(0,n.o8)(t),offsetX:0,offsetY:0,rotation:90,separation:o}):"diagonal-cross"!==r&&"esriSFSDiagonalCross"!==r||s.push({type:"CIMHatchFill",lineSymbol:(0,n.o8)(t),offsetX:0,offsetY:0,rotation:45,separation:o})}else!r||"solid"!==r&&"esriSFSSolid"!==r||s.push({type:"CIMSolidFill",enable:!0,color:G(e)});return o}static fromSimpleLineSymbol(t){const{cap:e,color:r,join:i,marker:n,miterLimit:s,style:o,width:a}=t;let l=null;"solid"!==o&&"none"!==o&&"esriSLSSolid"!==o&&"esriSLSNull"!==o&&(l=[{type:"CIMGeometricEffectDashes",dashTemplate:$(o,e),lineDashEnding:"NoConstraint",scaleDash:!0,offsetAlongLine:null}]);const c=[];if(n){let t;switch(n.placement){case"begin-end":t="Both";break;case"begin":t="JustBegin";break;case"end":t="JustEnd";break;default:t="None"}const e=L.fromSimpleMarker(n,a,r).symbolLayers[0];e.markerPlacement={type:"CIMMarkerPlacementAtExtremities",placePerPart:!1,angleToLine:!0,keepUpright:!1,offset:0,extremityPlacement:t,offsetAlongLine:0},c.push(e)}return c.push({type:"CIMSolidStroke",color:"none"!==o&&"esriSLSNull"!==o?G(r):[0,0,0,0],capStyle:A(e),joinStyle:E(i),miterLimit:s,width:a,effects:l}),{type:"CIMLineSymbol",symbolLayers:c}}static fromPictureMarker(t){const{angle:e,height:r,width:i,xoffset:n,yoffset:s}=t;let o=t.url;return"esriPMS"===t.type&&t.imageData&&(o=t.imageData),{type:"CIMPointSymbol",symbolLayers:[{type:"CIMPictureMarker",invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:o,size:r,width:i,offsetX:(0,g.$w)(n),offsetY:(0,g.$w)(s),rotation:(0,g.$w)(-e)}]}}static createCIMTextSymbolfromTextSymbol(t){const{angle:e,color:r,font:n,haloColor:s,haloSize:o,horizontalAlignment:a,kerning:l,lineWidth:c,text:h,verticalAlignment:u,xoffset:f,yoffset:m,backgroundColor:d,borderLineColor:p,borderLineSize:y}=t;let S,M,C,b,x,_;n&&(S=n.family,M=n.style,C=n.weight,b=n.size,x=n.decoration);let w=!1;return h&&(w=(0,i.y)(h)[1]),(d||y)&&(_={type:"CIMBackgroundCallout",margin:null,backgroundSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:G(d)},{type:"CIMSolidStroke",enable:!0,color:G(p),width:y??0}]},accentBarSymbol:null,gap:null,leaderLineSymbol:null,lineStyle:null}),{type:"CIMTextSymbol",angle:e,blockProgression:2,depth3D:1,extrapolateBaselines:!0,fontEffects:0,fontEncoding:1,fontFamilyName:S||"Arial",fontStyleName:H(M,C),fontType:0,haloSize:o,height:b,hinting:1,horizontalAlignment:D(a??"center"),kerning:l,letterWidth:100,ligatures:!0,lineGapType:"Multiple",lineWidth:c,offsetX:(0,g.$w)(f),offsetY:(0,g.$w)(m),strikethrough:"line-through"===x,underline:"underline"===x,symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:G(r)}]},haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:G(s)}]},shadowColor:[0,0,0,255],shadowOffsetX:1,shadowOffsetY:1,textCase:"Normal",textDirection:w?1:0,verticalAlignment:F(u??"baseline"),verticalGlyphOrientation:0,wordSpacing:100,billboardMode3D:2,callout:_}}static createPictureMarkerRasterizationParam(t){const{angle:e,height:r,width:i,xoffset:n,yoffset:s}=t,o=t.url??t.source?.url??t.source?.imageData;return o?{type:"sprite-rasterization-param",overrides:[],resource:{type:"CIMPictureMarker",enable:!0,invertBackfaceTexture:!1,scaleX:1,textureFilter:"Picture",tintColor:null,url:o,size:r,width:i,offsetX:(0,g.$w)(n),offsetY:(0,g.$w)(s),rotation:(0,g.$w)(-e)}}:null}static createPictureFillRasterizationParam(t){const{width:e,height:r,xoffset:i,yoffset:n,url:s}=t;return s?{type:"sprite-rasterization-param",overrides:[],resource:{type:"CIMPictureFill",enable:!0,scaleX:1,textureFilter:"Picture",tintColor:null,url:s,width:e,height:r,offsetX:(0,g.$w)(i),offsetY:(0,g.$w)(n),rotation:0}}:null}static fromSimpleMarker(t,e,r){const{style:i}=t,n=t.color??r;if("path"===i||"esriSMSPath"===i){const e=[];if("outline"in t&&t.outline){const r=t.outline;e.push({type:"CIMSolidStroke",enable:!0,width:r.width,color:G(r.color),path:t.path})}e.push({type:"CIMSolidFill",enable:!0,color:G(n),path:t.path});const[r,i]=B("square");return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,rotation:-(0,g.$w)(t.angle),size:(0,g.$w)(t.size||6),offsetX:(0,g.$w)(t.xoffset),offsetY:(0,g.$w)(t.yoffset),scaleSymbolsProportionally:!1,frame:r,markerGraphics:[{type:"CIMMarkerGraphic",geometry:i,symbol:{type:"CIMPolygonSymbol",symbolLayers:e}}]}]}}const s=[];let o,a,l=t.size;if("outline"in t&&t.outline&&"none"!==t.outline.style&&"esriSLSNull"!==t.outline.style){const e=t.outline,r="solid"!==e.style&&"esriSLSSolid"!==e.style;[o,a]=r?B(i,t.size):B(i);const n=e.width??S.A7.width;if(r){const e=n/t.size,r=(o.xmax-o.xmin)*e/2,i=(o.ymax-o.ymin)*e/2;o.xmin-=r,o.xmax+=r,o.ymin-=i,o.ymax+=i,l&&(l+=n)}const c="cross"!==t.style&&"x"!==t.style||"dot"===t?.outline.style||"short-dot"===t?.outline.style?"HalfGap":"FullPattern",h=r?[{type:"CIMGeometricEffectAddControlPoints"},{type:"CIMGeometricEffectDashes",dashTemplate:$(e.style,null).map(t=>e.width&&e.width>0?t*e.width:t),lineDashEnding:c,controlPointEnding:"FullPattern"}]:void 0;s.push({type:"CIMSolidStroke",capStyle:r?"Round":"Butt",enable:!0,width:n,color:G(e.color),effects:h})}else!e||"line-marker"!==t.type||"cross"!==t.style&&"x"!==t.style?[o,a]=B(i):([o,a]=B(i),s.push({type:"CIMSolidStroke",enable:!0,width:e,color:G(n)}));s.push({type:"CIMSolidFill",enable:!0,color:G(n)});const c={type:"CIMPolygonSymbol",symbolLayers:s};return{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:!0,rotation:(0,g.$w)(-t.angle),size:(0,g.$w)(l||6*e),offsetX:(0,g.$w)(t.xoffset),offsetY:(0,g.$w)(t.yoffset),scaleSymbolsProportionally:!1,frame:o,markerGraphics:[{type:"CIMMarkerGraphic",geometry:a,symbol:c}]}]}}static fromCIMHatchFill(t,e){const r=e*(t.separation??y.D.CIMHatchFill.separation),i=r/2,s=(0,n.o8)(t.lineSymbol);s.symbolLayers?.forEach(t=>{switch(t.type){case"CIMSolidStroke":null!=t.width&&(t.width*=e),t.effects?.forEach(t=>{if("CIMGeometricEffectDashes"===t.type){const r=t.dashTemplate;t.dashTemplate=r?.map(t=>t*e)}});break;case"CIMVectorMarker":{null!=t.size&&(t.size*=e);const r=t.markerPlacement;null!=r&&"placementTemplate"in r&&(r.placementTemplate=r.placementTemplate.map(t=>t*e));break}}});let o=this._getLineSymbolPeriod(s)||4;for(;o<4;)o*=2;const a=o/2;return{type:"CIMVectorMarker",enable:!0,frame:{xmin:-a,xmax:a,ymin:-i,ymax:i},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{paths:[[[-a,0],[a,0]]]},symbol:s}],size:r}}static async normalizeSymbolAndFetchResources(t,e,r=null){if(!t)return;const i=[];if("effects"in t&&t.effects)for(const e of t.effects)i.push((0,m.ai)(e));i.push(s(t));const n=t=>{if(t.effects)for(const e of t.effects)i.push((0,m.ai)(e));if("CIMVectorMarker"===t.type){for(const e of t.markerGraphics)(0,h.Ed)(e.geometry)&&(e.geometry=(0,u.GS)(e.geometry,{maxDeviation:.01}));t.markerPlacement&&i.push((0,m.g1)(t.markerPlacement))}"url"in t&&t.url&&i.push(e.fetchResource(t.url,{signal:r})),"symbol"in t&&i.push(s(t.symbol))};async function s(t){if("CIMTextSymbol"!==t.type)return;const{fontFamilyName:r,fontStyleName:i}=t;if("calcitewebcoreicons"===r?.toLowerCase())return;const{style:n,weight:s}=(0,g._d)(i),o=(0,g.DW)(t),a=new f.A({family:r,style:n,weight:s,decoration:o});try{await e.loadFont(a)}catch{I().error(`Unsupported font ${r} in CIM symbol`)}}T(t,n),"haloSymbol"in t&&T(t.haloSymbol,n),await Promise.all(i)}static _getLineSymbolPeriod(t){if(t){const e=this._getEffectsRepeat(t.effects);if(e)return e;if(t.symbolLayers)for(const e of t.symbolLayers)if(e){const t=this._getEffectsRepeat(e.effects);if(t)return t;switch(e.type){case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":{const t=this._getPlacementRepeat(e.markerPlacement);if(t)return t}}}}return 0}static _getEffectsRepeat(t){if(t)for(const e of t)if(e)switch(e.type){case"CIMGeometricEffectDashes":{const t=e.dashTemplate;if(t&&t.length){let e=0;for(const r of t)e+=r;return 1&t.length&&(e*=2),e}break}case"CIMGeometricEffectWave":return e.period;default:I().error(`unsupported geometric effect type ${e.type}`)}return 0}static _getPlacementRepeat(t){if(t)switch(t.type){case"CIMMarkerPlacementAlongLineSameSize":case"CIMMarkerPlacementAlongLineRandomSize":case"CIMMarkerPlacementAlongLineVariableSize":{const e=t.placementTemplate;if(e&&e.length){let t=0;for(const r of e)t+=+r;return 1&e.length&&(t*=2),t}break}}return 0}static fromCIMInsidePolygon(t){const e=t.markerPlacement,r={...t};r.markerPlacement=null,r.anchorPoint=null;const i=Math.abs(e.stepX),n=Math.abs(e.stepY),s=(e.randomness??100)/100;let l,c,h,u;if("Random"===e.gridType){const t=(0,a.PN)(1024),r=Math.max(Math.floor(t/i),1),f=Math.max(Math.floor(t/n),1);l=r*i/2,c=f*n/2,h=2*c;const m=new o.A(e.seed),d=s*i/1.5,p=s*n/1.5;u=[];for(let t=0;t<r;t++)for(let e=0;e<f;e++){const r=t*i-l+d*(.5-m.getFloat()),s=e*n-c+p*(.5-m.getFloat());u.push({x:r,y:s}),0===t&&u.push({x:r+2*l,y:s}),0===e&&u.push({x:r,y:s+2*c})}}else!0===e.shiftOddRows?(l=i/2,c=n,h=2*n,u=[{x:-l,y:0},{x:l,y:0},{x:0,y:c},{x:0,y:-c}]):(l=i/2,c=n/2,h=n,u=[{x:-i,y:0},{x:0,y:-n},{x:-i,y:-n},{x:0,y:0},{x:i,y:0},{x:0,y:n},{x:i,y:n},{x:-i,y:n},{x:i,y:-n}]);return{type:"CIMVectorMarker",enable:!0,frame:{xmin:-l,xmax:l,ymin:-c,ymax:c},markerGraphics:u.map(t=>({type:"CIMMarkerGraphic",geometry:t,symbol:{type:"CIMPointSymbol",symbolLayers:[r]}})),size:h}}}function T(t,e){if(t)switch(t.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const r=t.symbolLayers;if(!r)return;for(const t of r)if(e(t),"CIMVectorMarker"===t.type){const r=t.markerGraphics;if(!r)continue;for(const t of r)if(t){const r=t.symbol;r&&T(r,e)}}break}}}const A=t=>{if(!t)return"Butt";switch(t){case"butt":return"Butt";case"square":return"Square";case"round":return"Round"}},E=t=>{if(!t)return"Miter";switch(t){case"miter":return"Miter";case"round":return"Round";case"bevel":return"Bevel"}},D=t=>{if(null==t)return"Center";switch(t){case"left":return"Left";case"right":return"Right";case"center":return"Center";case"justify":return"Justify"}},F=t=>{if(null==t)return"Center";switch(t){case"baseline":return"Baseline";case"top":return"Top";case"middle":return"Center";case"bottom":return"Bottom"}},G=t=>{if(!t)return[0,0,0,0];const{r:e,g:r,b:i,a:n}=t;return[e,r,i,255*n]},H=(t,e)=>{const r=W(e),i=O(t);return r&&i?`${r}-${i}`:`${r}${i}`},W=t=>{if(!t)return"";switch(t.toLowerCase()){case"bold":case"bolder":return"bold"}return""},O=t=>{if(!t)return"";switch(t.toLowerCase()){case"italic":case"oblique":return"italic"}return""},$=(t,e)=>{const r=.001,i="butt"===e;switch(t){case"dash":case"esriSLSDash":return i?[4,3]:[3,4];case"dash-dot":case"esriSLSDashDot":return i?[4,3,1,3]:[3,4,r,4];case"dot":case"esriSLSDot":return i?[1,3]:[r,4];case"long-dash":case"esriSLSLongDash":return i?[8,3]:[7,4];case"long-dash-dot":case"esriSLSLongDashDot":return i?[8,3,1,3]:[7,4,r,4];case"long-dash-dot-dot":case"esriSLSDashDotDot":return i?[8,3,1,3,1,3]:[7,4,r,4,r,4];case"short-dash":case"esriSLSShortDash":return i?[4,1]:[3,2];case"short-dash-dot":case"esriSLSShortDashDot":return i?[4,1,1,1]:[3,2,r,2];case"short-dash-dot-dot":case"esriSLSShortDashDotDot":return i?[4,1,1,1,1,1]:[3,2,r,2,r,2];case"short-dot":case"esriSLSShortDot":return i?[1,1]:[r,2];case"solid":case"esriSLSSolid":case"none":return I().error("Unexpected: style does not require rasterization"),[0,0];default:return I().error(`Tried to rasterize SLS, but found an unexpected style: ${t}!`),[0,0]}},B=(t,e=100)=>{const r=e/2;let i,n;const s=t;if("circle"===s||"esriSMSCircle"===s){const t=.25;let e=Math.acos(1-t/r),s=Math.ceil(x/e/4);0===s&&(s=1),e=_/s,s*=4;const o=[];o.push([r,0]);for(let t=1;t<s;t++)o.push([r*Math.cos(t*e),-r*Math.sin(t*e)]);o.push([r,0]),i={rings:[o]},n={xmin:-r,ymin:-r,xmax:r,ymax:r}}else if("cross"===s||"esriSMSCross"===s){const t=0;i={paths:[[[t,r],[t,-r]],[[r,t],[-r,t]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r}}else if("diamond"===s||"esriSMSDiamond"===s)i={rings:[[[-r,0],[0,r],[r,0],[0,-r],[-r,0]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r};else if("square"===s||"esriSMSSquare"===s)i={rings:[[[-r,-r],[-r,r],[r,r],[r,-r],[-r,-r]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r};else if("x"===s||"esriSMSX"===s)i={paths:[[[r,r],[-r,-r]],[[r,-r],[-r,r]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r};else if("triangle"===s||"esriSMSTriangle"===s){const t=.5773502691896257*e,r=-t,s=2/3*e,o=s-e;i={rings:[[[r,o],[0,s],[t,o],[r,o]]]},n={xmin:r,ymin:o,xmax:t,ymax:s}}else"arrow"===s&&(i={rings:[[[-50,50],[50,0],[-50,-50],[-33,-20],[-33,20],[-50,50]]]},n={xmin:-r,ymin:-r,xmax:r,ymax:r});return[n,i]},N=t=>"vertical"===t||"horizontal"===t||"cross"===t||"esriSFSCross"===t||"esriSFSVertical"===t||"esriSFSHorizontal"===t;function U(t){if(!t)return null;let e=null;const{cap:r,color:i,join:n,miterLimit:s,style:o,width:a}=t;return"solid"!==o&&"none"!==o&&"esriSLSSolid"!==o&&"esriSLSNull"!==o&&(e=[{type:"CIMGeometricEffectDashes",dashTemplate:$(o,r),lineDashEnding:"NoConstraint",scaleDash:!0,offsetAlongLine:null}]),{type:"CIMSolidStroke",color:"esriSLSNull"!==o&&"none"!==o?G(i):[0,0,0,0],capStyle:A(r),joinStyle:E(n),miterLimit:s,width:a,effects:e}}r.d(e,["capTypeToEnum",0,A,"slsDashToTemplateArray",0,$])},28076(t,e,r){var i=r(13337);const n={CIMVectorMarker:{scalesymbolsproportionally:!1,respectframe:!0,anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMPictureMarker:{scalex:1,texturefilter:"Draft",anchorpointunits:"Relative",offsetx:0,offsety:0,rotateclockwise:!1,rotation:0,size:10,enable:!0,colorlocked:!1},CIMTextSymbol:{angle:0,anglex:0,angley:0,halosize:1,height:10,horizontalalignment:"Left",kerning:!0,letterspacing:0,letterwidth:100,ligatures:!0,linegap:0,offsetx:0,offsety:0,strikethrough:!1,textcase:"Normal",textstring:"",underline:!1,verticalalignment:"Bottom",enable:!0,colorlocked:!1},CIMSolidStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMPictureStroke:{texturefilter:"Draft",capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1},CIMGradientStroke:{capstyle:"Round",joinstyle:"Round",miterlimit:4,width:4,enable:!0,colorlocked:!1,gradientMethod:"AcrossLine",gradientSize:75,gradientSizeUnits:i.h.Relative,gradientType:"Discrete",interval:5},CIMSolidFill:{enable:!0,colorlocked:!1},CIMPictureFill:{offsetx:0,offsety:0,rotation:0,scalex:1,height:10,texturefilter:"Draft",enable:!0,colorlocked:!1},CIMHatchFill:{offsetx:0,offsety:0,rotation:0,separation:4,enable:!0,colorlocked:!1},CIMGradientFill:{enable:!0,angle:90,gradientMethod:"Linear",gradientSize:75,gradientSizeUnits:i.h.Relative,gradientType:"Discrete",interval:5},CIMGeometricEffectAddControlPoints:{angletolerance:120},CIMGeometricEffectArrow:{arrowtype:"OpenEnded",width:5},CIMGeometricEffectBuffer:{size:1},CIMGeometricEffectCircularSector:{radius:25,startangle:0,endangle:45},CIMGeometricEffectCut:{begincut:1,endcut:1,middlecut:0,invert:!1},CIMGeometricEffectDashes:{customendingoffset:0,linedashending:"NoConstraint",offsetalongline:0},CIMGeometricEffectDonut:{method:"Mitered",option:"Accurate",width:2},CIMGeometricEffectJog:{angle:225,length:20,position:50},CIMGeometricEffectControlMeasureLine:{rule:"FullGeometry",width:25},CIMGeometricEffectMove:{offsetx:1,offsety:-1},CIMGeometricEffectOffset:{method:"Square",offset:1,option:"Fast"},CIMGeometricEffectRadial:{angle:0,length:5},CIMGeometricEffectRotate:{angle:15},CIMGeometricEffectScale:{xscalefactor:1.15,yscalefactor:1.15},CIMGeometricEffectWave:{amplitude:2,period:3,seed:1,waveform:"Sinus"},CIMMarkerPlacementAlongLine:{customendingoffset:0,endings:"WithHalfGap",offsetalongline:0,placeperpart:!0,angletoline:!0,offset:0},CIMMarkerPlacementAtExtremities:{extremityplacement:"Both",offsetalongline:0,angletoline:!0,offset:0},CIMMarkerPlacementAtRatioPositions:{beginposition:0,endposition:0,flipfirst:!0,angletoline:!0,offset:0},CIMMarkerPlacementInsidePolygon:{gridangle:0,gridtype:"Fixed",offsetx:0,offsety:0,randomness:100,seed:0,shiftoddrows:!1,stepx:16,stepy:16,clipping:"ClipAtBoundary"},CIMMarkerPlacementOnLine:{relativeto:"LineMiddle",startpointoffset:0,angletoline:!0,offset:0},CIMMarkerPlacementOnVertices:{placeperpart:!0,placeoncontrolpoints:!0,placeonendpoints:!0,placeonregularvertices:!0,angletoline:!0,offset:0},CIMMarkerPlacementPolygonCenter:{method:"OnPolygon",offsetx:0,offsety:0,clipatboundary:!1},CIMAnimatedSymbolProperties:{playanimation:!1,reverseanimation:!1,randomizestarttime:!1,randomizestartseed:0,starttimeoffset:0,duration:3,endingduration:3,useendingduration:!1,repeattype:"Loop",repeatdelay:0,easing:"Linear"},CIMSymbolAnimationSize:{tosize:10},CIMSymbolAnimationScale:{scalefactor:1},CIMSymbolAnimationColor:{tocolor:[255,255,255,1],colormode:"Multiply"},CIMSymbolAnimationTransparency:{totransparency:0},CIMSymbolAnimationRotation:{torotation:0,rotateclockwise:!1},CIMSymbolAnimationOffset:{offsetx:0,offsety:0},CIMSymbolAnimationMoveAlongLine:{speed:30,distancealong:100,movementtype:"Distance"}};r.d(e,["D",0,n])},44589(t,e,r){r.d(e,{AH:()=>a}),r(40804);var i=r(53966),n=(r(34727),r(35521),r(28076));const s=()=>i.A.getLogger("esri.symbols.cim.rasterizingUtils");let o;function a(t,e){const{colorRamp:r,gradientType:i}=e,s=l(r),a="CIMFixedColorRamp"===r.type;if("Continuous"===i&&!a)return c(t,s);const h=e.interval??n.D.CIMGradientFill.interval;if(a)return c(t,function(t,e){const r=[],i=(t.length-1)/(e-1);for(let n=0;n<e;n++){const s=t[Math.round(n*i)].color;r.push({offset:n/e,color:s}),r.push({offset:(n+1)/e,color:s})}return r}(s,h));const u=[];o??=document.createElement("canvas"),function(t,e,r,i,n){const s=r+2*n;t.width=s,t.height=i;const o=(n+1)/s,a=t.getContext("2d",{willReadFrequently:!0});if(e.length>0){const t=a.createLinearGradient(0,0,s,i);c(t,e,o),a.fillStyle=t}else a.fillStyle="rgba(128, 128, 128, 1)";a.fillRect(0,0,s,i)}(o,s,h,1,0);const f=o.getContext("2d").getImageData(0,0,h,1).data;for(let t=0,e=0;t<h;t++,e=4*t){const r=[f[e+0],f[e+1],f[e+2],f[e+3]];u.push({offset:t/h,color:r}),u.push({offset:(t+1)/h,color:r})}return c(t,u)}function l(t){const e=[];switch(t.type){case"CIMPolarContinuousColorRamp":case"CIMLinearContinuousColorRamp":{"CIMPolarContinuousColorRamp"===t.type&&s().warnOnce("CIMPolarContinuousColorRamp is currently unsupported. Falling back to CIMLinearContinuousColorRamp.");const r=t;e.push({offset:0,color:[r.fromColor[0],r.fromColor[1],r.fromColor[2],r.fromColor[3]/255]}),e.push({offset:1,color:[r.toColor[0],r.toColor[1],r.toColor[2],r.toColor[3]/255]});break}case"CIMFixedColorRamp":{const r=t,i=1/(r.colors.length-1);let n=0;for(const t of r.colors)e.push({offset:n,color:[t[0],t[1],t[2],t[3]/255]}),n+=i;break}case"CIMMultipartColorRamp":{const r=t,i=r.weights.reduce((t,e)=>t+e,0);let n=0;for(let t=0;t<r.colorRamps.length;t++){const s=r.colorRamps[t],o=r.weights[t],a=l(s);for(const t of a)e.push({offset:(n+t.offset*o)/i,color:t.color});n+=o}break}default:s().error(`Color ramp "${t.type}" currently unsupported.`)}return e}function c(t,e,r=0){for(const{offset:i,color:n}of e)t.addColorStop(Math.min(Math.max(i,r),1-r),`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${n[3]})`)}},13337(t,e,r){r.d(e,["h",0,{Relative:0,Absolute:1}])},93397(t,e,r){r.d(e,{Bu:()=>_,DW:()=>M,FH:()=>z,FM:()=>a,Kn:()=>g,Kq:()=>O,MM:()=>u,Nl:()=>w,O2:()=>k,YC:()=>R,YF:()=>I,_1:()=>b,_d:()=>S,_h:()=>o,bs:()=>v,e6:()=>c,gQ:()=>s,jn:()=>m,lW:()=>h,ll:()=>E,mA:()=>f,oI:()=>$,pM:()=>C,pV:()=>y,pk:()=>T,rB:()=>A,xo:()=>x,yX:()=>W,zb:()=>P,zr:()=>d});var i=r(28076);function n(t){let e=t.length;for(;e--;)if(!" /-,\n".includes(t.charAt(e)))return!1;return!0}function s(t,e){const r=[];let i=0,s=-1;do{if(s=t.indexOf("[",i),s>=i){if(s>i){const e=t.slice(i,s);r.push([e,null,n(e)])}if(i=s+1,s=t.indexOf("]",i),s>=i){if(s>i){const n=e[t.slice(i,s)];n&&r.push([null,n,!1])}i=s+1}}}while(-1!==s);if(i<t.length){const e=t.slice(i);r.push([e,null,n(e)])}return r}function o(t,e,r){let i="",n=null;for(const r of e){const[e,s,o]=r;if(null!=e&&""!==e)o?n=e:(null!=n&&(i+=n,n=null),i+=e);else{const e=t.readAttribute(s);null!=e&&""!==e&&(null!==n&&(i+=n,n=null),i+=e)}}return l(i,r)}function a(t,e,r,i){let n="",s=null;for(const i of e){const[e,o,a]=i;if(null!=e&&""!==e)a?s=e:(null!=s&&(n+=s,s=null),n+=e);else{let e=o;null!=r&&(e=L(o,r));const i=t.attributes[e];null!=i&&""!==i&&(null!=s&&(n+=s,s=null),n+=i)}}return l(n,i)}function l(t,e){switch("string"!=typeof t&&(t=String(t)),e){case"LowerCase":return t.toLowerCase();case"Allcaps":return t.toUpperCase();default:return t}}function c(t){return t?[t[0],t[1],t[2],t[3]/255]:[0,0,0,0]}function h(t){return t.data?.symbol??null}function u(t){return"CIMVectorMarker"===t.type||"CIMPictureMarker"===t.type||"CIMBarChartMarker"===t.type||"CIMCharacterMarker"===t.type||"CIMPieChartMarker"===t.type||"CIMStackedBarChartMarker"===t.type}function f(t){return"CIMGradientStroke"===t.type||"CIMPictureStroke"===t.type||"CIMSolidStroke"===t.type}function m(t){return null!=t&&("CIMGradientFill"===t.type||"CIMHatchFill"===t.type||"CIMPictureFill"===t.type||"CIMSolidFill"===t.type||"CIMWaterFill"===t.type)}function d(t){return null!=t&&("CIMMarkerPlacementAlongLineRandomSize"===t.type||"CIMMarkerPlacementAlongLineSameSize"===t.type||"CIMMarkerPlacementAlongLineVariableSize"===t.type||"CIMMarkerPlacementAtExtremities"===t.type||"CIMMarkerPlacementAtMeasuredUnits"===t.type||"CIMMarkerPlacementAtRatioPositions"===t.type||"CIMMarkerPlacementOnLine"===t.type||"CIMMarkerPlacementOnVertices"===t.type)}const p=(t,e=0)=>null==t||isNaN(t)?e:t;function y(t){if(!t)return"normal";switch(t.toLowerCase()){case"italic":return"italic";case"oblique":return"oblique";default:return"normal"}}function g(t){if(!t)return"normal";switch(t.toLowerCase()){case"bold":return"bold";case"bolder":return"bolder";case"lighter":return"lighter";default:return"normal"}}function S(t){let e="normal",r="normal";if(t){const i=t.toLowerCase();i.includes("italic")?e="italic":i.includes("oblique")&&(e="oblique"),i.includes("bold")?r="bold":i.includes("light")&&(r="lighter")}return{style:e,weight:r}}function M(t){return t.underline?"underline":t.strikethrough?"line-through":"none"}function C(t){if(!t)return null;switch(t.type){case"CIMPolygonSymbol":if(t.symbolLayers)for(const e of t.symbolLayers){const t=C(e);if(null!=t)return t}break;case"CIMTextSymbol":return C(t.symbol);case"CIMSolidFill":return t.color}return null}function b(t){if(t)switch(t.type){case"CIMPolygonSymbol":case"CIMLineSymbol":{const e=t.symbolLayers;if(e)for(const t of e){const e=b(t);if(null!=e)return e}break}case"CIMTextSymbol":return b(t.symbol);case"CIMSolidStroke":return t.color}}function x(t){if(t)switch(t.type){case"CIMPolygonSymbol":case"CIMLineSymbol":if(t.symbolLayers)for(const e of t.symbolLayers){const t=x(e);if(void 0!==t)return t}break;case"CIMTextSymbol":return x(t.symbol);case"CIMSolidStroke":case"CIMGradientStroke":case"CIMPictureStroke":return t.width}}function _(t){switch(t){case"Left":default:return"left";case"Right":return"right";case"Center":return"center";case"Justify":return"justify"}}function w(t){switch(t){default:case"Bottom":return"bottom";case"Top":return"top";case"Center":return"middle";case"Baseline":return"baseline"}}function k(t){return(t?Object.keys(t):[]).map(e=>({name:e,alias:e,type:"string"==typeof t[e]?"esriFieldTypeString":"esriFieldTypeDouble"}))}function I(t){return t?t.charAt(0).toLowerCase()+t.slice(1):t}function P(t,e,r,i,n,s,o=!0){const{infos:a}=s;let l=1,c=0,h=0,u=0,f=1;for(const{absoluteAnchorPoint:t,offsetX:e,offsetY:r,rotation:i,size:n,frameHeight:s,rotateClockWise:m,scaleSymbolsProportionally:d}of a)f=t?1:l,h=G(e,r,c,f,h),u=F(e,r,c,f,u),s&&(d||o)&&(l*=n/s),c=H(i,m,c);const m=G(i,n,c,f,h),d=F(i,n,c,f,u);return{size:t*l,rotation:H(e,r,c),offsetX:m,offsetY:d}}function z(t){return t?.dashTemplate&&(t.dashTemplate=function(t){return"string"==typeof t?function(t){return t.split(" ").map(t=>Number(t))}(t):t}(t.dashTemplate)),t}function v(t){if(null==t)return"Normal";switch(t.type){case"CIMTextSymbol":return t.textCase??"Normal";case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":{const e=t.symbolLayers;if(!e)return"Normal";for(const t of e)if("CIMVectorMarker"===t.type)return v(t)}break;case"CIMVectorMarker":{const e=t.markerGraphics;if(!e)return"Normal";for(const t of e)if(t.symbol)return v(t.symbol)}}return"Normal"}function R(t){if(t)switch(t.type){case"CIMTextSymbol":return t.height;case"CIMPointSymbol":{let e=0;if(t.symbolLayers)for(const r of t.symbolLayers)if(r)switch(r.type){case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":{const t=r.size??i.D.CIMVectorMarker.size;t>e&&(e=t);break}}return e}case"CIMLineSymbol":case"CIMPolygonSymbol":{let e=0;if(t.symbolLayers)for(const r of t.symbolLayers)if(r)switch(r.type){case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":{const t=r.width;null!=t&&t>e&&(e=t);break}case"CIMCharacterMarker":case"CIMPictureMarker":case"CIMVectorMarker":case"CIMObjectMarker3D":case"CIMglTFMarker3D":if(r.markerPlacement&&d(r.markerPlacement)){const t=r.size??i.D.CIMVectorMarker.size;t>e&&(e=t)}break;case"CIMPictureFill":{const t=r.height;null!=t&&t>e&&(e=t)}}return e}}}function L(t,e){if(null!==e){const r=e.get(t);return r?r.name:t}return t}function T(t){return t.map(t=>({...t,propertyName:I(t.propertyName)}))}function A(t){const e={};for(const r in t){const i=t[r];e[I(r)]=i}return e}function E(t){if(!t)return 0;let e=0;for(const r of t)e+=D(r);return e}function D(t){if(!t)return 0;if(O(t))return t.inflateSize??256;switch(t.type){case"CIMGeometricEffectArrow":return Math.abs(.5*t.width);case"CIMGeometricEffectBuffer":return Math.abs(t.size);case"CIMGeometricEffectCircularSector":return Math.abs(t.radius??25);case"CIMGeometricEffectControlMeasureLine":return 500;case"CIMGeometricEffectExtension":return Math.abs(t.length);case"CIMGeometricEffectJog":return Math.abs(.5*t.length);case"CIMGeometricEffectMove":return Math.max(Math.abs(p(t.offsetX)),Math.abs(p(t.offsetY)));case"CIMGeometricEffectOffset":case"CIMGeometricEffectOffsetTangent":return Math.abs(t.offset);case"CIMGeometricEffectRadial":return Math.abs(t.length??5);case"CIMGeometricEffectRegularPolygon":return Math.abs(t.radius);case"CIMGeometricEffectRotate":case"CIMGeometricEffectScale":default:return 0;case"CIMGeometricEffectTaperedPolygon":return.5*Math.max(Math.abs(t.fromWidth),Math.abs(t.toWidth));case"CIMGeometricEffectWave":return Math.abs(t.amplitude);case"CIMGeometricEffectDonut":return Math.abs(t.width)}}function F(t,e,r,i,n){const s=r*Math.PI/180;if(s){const r=Math.cos(s);return(Math.sin(s)*t+r*e)*i+n}return e*i+n}function G(t,e,r,i,n){const s=r*Math.PI/180;return s?(Math.cos(s)*t-Math.sin(s)*e)*i+n:t*i+n}function H(t,e,r){return e?r-t:r+t}function W(t,e){return Math.max(Math.min((t??e)/100,1),0)}function O(t){return t.type.startsWith("Private")}function $(t){return null!=t&&function(t){return"setControlPoint"in t&&"getControlPoint"in t&&"setControlPointAt"in t&&"getControlPointAt"in t}(t)?t:void 0}r.d(e,["$w",0,p,"UE",0,t=>t.includes("data:image/svg+xml")])}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3885,6266,9397],{69540(t,e,i){var s=i(32198),r=i(69622),n=(i(44208),i(4718)),o=(i(53966),i(97768)),a=i(88620),l=i(64108);const h=Symbol("ClonableMixin"),u=t=>{var e;const i=t;let r=class extends i{constructor(){super(...arguments),this[e]=!0}static{e=h}clone(t){const e=(0,a.oY)(this);(0,o.Lw)(e,"unable to clone instance of non-accessor class");const i=e.metadata,s=e.store,r={},l=new Map;for(const e in i){const o=i[e],a=s?.originOf(e),h=o.clonable;if(o.readOnly||!1===h||7!==a&&0!==a&&5!==a&&4!==a)continue;const u=this[e];let c=null;if("function"==typeof h)c=h(u,t);else if("reference"===h)c=u;else if(c=(0,n.TU)(u,t),null!=u&&null==c)continue;0===a?l.set(e,c):r[e]=c}const h=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const t=(0,a.oY)(h)?.store;if(t)for(const[e,i]of l)t.set(e,i,0)}return h}};return r=(0,s.Cg)([(0,l.$)("esri.core.Clonable")],r),r},c=u(r.A);i.d(e,["OU",0,u,"Pw",0,c])},7762(t,e,i){var s,r=i(32198),n=i(98291),o=i(4576),a=i(65529),l=i(36563),h=i(4718),u=i(53966),c=i(93687),d=i(76030),p=i(78888),m=i(62788),f=i(10107),g=i(7695),y=i(64108),_=i(95488),v=i(12195);class b{constructor(){this.target=null,this.cancellable=!1,this.defaultPrevented=!1,this.item=void 0,this.type=void 0}preventDefault(){this.cancellable&&(this.defaultPrevented=!0)}reset(t){this.defaultPrevented=!1,this.item=t}}class w{constructor(t,e,i,s,r){this.target=t,this.added=e,this.removed=i,this.start=s,this.deleteCount=r}}const C=new c.A(()=>new b,void 0,t=>{t.item=null,t.target=null,t.defaultPrevented=!1,t.cancellable=!1});function A(t){t&&"object"==typeof t&&"destroy"in t&&"function"==typeof t.destroy&&t.destroy()}function S(t){return t?t instanceof x?t.toArray():t.length?Array.prototype.slice.apply(t):[]:[]}function M(t){if(t?.length)return t[0]}function E(t,e,i,s){const r=Math.min(t.length-i,e.length-s);let n=0;for(;n<r&&t[i+n]===e[s+n];)n++;return n}function P(t,e,i,s){e&&e.forEach((e,r,n)=>{t.push(e),P(t,i.call(s,e,r,n),i,s)})}const T=new Set,I=new Set,L=new Set,z=new Map;let R=0,x=s=class extends a.nJ{static ofType(t){if(!t)return s;if(z.has(t))return z.get(t);let e=null;if("function"==typeof t)e=t.prototype.declaredClass;else if(t.base)e=t.base.prototype.declaredClass;else for(const i in t.typeMap){const s=t.typeMap[i].prototype.declaredClass;e?e+=` | ${s}`:e=s}let i=class extends s{};return(0,r.Cg)([(0,g.u)({Type:t,ensureType:"function"==typeof t?(0,p.dp)(t):(0,p.aq)(t)})],i.prototype,"itemType",void 0),i=(0,r.Cg)([(0,y.$)(`esri.core.Collection<${e}>`)],i),z.set(t,i),i}static isCollection(t){return null!=t&&t instanceof s}constructor(t){super(t),this._chgListeners=[],this._notifications=null,this._updating=!1,this._timer=null,this._observable=new _.I,this._length=0,this._items=[],Object.defineProperty(this,"uid",{value:R++})}normalizeCtorArgs(t){return t?(0,o.yc)(t)||t instanceof s?{items:t}:t:{}}destroy(){this._removeAllRaw(),this._timer&&this._timer.remove(),super.destroy(),this._notifications=null}*[Symbol.iterator](){yield*this.items}get length(){return this._length}set length(t){t>this._length?u.A.getLogger(this).error("#length=","Cannot increase the length of the collection by assigning to the length property."):this.splice(t,Math.max(0,this._length-t))}get items(){return(0,m.gc)(this._observable),this._items}set items(t){this._emitBeforeChanges(1)||(this._splice(0,this.length,S(t)),this._emitAfterChanges(1))}hasEventListener(t){return!this.destroyed&&("change"===t?this._chgListeners.length>0:super.hasEventListener(t))}on(t,e){if(this.destroyed)return(0,l.hA)();if("change"===t){const t=this._chgListeners,i={removed:!1,callback:e};return t.push(i),this._notifications&&this._notifications.push({listeners:t.slice(),items:this._items.slice(),changes:[]}),(0,l.hA)(()=>{i.removed=!0,t.splice(t.indexOf(i),1)})}return super.on(t,e)}once(t,e){const i="deref"in e?()=>e.deref():()=>e,s=this.on(t,t=>{i()?.call(null,t),s.remove()});return s}add(t,e){if((0,m.gc)(this._observable),this._emitBeforeChanges(1))return this;const i=this.getNextIndex(e??null);return this._splice(i,0,[t]),this._emitAfterChanges(1),this}addMany(t,e=this._items.length){if((0,m.gc)(this._observable),!t?.length)return this;if(this._emitBeforeChanges(1))return this;const i=this.getNextIndex(e);return this._splice(i,0,S(t)),this._emitAfterChanges(1),this}at(t){if((0,m.gc)(this._observable),(t=Math.trunc(t)||0)<0&&(t+=this.length),!(t<0||t>=this.length))return this._items[t]}removeAll(){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return[];const t=this._removeAllRaw();return this._emitAfterChanges(2),t}_removeAllRaw(){return 0===this.length?[]:this._splice(0,this.length)||[]}clone(){return(0,m.gc)(this._observable),this._createNewInstance({items:this._items.map(h.o8)})}concat(...t){(0,m.gc)(this._observable);const e=t.map(S);return this._createNewInstance({items:this._items.concat(...e)})}drain(t,e){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const i=this._splice(0,this.length),s=i.length;for(let r=0;r<s;r++)t.call(e,i[r],r,i);this._emitAfterChanges(2)}destroyAll(){this.drain(A)}destroyMany(t){const e=this.removeMany(t);return e.forEach(A),e}every(t,e){return(0,m.gc)(this._observable),this._items.every(t,e)}filter(t,e){(0,m.gc)(this._observable);const i=2===arguments.length?this._items.filter(t,e):this._items.filter(t);return this._createNewInstance({items:i})}find(t,e){return(0,m.gc)(this._observable),this._items.find(t,e)}findIndex(t,e){return(0,m.gc)(this._observable),this._items.findIndex(t,e)}findLast(t,e){return(0,m.gc)(this._observable),this._items.findLast(t,e)}findLastIndex(t,e){return(0,m.gc)(this._observable),this._items.findLastIndex(t,e)}flatten(t,e){(0,m.gc)(this._observable);const i=[];return P(i,this,t,e),new s(i)}forEach(t,e){return(0,m.gc)(this._observable),this._items.forEach(t,e)}getItemAt(t){return(0,m.gc)(this._observable),this._items[t]}getNextIndex(t){(0,m.gc)(this._observable);const e=this.length;return(t=t??e)<0?t=0:t>e&&(t=e),t}includes(t,e=0){return(0,m.gc)(this._observable),this._items.includes(t,e)}indexOf(t,e=0){return(0,m.gc)(this._observable),this._items.indexOf(t,e)}join(t=","){return(0,m.gc)(this._observable),this._items.join(t)}lastIndexOf(t,e=this.length-1){return(0,m.gc)(this._observable),this._items.lastIndexOf(t,e)}map(t,e){(0,m.gc)(this._observable);const i=this._items.map(t,e);return new s({items:i})}reorder(t,e=this.length-1){(0,m.gc)(this._observable);const i=this.indexOf(t);if(-1!==i){if(e<0?e=0:e>=this.length&&(e=this.length-1),i!==e){if(this._emitBeforeChanges(4))return t;this._splice(i,1),this._splice(e,0,[t]),this._emitAfterChanges(4)}return t}}pop(){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const t=M(this._splice(this.length-1,1));return this._emitAfterChanges(2),t}push(...t){return(0,m.gc)(this._observable),this._emitBeforeChanges(1)||(this._splice(this.length,0,t),this._emitAfterChanges(1)),this.length}reduce(t,e){(0,m.gc)(this._observable);const i=this._items;return 2===arguments.length?i.reduce(t,e):i.reduce(t)}reduceRight(t,e){(0,m.gc)(this._observable);const i=this._items;return 2===arguments.length?i.reduceRight(t,e):i.reduceRight(t)}remove(t){return(0,m.gc)(this._observable),this.removeAt(this.indexOf(t))}removeAt(t){if((0,m.gc)(this._observable),t<0||t>=this.length||this._emitBeforeChanges(2))return;const e=M(this._splice(t,1));return this._emitAfterChanges(2),e}removeMany(t){if((0,m.gc)(this._observable),!t?.length||this._emitBeforeChanges(2))return[];const e=t instanceof s?t.toArray():t,i=this._items,r=[],n=e.length;for(let t=0;t<n;t++){const s=e[t],n=i.indexOf(s);if(n>-1){const s=1+E(e,i,t+1,n+1),o=this._splice(n,s);o&&o.length>0&&r.push.apply(r,o),t+=s-1}}return this._emitAfterChanges(2),r}reverse(){if((0,m.gc)(this._observable),this._emitBeforeChanges(4))return this;const t=this._splice(0,this.length);return t&&(t.reverse(),this._splice(0,0,t)),this._emitAfterChanges(4),this}shift(){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const t=M(this._splice(0,1));return this._emitAfterChanges(2),t}slice(t=0,e=this.length){return(0,m.gc)(this._observable),this._createNewInstance({items:this._items.slice(t,e)})}some(t,e){return(0,m.gc)(this._observable),this._items.some(t,e)}sort(t){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(4)||!this._requiresSort(t))return this;const e=this._splice(0,this.length);return arguments.length?e.sort(t):e.sort(),this._splice(0,0,e),this._emitAfterChanges(4),this}_requiresSort(t=(t,e)=>t===e?0:t<e?-1:1){const e=this.length-1;for(let i=0;i<e;i++)if(t(this.items[i],this.items[i+1])>0)return!0;return!1}splice(t,e,...i){(0,m.gc)(this._observable),1===arguments.length&&(e=this.length),e??=0;const s=(e?2:0)|(i.length?1:0);if(this._emitBeforeChanges(s))return[];const r=this._splice(t,e,i)||[];return this._emitAfterChanges(s),r}toArray(){return(0,m.gc)(this._observable),this._items.slice()}toJSON(t){return(0,m.gc)(this._observable),this.toArray().map(e=>(0,v.W)(e)?e.toJSON(t):e)}toLocaleString(){return(0,m.gc)(this._observable),this._items.toLocaleString()}toString(){return(0,m.gc)(this._observable),this._items.toString()}unshift(...t){return(0,m.gc)(this._observable),!t.length||this._emitBeforeChanges(1)||(this._splice(0,0,t),this._emitAfterChanges(1)),this.length}_createNewInstance(t){return new this.constructor(t)}_splice(t,e,i){const s=this._items,r=this.itemType;let n,o;if(!this._notifications&&this.hasEventListener("change")&&(this._notifications=[{listeners:this._chgListeners.slice(),items:this._items.slice(),changes:[]}],this._timer&&this._timer.remove(),this._updating=!0,this._timer=(0,d._)(()=>this._dispatchChange())),t<0&&(t+=this.length),e){if(o=s.splice(t,e),this.hasEventListener("before-remove")){const e=C.acquire();e.target=this,e.cancellable=!0;for(let i=0,r=o.length;i<r;i++)n=o[i],e.reset(n),this.emit("before-remove",e),e.defaultPrevented&&(o.splice(i,1),s.splice(t,0,n),t+=1,i-=1,r-=1);C.release(e)}if(this._length=this._items.length,this.hasEventListener("after-remove")){const t=C.acquire();t.target=this,t.cancellable=!1;const e=o.length;for(let i=0;i<e;i++)t.reset(o[i]),this.emit("after-remove",t);C.release(t)}}if(i?.length){if(r){const t=[];for(const e of i){const i=r.ensureType(e);null==i&&null!=e||t.push(i)}i=t}const e=this.hasEventListener("before-add"),n=this.hasEventListener("after-add"),o=t===this.length;if(e||n){const r=C.acquire();r.target=this,r.cancellable=!0;const a=C.acquire();a.target=this,a.cancellable=!1;for(const l of i)e?(r.reset(l),this.emit("before-add",r),r.defaultPrevented||(o?s.push(l):s.splice(t++,0,l),this._length=s.length,n&&(a.reset(l),this.emit("after-add",a)))):(o?s.push(l):s.splice(t++,0,l),this._length=s.length,a.reset(l),this.emit("after-add",a));C.release(a),C.release(r)}else{if(o)for(const t of i)s.push(t);else s.splice(t,0,...i);this._length=s.length}}if((i?.length||o?.length)&&this._notifyChangeEvent(i,o),this.hasEventListener("after-splice")){const s=new w(this,i,o,t,e);this.emit("after-splice",s)}return o}_emitBeforeChanges(t){let e=!1;if(this.hasEventListener("before-changes")){const i=C.acquire();i.target=this,i.cancellable=!0,i.type=t,this.emit("before-changes",i),e=i.defaultPrevented,C.release(i)}return e}_emitAfterChanges(t){if(this.hasEventListener("after-changes")){const e=C.acquire();e.target=this,e.cancellable=!1,e.type=t,this.emit("after-changes",e),C.release(e)}this._observable.notify()}_notifyChangeEvent(t,e){this.hasEventListener("change")&&this._notifications&&this._notifications[this._notifications.length-1].changes.push({added:t,removed:e})}get updating(){return this._updating}_dispatchChange(){if(this._timer&&(this._timer.remove(),this._timer=null),this._updating=!1,!this._notifications)return;const t=this._notifications;this._notifications=null;for(const e of t){const t=e.changes;T.clear(),I.clear(),L.clear();for(const{added:e,removed:i}of t){if(e)if(0===L.size&&0===I.size)for(const t of e)T.add(t);else for(const t of e)I.has(t)?(L.add(t),I.delete(t)):L.has(t)||T.add(t);if(i)if(0===L.size&&0===T.size)for(const t of i)I.add(t);else for(const t of i)T.has(t)?T.delete(t):(L.delete(t),I.add(t))}const i=n.A.acquire();T.forEach(t=>{i.push(t)});const s=n.A.acquire();I.forEach(t=>{s.push(t)});const r=this._items,o=e.items,a=n.A.acquire();if(L.forEach(t=>{o.indexOf(t)!==r.indexOf(t)&&a.push(t)}),e.listeners&&(i.length||s.length||a.length)){const t={target:this,added:i,removed:s,moved:a},r=e.listeners.length;for(let i=0;i<r;i++){const s=e.listeners[i];s.removed||s.callback.call(this,t)}}n.A.release(i),n.A.release(s),n.A.release(a)}T.clear(),I.clear(),L.clear()}};(0,r.Cg)([(0,f.MZ)()],x.prototype,"_updating",void 0),(0,r.Cg)([(0,f.MZ)()],x.prototype,"_length",void 0),(0,r.Cg)([(0,f.MZ)()],x.prototype,"length",null),(0,r.Cg)([(0,f.MZ)()],x.prototype,"items",null),(0,r.Cg)([(0,f.MZ)({readOnly:!0})],x.prototype,"updating",null),x=s=(0,r.Cg)([(0,y.$)("esri.core.Collection")],x);const D=x;i.d(e,["A",0,D])},4902(t,e,i){var s=i(32198),r=i(64108);let n=0;const o=t=>{const e=t;let i=class extends e{constructor(...t){super(...t),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+n++})}};return i=(0,s.Cg)([(0,r.$)("esri.core.Identifiable")],i),i};o(class{}),i.d(e,["s",0,o])},66344(t,e,i){i.d(e,{q:()=>a});const s=!!(0,i(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(t=10485760,e=.3){this._maxSize=t,this._maxClientSizeRatio=e,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(t){this._clients.set(t.id.slice(0,-1),t)}deregister(t){this.clear(t),this._sizeLimits.delete(t),this._clients.delete(t.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(t,e){const i=this._db.get(t.id+e);return i?.size??0}put(t,e,i,r,o){e=t.id+e;const a=this._db.get(e);if(a&&(this._size-=a.size,t.size-=a.size,this._db.delete(e),a.entry!==i&&this._notifyRemove(e,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(e,i,r,0);if(void 0===i)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return s||console.warn(`Refusing to cache entry with size ${r} for key ${e}`),void this._notifyRemove(e,i,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(e,new n(i,r,l)),this._size+=r,t.size+=r,this._checkSize()}updateSize(t,e){e=t.id+e;const i=this._db.get(e);if(!i)return;this._size-=i.size,t.size-=i.size;let s=i.entry.usedMemory;for(;s>this._maxSize;){const t=this._notifyRemove(e,i.entry,s,1);if(!(null!=t&&t>0))return void this._db.delete(e);s=t}i.size=s,this._size+=s,t.size+=s,this._checkSize()}pop(t,e){e=t.id+e;const i=this._db.get(e);if(i)return this._size-=i.size,t.size-=i.size,this._db.delete(e),++this._hit,i.entry;++this._miss}get(t,e){e=t.id+e;const i=this._db.get(e);if(void 0!==i)return this._db.delete(e),i.lives=i.lifetime,this._db.set(e,i),++this._hit,i.entry;++this._miss}peek(t,e){const i=this._db.get(t.id+e);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const t={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},e={},i=new Array;this._db.forEach((t,s)=>{const r=t.lifetime;i[r]=(i[r]||0)+t.size,this._clients.forEach(i=>{const{id:r,name:n}=i;if(s.startsWith(r)){const i=e[n]||0;e[n]=i+t.size}})});const s={};this._clients.forEach(t=>{const i=t.name;if("hitRate"in t&&"number"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const r=e[i]||0;e[i]=r,s[i]=Math.round(100*t.hitRate)+"%"}else s[i]="0%"});const r=Object.keys(e);r.sort((t,i)=>e[i]-e[t]),r.forEach(i=>t[i]=Math.round(e[i]/2**20)+"MB / "+s[i]);for(let e=i.length-1;e>=0;--e){const s=i[e];s&&(t["Priority "+(e+-3-1)]=Math.round(s/this._size*100)+"%")}return t}resetStats(){this._hit=this._miss=0,this._clients.forEach(t=>t.resetHitRate())}clear(t){const e=t.id;this._db.forEach((t,i)=>{i.startsWith(e)&&(this._size-=t.size,this._db.delete(i),this._notifyRemove(i,t.entry,t.size,0))}),t.size=0}clearAll(){this._db.forEach((t,e)=>this._notifyRemove(e,t.entry,t.size,0)),this._clients.forEach(t=>t.size=0),this._size=0,this._db.clear()}*values(t){for(const[e,i]of this._db)e.startsWith(t.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,e,i,s){const r=this._clients.get(t.split(o)[0])?.removeFunc,n=r?.(e,s,i);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((t,e)=>this._checkSizeLimits(t,e)),this._clients.forEach(t=>this._checkSizeLimits(this._maxClientSize,t)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(t,e){null==e||e<=0?this._sizeLimits.delete(t):this._sizeLimits.set(t,e)}_checkSizeLimits(t,e){const i=e??this;if(i.size<=t)return;const s=e?.id;let r=!0;for(;r;){r=!1;for(const[n,a]of this._db)if(0===a.lifetime&&(!s||n.startsWith(s))){const s=e??this._clients.get(n.split(o)[0]);if(this._purgeItem(n,a,s),i.size<=.9*t)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!s||r.startsWith(s)){const s=e??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,n,s),i.size<=.9*t)return}}_purgeItem(t,e,i){if(this._db.delete(t),e.lives<=1){this._size-=e.size,i&&(i.size-=e.size);const s=this._notifyRemove(t,e.entry,e.size,1);null!=s&&s>0&&(this._size+=s,i&&(i.size+=s),e.lives=e.lifetime,e.size=s,this._db.set(t,e))}else--e.lives,this._db.set(t,e)}}new r(0);class n{constructor(t,e,i){this.entry=t,this.size=e,this.lifetime=i,this.lives=i}}const o=":";class a{constructor(t,e){this.removeFunc=e,this.id="",this.name="",this.size=0,this._storage=new r(t,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(t,e,i=1){this._storage.put(this,t,e,i,1)}pop(t){return this._storage.pop(this,t)}get(t){return this._storage.get(this,t)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(t){this._storage.maxSize=t}resetHitRate(){}}},7695(t,e,i){function s(t){return(e,i)=>{e[i]=t}}i.d(e,{u:()=>s})},60999(t,e,i){i.d(e,{DZ:()=>m,Ke:()=>p,QA:()=>f,Tj:()=>u,UT:()=>g,aD:()=>_,jJ:()=>h});var s=i(32198),r=i(69622),n=i(97768),o=i(17676),a=i(10107),l=i(64108);function h(t,e,i){return(0,o.Lx)(t.map((t,s)=>e.apply(i,[t,s])))}async function u(t,e,i){return(await(0,o.Lx)(t.map((t,s)=>e.apply(i,[t,s])))).map(t=>t.value)}function c(t){return{ok:!0,value:t}}function d(t){return{ok:!1,error:t}}async function p(t){if(null==t)return{ok:!1,error:new Error("no promise provided")};try{return c(await t)}catch(t){return d(t)}}async function m(t){try{return c(await t)}catch(t){return(0,o.QP)(t),d(t)}}function f(t){if(!0===t.ok)return t.value;throw t.error}function g(t,e){return new y(t,e)}let y=class extends r.A{get value(){return null!=(t=this._result)&&!0===t.ok?t.value:null;var t}get error(){return null!=(t=this._result)&&!1===t.ok?t.error:null;var t}get finished(){return null!=this._result}constructor(t,e){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,n.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:i}=this._abortController;this.promise=t(i),this.promise.then(t=>{this._result=c(t),this._cleanup()},t=>{this._result=d(t),this._cleanup()}),this._abortHandle=(0,o.u7)(e,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,n.xt)(this._abortHandle),this._abortController=null}};(0,s.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,s.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,s.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,s.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,s.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,s.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class _{constructor(){this._sequence=Promise.resolve()}async acquire(){let t;this._sequence=new Promise(e=>{t=this._sequence.then(()=>e,()=>e)});const e=await t;return{[Symbol.dispose]:e}}async run(t){const e={stack:[],error:void 0,hasError:!1};try{return(0,s.mS)(e,await this.acquire(),!1),await t()}catch(t){e.error=t,e.hasError=!0}finally{(0,s.hk)(e)}}}},69397(t,e,i){i.d(e,{Qf:()=>a,Qh:()=>n,lM:()=>r});var s=i(34275);function r(t){if(!t)return 0;let e=h;for(const i in t)t.hasOwnProperty(i)&&(e+=o(t[i],!1));return e}function n(t){if(!t)return 0;if("number"==typeof t[0])return a(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return l(t,8);let i=u;for(let s=0;s<e;s++)i+=o(t[s]);return i}(t);let e=h;for(const i in t)t.hasOwnProperty(i)&&(e+=o(t[i]));return e}function o(t,e=!0){switch(typeof t){case"object":return e?n(t):h;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...t){return t.reduce((t,e)=>t+(e?(0,s.iu)(e)?e.byteLength+c:Array.isArray(e)?l(e,16):0:0),0)}function l(t,e){return u+t.length*e}const h=32,u=16,c=145},36708(t,e,i){i.d(e,{C_:()=>d,on:()=>c,wB:()=>l,z7:()=>h});var s=i(37955),r=i(36563),n=i(97768),o=i(17676),a=i(14012);function l(t,e,i={}){return u(t,e,i,p)}function h(t,e,i={}){return u(t,e,i,m)}function u(t,e,i={},s){let r=null;const o=i.once?(t,i)=>{s(t)&&((0,n.xt)(r),e(t,i))}:(t,i)=>{s(t)&&e(t,i)};if(r=(0,a.Cn)(t,o,i.sync,i.equals),i.initial){const e=t();o(e,e)}return r}function c(t,e,i,o={}){let a=null,h=null,u=null;function c(){a&&h&&(h.remove(),o.onListenerRemove?.(a),a=null,h=null)}function d(t){o.once&&o.once&&(0,n.xt)(u),i(t)}const p=l(t,(t,i)=>{c(),(0,s.wb)(t)&&(a=t,h=(0,s.on)(t,e,d),o.onListenerAdd?.(t))},{sync:o.sync,initial:!0});return u=(0,r.hA)(()=>{p.remove(),c()}),u}function d(t,e){return function(t,e,i){if((0,o.G4)(i))return Promise.reject((0,o.NK)());const s=t();if(e?.(s))return Promise.resolve(s);let a=null;function l(){a=(0,n.xt)(a)}return new Promise((s,n)=>{a=(0,r.vE)([(0,o.u7)(i,()=>{l(),n((0,o.NK)())}),u(t,t=>{l(),s(t)},{sync:!1,once:!0},e??p)])})}(t,m,e)}function p(t){return!0}function m(t){return!!t}i(80559),i.d(e,["OH",0,{sync:!0},"Vh",0,{initial:!0},"pc",0,{sync:!0,initial:!0}])},88930(t,e,i){i.d(e,{S1:()=>a,VW:()=>l,lL:()=>h,rb:()=>u,t:()=>c});var s=i(97770),r=(i(98623),i(34747));const n=/^(?<hh>([01][0-9])|(2[0-3])):(?<mm>[0-5][0-9])(:(?<ss>[0-5][0-9]))?(\.(?<ms>\d+))?$/,o={milliseconds:1,seconds:1e3,minutes:6e4,hours:36e5,days:864e5,weeks:6048e5,months:26784e5,years:31536e6,decades:31536e7,centuries:31536e8,unknown:NaN};function a(t,e,i,n="system"){if("unknown"===i)return t;const o=new r.oh((0,s.wj)(n)),a=r.c9.fromJSDate(t,{zone:o}),l="decades"===i||"centuries"===i?"year":function(t){switch(t){case"milliseconds":return"millisecond";case"seconds":return"second";case"minutes":return"minute";case"hours":return"hour";case"days":return"day";case"weeks":return"week";case"months":return"month";case"years":return"year"}}(i);return"decades"===i&&(e*=10),"centuries"===i&&(e*=100),a.plus({[l]:e}).toJSDate()}function l(t,e,i="milliseconds"){const s=t.getTime(),r=c(e,i,"milliseconds");return new Date(s+r)}function h(t,e,i="system"){const{unit:n}=e,o=Math.max(1,Math.trunc(e.value)),a=new r.oh((0,s.wj)(i)),l=r.c9.fromJSDate(t,{zone:a}),h=t=>t-t%o;switch(n){case"milliseconds":return l.startOf("second").plus({millisecond:h(l.millisecond)}).toJSDate();case"seconds":return l.startOf("minute").plus({second:h(l.second)}).toJSDate();case"minutes":return l.startOf("hour").plus({minute:h(l.minute)}).toJSDate();case"hours":return l.startOf("day").plus({hour:h(l.hour)}).toJSDate();case"days":return l.startOf("month").plus({day:h(l.day-1)}).toJSDate();case"weeks":{const t=l.startOf("year").startOf("week"),e=Math.floor(l.diff(t,"weeks").weeks);return t.plus({week:h(e)}).toJSDate()}case"months":return l.startOf("year").plus({month:h(l.month-1)}).toJSDate();case"years":case"decades":case"centuries":{const t=l.startOf("year"),e=("decades"===n?10:"centuries"===n?100:1)*o,i=t.year-t.year%e;return t.set({year:i}).toJSDate()}case"unknown":return t}}function u(t){const e=n.exec(t);if(!e)return null;const{hh:i,mm:s,ss:r,ms:a}=e.groups;return Number(i)*o.hours+Number(s)*o.minutes+Number(r||0)*o.seconds+Number(a||0)}function c(t,e,i){return 0===t?0:t*o[e]/o[i]}},83027(t,e,i){const s=i(29953).ho;i.d(e,["h",0,s])},48526(t,e,i){i.d(e,{A:()=>g});var s,r=i(32198),n=i(4576),o=i(4718),a=i(91429),l=i(5443),h=i(91075),u=i(86738),c=i(16930),d=i(90634),p=i(47610),m=i(56993),f=i(43937);let g=s=class extends h.A{constructor(t){super(function(t){if(!t)return;let{points:e,hasM:i,hasZ:s,spatialReference:r}=t;switch(e??=[],e?.at(0)?.length){case 4:s??=!0,i??=!0;break;case 3:s??=!0!==i,i??=!s;break;default:s??=!1,i??=!1}return r??=c.A.WGS84,{...t,hasM:i,hasZ:s,points:e,spatialReference:r}}(t)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const t=(0,d.ge)(this);return t?new l.A({...t,spatialReference:this.spatialReference}):null}writePoints(t,e){e.points=(0,o.o8)(this.points)}clone(){const{points:t,spatialReference:e,hasM:i,hasZ:r}=this;return new s({points:(0,o.o8)(t),spatialReference:e.clone(),hasM:i,hasZ:r})}equals(t){if(this===t)return!0;if(null==t)return!1;const e=this.spatialReference,i=t.spatialReference;return null!=e==(null!=i)&&!(null!=e&&null!=i&&!e.equals(i))&&(0,n.aI)(this.points,t.points,p.v6)}addPoint(t){return(0,m.h)(this,t),Array.isArray(t)?this.points.push(t):this.points.push(t.toArray()),this.notifyChange("points"),this}getPoint(t){if(!this._validateInputs(t))return null;const e=this.points[t],i={x:e[0],y:e[1],spatialReference:this.spatialReference};let s=2;return this.hasZ&&(i.z=e[2],s=3),this.hasM&&(i.m=e[s]),new u.A(i)}removePoint(t){if(!this._validateInputs(t))return null;const e=new u.A(this.points.splice(t,1)[0],this.spatialReference);return this.notifyChange("points"),e}setPoint(t,e){return this._validateInputs(t)?((0,m.h)(this,e),Array.isArray(e)||(e=e.toArray()),this.points[t]=e,this.notifyChange("points"),this):this}toJSON(t){return this.write({},t)}_validateInputs(t){return null!=t&&t>=0&&t<this.points.length}};(0,r.Cg)([(0,a.MZ)({readOnly:!0})],g.prototype,"cache",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0})],g.prototype,"extent",null),(0,r.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],g.prototype,"points",void 0),(0,r.Cg)([(0,f.K)("points")],g.prototype,"writePoints",null),g=s=(0,r.Cg)([(0,a.$K)("esri.geometry.Multipoint")],g),g.prototype.toJSON.isDefaultToJSON=!0},82799(t,e,i){i.d(e,{A:()=>m});var s,r=i(32198),n=i(4718),o=i(91429),a=i(5443),l=i(91075),h=i(86738),u=i(16930),c=i(90634),d=i(56993),p=i(43937);let m=s=class extends l.A{constructor(t){super(function(t){if(!t)return;let{paths:e,hasM:i,hasZ:s,spatialReference:r}=t;switch(e??=[],function(t){return"number"==typeof t[0]?.[0]}(e)&&(e=[e]),e[0]?.[0]?.length){case 4:s??=!0,i??=!0;break;case 3:s??=!0!==i,i??=!s;break;default:s??=!1,i??=!1}return r??=u.A.WGS84,{...t,hasM:i,hasZ:s,paths:e,spatialReference:r}}(t)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(t,e){e.curvePaths=(0,n.o8)(t)}get extent(){const t=(0,c.Z3)(this),{spatialReference:e}=this;return t?new a.A({...t,spatialReference:e}):null}writePaths(t,e){e.paths=(0,n.o8)(this.paths)}addPath(t){if(!t)return;const e=this.paths,i=e.length;if(function(t){return!Array.isArray(t[0])}(t)){const s=[];for(let e=0,i=t.length;e<i;e++)s[e]=t[e].toArray();e[i]=s}else e[i]=t.slice();return this.notifyChange("paths"),this}clone(){const t=new s;return t.spatialReference=this.spatialReference,t.paths=(0,n.o8)(this.paths),t.curvePaths=(0,n.o8)(this.curvePaths),t.hasZ=this.hasZ,t.hasM=this.hasM,t}getPoint(t,e){if(!this._validateInputs(t,e))return null;const i=this.paths[t][e],s=this.hasZ,r=this.hasM;return s&&!r?new h.A(i[0],i[1],i[2],void 0,this.spatialReference):r&&!s?new h.A(i[0],i[1],void 0,i[2],this.spatialReference):s&&r?new h.A(i[0],i[1],i[2],i[3],this.spatialReference):new h.A(i[0],i[1],this.spatialReference)}insertPoint(t,e,i){return this._validateInputs(t,e,!0)?((0,d.h)(this,i),Array.isArray(i)||(i=i.toArray()),this.paths[t].splice(e,0,i),this.notifyChange("paths"),this):this}removePath(t){if(!this._validateInputs(t,null))return null;const e=this.paths.splice(t,1)[0],i=this.spatialReference,s=e.map(t=>new h.A(t,i));return this.notifyChange("paths"),s}removePoint(t,e){if(!this._validateInputs(t,e))return null;const i=new h.A(this.paths[t].splice(e,1)[0],this.spatialReference);return this.notifyChange("paths"),i}setPoint(t,e,i){return this._validateInputs(t,e)?((0,d.h)(this,i),Array.isArray(i)||(i=i.toArray()),this.paths[t][e]=i,this.notifyChange("paths"),this):this}_validateInputs(t,e,i=!1){if(null==t||t<0||t>=this.paths.length)return!1;if(null!=e){const s=this.paths[t];if(i&&(e<0||e>s.length))return!1;if(!i&&(e<0||e>=s.length))return!1}return!0}toJSON(t){return this.write({},t)}};(0,r.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"cache",null),(0,r.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],m.prototype,"curvePaths",void 0),(0,r.Cg)([(0,p.K)("curvePaths")],m.prototype,"writeCurvePaths",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"extent",null),(0,r.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],m.prototype,"paths",void 0),(0,r.Cg)([(0,p.K)("paths")],m.prototype,"writePaths",null),m=s=(0,r.Cg)([(0,o.$K)("esri.geometry.Polyline")],m),m.prototype.toJSON.isDefaultToJSON=!0},60408(t,e,i){function s(t){return void 0!==t.xmin&&void 0!==t.ymin&&void 0!==t.xmax&&void 0!==t.ymax}function r(t){return void 0!==t.points}function n(t){return void 0!==t.x&&void 0!==t.y}function o(t){return void 0!==t.paths||void 0!==t.curvePaths}function a(t){return void 0!==t.rings||void 0!==t.curveRings}function l(t){return"object"==typeof t&&"vertexAttributes"in t}function h(t){return t?n(t)?"esriGeometryPoint":o(t)?"esriGeometryPolyline":a(t)?"esriGeometryPolygon":s(t)?"esriGeometryEnvelope":r(t)?"esriGeometryMultipoint":null:null}function u(t){return null!=t&&("hasZ"in t&&t.hasZ||"z"in t&&null!=t.z)}function c(t){return null!=t&&("hasM"in t&&t.hasM||"m"in t&&null!=t.m)}i.d(e,{$B:()=>h,Bi:()=>a,Pv:()=>u,Rg:()=>o,U9:()=>r,W0:()=>c,ZC:()=>s,fT:()=>n,uW:()=>l})},97770(t,e,i){i.d(e,{Ey:()=>R,F8:()=>z,J2:()=>P,Yq:()=>I,_m:()=>T,iS:()=>L,wj:()=>x});var s=i(66552),r=i(73444),n=i(98623),o=i(34747);const a={dateStyle:void 0,year:void 0,month:void 0,day:void 0,weekday:void 0},l={timeStyle:void 0,hour12:void 0,hourCycle:void 0,hour:void 0,minute:void 0,second:void 0},h={timeZone:"UTC"},u={year:"numeric",month:"numeric",day:"numeric"},c={year:"numeric",month:"long",day:"numeric"},d={year:"numeric",month:"short",day:"numeric"},p={year:"numeric",month:"long",weekday:"long",day:"numeric"},m={hour:"numeric",minute:"numeric"},f={...m,second:"numeric"},g={hourCycle:"h23"},y={...m,...g},_={...f,...g},v={"short-date":u,"short-date-short-time":{...u,...m},"short-date-short-time-24":{...u,...y},"short-date-long-time":{...u,...f},"short-date-long-time-24":{...u,..._},"short-date-le":u,"short-date-le-short-time":{...u,...m},"short-date-le-short-time-24":{...u,...y},"short-date-le-long-time":{...u,...f},"short-date-le-long-time-24":{...u,..._},"long-month-day-year":c,"long-month-day-year-short-time":{...c,...m},"long-month-day-year-short-time-24":{...c,...y},"long-month-day-year-long-time":{...c,...f},"long-month-day-year-long-time-24":{...c,..._},"day-short-month-year":d,"day-short-month-year-short-time":{...d,...m},"day-short-month-year-short-time-24":{...d,...y},"day-short-month-year-long-time":{...d,...f},"day-short-month-year-long-time-24":{...d,..._},"long-date":p,"long-date-short-time":{...p,...m},"long-date-short-time-24":{...p,...y},"long-date-long-time":{...p,...f},"long-date-long-time-24":{...p,..._},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":m,"long-time":f},b=(0,s.O)()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),w={ar:"ar-u-nu-latn-ca-gregory",nn:"no-NN"},C=new Intl.DateTimeFormat("bs",{month:"long"}).formatToParts(new Date(2025,2)),A=C.find(({type:t})=>"month"===t)?.value.toLowerCase();function S(){const t=(0,r.lR)();return(t&&w[t])??(0,r.QC)()}"mart"!==A&&(w.bs="sr-Latn-CS");let M=new WeakMap;const E=v["short-date-short-time"];function P(t){return v[t]}function T(t){const{dateStyle:e,timeStyle:i,hour12:s,year:r,month:n}=t,o={};return e?o.dateStyle=e:r&&(o.year=r,o.month=n||void 0),i&&!o.year&&(o.timeStyle=i,o.hour12="auto"===s?void 0:"always"===s),o}function I(t,e=E){return function(t){let e=M.get(t);if(!e){const i=S(),s=x(t.timeZone??"system"),r={...t,timeZone:s};e=new Intl.DateTimeFormat(i,r),M.set(t,e)}return e}(e).format(t)}function L(t,e=E){return I(new Date(t),{...e,...h,...l})}function z(t,e=E){return I(new Date(`1970-01-01T${t}Z`),{...e,...h,...a})}function R(t,e=E){const i=o.c9.fromISO(t,{setZone:!0});if(!i.isValid)return t;if(e.timeZone)return I(i.toJSDate(),e);const s=0===i.offset?"UTC":e.timeZone,r={...e,timeZone:s};return i.toLocaleString(r,{locale:S()})}function x(t){switch(t){case"system":return n.N;case n.L:return"UTC";default:return t}}(0,r.Ml)(()=>{M=new WeakMap}),i.d(e,["_v",0,b])},4146(t,e,i){i.d(e,{A:()=>_});var s=i(32198),r=i(56507),n=i(49186),o=i(65529),a=i(4902),l=i(92474),h=i(53966),u=i(17676),c=i(84952),d=i(91429),p=i(5443),m=i(16930),f=i(92602),g=i(79677);let y=0,_=class extends((0,o.Zt)((0,a.s)(l.x_))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new p.A(-180,-90,180,90,m.A.WGS84),this.id=Date.now().toString(16)+"-layer-"+y++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=m.A.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(t){const e="string"==typeof t?{url:t}:t;return(await Promise.all([i.e(812),i.e(7982)]).then(()=>i(27982))).fromUrl(e)}static fromPortalItem(t){return async function(t){const e="portalItem"in t?t:{portalItem:t},{fromItem:s}=await Promise.all([i.e(9917),i.e(812),i.e(8559)]).then(()=>i(45613));try{return await s(e)}catch(t){const i=e?.portalItem,s=i?.id||"unset",r=i?.portal?.url||f.A.portalUrl;throw h.A.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+r+"', id: '"+s+"')",t),t}}(t)}initialize(){this.when().catch(t=>{(0,u.zf)(t)||h.A.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:t})})}destroy(){const{parent:t}=this;t&&(this.parent=null,t.removeChildLayer?.(this))}get effectiveVisible(){return this.visible&&(this.parent?.effectiveVisible??!0)}get hasAttributionData(){return null!=this.attributionDataUrl}get loaded(){return super.loaded}removeFromParent(){const{parent:t}=this;t&&(t.removeChildLayer?.(this),this.parent=null)}get parsedUrl(){return(0,c.An)(this.url)}createLayerView(t,e){return Promise.reject(new n.A("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const t=this.attributionDataUrl;if(this.hasAttributionData&&t)return(await(0,r.A)(t,{query:{f:"json"},responseType:"json"})).data;throw new n.A("layer:no-attribution-data","Layer does not have attribution data")}};(0,s.Cg)([(0,d.MZ)({type:String})],_.prototype,"attributionDataUrl",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0})],_.prototype,"effectiveVisible",null),(0,s.Cg)([(0,d.MZ)({type:p.A})],_.prototype,"fullExtent",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0})],_.prototype,"hasAttributionData",null),(0,s.Cg)([(0,d.MZ)({type:String,clonable:!1})],_.prototype,"id",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean,nonNullable:!0})],_.prototype,"legendEnabled",void 0),(0,s.Cg)([(0,d.MZ)({type:["show","hide","hide-children"]})],_.prototype,"listMode",void 0),(0,s.Cg)([(0,d.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0})],_.prototype,"opacity",void 0),(0,s.Cg)([(0,d.MZ)({clonable:!1})],_.prototype,"parent",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0})],_.prototype,"parsedUrl",null),(0,s.Cg)([(0,d.MZ)({type:Boolean,readOnly:!0})],_.prototype,"persistenceEnabled",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean})],_.prototype,"popupEnabled",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean})],_.prototype,"attributionVisible",void 0),(0,s.Cg)([(0,d.MZ)({type:m.A})],_.prototype,"spatialReference",void 0),(0,s.Cg)([(0,d.MZ)({type:String})],_.prototype,"title",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0,json:{read:!1}})],_.prototype,"type",void 0),(0,s.Cg)([(0,d.MZ)()],_.prototype,"url",void 0),(0,s.Cg)([(0,d.MZ)({type:g.A})],_.prototype,"visibilityTimeExtent",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean,nonNullable:!0})],_.prototype,"visible",void 0),_=(0,s.Cg)([(0,d.$K)("esri.layers.Layer")],_)},8303(t,e,i){var s=i(32198),r=i(92602),n=i(70333),o=i(56507),a=i(60999),l=i(49186),h=i(36563),u=i(53966),c=i(97768),d=i(17676),p=i(84952),m=i(91429),f=i(77548),g=i(20655),y=i(80812),_=i(41318),v=i(10407),b=i(36005),w=i(43937);const C={credential:null,user:null};i.d(e,["A",0,t=>{const e=t;let A=class extends e{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){super.destroy(),this.portalItem=(0,c.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get("portalItem")}set portalItem(t){t!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",t))}readPortalItem(t,e,i){if(e.itemId)return new y.default({id:e.itemId,portal:i?.portal})}writePortalItem(t,e){t?.id&&(e.itemId=t.id)}async loadFromPortal(t,e){if(this.portalItem?.id)try{const{load:s}=await i.e(1204).then(()=>i(41204));return(0,d.Te)(e),await s({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},e)}catch(t){throw(0,d.zf)(t)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${t}`),t}}async reloadFromPortal(t){if(!this.loaded||!this.portalItem?.id)return!1;try{const{reload:e}=await i.e(1204).then(()=>i(41204)),s=new AbortController,r=(0,h.rE)(s);return this.addHandles(r,"reloadFromPortal"),await e({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},{signal:s.signal})}catch(t){throw(0,d.zf)(t)||u.A.getLogger(this).warn(`Failed to reload layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${t}`),t}finally{this.removeHandles("reloadFromPortal")}}async finishLoadEditablePortalLayer(t){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(t).catch(t=>((0,d.QP)(t),!0)))}async setUserPrivileges(t,e){if(!r.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(e);if(this.url)try{const{features:{edit:i,fullEdit:s},content:{updateItem:r}}=await this._fetchUserPrivileges(t,e);this._set("userHasEditingPrivileges",i),this._set("userHasFullEditingPrivileges",s),this._set("userHasUpdateItemPrivileges",r)}catch(t){(0,d.QP)(t)}}async _fetchUserPrivileges(t,e){let i=this.portalItem;if(!t||!i||!i.loaded||i.sourceUrl)return this._fetchFallbackUserPrivileges(e);const s=!n.id?.findCredential(this.url),r=t===i.id;if(r&&i.portal.user)return this._getUserPrivileges(i,s);let o,a;if(r)o=i.portal.url;else try{o=await(0,f.wI)(this.url,e)}catch(t){(0,d.QP)(t)}if(!o||!(0,p.b8)(o,i.portal.url))return this._fetchFallbackUserPrivileges(e);try{const t=null!=e?e.signal:null;a=await(n.id?.getCredential(`${o}/sharing`,{prompt:!1,signal:t}))}catch(t){(0,d.QP)(t)}const l=!0,h=!1,u=!1;if(!a)return{features:{edit:l,fullEdit:h},content:{updateItem:u}};try{if(r?await i.reload():(i=new y.default({id:t,portal:{url:o}}),await i.load(e)),i.portal.user)return this._getUserPrivileges(i,s)}catch(t){(0,d.QP)(t)}return{features:{edit:l,fullEdit:h},content:{updateItem:u}}}_getUserPrivileges(t,e){const i=(0,v.It)(t);return e&&(i.features.edit=!0),i}async _fetchFallbackUserPrivileges(t){let e=!0;try{e=await this._fetchUserHasEditingPrivileges(t)}catch(t){(0,d.QP)(t)}return{features:{edit:e,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(t){const e=this.url?n.id?.findCredential(this.url):null;if(!e)return!0;const i=C.credential===e?C.user:await this._fetchEditingUser(t);return C.credential=e,C.user=i,null==i?.privileges||i.privileges.includes("features:user:edit")}async _fetchEditingUser(t){const e=this.portalItem?.portal?.user;if(e)return e;const i=n.id?.findServerInfo(this.url??"");if(!i?.owningSystemUrl)return null;const s=`${i.owningSystemUrl}/sharing/rest`,r=g.A.getDefault();if(r&&r.loaded&&(0,p.S8)(r.restUrl)===(0,p.S8)(s))return r.user;const l=`${s}/community/self`,h=null!=t?t.signal:null,u=await(0,a.Ke)((0,o.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:h}));return u.ok?_.A.fromJSON(u.value.data):null}read(t,e){e&&(e.layer=this),super.read(t,e)}write(t,e){const i=e?.portal,s=this.portalItem?.id&&(this.portalItem.portal||g.A.getDefault());return i&&s&&!(0,p.ut)(s.restUrl,i.restUrl)?(e.messages&&e.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(t,{...e,layer:this})}};return(0,s.Cg)([(0,m.MZ)({type:y.default})],A.prototype,"portalItem",null),(0,s.Cg)([(0,b.w)("web-document","portalItem",["itemId"])],A.prototype,"readPortalItem",null),(0,s.Cg)([(0,w.K)("web-document","portalItem",{itemId:{type:String}})],A.prototype,"writePortalItem",null),(0,s.Cg)([(0,m.MZ)({clonable:!1})],A.prototype,"resourceReferences",void 0),(0,s.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasEditingPrivileges",void 0),(0,s.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasFullEditingPrivileges",void 0),(0,s.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasUpdateItemPrivileges",void 0),A=(0,s.Cg)([(0,m.$K)("esri.layers.mixins.PortalLayer")],A),A}])},77548(t,e,i){i.d(e,{Gh:()=>z,tk:()=>E,BR:()=>M,p2:()=>A,qd:()=>P,wI:()=>S,G$:()=>I,$x:()=>T,Ov:()=>v,cM:()=>d,UC:()=>p,Qz:()=>m,OP:()=>L,TU:()=>_,F2:()=>f,XX:()=>y,Qi:()=>b,jy:()=>w});var s=i(70333),r=i(56507),n=i(7762),o=(i(84952),i(36563)),a=i(36708),l=i(4146);const h=new WeakMap;function u(t){return!t.destroyed&&(h.has(t)||t.addHandles([(0,a.wB)(()=>{const{parent:e}=t;return!!(e&&e instanceof l.A)&&("catalog-dynamic-group"===e.type||u(e))},e=>h.set(t,e),a.pc),(0,o.hA)(()=>h.delete(t))]),h.get(t))}function c(t,e){return null!=t&&"object"==typeof t&&"type"in t&&t.type===e}function d(t){return c(t,"knowledge-graph")&&"layers"in t}function p(t){return c(t,"knowledge-graph-sublayer")}function m(t){return c(t,"link-chart")&&"layers"in t}function f(t){return c(t,"subtype-group")&&"sublayers"in t}function g(t){const e=t.parent;return function(t){return"group"===t?.type}(e)&&e.tables.includes(t)}i(16215);const y={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function _(t){const e=t?.type;return"building-scene"===e||"integrated-mesh"===e||"point-cloud"===e||"scene"===e}function v(t){return"feature"===t?.type&&!t.url&&"memory"===t.source?.type}function b(t){return null!=t&&"object"==typeof t&&"featureReduction"in t}function w(t){return function(t){return c(t,"catalog-footprint")}(t)||function(t){return c(t,"feature")}(t)&&function(t){return"feature"===t?.type&&"feature-layer"===t.source?.type}(t)||function(t){return c(t,"oriented-imagery")}(t)||function(t){return"subtype-sublayer"===t?.type}(t)}function C(t){const e=t?.type;return"binning"===e||"cluster"===e}function A(t,e){if(!w(t))return;const i=e?.graphic,s="featureReduction"in t?t.featureReduction:null;if(i){if(i.isAggregate){const t=i.origin;return t&&"featureReductionProvider"in t&&s?C(s)?s:null:void 0}return t}return e?.checkFeatureReduction&&s?C(s)?s:null:t}async function S(t,e){const i=s.id?.findServerInfo(t);if(null!=i?.currentVersion)return i.owningSystemUrl||null;const n=t.toLowerCase().indexOf("/rest/services");if(-1===n)return null;const o=`${t.slice(0,n)}/rest/info`,a=null!=e?e.signal:null,{data:l}=await(0,r.A)(o,{query:{f:"json"},responseType:"json",signal:a});return l?.owningSystemUrl||null}function M(t){return function(t){if(!("capabilities"in t))return!1;switch(t.type){case"catalog":case"catalog-footprint":case"csv":case"dimension-feature":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"parquet":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(t)?"effectiveCapabilities"in t?t.effectiveCapabilities:t.capabilities:null}function E(t){return!!function(t){if(!("editingEnabled"in t))return!1;switch(t.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":case"knowledge-graph-sublayer":return!0;default:return!1}}(t)&&("effectiveEditingEnabled"in t?t.effectiveEditingEnabled:t.editingEnabled)}function P(t){const e=new n.A;for(const i of t.allLayers.concat(t.allTables))u(i)||g(i)||"annotation-feature"===i.type||"dimension-feature"===i.type||("charts"in i&&e.push(i),"subtype-group"===i.type&&e.push(...i.sublayers));return e}function T(t,e){return null}function I(t){return null}function L(t){return!t||"Feature Service"===t.type&&!t.sourceUrl}function z(t,e){if(!e||!L(t))return;const i=(t.url,null);i&&(t.url=i)}},10407(t,e,i){i.d(e,{It:()=>p,LG:()=>o,OM:()=>h,Sm:()=>u,Y:()=>a,bK:()=>l,sQ:()=>c});var s=i(99917),r=i(16930),n=i(28735);function o(t,e){if(!a(t,e)){const i=t.typeKeywords;i?i.push(e):t.typeKeywords=[e]}}function a(t,e){return!!t.typeKeywords?.includes(e)}function l(t){return a(t,d.HOSTED_SERVICE)}function h(t,e){const i=t.typeKeywords;if(i){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}function u(t,e,i){i?o(t,e):h(t,e)}async function c(t){const e=t.clone().normalize();let i;if(e.length>1)for(const t of e)i?t.width>i.width&&(i=t):i=t;else i=e[0];return async function(t){const e=t.spatialReference;if(e.isWGS84)return t.clone();if(e.isWebMercator)return(0,n.ci)(t);const i=r.A.WGS84;return await(0,s.initializeProjection)(e,i),(0,s.project)(t,i)}(i)}const d={CHARTS:"Charts",CATALOG_LAYER:"CatalogLayer",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",PARCEL_FABRIC:"ParcelFabric",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery",UTILITY_NETWORK:"UtilityNetwork"};function p(t){const{portal:e,isOrgItem:i,itemControl:s}=t,r=e.user?.privileges;let n=!r||r.includes("features:user:edit"),o=!!i&&!!r?.includes("features:user:fullEdit");const a="update"===s||"admin"===s;return a?o=n=!0:o&&(n=!0),{features:{edit:n,fullEdit:o},content:{updateItem:a}}}i.d(e,["mm",0,d])},73133(t,e,i){const s=(0,i(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:"unknown"});i.d(e,["j",0,s])},16215(t,e,i){i.d(e,{S:()=>r});const s=Symbol("BasemapInstance");function r(t){return null!=t&&"object"==typeof t&&s in t}i.d(e,["Y",0,s])},79677(t,e,i){i.d(e,{A:()=>c});var s,r=i(32198),n=i(25482),o=i(88930),a=i(91429),l=(i(98623),i(10184)),h=i(36005),u=i(43937);let c=class extends n.o{static{s=this}static get allTime(){return d}static get empty(){return p}static fromArray(t){return new s({start:null!=t[0]?new Date(t[0]):t[0],end:null!=t[1]?new Date(t[1]):t[1]})}constructor(t){super(t),this.end=null,this.start=null}readEnd(t,e){return null!=e.end?new Date(e.end):null}writeEnd(t,e){e.end=t?.getTime()??null}get isAllTime(){return this.equals(s.allTime)}get isEmpty(){return this.equals(s.empty)}readStart(t,e){return null!=e.start?new Date(e.start):null}writeStart(t,e){e.start=t?.getTime()??null}clone(){return new s({end:this.end,start:this.start})}equals(t){if(!t)return!1;const e=this.start?.getTime()??this.start,i=this.end?.getTime()??this.end,s=t.start?.getTime()??t.start,r=t.end?.getTime()??t.end;return e===s&&i===r}expandTo(t,e="system"){if(this.isEmpty||this.isAllTime||"unknown"===t)return this.clone();let i=this.start;i&&(i=(0,o.lL)(i,new l.A({value:1,unit:t}),e));let r=this.end;if(r){const i=(0,o.lL)(r,new l.A({value:1,unit:t}),e);r=r.getTime()===i.getTime()?i:(0,o.S1)(i,1,t,e)}return new s({start:i,end:r})}intersection(t){if(!t)return this.clone();if(this.isEmpty||t.isEmpty)return s.empty;if(this.isAllTime)return t.clone();if(t.isAllTime)return this.clone();const e=this.start?.getTime()??-1/0,i=this.end?.getTime()??1/0,r=t.start?.getTime()??-1/0,n=t.end?.getTime()??1/0;let o,a;return r>=e&&r<=i?o=r:e>=r&&e<=n&&(o=e),i>=r&&i<=n?a=i:n>=e&&n<=i&&(a=n),null==o||null==a||isNaN(o)||isNaN(a)?s.empty:new s({start:o===-1/0?null:new Date(o),end:a===1/0?null:new Date(a)})}offset(t,e,i="system"){if(this.isEmpty||this.isAllTime||"unknown"===e)return this.clone();const r=new s,{start:n,end:a}=this;return null!=n&&(r.start=(0,o.S1)(n,t,e,i)),null!=a&&(r.end=(0,o.S1)(a,t,e,i)),r}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(t){if(!t||t.isEmpty)return this.clone();if(this.isEmpty)return t.clone();if(this.isAllTime||t.isAllTime)return d.clone();const e=null!=this.start&&null!=t.start?new Date(Math.min(this.start.getTime(),t.start.getTime())):null,i=null!=this.end&&null!=t.end?new Date(Math.max(this.end.getTime(),t.end.getTime())):null;return new s({start:e,end:i})}};(0,r.Cg)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],c.prototype,"end",void 0),(0,r.Cg)([(0,h.w)("end")],c.prototype,"readEnd",null),(0,r.Cg)([(0,u.K)("end")],c.prototype,"writeEnd",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],c.prototype,"isAllTime",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],c.prototype,"isEmpty",null),(0,r.Cg)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],c.prototype,"start",void 0),(0,r.Cg)([(0,h.w)("start")],c.prototype,"readStart",null),(0,r.Cg)([(0,u.K)("start")],c.prototype,"writeStart",null),c=s=(0,r.Cg)([(0,a.$K)("esri.time.TimeExtent")],c);const d=new c,p=new c({start:void 0,end:void 0})},10184(t,e,i){i.d(e,{A:()=>u});var s=i(32198),r=i(69540),n=i(25482),o=i(88930),a=i(91429),l=i(73133),h=i(93223);let u=class extends((0,r.OU)(n.o)){constructor(t){super(t),this.unit="milliseconds",this.value=0}toMilliseconds(){return(0,o.t)(this.value,this.unit,"milliseconds")}};(0,s.Cg)([(0,h.e)(l.j,{nonNullable:!0})],u.prototype,"unit",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,json:{write:!0},nonNullable:!0})],u.prototype,"value",void 0),u=(0,s.Cg)([(0,a.$K)("esri.time.TimeInterval")],u)},78553(t,e,i){i.d(e,{D:()=>n,p:()=>r});var s=i(78888);function r(t){const e=(0,s.Vr)(100*(1-t));return Math.max(0,Math.min(e,100))}function n(t){const e=1-t/100;return Math.max(0,Math.min(e,1))}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3885,6266,9397],{69540(t,e,i){var s=i(32198),r=i(69622),n=(i(44208),i(4718)),o=(i(53966),i(97768)),a=i(88620),l=i(64108);const h=Symbol("ClonableMixin"),u=t=>{var e;const i=t;let r=class extends i{constructor(){super(...arguments),this[e]=!0}static{e=h}clone(t){const e=(0,a.oY)(this);(0,o.Lw)(e,"unable to clone instance of non-accessor class");const i=e.metadata,s=e.store,r={},l=new Map;for(const e in i){const o=i[e],a=s?.originOf(e),h=o.clonable;if(o.readOnly||!1===h||7!==a&&0!==a&&5!==a&&4!==a)continue;const u=this[e];let c=null;if("function"==typeof h)c=h(u,t);else if("reference"===h)c=u;else if(c=(0,n.TU)(u,t),null!=u&&null==c)continue;0===a?l.set(e,c):r[e]=c}const h=new(0,Object.getPrototypeOf(this).constructor)(r);if(l.size){const t=(0,a.oY)(h)?.store;if(t)for(const[e,i]of l)t.set(e,i,0)}return h}};return r=(0,s.Cg)([(0,l.$)("esri.core.Clonable")],r),r},c=u(r.A);i.d(e,["OU",0,u,"Pw",0,c])},7762(t,e,i){var s,r=i(32198),n=i(98291),o=i(4576),a=i(65529),l=i(36563),h=i(4718),u=i(53966),c=i(93687),d=i(76030),p=i(78888),m=i(62788),f=i(10107),g=i(7695),y=i(64108),_=i(95488),v=i(12195);class b{constructor(){this.target=null,this.cancellable=!1,this.defaultPrevented=!1,this.item=void 0,this.type=void 0}preventDefault(){this.cancellable&&(this.defaultPrevented=!0)}reset(t){this.defaultPrevented=!1,this.item=t}}class w{constructor(t,e,i,s,r){this.target=t,this.added=e,this.removed=i,this.start=s,this.deleteCount=r}}const C=new c.A(()=>new b,void 0,t=>{t.item=null,t.target=null,t.defaultPrevented=!1,t.cancellable=!1});function A(t){t&&"object"==typeof t&&"destroy"in t&&"function"==typeof t.destroy&&t.destroy()}function S(t){return t?t instanceof x?t.toArray():t.length?Array.prototype.slice.apply(t):[]:[]}function M(t){if(t?.length)return t[0]}function E(t,e,i,s){const r=Math.min(t.length-i,e.length-s);let n=0;for(;n<r&&t[i+n]===e[s+n];)n++;return n}function P(t,e,i,s){e&&e.forEach((e,r,n)=>{t.push(e),P(t,i.call(s,e,r,n),i,s)})}const T=new Set,I=new Set,L=new Set,z=new Map;let R=0,x=s=class extends a.nJ{static ofType(t){if(!t)return s;if(z.has(t))return z.get(t);let e=null;if("function"==typeof t)e=t.prototype.declaredClass;else if(t.base)e=t.base.prototype.declaredClass;else for(const i in t.typeMap){const s=t.typeMap[i].prototype.declaredClass;e?e+=` | ${s}`:e=s}let i=class extends s{};return(0,r.Cg)([(0,g.u)({Type:t,ensureType:"function"==typeof t?(0,p.dp)(t):(0,p.aq)(t)})],i.prototype,"itemType",void 0),i=(0,r.Cg)([(0,y.$)(`esri.core.Collection<${e}>`)],i),z.set(t,i),i}static isCollection(t){return null!=t&&t instanceof s}constructor(t){super(t),this._chgListeners=[],this._notifications=null,this._updating=!1,this._timer=null,this._observable=new _.I,this._length=0,this._items=[],Object.defineProperty(this,"uid",{value:R++})}normalizeCtorArgs(t){return t?(0,o.yc)(t)||t instanceof s?{items:t}:t:{}}destroy(){this._removeAllRaw(),this._timer&&this._timer.remove(),super.destroy(),this._notifications=null}*[Symbol.iterator](){yield*this.items}get length(){return this._length}set length(t){t>this._length?u.A.getLogger(this).error("#length=","Cannot increase the length of the collection by assigning to the length property."):this.splice(t,Math.max(0,this._length-t))}get items(){return(0,m.gc)(this._observable),this._items}set items(t){this._emitBeforeChanges(1)||(this._splice(0,this.length,S(t)),this._emitAfterChanges(1))}hasEventListener(t){return!this.destroyed&&("change"===t?this._chgListeners.length>0:super.hasEventListener(t))}on(t,e){if(this.destroyed)return(0,l.hA)();if("change"===t){const t=this._chgListeners,i={removed:!1,callback:e};return t.push(i),this._notifications&&this._notifications.push({listeners:t.slice(),items:this._items.slice(),changes:[]}),(0,l.hA)(()=>{i.removed=!0,t.splice(t.indexOf(i),1)})}return super.on(t,e)}once(t,e){const i="deref"in e?()=>e.deref():()=>e,s=this.on(t,t=>{i()?.call(null,t),s.remove()});return s}add(t,e){if((0,m.gc)(this._observable),this._emitBeforeChanges(1))return this;const i=this.getNextIndex(e??null);return this._splice(i,0,[t]),this._emitAfterChanges(1),this}addMany(t,e=this._items.length){if((0,m.gc)(this._observable),!t?.length)return this;if(this._emitBeforeChanges(1))return this;const i=this.getNextIndex(e);return this._splice(i,0,S(t)),this._emitAfterChanges(1),this}at(t){if((0,m.gc)(this._observable),(t=Math.trunc(t)||0)<0&&(t+=this.length),!(t<0||t>=this.length))return this._items[t]}removeAll(){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return[];const t=this._removeAllRaw();return this._emitAfterChanges(2),t}_removeAllRaw(){return 0===this.length?[]:this._splice(0,this.length)||[]}clone(){return(0,m.gc)(this._observable),this._createNewInstance({items:this._items.map(h.o8)})}concat(...t){(0,m.gc)(this._observable);const e=t.map(S);return this._createNewInstance({items:this._items.concat(...e)})}drain(t,e){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const i=this._splice(0,this.length),s=i.length;for(let r=0;r<s;r++)t.call(e,i[r],r,i);this._emitAfterChanges(2)}destroyAll(){this.drain(A)}destroyMany(t){const e=this.removeMany(t);return e.forEach(A),e}every(t,e){return(0,m.gc)(this._observable),this._items.every(t,e)}filter(t,e){(0,m.gc)(this._observable);const i=2===arguments.length?this._items.filter(t,e):this._items.filter(t);return this._createNewInstance({items:i})}find(t,e){return(0,m.gc)(this._observable),this._items.find(t,e)}findIndex(t,e){return(0,m.gc)(this._observable),this._items.findIndex(t,e)}findLast(t,e){return(0,m.gc)(this._observable),this._items.findLast(t,e)}findLastIndex(t,e){return(0,m.gc)(this._observable),this._items.findLastIndex(t,e)}flatten(t,e){(0,m.gc)(this._observable);const i=[];return P(i,this,t,e),new s(i)}forEach(t,e){return(0,m.gc)(this._observable),this._items.forEach(t,e)}getItemAt(t){return(0,m.gc)(this._observable),this._items[t]}getNextIndex(t){(0,m.gc)(this._observable);const e=this.length;return(t=t??e)<0?t=0:t>e&&(t=e),t}includes(t,e=0){return(0,m.gc)(this._observable),this._items.includes(t,e)}indexOf(t,e=0){return(0,m.gc)(this._observable),this._items.indexOf(t,e)}join(t=","){return(0,m.gc)(this._observable),this._items.join(t)}lastIndexOf(t,e=this.length-1){return(0,m.gc)(this._observable),this._items.lastIndexOf(t,e)}map(t,e){(0,m.gc)(this._observable);const i=this._items.map(t,e);return new s({items:i})}reorder(t,e=this.length-1){(0,m.gc)(this._observable);const i=this.indexOf(t);if(-1!==i){if(e<0?e=0:e>=this.length&&(e=this.length-1),i!==e){if(this._emitBeforeChanges(4))return t;this._splice(i,1),this._splice(e,0,[t]),this._emitAfterChanges(4)}return t}}pop(){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const t=M(this._splice(this.length-1,1));return this._emitAfterChanges(2),t}push(...t){return(0,m.gc)(this._observable),this._emitBeforeChanges(1)||(this._splice(this.length,0,t),this._emitAfterChanges(1)),this.length}reduce(t,e){(0,m.gc)(this._observable);const i=this._items;return 2===arguments.length?i.reduce(t,e):i.reduce(t)}reduceRight(t,e){(0,m.gc)(this._observable);const i=this._items;return 2===arguments.length?i.reduceRight(t,e):i.reduceRight(t)}remove(t){return(0,m.gc)(this._observable),this.removeAt(this.indexOf(t))}removeAt(t){if((0,m.gc)(this._observable),t<0||t>=this.length||this._emitBeforeChanges(2))return;const e=M(this._splice(t,1));return this._emitAfterChanges(2),e}removeMany(t){if((0,m.gc)(this._observable),!t?.length||this._emitBeforeChanges(2))return[];const e=t instanceof s?t.toArray():t,i=this._items,r=[],n=e.length;for(let t=0;t<n;t++){const s=e[t],n=i.indexOf(s);if(n>-1){const s=1+E(e,i,t+1,n+1),o=this._splice(n,s);o&&o.length>0&&r.push.apply(r,o),t+=s-1}}return this._emitAfterChanges(2),r}reverse(){if((0,m.gc)(this._observable),this._emitBeforeChanges(4))return this;const t=this._splice(0,this.length);return t&&(t.reverse(),this._splice(0,0,t)),this._emitAfterChanges(4),this}shift(){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(2))return;const t=M(this._splice(0,1));return this._emitAfterChanges(2),t}slice(t=0,e=this.length){return(0,m.gc)(this._observable),this._createNewInstance({items:this._items.slice(t,e)})}some(t,e){return(0,m.gc)(this._observable),this._items.some(t,e)}sort(t){if((0,m.gc)(this._observable),!this.length||this._emitBeforeChanges(4)||!this._requiresSort(t))return this;const e=this._splice(0,this.length);return arguments.length?e.sort(t):e.sort(),this._splice(0,0,e),this._emitAfterChanges(4),this}_requiresSort(t=(t,e)=>t===e?0:t<e?-1:1){const e=this.length-1;for(let i=0;i<e;i++)if(t(this.items[i],this.items[i+1])>0)return!0;return!1}splice(t,e,...i){(0,m.gc)(this._observable),1===arguments.length&&(e=this.length),e??=0;const s=(e?2:0)|(i.length?1:0);if(this._emitBeforeChanges(s))return[];const r=this._splice(t,e,i)||[];return this._emitAfterChanges(s),r}toArray(){return(0,m.gc)(this._observable),this._items.slice()}toJSON(t){return(0,m.gc)(this._observable),this.toArray().map(e=>(0,v.W)(e)?e.toJSON(t):e)}toLocaleString(){return(0,m.gc)(this._observable),this._items.toLocaleString()}toString(){return(0,m.gc)(this._observable),this._items.toString()}unshift(...t){return(0,m.gc)(this._observable),!t.length||this._emitBeforeChanges(1)||(this._splice(0,0,t),this._emitAfterChanges(1)),this.length}_createNewInstance(t){return new this.constructor(t)}_splice(t,e,i){const s=this._items,r=this.itemType;let n,o;if(!this._notifications&&this.hasEventListener("change")&&(this._notifications=[{listeners:this._chgListeners.slice(),items:this._items.slice(),changes:[]}],this._timer&&this._timer.remove(),this._updating=!0,this._timer=(0,d._)(()=>this._dispatchChange())),t<0&&(t+=this.length),e){if(o=s.splice(t,e),this.hasEventListener("before-remove")){const e=C.acquire();e.target=this,e.cancellable=!0;for(let i=0,r=o.length;i<r;i++)n=o[i],e.reset(n),this.emit("before-remove",e),e.defaultPrevented&&(o.splice(i,1),s.splice(t,0,n),t+=1,i-=1,r-=1);C.release(e)}if(this._length=this._items.length,this.hasEventListener("after-remove")){const t=C.acquire();t.target=this,t.cancellable=!1;const e=o.length;for(let i=0;i<e;i++)t.reset(o[i]),this.emit("after-remove",t);C.release(t)}}if(i?.length){if(r){const t=[];for(const e of i){const i=r.ensureType(e);null==i&&null!=e||t.push(i)}i=t}const e=this.hasEventListener("before-add"),n=this.hasEventListener("after-add"),o=t===this.length;if(e||n){const r=C.acquire();r.target=this,r.cancellable=!0;const a=C.acquire();a.target=this,a.cancellable=!1;for(const l of i)e?(r.reset(l),this.emit("before-add",r),r.defaultPrevented||(o?s.push(l):s.splice(t++,0,l),this._length=s.length,n&&(a.reset(l),this.emit("after-add",a)))):(o?s.push(l):s.splice(t++,0,l),this._length=s.length,a.reset(l),this.emit("after-add",a));C.release(a),C.release(r)}else{if(o)for(const t of i)s.push(t);else s.splice(t,0,...i);this._length=s.length}}if((i?.length||o?.length)&&this._notifyChangeEvent(i,o),this.hasEventListener("after-splice")){const s=new w(this,i,o,t,e);this.emit("after-splice",s)}return o}_emitBeforeChanges(t){let e=!1;if(this.hasEventListener("before-changes")){const i=C.acquire();i.target=this,i.cancellable=!0,i.type=t,this.emit("before-changes",i),e=i.defaultPrevented,C.release(i)}return e}_emitAfterChanges(t){if(this.hasEventListener("after-changes")){const e=C.acquire();e.target=this,e.cancellable=!1,e.type=t,this.emit("after-changes",e),C.release(e)}this._observable.notify()}_notifyChangeEvent(t,e){this.hasEventListener("change")&&this._notifications&&this._notifications[this._notifications.length-1].changes.push({added:t,removed:e})}get updating(){return this._updating}_dispatchChange(){if(this._timer&&(this._timer.remove(),this._timer=null),this._updating=!1,!this._notifications)return;const t=this._notifications;this._notifications=null;for(const e of t){const t=e.changes;T.clear(),I.clear(),L.clear();for(const{added:e,removed:i}of t){if(e)if(0===L.size&&0===I.size)for(const t of e)T.add(t);else for(const t of e)I.has(t)?(L.add(t),I.delete(t)):L.has(t)||T.add(t);if(i)if(0===L.size&&0===T.size)for(const t of i)I.add(t);else for(const t of i)T.has(t)?T.delete(t):(L.delete(t),I.add(t))}const i=n.A.acquire();T.forEach(t=>{i.push(t)});const s=n.A.acquire();I.forEach(t=>{s.push(t)});const r=this._items,o=e.items,a=n.A.acquire();if(L.forEach(t=>{o.indexOf(t)!==r.indexOf(t)&&a.push(t)}),e.listeners&&(i.length||s.length||a.length)){const t={target:this,added:i,removed:s,moved:a},r=e.listeners.length;for(let i=0;i<r;i++){const s=e.listeners[i];s.removed||s.callback.call(this,t)}}n.A.release(i),n.A.release(s),n.A.release(a)}T.clear(),I.clear(),L.clear()}};(0,r.Cg)([(0,f.MZ)()],x.prototype,"_updating",void 0),(0,r.Cg)([(0,f.MZ)()],x.prototype,"_length",void 0),(0,r.Cg)([(0,f.MZ)()],x.prototype,"length",null),(0,r.Cg)([(0,f.MZ)()],x.prototype,"items",null),(0,r.Cg)([(0,f.MZ)({readOnly:!0})],x.prototype,"updating",null),x=s=(0,r.Cg)([(0,y.$)("esri.core.Collection")],x);const D=x;i.d(e,["A",0,D])},4902(t,e,i){var s=i(32198),r=i(64108);let n=0;const o=t=>{const e=t;let i=class extends e{constructor(...t){super(...t),Object.defineProperty(this,"uid",{writable:!1,configurable:!1,value:Date.now().toString(16)+"-object-"+n++})}};return i=(0,s.Cg)([(0,r.$)("esri.core.Identifiable")],i),i};o(class{}),i.d(e,["s",0,o])},66344(t,e,i){i.d(e,{q:()=>a});const s=!!(0,i(44208).A)("esri-tests-disable-gpu-memory-measurements");Symbol.iterator;class r{get size(){return this._size}constructor(t=10485760,e=.3){this._maxSize=t,this._maxClientSizeRatio=e,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(t){this._clients.set(t.id.slice(0,-1),t)}deregister(t){this.clear(t),this._sizeLimits.delete(t),this._clients.delete(t.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(t){this._maxSize=Math.max(t,-1),this._checkSize()}get _maxClientSize(){return this._maxSize*this._maxClientSizeRatio}getSize(t,e){const i=this._db.get(t.id+e);return i?.size??0}put(t,e,i,r,o){e=t.id+e;const a=this._db.get(e);if(a&&(this._size-=a.size,t.size-=a.size,this._db.delete(e),a.entry!==i&&this._notifyRemove(e,a.entry,a.size,0)),r>this._maxSize)return void this._notifyRemove(e,i,r,0);if(void 0===i)return void console.warn("Refusing to cache undefined entry ");if(!r||r<0)return s||console.warn(`Refusing to cache entry with size ${r} for key ${e}`),void this._notifyRemove(e,i,0,0);const l=1+Math.max(o,-4)- -3;this._db.set(e,new n(i,r,l)),this._size+=r,t.size+=r,this._checkSize()}updateSize(t,e){e=t.id+e;const i=this._db.get(e);if(!i)return;this._size-=i.size,t.size-=i.size;let s=i.entry.usedMemory;for(;s>this._maxSize;){const t=this._notifyRemove(e,i.entry,s,1);if(!(null!=t&&t>0))return void this._db.delete(e);s=t}i.size=s,this._size+=s,t.size+=s,this._checkSize()}pop(t,e){e=t.id+e;const i=this._db.get(e);if(i)return this._size-=i.size,t.size-=i.size,this._db.delete(e),++this._hit,i.entry;++this._miss}get(t,e){e=t.id+e;const i=this._db.get(e);if(void 0!==i)return this._db.delete(e),i.lives=i.lifetime,this._db.set(e,i),++this._hit,i.entry;++this._miss}peek(t,e){const i=this._db.get(t.id+e);return i?++this._hit:++this._miss,i?.entry}get performanceInfo(){const t={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},e={},i=new Array;this._db.forEach((t,s)=>{const r=t.lifetime;i[r]=(i[r]||0)+t.size,this._clients.forEach(i=>{const{id:r,name:n}=i;if(s.startsWith(r)){const i=e[n]||0;e[n]=i+t.size}})});const s={};this._clients.forEach(t=>{const i=t.name;if("hitRate"in t&&"number"==typeof t.hitRate&&!isNaN(t.hitRate)&&t.hitRate>0){const r=e[i]||0;e[i]=r,s[i]=Math.round(100*t.hitRate)+"%"}else s[i]="0%"});const r=Object.keys(e);r.sort((t,i)=>e[i]-e[t]),r.forEach(i=>t[i]=Math.round(e[i]/2**20)+"MB / "+s[i]);for(let e=i.length-1;e>=0;--e){const s=i[e];s&&(t["Priority "+(e+-3-1)]=Math.round(s/this._size*100)+"%")}return t}resetStats(){this._hit=this._miss=0,this._clients.forEach(t=>t.resetHitRate())}clear(t){const e=t.id;this._db.forEach((t,i)=>{i.startsWith(e)&&(this._size-=t.size,this._db.delete(i),this._notifyRemove(i,t.entry,t.size,0))}),t.size=0}clearAll(){this._db.forEach((t,e)=>this._notifyRemove(e,t.entry,t.size,0)),this._clients.forEach(t=>t.size=0),this._size=0,this._db.clear()}*values(t){for(const[e,i]of this._db)e.startsWith(t.id)&&(yield i.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(t,e,i,s){const r=this._clients.get(t.split(o)[0])?.removeFunc,n=r?.(e,s,i);return"number"==typeof n?n:null}_checkSize(){this._sizeLimits.forEach((t,e)=>this._checkSizeLimits(t,e)),this._clients.forEach(t=>this._checkSizeLimits(this._maxClientSize,t)),this._checkSizeLimits(this.maxSize)}setMaxClientSize(t,e){null==e||e<=0?this._sizeLimits.delete(t):this._sizeLimits.set(t,e)}_checkSizeLimits(t,e){const i=e??this;if(i.size<=t)return;const s=e?.id;let r=!0;for(;r;){r=!1;for(const[n,a]of this._db)if(0===a.lifetime&&(!s||n.startsWith(s))){const s=e??this._clients.get(n.split(o)[0]);if(this._purgeItem(n,a,s),i.size<=.9*t)return;r||=this._db.has(n)}}for(const[r,n]of this._db)if(!s||r.startsWith(s)){const s=e??this._clients.get(r.split(o)[0]);if(this._purgeItem(r,n,s),i.size<=.9*t)return}}_purgeItem(t,e,i){if(this._db.delete(t),e.lives<=1){this._size-=e.size,i&&(i.size-=e.size);const s=this._notifyRemove(t,e.entry,e.size,1);null!=s&&s>0&&(this._size+=s,i&&(i.size+=s),e.lives=e.lifetime,e.size=s,this._db.set(t,e))}else--e.lives,this._db.set(t,e)}}new r(0);class n{constructor(t,e,i){this.entry=t,this.size=e,this.lifetime=i,this.lives=i}}const o=":";class a{constructor(t,e){this.removeFunc=e,this.id="",this.name="",this.size=0,this._storage=new r(t,1),this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(t,e,i=1){this._storage.put(this,t,e,i,1)}pop(t){return this._storage.pop(this,t)}get(t){return this._storage.get(this,t)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(t){this._storage.maxSize=t}resetHitRate(){}}},7695(t,e,i){function s(t){return(e,i)=>{e[i]=t}}i.d(e,{u:()=>s})},60999(t,e,i){i.d(e,{DZ:()=>m,Ke:()=>p,QA:()=>f,Tj:()=>u,UT:()=>g,aD:()=>_,jJ:()=>h});var s=i(32198),r=i(69622),n=i(97768),o=i(17676),a=i(10107),l=i(64108);function h(t,e,i){return(0,o.Lx)(t.map((t,s)=>e.apply(i,[t,s])))}async function u(t,e,i){return(await(0,o.Lx)(t.map((t,s)=>e.apply(i,[t,s])))).map(t=>t.value)}function c(t){return{ok:!0,value:t}}function d(t){return{ok:!1,error:t}}async function p(t){if(null==t)return{ok:!1,error:new Error("no promise provided")};try{return c(await t)}catch(t){return d(t)}}async function m(t){try{return c(await t)}catch(t){return(0,o.QP)(t),d(t)}}function f(t){if(!0===t.ok)return t.value;throw t.error}function g(t,e){return new y(t,e)}let y=class extends r.A{get value(){return null!=(t=this._result)&&!0===t.ok?t.value:null;var t}get error(){return null!=(t=this._result)&&!1===t.ok?t.error:null;var t}get finished(){return null!=this._result}constructor(t,e){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,n.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:i}=this._abortController;this.promise=t(i),this.promise.then(t=>{this._result=c(t),this._cleanup()},t=>{this._result=d(t),this._cleanup()}),this._abortHandle=(0,o.u7)(e,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,n.xt)(this._abortHandle),this._abortController=null}};(0,s.Cg)([(0,a.MZ)()],y.prototype,"value",null),(0,s.Cg)([(0,a.MZ)()],y.prototype,"error",null),(0,s.Cg)([(0,a.MZ)()],y.prototype,"finished",null),(0,s.Cg)([(0,a.MZ)()],y.prototype,"promise",void 0),(0,s.Cg)([(0,a.MZ)()],y.prototype,"_result",void 0),y=(0,s.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],y);class _{constructor(){this._sequence=Promise.resolve()}async acquire(){let t;this._sequence=new Promise(e=>{t=this._sequence.then(()=>e,()=>e)});const e=await t;return{[Symbol.dispose]:e}}async run(t){const e={stack:[],error:void 0,hasError:!1};try{return(0,s.mS)(e,await this.acquire(),!1),await t()}catch(t){e.error=t,e.hasError=!0}finally{(0,s.hk)(e)}}}},69397(t,e,i){i.d(e,{Qf:()=>a,Qh:()=>n,lM:()=>r});var s=i(34275);function r(t){if(!t)return 0;let e=h;for(const i in t)t.hasOwnProperty(i)&&(e+=o(t[i],!1));return e}function n(t){if(!t)return 0;if("number"==typeof t[0])return a(t);if(Array.isArray(t))return function(t){const e=t.length;if(0===e||"number"==typeof t[0])return l(t,8);let i=u;for(let s=0;s<e;s++)i+=o(t[s]);return i}(t);let e=h;for(const i in t)t.hasOwnProperty(i)&&(e+=o(t[i]));return e}function o(t,e=!0){switch(typeof t){case"object":return e?n(t):h;case"string":return function(t){return 32+t.length}(t);case"number":return 16;case"boolean":return 4;default:return 8}}function a(...t){return t.reduce((t,e)=>t+(e?(0,s.iu)(e)?e.byteLength+c:Array.isArray(e)?l(e,16):0:0),0)}function l(t,e){return u+t.length*e}const h=32,u=16,c=145},36708(t,e,i){i.d(e,{C_:()=>d,on:()=>c,wB:()=>l,z7:()=>h});var s=i(37955),r=i(36563),n=i(97768),o=i(17676),a=i(14012);function l(t,e,i={}){return u(t,e,i,p)}function h(t,e,i={}){return u(t,e,i,m)}function u(t,e,i={},s){let r=null;const o=i.once?(t,i)=>{s(t)&&((0,n.xt)(r),e(t,i))}:(t,i)=>{s(t)&&e(t,i)};if(r=(0,a.Cn)(t,o,i.sync,i.equals),i.initial){const e=t();o(e,e)}return r}function c(t,e,i,o={}){let a=null,h=null,u=null;function c(){a&&h&&(h.remove(),o.onListenerRemove?.(a),a=null,h=null)}function d(t){o.once&&o.once&&(0,n.xt)(u),i(t)}const p=l(t,(t,i)=>{c(),(0,s.wb)(t)&&(a=t,h=(0,s.on)(t,e,d),o.onListenerAdd?.(t))},{sync:o.sync,initial:!0});return u=(0,r.hA)(()=>{p.remove(),c()}),u}function d(t,e){return function(t,e,i){if((0,o.G4)(i))return Promise.reject((0,o.NK)());const s=t();if(e?.(s))return Promise.resolve(s);let a=null;function l(){a=(0,n.xt)(a)}return new Promise((s,n)=>{a=(0,r.vE)([(0,o.u7)(i,()=>{l(),n((0,o.NK)())}),u(t,t=>{l(),s(t)},{sync:!1,once:!0},e??p)])})}(t,m,e)}function p(t){return!0}function m(t){return!!t}i(80559),i.d(e,["OH",0,{sync:!0},"Vh",0,{initial:!0},"pc",0,{sync:!0,initial:!0}])},88930(t,e,i){i.d(e,{S1:()=>a,VW:()=>l,lL:()=>h,rb:()=>u,t:()=>c});var s=i(97770),r=(i(98623),i(34747));const n=/^(?<hh>([01][0-9])|(2[0-3])):(?<mm>[0-5][0-9])(:(?<ss>[0-5][0-9]))?(\.(?<ms>\d+))?$/,o={milliseconds:1,seconds:1e3,minutes:6e4,hours:36e5,days:864e5,weeks:6048e5,months:26784e5,years:31536e6,decades:31536e7,centuries:31536e8,unknown:NaN};function a(t,e,i,n="system"){if("unknown"===i)return t;const o=new r.oh((0,s.wj)(n)),a=r.c9.fromJSDate(t,{zone:o}),l="decades"===i||"centuries"===i?"year":function(t){switch(t){case"milliseconds":return"millisecond";case"seconds":return"second";case"minutes":return"minute";case"hours":return"hour";case"days":return"day";case"weeks":return"week";case"months":return"month";case"years":return"year"}}(i);return"decades"===i&&(e*=10),"centuries"===i&&(e*=100),a.plus({[l]:e}).toJSDate()}function l(t,e,i="milliseconds"){const s=t.getTime(),r=c(e,i,"milliseconds");return new Date(s+r)}function h(t,e,i="system"){const{unit:n}=e,o=Math.max(1,Math.trunc(e.value)),a=new r.oh((0,s.wj)(i)),l=r.c9.fromJSDate(t,{zone:a}),h=t=>t-t%o;switch(n){case"milliseconds":return l.startOf("second").plus({millisecond:h(l.millisecond)}).toJSDate();case"seconds":return l.startOf("minute").plus({second:h(l.second)}).toJSDate();case"minutes":return l.startOf("hour").plus({minute:h(l.minute)}).toJSDate();case"hours":return l.startOf("day").plus({hour:h(l.hour)}).toJSDate();case"days":return l.startOf("month").plus({day:h(l.day-1)}).toJSDate();case"weeks":{const t=l.startOf("year").startOf("week"),e=Math.floor(l.diff(t,"weeks").weeks);return t.plus({week:h(e)}).toJSDate()}case"months":return l.startOf("year").plus({month:h(l.month-1)}).toJSDate();case"years":case"decades":case"centuries":{const t=l.startOf("year"),e=("decades"===n?10:"centuries"===n?100:1)*o,i=t.year-t.year%e;return t.set({year:i}).toJSDate()}case"unknown":return t}}function u(t){const e=n.exec(t);if(!e)return null;const{hh:i,mm:s,ss:r,ms:a}=e.groups;return Number(i)*o.hours+Number(s)*o.minutes+Number(r||0)*o.seconds+Number(a||0)}function c(t,e,i){return 0===t?0:t*o[e]/o[i]}},83027(t,e,i){const s=i(29953).ho;i.d(e,["h",0,s])},48526(t,e,i){i.d(e,{A:()=>g});var s,r=i(32198),n=i(4576),o=i(4718),a=i(91429),l=i(5443),h=i(91075),u=i(86738),c=i(16930),d=i(90634),p=i(47610),m=i(56993),f=i(43937);let g=s=class extends h.A{constructor(t){super(function(t){if(!t)return;let{points:e,hasM:i,hasZ:s,spatialReference:r}=t;switch(e??=[],e?.at(0)?.length){case 4:s??=!0,i??=!0;break;case 3:s??=!0!==i,i??=!s;break;default:s??=!1,i??=!1}return r??=c.A.WGS84,{...t,hasM:i,hasZ:s,points:e,spatialReference:r}}(t)),this.points=[],this.type="multipoint"}get cache(){return this.commitProperty("points"),this.commitProperty("hasZ"),this.commitProperty("hasM"),this.commitProperty("spatialReference"),{}}get extent(){const t=(0,d.ge)(this);return t?new l.A({...t,spatialReference:this.spatialReference}):null}writePoints(t,e){e.points=(0,o.o8)(this.points)}clone(){const{points:t,spatialReference:e,hasM:i,hasZ:r}=this;return new s({points:(0,o.o8)(t),spatialReference:e.clone(),hasM:i,hasZ:r})}equals(t){if(this===t)return!0;if(null==t)return!1;const e=this.spatialReference,i=t.spatialReference;return null!=e==(null!=i)&&!(null!=e&&null!=i&&!e.equals(i))&&(0,n.aI)(this.points,t.points,p.v6)}addPoint(t){return(0,m.h)(this,t),Array.isArray(t)?this.points.push(t):this.points.push(t.toArray()),this.notifyChange("points"),this}getPoint(t){if(!this._validateInputs(t))return null;const e=this.points[t],i={x:e[0],y:e[1],spatialReference:this.spatialReference};let s=2;return this.hasZ&&(i.z=e[2],s=3),this.hasM&&(i.m=e[s]),new u.A(i)}removePoint(t){if(!this._validateInputs(t))return null;const e=new u.A(this.points.splice(t,1)[0],this.spatialReference);return this.notifyChange("points"),e}setPoint(t,e){return this._validateInputs(t)?((0,m.h)(this,e),Array.isArray(e)||(e=e.toArray()),this.points[t]=e,this.notifyChange("points"),this):this}toJSON(t){return this.write({},t)}_validateInputs(t){return null!=t&&t>=0&&t<this.points.length}};(0,r.Cg)([(0,a.MZ)({readOnly:!0})],g.prototype,"cache",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0})],g.prototype,"extent",null),(0,r.Cg)([(0,a.MZ)({type:[[Number]],json:{write:{isRequired:!0}}})],g.prototype,"points",void 0),(0,r.Cg)([(0,f.K)("points")],g.prototype,"writePoints",null),g=s=(0,r.Cg)([(0,a.$K)("esri.geometry.Multipoint")],g),g.prototype.toJSON.isDefaultToJSON=!0},82799(t,e,i){i.d(e,{A:()=>m});var s,r=i(32198),n=i(4718),o=i(91429),a=i(5443),l=i(91075),h=i(86738),u=i(16930),c=i(90634),d=i(56993),p=i(43937);let m=s=class extends l.A{constructor(t){super(function(t){if(!t)return;let{paths:e,hasM:i,hasZ:s,spatialReference:r}=t;switch(e??=[],function(t){return"number"==typeof t[0]?.[0]}(e)&&(e=[e]),e[0]?.[0]?.length){case 4:s??=!0,i??=!0;break;case 3:s??=!0!==i,i??=!s;break;default:s??=!1,i??=!1}return r??=u.A.WGS84,{...t,hasM:i,hasZ:s,paths:e,spatialReference:r}}(t)),this.curvePaths=void 0,this.paths=[],this.type="polyline"}get cache(){return this.commitProperty("curvePaths"),this.commitProperty("hasM"),this.commitProperty("hasZ"),this.commitProperty("paths"),this.commitProperty("spatialReference"),{}}writeCurvePaths(t,e){e.curvePaths=(0,n.o8)(t)}get extent(){const t=(0,c.Z3)(this),{spatialReference:e}=this;return t?new a.A({...t,spatialReference:e}):null}writePaths(t,e){e.paths=(0,n.o8)(this.paths)}addPath(t){if(!t)return;const e=this.paths,i=e.length;if(function(t){return!Array.isArray(t[0])}(t)){const s=[];for(let e=0,i=t.length;e<i;e++)s[e]=t[e].toArray();e[i]=s}else e[i]=t.slice();return this.notifyChange("paths"),this}clone(){const t=new s;return t.spatialReference=this.spatialReference,t.paths=(0,n.o8)(this.paths),t.curvePaths=(0,n.o8)(this.curvePaths),t.hasZ=this.hasZ,t.hasM=this.hasM,t}getPoint(t,e){if(!this._validateInputs(t,e))return null;const i=this.paths[t][e],s=this.hasZ,r=this.hasM;return s&&!r?new h.A(i[0],i[1],i[2],void 0,this.spatialReference):r&&!s?new h.A(i[0],i[1],void 0,i[2],this.spatialReference):s&&r?new h.A(i[0],i[1],i[2],i[3],this.spatialReference):new h.A(i[0],i[1],this.spatialReference)}insertPoint(t,e,i){return this._validateInputs(t,e,!0)?((0,d.h)(this,i),Array.isArray(i)||(i=i.toArray()),this.paths[t].splice(e,0,i),this.notifyChange("paths"),this):this}removePath(t){if(!this._validateInputs(t,null))return null;const e=this.paths.splice(t,1)[0],i=this.spatialReference,s=e.map(t=>new h.A(t,i));return this.notifyChange("paths"),s}removePoint(t,e){if(!this._validateInputs(t,e))return null;const i=new h.A(this.paths[t].splice(e,1)[0],this.spatialReference);return this.notifyChange("paths"),i}setPoint(t,e,i){return this._validateInputs(t,e)?((0,d.h)(this,i),Array.isArray(i)||(i=i.toArray()),this.paths[t][e]=i,this.notifyChange("paths"),this):this}_validateInputs(t,e,i=!1){if(null==t||t<0||t>=this.paths.length)return!1;if(null!=e){const s=this.paths[t];if(i&&(e<0||e>s.length))return!1;if(!i&&(e<0||e>=s.length))return!1}return!0}toJSON(t){return this.write({},t)}};(0,r.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"cache",null),(0,r.Cg)([(0,o.MZ)({json:{write:!0,origins:{"portal-item":{write:!1},"web-map":{write:!1},"web-scene":{write:!1}}}})],m.prototype,"curvePaths",void 0),(0,r.Cg)([(0,p.K)("curvePaths")],m.prototype,"writeCurvePaths",null),(0,r.Cg)([(0,o.MZ)({readOnly:!0})],m.prototype,"extent",null),(0,r.Cg)([(0,o.MZ)({type:[[[Number]]],json:{write:{isRequired:!0}}})],m.prototype,"paths",void 0),(0,r.Cg)([(0,p.K)("paths")],m.prototype,"writePaths",null),m=s=(0,r.Cg)([(0,o.$K)("esri.geometry.Polyline")],m),m.prototype.toJSON.isDefaultToJSON=!0},60408(t,e,i){function s(t){return void 0!==t.xmin&&void 0!==t.ymin&&void 0!==t.xmax&&void 0!==t.ymax}function r(t){return void 0!==t.points}function n(t){return void 0!==t.x&&void 0!==t.y}function o(t){return void 0!==t.paths||void 0!==t.curvePaths}function a(t){return void 0!==t.rings||void 0!==t.curveRings}function l(t){return"object"==typeof t&&"vertexAttributes"in t}function h(t){return t?n(t)?"esriGeometryPoint":o(t)?"esriGeometryPolyline":a(t)?"esriGeometryPolygon":s(t)?"esriGeometryEnvelope":r(t)?"esriGeometryMultipoint":null:null}function u(t){return null!=t&&("hasZ"in t&&t.hasZ||"z"in t&&null!=t.z)}function c(t){return null!=t&&("hasM"in t&&t.hasM||"m"in t&&null!=t.m)}i.d(e,{$B:()=>h,Bi:()=>a,Pv:()=>u,Rg:()=>o,U9:()=>r,W0:()=>c,ZC:()=>s,fT:()=>n,uW:()=>l})},97770(t,e,i){i.d(e,{Ey:()=>R,F8:()=>z,J2:()=>P,Yq:()=>I,_m:()=>T,iS:()=>L,wj:()=>x});var s=i(66552),r=i(73444),n=i(98623),o=i(34747);const a={dateStyle:void 0,year:void 0,month:void 0,day:void 0,weekday:void 0},l={timeStyle:void 0,hour12:void 0,hourCycle:void 0,hour:void 0,minute:void 0,second:void 0},h={timeZone:"UTC"},u={year:"numeric",month:"numeric",day:"numeric"},c={year:"numeric",month:"long",day:"numeric"},d={year:"numeric",month:"short",day:"numeric"},p={year:"numeric",month:"long",weekday:"long",day:"numeric"},m={hour:"numeric",minute:"numeric"},f={...m,second:"numeric"},g={hourCycle:"h23"},y={...m,...g},_={...f,...g},v={"short-date":u,"short-date-short-time":{...u,...m},"short-date-short-time-24":{...u,...y},"short-date-long-time":{...u,...f},"short-date-long-time-24":{...u,..._},"short-date-le":u,"short-date-le-short-time":{...u,...m},"short-date-le-short-time-24":{...u,...y},"short-date-le-long-time":{...u,...f},"short-date-le-long-time-24":{...u,..._},"long-month-day-year":c,"long-month-day-year-short-time":{...c,...m},"long-month-day-year-short-time-24":{...c,...y},"long-month-day-year-long-time":{...c,...f},"long-month-day-year-long-time-24":{...c,..._},"day-short-month-year":d,"day-short-month-year-short-time":{...d,...m},"day-short-month-year-short-time-24":{...d,...y},"day-short-month-year-long-time":{...d,...f},"day-short-month-year-long-time-24":{...d,..._},"long-date":p,"long-date-short-time":{...p,...m},"long-date-short-time-24":{...p,...y},"long-date-long-time":{...p,...f},"long-date-long-time-24":{...p,..._},"long-month-year":{month:"long",year:"numeric"},"short-month-year":{month:"short",year:"numeric"},year:{year:"numeric"},"short-time":m,"long-time":f},b=(0,s.O)()({shortDate:"short-date",shortDateShortTime:"short-date-short-time",shortDateShortTime24:"short-date-short-time-24",shortDateLongTime:"short-date-long-time",shortDateLongTime24:"short-date-long-time-24",shortDateLE:"short-date-le",shortDateLEShortTime:"short-date-le-short-time",shortDateLEShortTime24:"short-date-le-short-time-24",shortDateLELongTime:"short-date-le-long-time",shortDateLELongTime24:"short-date-le-long-time-24",longMonthDayYear:"long-month-day-year",longMonthDayYearShortTime:"long-month-day-year-short-time",longMonthDayYearShortTime24:"long-month-day-year-short-time-24",longMonthDayYearLongTime:"long-month-day-year-long-time",longMonthDayYearLongTime24:"long-month-day-year-long-time-24",dayShortMonthYear:"day-short-month-year",dayShortMonthYearShortTime:"day-short-month-year-short-time",dayShortMonthYearShortTime24:"day-short-month-year-short-time-24",dayShortMonthYearLongTime:"day-short-month-year-long-time",dayShortMonthYearLongTime24:"day-short-month-year-long-time-24",longDate:"long-date",longDateShortTime:"long-date-short-time",longDateShortTime24:"long-date-short-time-24",longDateLongTime:"long-date-long-time",longDateLongTime24:"long-date-long-time-24",longMonthYear:"long-month-year",shortMonthYear:"short-month-year",year:"year"}),w={ar:"ar-u-nu-latn-ca-gregory",nn:"no-NN"},C=new Intl.DateTimeFormat("bs",{month:"long"}).formatToParts(new Date(2025,2)),A=C.find(({type:t})=>"month"===t)?.value.toLowerCase();function S(){const t=(0,r.lR)();return(t&&w[t])??(0,r.QC)()}"mart"!==A&&(w.bs="sr-Latn-CS");let M=new WeakMap;const E=v["short-date-short-time"];function P(t){return v[t]}function T(t){const{dateStyle:e,timeStyle:i,hour12:s,year:r,month:n}=t,o={};return e?o.dateStyle=e:r&&(o.year=r,o.month=n||void 0),i&&!o.year&&(o.timeStyle=i,o.hour12="auto"===s?void 0:"always"===s),o}function I(t,e=E){return function(t){let e=M.get(t);if(!e){const i=S(),s=x(t.timeZone??"system"),r={...t,timeZone:s};e=new Intl.DateTimeFormat(i,r),M.set(t,e)}return e}(e).format(t)}function L(t,e=E){return I(new Date(t),{...e,...h,...l})}function z(t,e=E){return I(new Date(`1970-01-01T${t}Z`),{...e,...h,...a})}function R(t,e=E){const i=o.c9.fromISO(t,{setZone:!0});if(!i.isValid)return t;if(e.timeZone)return I(i.toJSDate(),e);const s=0===i.offset?"UTC":e.timeZone,r={...e,timeZone:s};return i.toLocaleString(r,{locale:S()})}function x(t){switch(t){case"system":return n.N;case n.L:return"UTC";default:return t}}(0,r.Ml)(()=>{M=new WeakMap}),i.d(e,["_v",0,b])},4146(t,e,i){i.d(e,{A:()=>_});var s=i(32198),r=i(56507),n=i(49186),o=i(65529),a=i(4902),l=i(92474),h=i(53966),u=i(17676),c=i(84952),d=i(91429),p=i(5443),m=i(16930),f=i(92602),g=i(79677);let y=0,_=class extends((0,o.Zt)((0,a.s)(l.x_))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new p.A(-180,-90,180,90,m.A.WGS84),this.id=Date.now().toString(16)+"-layer-"+y++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=m.A.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(t){const e="string"==typeof t?{url:t}:t;return(await Promise.all([i.e(812),i.e(7982)]).then(()=>i(27982))).fromUrl(e)}static fromPortalItem(t){return async function(t){const e="portalItem"in t?t:{portalItem:t},{fromItem:s}=await Promise.all([i.e(9917),i.e(812),i.e(8559)]).then(()=>i(45613));try{return await s(e)}catch(t){const i=e?.portalItem,s=i?.id||"unset",r=i?.portal?.url||f.A.portalUrl;throw h.A.getLogger("esri.layers.support.fromPortalItem").error("#fromPortalItem()","Failed to create layer from portal item (portal: '"+r+"', id: '"+s+"')",t),t}}(t)}initialize(){this.when().catch(t=>{(0,u.zf)(t)||h.A.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:t})})}destroy(){const{parent:t}=this;t&&(this.parent=null,t.removeChildLayer?.(this))}get effectiveVisible(){return this.visible&&(this.parent?.effectiveVisible??!0)}get hasAttributionData(){return null!=this.attributionDataUrl}get loaded(){return super.loaded}removeFromParent(){const{parent:t}=this;t&&(t.removeChildLayer?.(this),this.parent=null)}get parsedUrl(){return(0,c.An)(this.url)}createLayerView(t,e){return Promise.reject(new n.A("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const t=this.attributionDataUrl;if(this.hasAttributionData&&t)return(await(0,r.A)(t,{query:{f:"json"},responseType:"json"})).data;throw new n.A("layer:no-attribution-data","Layer does not have attribution data")}};(0,s.Cg)([(0,d.MZ)({type:String})],_.prototype,"attributionDataUrl",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0})],_.prototype,"effectiveVisible",null),(0,s.Cg)([(0,d.MZ)({type:p.A})],_.prototype,"fullExtent",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0})],_.prototype,"hasAttributionData",null),(0,s.Cg)([(0,d.MZ)({type:String,clonable:!1})],_.prototype,"id",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean,nonNullable:!0})],_.prototype,"legendEnabled",void 0),(0,s.Cg)([(0,d.MZ)({type:["show","hide","hide-children"]})],_.prototype,"listMode",void 0),(0,s.Cg)([(0,d.MZ)({type:Number,range:{min:0,max:1},nonNullable:!0})],_.prototype,"opacity",void 0),(0,s.Cg)([(0,d.MZ)({clonable:!1})],_.prototype,"parent",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0})],_.prototype,"parsedUrl",null),(0,s.Cg)([(0,d.MZ)({type:Boolean,readOnly:!0})],_.prototype,"persistenceEnabled",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean})],_.prototype,"popupEnabled",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean})],_.prototype,"attributionVisible",void 0),(0,s.Cg)([(0,d.MZ)({type:m.A})],_.prototype,"spatialReference",void 0),(0,s.Cg)([(0,d.MZ)({type:String})],_.prototype,"title",void 0),(0,s.Cg)([(0,d.MZ)({readOnly:!0,json:{read:!1}})],_.prototype,"type",void 0),(0,s.Cg)([(0,d.MZ)()],_.prototype,"url",void 0),(0,s.Cg)([(0,d.MZ)({type:g.A})],_.prototype,"visibilityTimeExtent",void 0),(0,s.Cg)([(0,d.MZ)({type:Boolean,nonNullable:!0})],_.prototype,"visible",void 0),_=(0,s.Cg)([(0,d.$K)("esri.layers.Layer")],_)},8303(t,e,i){var s=i(32198),r=i(92602),n=i(70333),o=i(56507),a=i(60999),l=i(49186),h=i(36563),u=i(53966),c=i(97768),d=i(17676),p=i(84952),m=i(91429),f=i(77548),g=i(20655),y=i(80812),_=i(41318),v=i(10407),b=i(36005),w=i(43937);const C={credential:null,user:null};i.d(e,["A",0,t=>{const e=t;let A=class extends e{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){super.destroy(),this.portalItem=(0,c.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get("portalItem")}set portalItem(t){t!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",t))}readPortalItem(t,e,i){if(e.itemId)return new y.default({id:e.itemId,portal:i?.portal})}writePortalItem(t,e){t?.id&&(e.itemId=t.id)}async loadFromPortal(t,e){if(this.portalItem?.id)try{const{load:s}=await i.e(1204).then(()=>i(41204));return(0,d.Te)(e),await s({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},e)}catch(t){throw(0,d.zf)(t)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${t}`),t}}async reloadFromPortal(t){if(!this.loaded||!this.portalItem?.id)return!1;try{const{reload:e}=await i.e(1204).then(()=>i(41204)),s=new AbortController,r=(0,h.rE)(s);return this.addHandles(r,"reloadFromPortal"),await e({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},{signal:s.signal})}catch(t){throw(0,d.zf)(t)||u.A.getLogger(this).warn(`Failed to reload layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${t}`),t}finally{this.removeHandles("reloadFromPortal")}}async finishLoadEditablePortalLayer(t){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(t).catch(t=>((0,d.QP)(t),!0)))}async setUserPrivileges(t,e){if(!r.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(e);if(this.url)try{const{features:{edit:i,fullEdit:s},content:{updateItem:r}}=await this._fetchUserPrivileges(t,e);this._set("userHasEditingPrivileges",i),this._set("userHasFullEditingPrivileges",s),this._set("userHasUpdateItemPrivileges",r)}catch(t){(0,d.QP)(t)}}async _fetchUserPrivileges(t,e){let i=this.portalItem;if(!t||!i||!i.loaded||i.sourceUrl)return this._fetchFallbackUserPrivileges(e);const s=!n.id?.findCredential(this.url),r=t===i.id;if(r&&i.portal.user)return this._getUserPrivileges(i,s);let o,a;if(r)o=i.portal.url;else try{o=await(0,f.wI)(this.url,e)}catch(t){(0,d.QP)(t)}if(!o||!(0,p.b8)(o,i.portal.url))return this._fetchFallbackUserPrivileges(e);try{const t=null!=e?e.signal:null;a=await(n.id?.getCredential(`${o}/sharing`,{prompt:!1,signal:t}))}catch(t){(0,d.QP)(t)}const l=!0,h=!1,u=!1;if(!a)return{features:{edit:l,fullEdit:h},content:{updateItem:u}};try{if(r?await i.reload():(i=new y.default({id:t,portal:{url:o}}),await i.load(e)),i.portal.user)return this._getUserPrivileges(i,s)}catch(t){(0,d.QP)(t)}return{features:{edit:l,fullEdit:h},content:{updateItem:u}}}_getUserPrivileges(t,e){const i=(0,v.It)(t);return e&&(i.features.edit=!0),i}async _fetchFallbackUserPrivileges(t){let e=!0;try{e=await this._fetchUserHasEditingPrivileges(t)}catch(t){(0,d.QP)(t)}return{features:{edit:e,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(t){const e=this.url?n.id?.findCredential(this.url):null;if(!e)return!0;const i=C.credential===e?C.user:await this._fetchEditingUser(t);return C.credential=e,C.user=i,null==i?.privileges||i.privileges.includes("features:user:edit")}async _fetchEditingUser(t){const e=this.portalItem?.portal?.user;if(e)return e;const i=n.id?.findServerInfo(this.url??"");if(!i?.owningSystemUrl)return null;const s=`${i.owningSystemUrl}/sharing/rest`,r=g.A.getDefault();if(r&&r.loaded&&(0,p.S8)(r.restUrl)===(0,p.S8)(s))return r.user;const l=`${s}/community/self`,h=null!=t?t.signal:null,u=await(0,a.Ke)((0,o.A)(l,{authMode:"no-prompt",query:{f:"json"},signal:h}));return u.ok?_.A.fromJSON(u.value.data):null}read(t,e){e&&(e.layer=this),super.read(t,e)}write(t,e){const i=e?.portal,s=this.portalItem?.id&&(this.portalItem.portal||g.A.getDefault());return i&&s&&!(0,p.ut)(s.restUrl,i.restUrl)?(e.messages&&e.messages.push(new l.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(t,{...e,layer:this})}};return(0,s.Cg)([(0,m.MZ)({type:y.default})],A.prototype,"portalItem",null),(0,s.Cg)([(0,b.w)("web-document","portalItem",["itemId"])],A.prototype,"readPortalItem",null),(0,s.Cg)([(0,w.K)("web-document","portalItem",{itemId:{type:String}})],A.prototype,"writePortalItem",null),(0,s.Cg)([(0,m.MZ)({clonable:!1})],A.prototype,"resourceReferences",void 0),(0,s.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasEditingPrivileges",void 0),(0,s.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasFullEditingPrivileges",void 0),(0,s.Cg)([(0,m.MZ)({type:Boolean,readOnly:!0})],A.prototype,"userHasUpdateItemPrivileges",void 0),A=(0,s.Cg)([(0,m.$K)("esri.layers.mixins.PortalLayer")],A),A}])},77548(t,e,i){i.d(e,{Gh:()=>z,tk:()=>E,BR:()=>M,p2:()=>A,qd:()=>P,wI:()=>S,G$:()=>I,$x:()=>T,Ov:()=>v,cM:()=>d,UC:()=>p,Qz:()=>m,OP:()=>L,TU:()=>_,F2:()=>f,XX:()=>y,Qi:()=>b,jy:()=>w});var s=i(70333),r=i(56507),n=i(7762),o=(i(84952),i(36563)),a=i(36708),l=i(4146);const h=new WeakMap;function u(t){return!t.destroyed&&(h.has(t)||t.addHandles([(0,a.wB)(()=>{const{parent:e}=t;return!!(e&&e instanceof l.A)&&("catalog-dynamic-group"===e.type||u(e))},e=>h.set(t,e),a.pc),(0,o.hA)(()=>h.delete(t))]),h.get(t))}function c(t,e){return null!=t&&"object"==typeof t&&"type"in t&&t.type===e}function d(t){return c(t,"knowledge-graph")&&"layers"in t}function p(t){return c(t,"knowledge-graph-sublayer")}function m(t){return c(t,"link-chart")&&"layers"in t}function f(t){return c(t,"subtype-group")&&"sublayers"in t}function g(t){const e=t.parent;return function(t){return"group"===t?.type}(e)&&e.tables.includes(t)}i(16215);const y={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function _(t){const e=t?.type;return"building-scene"===e||"integrated-mesh"===e||"point-cloud"===e||"scene"===e}function v(t){return"feature"===t?.type&&!t.url&&"memory"===t.source?.type}function b(t){return null!=t&&"object"==typeof t&&"featureReduction"in t}function w(t){return function(t){return c(t,"catalog-footprint")}(t)||function(t){return c(t,"feature")}(t)&&function(t){return"feature"===t?.type&&"feature-layer"===t.source?.type}(t)||function(t){return c(t,"oriented-imagery")}(t)||function(t){return"subtype-sublayer"===t?.type}(t)}function C(t){const e=t?.type;return"binning"===e||"cluster"===e}function A(t,e){if(!w(t))return;const i=e?.graphic,s="featureReduction"in t?t.featureReduction:null;if(i){if(i.isAggregate){const t=i.origin;return t&&"featureReductionProvider"in t&&s?C(s)?s:null:void 0}return t}return e?.checkFeatureReduction&&s?C(s)?s:null:t}async function S(t,e){const i=s.id?.findServerInfo(t);if(null!=i?.currentVersion)return i.owningSystemUrl||null;const n=t.toLowerCase().indexOf("/rest/services");if(-1===n)return null;const o=`${t.slice(0,n)}/rest/info`,a=null!=e?e.signal:null,{data:l}=await(0,r.A)(o,{query:{f:"json"},responseType:"json",signal:a});return l?.owningSystemUrl||null}function M(t){return function(t){if(!("capabilities"in t))return!1;switch(t.type){case"annotation-feature":case"catalog":case"catalog-footprint":case"csv":case"dimension-feature":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"parquet":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(t)?"effectiveCapabilities"in t?t.effectiveCapabilities:t.capabilities:null}function E(t){return!!function(t){if(!("editingEnabled"in t))return!1;switch(t.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":case"knowledge-graph-sublayer":return!0;default:return!1}}(t)&&("effectiveEditingEnabled"in t?t.effectiveEditingEnabled:t.editingEnabled)}function P(t){const e=new n.A;for(const i of t.allLayers.concat(t.allTables))u(i)||g(i)||"annotation-feature"===i.type||"dimension-feature"===i.type||("charts"in i&&e.push(i),"subtype-group"===i.type&&e.push(...i.sublayers));return e}function T(t,e){return null}function I(t){return null}function L(t){return!t||"Feature Service"===t.type&&!t.sourceUrl}function z(t,e){if(!e||!L(t))return;const i=(t.url,null);i&&(t.url=i)}},10407(t,e,i){i.d(e,{It:()=>p,LG:()=>o,OM:()=>h,Sm:()=>u,Y:()=>a,bK:()=>l,sQ:()=>c});var s=i(99917),r=i(16930),n=i(28735);function o(t,e){if(!a(t,e)){const i=t.typeKeywords;i?i.push(e):t.typeKeywords=[e]}}function a(t,e){return!!t.typeKeywords?.includes(e)}function l(t){return a(t,d.HOSTED_SERVICE)}function h(t,e){const i=t.typeKeywords;if(i){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}function u(t,e,i){i?o(t,e):h(t,e)}async function c(t){const e=t.clone().normalize();let i;if(e.length>1)for(const t of e)i?t.width>i.width&&(i=t):i=t;else i=e[0];return async function(t){const e=t.spatialReference;if(e.isWGS84)return t.clone();if(e.isWebMercator)return(0,n.ci)(t);const i=r.A.WGS84;return await(0,s.initializeProjection)(e,i),(0,s.project)(t,i)}(i)}const d={CHARTS:"Charts",CATALOG_LAYER:"CatalogLayer",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",PARCEL_FABRIC:"ParcelFabric",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery",UTILITY_NETWORK:"UtilityNetwork"};function p(t){const{portal:e,isOrgItem:i,itemControl:s}=t,r=e.user?.privileges;let n=!r||r.includes("features:user:edit"),o=!!i&&!!r?.includes("features:user:fullEdit");const a="update"===s||"admin"===s;return a?o=n=!0:o&&(n=!0),{features:{edit:n,fullEdit:o},content:{updateItem:a}}}i.d(e,["mm",0,d])},73133(t,e,i){const s=(0,i(66552).O)()({esriTimeUnitsMilliseconds:"milliseconds",esriTimeUnitsSeconds:"seconds",esriTimeUnitsMinutes:"minutes",esriTimeUnitsHours:"hours",esriTimeUnitsDays:"days",esriTimeUnitsWeeks:"weeks",esriTimeUnitsMonths:"months",esriTimeUnitsYears:"years",esriTimeUnitsDecades:"decades",esriTimeUnitsCenturies:"centuries",esriTimeUnitsUnknown:"unknown"});i.d(e,["j",0,s])},16215(t,e,i){i.d(e,{S:()=>r});const s=Symbol("BasemapInstance");function r(t){return null!=t&&"object"==typeof t&&s in t}i.d(e,["Y",0,s])},79677(t,e,i){i.d(e,{A:()=>c});var s,r=i(32198),n=i(25482),o=i(88930),a=i(91429),l=(i(98623),i(10184)),h=i(36005),u=i(43937);let c=class extends n.o{static{s=this}static get allTime(){return d}static get empty(){return p}static fromArray(t){return new s({start:null!=t[0]?new Date(t[0]):t[0],end:null!=t[1]?new Date(t[1]):t[1]})}constructor(t){super(t),this.end=null,this.start=null}readEnd(t,e){return null!=e.end?new Date(e.end):null}writeEnd(t,e){e.end=t?.getTime()??null}get isAllTime(){return this.equals(s.allTime)}get isEmpty(){return this.equals(s.empty)}readStart(t,e){return null!=e.start?new Date(e.start):null}writeStart(t,e){e.start=t?.getTime()??null}clone(){return new s({end:this.end,start:this.start})}equals(t){if(!t)return!1;const e=this.start?.getTime()??this.start,i=this.end?.getTime()??this.end,s=t.start?.getTime()??t.start,r=t.end?.getTime()??t.end;return e===s&&i===r}expandTo(t,e="system"){if(this.isEmpty||this.isAllTime||"unknown"===t)return this.clone();let i=this.start;i&&(i=(0,o.lL)(i,new l.A({value:1,unit:t}),e));let r=this.end;if(r){const i=(0,o.lL)(r,new l.A({value:1,unit:t}),e);r=r.getTime()===i.getTime()?i:(0,o.S1)(i,1,t,e)}return new s({start:i,end:r})}intersection(t){if(!t)return this.clone();if(this.isEmpty||t.isEmpty)return s.empty;if(this.isAllTime)return t.clone();if(t.isAllTime)return this.clone();const e=this.start?.getTime()??-1/0,i=this.end?.getTime()??1/0,r=t.start?.getTime()??-1/0,n=t.end?.getTime()??1/0;let o,a;return r>=e&&r<=i?o=r:e>=r&&e<=n&&(o=e),i>=r&&i<=n?a=i:n>=e&&n<=i&&(a=n),null==o||null==a||isNaN(o)||isNaN(a)?s.empty:new s({start:o===-1/0?null:new Date(o),end:a===1/0?null:new Date(a)})}offset(t,e,i="system"){if(this.isEmpty||this.isAllTime||"unknown"===e)return this.clone();const r=new s,{start:n,end:a}=this;return null!=n&&(r.start=(0,o.S1)(n,t,e,i)),null!=a&&(r.end=(0,o.S1)(a,t,e,i)),r}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(t){if(!t||t.isEmpty)return this.clone();if(this.isEmpty)return t.clone();if(this.isAllTime||t.isAllTime)return d.clone();const e=null!=this.start&&null!=t.start?new Date(Math.min(this.start.getTime(),t.start.getTime())):null,i=null!=this.end&&null!=t.end?new Date(Math.max(this.end.getTime(),t.end.getTime())):null;return new s({start:e,end:i})}};(0,r.Cg)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],c.prototype,"end",void 0),(0,r.Cg)([(0,h.w)("end")],c.prototype,"readEnd",null),(0,r.Cg)([(0,u.K)("end")],c.prototype,"writeEnd",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],c.prototype,"isAllTime",null),(0,r.Cg)([(0,a.MZ)({readOnly:!0,json:{read:!1}})],c.prototype,"isEmpty",null),(0,r.Cg)([(0,a.MZ)({type:Date,json:{write:{allowNull:!0}}})],c.prototype,"start",void 0),(0,r.Cg)([(0,h.w)("start")],c.prototype,"readStart",null),(0,r.Cg)([(0,u.K)("start")],c.prototype,"writeStart",null),c=s=(0,r.Cg)([(0,a.$K)("esri.time.TimeExtent")],c);const d=new c,p=new c({start:void 0,end:void 0})},10184(t,e,i){i.d(e,{A:()=>u});var s=i(32198),r=i(69540),n=i(25482),o=i(88930),a=i(91429),l=i(73133),h=i(93223);let u=class extends((0,r.OU)(n.o)){constructor(t){super(t),this.unit="milliseconds",this.value=0}toMilliseconds(){return(0,o.t)(this.value,this.unit,"milliseconds")}};(0,s.Cg)([(0,h.e)(l.j,{nonNullable:!0})],u.prototype,"unit",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,json:{write:!0},nonNullable:!0})],u.prototype,"value",void 0),u=(0,s.Cg)([(0,a.$K)("esri.time.TimeInterval")],u)},78553(t,e,i){i.d(e,{D:()=>n,p:()=>r});var s=i(78888);function r(t){const e=(0,s.Vr)(100*(1-t));return Math.max(0,Math.min(e,100))}function n(t){const e=1-t/100;return Math.max(0,Math.min(e,1))}}}]);