1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[589],{17563:(e,t,i)=>{i.d(t,{A:()=>c});var r=i(49493),s=i(9491);i(74552),i(64988),i(32243);var n=i(44708),a=i(22900),l=i(62408),o=i(99422),h=i(92826),d=i(64145),u=i(34137);let p=class extends(0,o.dM)((0,h.j)(l.A)){constructor(e){super(e),this.elevationInfo=null,this.graphics=new d.Y,this.screenSizePerspectiveEnabled=!0,this.type="graphics",this.internal=!1}destroy(){this.removeAll(),this.graphics.destroy()}add(e){return this.graphics.add(e),this}addMany(e){return this.graphics.addMany(e),this}removeAll(){return this.graphics.removeAll(),this}remove(e){this.graphics.remove(e)}removeMany(e){this.graphics.removeMany(e)}on(e,t){return super.on(e,t)}graphicChanged(e){this.emit("graphic-update",e)}};(0,r._)([(0,s.MZ)({type:u.A})],p.prototype,"elevationInfo",void 0),(0,r._)([(0,s.MZ)((0,a.C)(d.Y,"graphics"))],p.prototype,"graphics",void 0),(0,r._)([(0,s.MZ)({type:["show","hide"]})],p.prototype,"listMode",void 0),(0,r._)([(0,s.MZ)()],p.prototype,"screenSizePerspectiveEnabled",void 0),(0,r._)([(0,s.MZ)({readOnly:!0})],p.prototype,"type",void 0),(0,r._)([(0,s.MZ)({constructOnly:!0})],p.prototype,"internal",void 0);let c=p=(0,r._)([(0,n.$)("esri.layers.GraphicsLayer")],p)},21406:(e,t,i)=>{i.d(t,{j:()=>m});var r=i(55114),s=i(74552),n=i(64988),a=i(32307),l=i(92994),o=i(98776),h=i(36609),d=i(1279),u=i(87960),p=i(56429);let c=()=>n.A.getLogger("esri.views.2d.engine.webgl.AttributeStoreView");class y{constructor(e,t,i){this._texture=null,this._lastTexture=null,this._fbos={},this.texelSize=4;let{buffer:r,pixelType:s,textureOnly:n}=e,a=(0,o.Qz)(s);this.blockIndex=i,this.pixelType=s,this.size=t,this.textureOnly=n,n||(this.data=new a(r)),this._resetRange()}destroy(){for(let e in this._texture?.dispose(),this._fbos){let t=this._fbos[e];
1t&&("0"===e&&t.detachColorTexture(),t.dispose()),this._fbos[e]=null}this._texture=null}get _textureDesc(){let e=new p.R;return e.wrapMode=h.pF.CLAMP_TO_EDGE,e.samplingMode=h.Cj.NEAREST,e.dataType=this.pixelType,e.width=this.size,e.height=this.size,e}setData(e,t,i){let r=(0,l.Q4)(e),s=this.data,n=r*this.texelSize+t;!s||n>=s.length||(s[n]=i,this.dirtyStart=Math.min(this.dirtyStart,r),this.dirtyEnd=Math.max(this.dirtyEnd,r))}getData(e,t){if(null==this.data)return null;let i=(0,l.Q4)(e)*this.texelSize+t;return!this.data||i>=this.data.length?null:this.data[i]}getTexture(e){return this._texture??this._initTexture(e)}getFBO(e,t=0){if(!this._fbos[t]){let i=0===t?this.getTexture(e):this._textureDesc;this._fbos[t]=new d.H(e,i)}return this._fbos[t]}get hasDirty(){let e=this.dirtyStart;return this.dirtyEnd>=e}updateTexture(e,t){try{let i=this.dirtyStart,n=this.dirtyEnd;if(!this.hasDirty)return;(0,s.A)("esri-2d-update-debug")&&console.debug(`Version[${t}] AttributeStoreView.updateTexture`,{start:i,end:n,firstBytes:new Uint8Array(this.data.buffer.slice(0,16)),block:this}),this._resetRange();let a=this.data.buffer,l=this.getTexture(e),h=(i-i%this.size)/this.size,d=(n-n%this.size)/this.size,u=this.size,p=h*this.size*4,y=(u+d*this.size)*4-p,f=(0,o.Qz)(this.pixelType),_=new f(a,p*f.BYTES_PER_ELEMENT,y),m=this.size,g=d-h+1;if(g>this.size)return void c().error(new r.A("mapview-webgl","Out-of-bounds index when updating AttributeData"));l.updateData(0,0,h,m,g,_)}catch(e){}}update(e){let{data:t,start:i,end:r}=e;if(null!=t&&null!=this.data){let r=this.data,s=i*this.texelSize;for(let i=0;i<t.length;i++){let n=1<<i%this.texelSize;e.layout&n&&(r[s+i]=t[i])}}this.dirtyStart=Math.min(this.dirtyStart,i),this.dirtyEnd=Math.max(this.dirtyEnd,r)}resize(e,t){let i=this.size;if(this.size=t,this.textureOnly)return void(i!==this.size&&(this._lastTexture=this._texture,this._texture=null));let r=(0,o.Qz)(this.pixelType);this.destroy(),this.data=new r(e.buffer)}_resetRange(){this.dirtyStart=0x7fffffff,this.dirtyEnd=0}_initTexture(e){let t=new u.g(e,this._textureDesc,this.data??void 0);if(null!=this._lastTexture&&this._fbos[0]){let i=this._lastTexture.descriptor.width,r=this._lastTexture.descriptor.height,s=this._lastTexture.descriptor.dataType,n=this._lastTexture.descriptor.pixelFormat,a=this.getFBO(e),l=(0,o.AV)(s),h=new((0,o.Qz)(s))(new ArrayBuffer(i*r*l*this.texelSize)),d=e.getBoundFramebufferObject(),{x:u,y:p,width:c,height:y}=e.getViewport();e.bindFramebuffer(a),a.readPixels(0,0,i,r,n,s,h),t.updateData(0,0,0,2*i,r/2,h),e.setViewport(u,p,c,y),e.bindFramebuffer(d)}return this.destroy(),this._texture=t,this._texture}}class f{constructor(){this.size=0,this._pendingAttributeUpdates=[],this._version=0,this._epoch=0,this._locked=!1}_initialize(e){if(!e)throw Error("InternalError: initArgs must be defined");let t=e.blockDescriptors;if(this.size=e.blockSize,(0,s.A)("esri-2d-update-debug")&&console.debug("AttributeStoreView.initialize",{message:e}),null==this._data)this._data=t.map((e,t)=>null!=e?new y(e,this.size,t):null);else for(let e=0;e<this._data.length;e++){let i=this._data[e],r=t[e];null!=r&&(null==i?this._data[e]=new y(r,this.size,e):i.resize(r,this.size))}}destroy(){for(let e of this._data??[])e?.destroy();this._defaultTexture?.dispose(),this._defaultTexture=null,this._pendingAttributeUpdates=[]}isEmpty(){return null==this._data}getBlock(e){return null==this._data?null:this._data[e]}setLabelMinZoom(e,t){this.setData(e,a.dV.FilterFlags,1,t)}setLocalTimeOrigin(e,t){this.setData(e,a.dV.LocalTimeOrigin,0,t)}getLabelMinZoom(e){return this.getData(e,a.dV.FilterFlags,1,255)}getFilterFlags(e){return this.getData(e,a.dV.FilterFlags,0,0)}getVisualVariableData(e,t){return this.getData(e,a.dV.VV,t,0)}getData(e,t,i,r){if(!this._data)return 0;let s=this._data[t];if(null==s)return 0;let n=s.getData(e,i);return null!=n?n:r}setData(e,t,i,r){this._data[t].setData(e,i,r)}lockTextureUploads(){this._locked=!0}unlockTextureUploads(){this._locked=!1,this.update()}requestUpdate(e){this._version=e.version,this._pendingAttributeUpdates.push(e),(0,s.A)("esri-2d-update-debug")&&console.debug(`Version[${this._version}] AttributeStoreView.requestUpdate`,{message:e})}get currentEpoch(){return this._epoch}update(){if(this._locked)return;
1let e=this._pendingAttributeUpdates;for(let t of(this._pendingAttributeUpdates=[],e)){let{blockData:e,initArgs:i,sendUpdateEpoch:r,version:n}=t;(0,s.A)("esri-2d-update-debug")&&console.debug(`Version[${this._version}] Epoch[${r}] AttributeStoreView.applyUpdate`),this._version=n,this._epoch=r,null!=i&&this._initialize(i);let a=this._data;for(let t=0;t<e.length;t++){let i=e[t],r=a[t];null!=r&&null!=i&&((0,s.A)("esri-2d-update-debug")&&console.debug(`Version[${this._version}] CpuBlock[${t}] AttributeStoreView.update`,{block:i}),r.update(i))}}}getUniforms(e){return{filterFlags:{texture:this._getTexture(e,a.dV.FilterFlags),unit:a.uM},animation:{texture:this._getTexture(e,a.dV.Animation),unit:a.z2},gpgpu:{texture:this._getTexture(e,a.dV.GPGPU),unit:a.Sr},localTimeOrigin:{texture:this._getTexture(e,a.dV.LocalTimeOrigin),unit:a.zt},visualVariableData:{texture:this._getTexture(e,a.dV.VV),unit:a.nM},dataDriven0:{texture:this._getTexture(e,a.dV.DD0),unit:a.lL},dataDriven1:{texture:this._getTexture(e,a.dV.DD1),unit:a.sn},dataDriven2:{texture:this._getTexture(e,a.dV.DD2),unit:a.n9},size:this.size}}_getTexture(e,t){let i=this._data?.[t];return i?(i.updateTexture(e,this._version),i.getTexture(e)):this._getDefaultTexture(e)}_getDefaultTexture(e){if(null==this._defaultTexture){let t=new p.R;t.wrapMode=h.pF.CLAMP_TO_EDGE,t.samplingMode=h.Cj.NEAREST,t.width=1,t.height=1,this._defaultTexture=new u.g(e,t,new Uint8Array(4))}return this._defaultTexture}}var _=i(74150);class m extends _.A{constructor(e){super(e),this._statisticsByLevel=new Map,this._entityIndex=new Map,this.attributeView=new f}destroy(){this.children.forEach(e=>e.destroy()),this.removeAllChildren(),this.attributeView.destroy()}doRender(e){e.context.capabilities.enable("textureFloatLinear"),super.doRender(e)}get hasAnimations(){for(let e of this.children)if(e.hasAnimations)return!0;return!1}_reindexAndUpdateFeaturesIfNeeded(){if(this.hasAnimations&&(this._reindexFeatures(),0!==this.attributeView.size))for(let e of this._entityIndex.values())e.dirty&&(this.attributeView.setData(e.displayId,a.dV.LocalTimeOrigin,0,e.firstIndexed),e.dirty=!1)}restartAnimation(e){let t=this._entityIndex.get(e);t&&(t.firstIndexed=performance.now()/1e3,t.dirty=!0)}restartAllAnimations(){let e=performance.now()/1e3;for(let[t,i]of this._entityIndex)i.firstIndexed=e,i.dirty=!0}_reindexFeatures(){let e=performance.now()/1e3;for(let t of this.children)for(let i of t.entityIds){let{objectId:t}=i,r=this._entityIndex.get(t);r||(r={objectId:t,displayId:0,firstIndexed:e,lastIndexed:0,dirty:!0},this._entityIndex.set(t,r)),r.lastIndexed=e,r.displayId=i.displayId}for(let[t,i]of this._entityIndex)e-i.lastIndexed>60&&this._entityIndex.delete(t)}_updateAttributeView(){this.attributeView.update(),this._reindexAndUpdateFeaturesIfNeeded()}createRenderParams(e){let t=super.createRenderParams(e);return t.attributeView=this.attributeView,t.instanceStore=this._instanceStore,t.statisticsByLevel=this._statisticsByLevel,t}}},24748:(e,t,i)=>{i.d(t,{A:()=>h});var r=i(49493),s=i(20150),n=i(40496),a=i(9491);i(74552),i(64988),i(32243);var l=i(44708);let o=class extends(0,s.O)(n.oY){constructor(e){super(e),this.frame=null,this.frameCenter=null,this.frameOutline=null,this.lineOfSight=null,this.sensorLocation=null,this.sensorTrail=null}};(0,r._)([(0,a.MZ)({type:Boolean})],o.prototype,"frame",void 0),(0,r._)([(0,a.MZ)({type:Boolean})],o.prototype,"frameCenter",void 0),(0,r._)([(0,a.MZ)({type:Boolean})],o.prototype,"frameOutline",void 0),(0,r._)([(0,a.MZ)({type:Boolean})],o.prototype,"lineOfSight",void 0),(0,r._)([(0,a.MZ)({type:Boolean})],o.prototype,"sensorLocation",void 0),(0,r._)([(0,a.MZ)({type:Boolean})],o.prototype,"sensorTrail",void 0);let h=o=(0,r._)([(0,l.$)("esri.layers.support.TelemetryDisplay")],o)},27594:(e,t,i)=>{i.d(t,{A:()=>C});var r=i(40566),s=i(81868),n=i(99895),a=i(3790),l=i(57055),o=i(34698),h=i(75149),d=i(87444),u=i(73307),p=i(31462),c=i(88284),y=i(45850),f=i(78108),_=i(10153),m=i(99793),g=i(49493),v=i(80256),x=i(33402);class w extends v.ZA{}(0,g._)([(0,v.C5)(0,x.ZY)],w.prototype,"pos",void 0),(0,g._)([(0,v.C5)(1,x.ZY)],w.prototype,"uv",void 0);class b extends v.HS{}class A extends v.k2{}(0,g._)([(0,v.Pi)(x.U)],A.prototype,"dvs",void 0);class T extends v.k2{}(0,g._)([(0,v.Pi)(x.ZY)],T.prototype,"perspective",void 0),(0,g._)([(0,v.Pi)(x.ZY)],T.prototype,"texSize",void 0),(0,g._)([(0,v.Pi)(x.nt)],T.prototype,"wrapAroundShift",void 0),(0,g._)([(0,v.Pi)(x.nt)],T.prototype,"opacity",void 0),(0,g._)([(0,v.Pi)(x.z7)],T.prototype,"texture",void 0);class S extends v.A{vertex(e){let t=e.uv.divide(this.config.texSize),i=new x.nt(1).add((0,x.Om)(t,this.config.perspective)),r=new x.eB(e.pos.add(new x.ZY(this.config.wrapAroundShift,0)),1),s=this.transform.dvs.multiply(r);return{uv:t,glPosition:new x.Zb(s.xy.multiply(i),0,i)}}
1fragment(e){let t=(0,x.US)(this.config.texture,e.uv).multiply(this.config.opacity),i=new v.mm;return i.glFragColor=t,i}}(0,g._)([(0,v.Pi)(A)],S.prototype,"transform",void 0),(0,g._)([(0,v.Pi)(T)],S.prototype,"config",void 0),(0,g._)([(0,g.a)(0,(0,v.hF)(w))],S.prototype,"vertex",null),(0,g._)([(0,g.a)(0,(0,v.hF)(b))],S.prototype,"fragment",null);var M=i(36609);class D extends _.j{constructor(){super(...arguments),this.type=m.N.Overlay,this._mesh=null,this.shaders={overlay:new S}}render(e,t){let{context:i,painter:r}=e,s=this._getMesh(e,t);r.setPipelineState(f.i);let{isWrapAround:n,wrapAroundShift:a}=t.config,l={...t.config,wrapAroundShift:0},o={shader:this.shaders.overlay,uniforms:{transform:t.transform,config:l},defines:null,optionalAttributes:null,useComputeBuffer:!1};r.setPipelineState({...f.i,stencil:{write:!1,test:{compare:M.MT.EQUAL,op:{fail:M.eA.KEEP,zFail:M.eA.KEEP,zPass:M.eA.REPLACE},ref:0,mask:255}}}),r.submitDrawMeshUntyped(i,o,s),n&&(l.wrapAroundShift=a,r.submitDrawMeshUntyped(i,o,s))}shutdown(){(0,c.pR)(this._mesh)}_getMesh(e,t){let{context:i}=e;if(this._mesh){let e=this._mesh.vertexBuffers.get("positions");if(!e)throw Error("Buffer not found");e.setData(t.position)}else{let e=null!=t.index?t.index.length:t.position.length/2;this._mesh=new y.e(i,{vertex:{positions:t.position,uvs:t.tex},index:null!=t.index?{index:t.index}:void 0,groups:[{attributes:[{name:"pos",count:2,type:M.pe.FLOAT,location:0,vertex:"positions",stride:8,offset:0},{name:"tex",count:2,type:M.pe.UNSIGNED_SHORT,location:1,vertex:"uvs",stride:4,offset:0}],index:null!=t.index?"index":void 0,primitive:M.WR.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:e}]})}return this._mesh}}class C extends p.A{constructor(){super(...arguments),this._viewStateId=-1,this._dvsMat3=(0,n.vt)(),this._overlayTechnique=new D}get dvsMat3(){return this._dvsMat3}beforeRender(e){for(let t of(this._updateMatrices(e),this._updateOverlays(e,this.children),this.children))t.beforeRender(e)}doRender(e){if(e.drawPhase!==u.S5.MAP||!this.visible)return;super.doRender(e);let t=this._overlayTechnique;for(let i of this.children)i.draw(e,t)}onDetach(){this._overlayTechnique.shutdown()}_updateMatrices(e){let{state:t}=e,{id:i,size:n,pixelRatio:h,resolution:d,rotation:u,viewpoint:p,displayMat3:c}=t;if(this._viewStateId===i)return;let y=(0,r.DF)(u),f=h*n[0],_=h*n[1];this._localOrigin=p.targetGeometry.clone();let{x:m,y:g}=this._localOrigin,v=(0,o.mT)(m,t.spatialReference);this._localOrigin.x=v,this._localOrigin.y=g;let x=(0,s.D_)(this._dvsMat3);(0,s.lw)(x,x,c),(0,s.Tl)(x,x,(0,a.fA)(f/2,_/2)),(0,s.hs)(x,x,(0,l.fA)(f/(d*f),-_/(d*_),1)),(0,s.e$)(x,x,-y),this._viewStateId=i}_updateOverlays(e,t){let{state:i}=e,{rotation:s,spatialReference:n,worldScreenWidth:a,size:l,viewpoint:o}=i,u=this._localOrigin,p,c=0,y=(0,h.Vp)(n);if(y&&n.isWrappable){let e,t=l[0],h=l[1],u=(0,r.DF)(s),f=Math.round(t*Math.abs(Math.cos(u))+h*Math.abs(Math.sin(u))),[_,m]=y.valid,g=(0,d.FT)(n),{x:v,y:x}=o.targetGeometry,w=[0,0];i.toScreen(w,[v,x]);let b=[0,0];e=f>a?.5*a:.5*f;let A=Math.floor((v+.5*g)/g),T=[w[0]+e,0];i.toMap(b,T),b[0]>m+A*g&&(c=g),T[0]=w[0]-e,i.toMap(b,T),b[0]<_+A*g&&(c=-g),p={worldWidth:g,xBounds:[_,m]}}for(let e of t)e.updateDrawCoords(u,c,n,p)}}},36271:(e,t,i)=>{function r(e){return e}function s(e){return e}i.d(t,{P:()=>r,U:()=>s})},37182:(e,t,i)=>{i.d(t,{A:()=>a});var r=i(73307),s=i(84749),n=i(16128);class a extends s.f{renderChildren(e){for(let t of this.children)t.setTransform(e.state);if(super.renderChildren(e),this._updateAttributeView(),this.children.some(e=>e.hasData)){switch(e.drawPhase){case r.S5.MAP:this._renderChildren(e,r.RI.All);break;case r.S5.HIGHLIGHT:this.hasHighlight&&this._renderHighlight(e)}this._boundsRenderer&&this._boundsRenderer.doRender(e)}}_renderHighlight(e){(0,n.lB)(e,!1,e=>{this._renderChildren(e,r.RI.Highlight)})}}},51230:(e,t,i)=>{i.d(t,{c:()=>s});var r=i(36271);class s{constructor(e,t,i){this._instanceId=e,this.techniqueRef=t,this._input=i}get instanceId(){return(0,r.P)(this._instanceId)}createMeshInfo(e){return{id:(0,r.P)(this._instanceId),techniqueType:this.techniqueRef.type,inputParams:e,optionalAttributes:this._input.optionalAttributes}}getInput(){return this._input}setInput(e){this._input=e}}},74150:(e,t,i)=>{i.d(t,{A:()=>h});var r=i(74552),s=i(73307),n=i(31462),a=i(42120),l=i(4147);let o=(e,t)=>e.key.level-t.key.level!=0?e.key.level-t.key.level:e.key.row-t.key.row!=0?e.key.row-t.key.row:e.ke
1y.col-t.key.col;class h extends n.A{constructor(e){super(),this.tileInfoView=e,this.sortFunction=o}renderChildren(e){this.setStencilReference(e),super.renderChildren(e)}createRenderParams(e){let{state:t}=e,i=super.createRenderParams(e);return i.requiredLevel=this.tileInfoView.getClosestInfoForScale(t.scale).level,i.displayLevel=this.tileInfoView.tileInfo.scaleToZoom(t.scale),i}prepareRenderPasses(e){let t=super.prepareRenderPasses(e);return t.push(e.registerRenderPass({name:"stencil",brushes:[a.A],drawPhase:s.S5.DEBUG|s.S5.MAP|s.S5.HIGHLIGHT|s.S5.LABEL,target:()=>this.getStencilTarget()})),(0,r.A)("esri-tiles-debug")&&t.push(e.registerRenderPass({name:"tileInfo",brushes:[l.A],drawPhase:s.S5.DEBUG,target:()=>this.children})),t}getStencilTarget(){return this.children}setStencilReference(e){let t=1;for(let e of this.children)e.stencilRef=t++}}},84749:(e,t,i)=>{i.d(t,{f:()=>M});var r=i(88284),s=i(21406),n=i(73307),a=i(51230),l=i(73257),o=i(36271);let h=0;function d(e,t){return new a.c((0,o.U)(h++),e,t)}let u={visualVariableColor:null,visualVariableOpacity:null,visualVariableSizeMinMaxValue:null,visualVariableSizeScaleStops:null,visualVariableSizeStops:null,visualVariableSizeUnitValue:null,visualVariableRotation:null,visualVariableSizeOutlineScaleStops:null};class p{constructor(){this.instances={fill:d(l.YS.fill,{uniforms:u,optionalAttributes:{zoomRange:!0}}),marker:d(l.YS.marker,{uniforms:u,optionalAttributes:{zoomRange:!0}}),line:d(l.YS.line,{uniforms:u,optionalAttributes:{zoomRange:!0}}),text:d(l.YS.text,{uniforms:u,optionalAttributes:{zoomRange:!0,referenceSymbol:!1,clipAngle:!1}}),complexFill:d(l.YS.complexFill,{uniforms:u,optionalAttributes:{zoomRange:!0}}),texturedLine:d(l.YS.texturedLine,{uniforms:u,optionalAttributes:{zoomRange:!0}}),animatedMarker:d(l.YS.animatedMarker,{uniforms:u,optionalAttributes:{zoomRange:!0}})},this._instancesById=Object.values(this.instances).reduce((e,t)=>(e.set(t.instanceId,t),e),new Map)}getInstance(e){return this._instancesById.get(e)}}var c=i(81868),y=i(99895),f=i(3790),_=i(57055),m=i(34698),g=i(22018),v=i(98776),x=i(41676),w=i(36609),b=i(27707);let A=Math.PI/180;class T extends g.q{constructor(e){super(),this._program=null,this._vao=null,this._vertexBuffer=null,this._indexBuffer=null,this._dvsMat3=(0,y.vt)(),this._localOrigin={x:0,y:0},this._getBounds=e}destroy(){this._vao&&(this._vao.dispose(),this._vao=null,this._vertexBuffer=null,this._indexBuffer=null),this._program=(0,r.WD)(this._program)}doRender(e){let{context:t}=e,i=this._getBounds();if(i.length<1)return;this._createShaderProgram(t),this._updateMatricesAndLocalOrigin(e),this._updateBufferData(t,i),t.setBlendingEnabled(!0),t.setDepthTestEnabled(!1),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1),t.setBlendFunction(w.dn.ONE,w.dn.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0);let r=this._program;t.bindVAO(this._vao),t.useProgram(r),r.setUniformMatrix3fv("u_dvsMat3",this._dvsMat3),t.gl.lineWidth(1),t.drawElements(w.WR.LINES,8*i.length,w.pe.UNSIGNED_INT,0),t.bindVAO()}_createTransforms(){return{displayViewScreenMat3:(0,y.vt)()}}_createShaderProgram(e){this._program||(this._program=e.programCache.acquire("precision highp float;\n uniform mat3 u_dvsMat3;\n\n attribute vec2 a_position;\n\n void main() {\n mediump vec3 pos = u_dvsMat3 * vec3(a_position, 1.0);\n gl_Position = vec4(pos.xy, 0.0, 1.0);\n }","precision mediump float;\n void main() {\n gl_FragColor = vec4(0.75, 0.0, 0.0, 0.75);\n }",S().attributes))}_updateMatricesAndLocalOrigin(e){let{state:t}=e,{displayMat3:i,size:r,resolution:s,pixelRatio:n,rotation:a,viewpoint:l}=t,{x:o,y:h}=l.targetGeometry,d=(0,m.mT)(o,t.spatialReference);this._localOrigin.x=d,this._localOrigin.y=h;let u=n*r[0],p=n*r[1],y=(0,c.D_)(this._dvsMat3);(0,c.lw)(y,y,i),(0,c.Tl)(y,y,(0,f.fA)(u/2,p/2)),(0,c.hs)(y,y,(0,_.fA)(r[0]/(s*u),-p/(s*p),1)),(0,c.e$)(y,y,-(A*a))}_updateBufferData(e,t){let{x:i,y:r}=this._localOrigin,s=new Float32Array(8*t.length),n=new Uint32Array(8*t.length),a=0,l=0;for(let e of t)e&&(s[2*a]=e[0]-i,s[2*a+1]=e[1]-r,s[2*a+2]=e[0]-i,s[2*a+3]=e[3]-r,s[2*a+4]=e[2]-i,s[2*a+5]=e[3]-r,s[2*a+6]=e[2]-i,s[2*a+7]=e[1]-r,n[l]=a+0,n[l+1]=a+3,n[l+2]=a+3,n[l+3]=a+2,n[l+4]=a+2,n[l+5]=a+1,n[l+6]=a+1,n[l+7]=a+0,a+=4,l+=8);if(this._vertexBuffer?this._vertexBuffer.setData(s.buffer):this._vertexBuffer=x.g.createVertex(e,w._U.DYNAMIC_DRAW,s.buffer),this._indexBuffer?this._indexBuffer.setData(n):this._indexBuffer=x.g.createIndex(e,w._U.DYNAMIC_DRAW,n),!this._vao){let t=S();this._vao=new b.Z(e,t.attributes,t.bufferLayouts,new Map([["geometry",this._vertexBuffer]]),this._indexBuffer)}}}let S=()=>(0,v.ES)("bounds",{geometry:[{location:0,name:"a_position",count:2,type:w.pe.FLOAT}]});class M extends s.j{constructor(e){super(e),this._instanceStore=new p,this.checkHighlight=()=>!0}destroy(){super.destroy(),this._boundsRenderer=(0,r.pR)(this._boundsRenderer)}get instanceStore(){return this._instanceStore}enableRenderingBounds(e){this._boundsRenderer=new T(e),this.requestRender()}get hasHighlight(){return this.checkHighlight()}onTileData(e,t){e.onMessage(t),this.contains(e)||this.addChild(e),this.requestRender()}_renderChildren(e,t){for(let i of(e.selection=t,this.children)){if(!i.visible)continue;let t=i.getDisplayList(this._instanceStore,n.ch.STRICT_ORDER);t?.render(e)}}}},90589:(e,t,i)=>{i.r(t),i.d(t,{default:()=>I});var r=i(49493),s=i(35495),n=i(35968);i(96098);var a=i(88284),l=i(23096),o=i(9491);i(74552),i(64988),i(32243);var h=i(44708),d=i(17563),u=i(24748),p=i(27594);i(98952);var c=i(4069),y=i(68891),f=i(13241),_=i(30237),m=i(42398),g=i(22018),v=i(20914),x=i(36609),w=i(87960),b=i(56429),A=i(47069),T=i(1589);class S extends g.q{constructor(e){super(),this.element=e,this._handles=new y.A,this.isWrapAround=!1,this.perspectiveTransform=(0,_.vt)(),this.wrapAroundShift=0,this.clipGeometry=null,this._handles.add((0,l.z7)(()=>this.element,()=>{let e=this.element;this.ready(),e&&this._handles.add((0,c.on)(e,"play",()=>this.requestRender()))},l.Vh))}getMesh(e){throw Error("Method not implemented.")}destroy(){this._handles.destroy(),this.texture=(0,a.WD)(this.texture)}get textureSize(){if(!this.texture)return[1,1];let e=this.texture.descriptor;return[e.width,e.height]}get dvsMat3(){return this.parent.dvsMat3}beforeRender(e){let t=this.element;if(null==t)return;let{context:i}=e,{videoWidth:r,videoHeight:s}=t;
1if(0!==r&&0!==s){if(this.texture)t.paused||this.texture.setData(t);else{let e=new b.R;e.wrapMode=x.pF.CLAMP_TO_EDGE,e.preMultiplyAlpha=!0,e.width=r,e.height=s,this.texture=new w.g(i,e,t)}t.paused||(this.texture.generateMipmap(),this.requestRender()),super.beforeRender(e)}}_createTransforms(){return null}updateDrawCoords(e,t,i,r){let s=this.element,n=this._getFrameInfo();if(!s||!n)return;this._initializeData(e,n,i);let{controlPoints:a,horizon:l}=n,o=Math.sqrt(a.length),{x:h,y:d}=e,u=this._vertices,p=a[0],c=a[o-1],y=a[(o-1)*o],f=a[(o-1)*o+o-1],_=(0,m.project)(l?l[0].mapPoint:p.mapPoint,i),g=(0,m.project)(l?l[1].mapPoint:c.mapPoint,i),x=(0,m.project)(y.mapPoint,i),w=(0,m.project)(f.mapPoint,i);this.clipGeometry=l?new v.A({geometry:A.A.fromJSON({rings:[[[x.x,x.y],[w.x,w.y],[g.x,g.y],[_.x,_.y],[x.x,x.y]]],spatialReference:i})}):null;for(let e=0;e<a.length;e++){let{sourcePoint:t,mapPoint:r}=a[e];if(null==t||null==r)continue;let s=(0,m.project)(r,i);u[2*e+0]=s.x-h,u[2*e+1]=s.y-d}let b=t;if(r){let e=Math.min(_.x,g.x,x.x,w.x),t=Math.max(_.x,g.x,x.x,w.x),{worldWidth:i,xBounds:s}=r,[n,a]=s;e<n&&t>n?b=i:t>a&&e<a&&(b=-i)}this.wrapAroundShift=b,this.isWrapAround=0!==b}draw(e,t){this.isReady&&this._vertices&&this._indices&&this._texCoords?t.render(e,{transform:{dvs:this.dvsMat3},config:{perspective:this.perspectiveTransform,texSize:this.textureSize,wrapAroundShift:this.wrapAroundShift,isWrapAround:this.isWrapAround,opacity:this.opacity,texture:{texture:this.texture,unit:0}},position:this._vertices,tex:this._texCoords,index:this._indices}):this.requestRender()}_initializeData(e,t,i){if(null!=this._vertices&&null!=this._indices)return;let{controlPoints:r}=t,s=Math.sqrt(r.length),n=new Float32Array(2*r.length),a=new Uint16Array(2*r.length);for(let t=0;t<r.length;t++){let{sourcePoint:s,mapPoint:l}=r[t];if(null==s||null==l)continue;let o=(0,m.project)(l,i);n[2*t+0]=o.x-e.x,n[2*t+1]=o.y-e.y,a[2*t+0]=s.x,a[2*t+1]=s.y}let l=new Uint16Array(s*s+(s-2)*(s+2)),o=0;for(let e=0;e<s;e++){for(let t=0;t<s;t++)l[o++]=e*s+t,l[o++]=(e+1)*s+t;e<s-2&&(l[o++]=(e+1)*s+(s-1),l[o++]=(e+1)*s)}this._vertices=n,this._texCoords=a,this._indices=l}_getFrameInfo(){if(!this.groundControlPoints)return null;let e=this._getFrameControlPoints(),t=this.frameHorizonPoints,i=null;if(t){let e=t.startX,r=t.startY,s=t.endX,n=t.endY;i=[{sourcePoint:(0,f.tc)(e,r),mapPoint:new T.A(t.startLongitude,t.startLatitude)},{sourcePoint:(0,f.tc)(s,n),mapPoint:new T.A(t.endLongitude,t.endLatitude)}]}return{controlPoints:e,horizon:i}}_getFrameControlPoints(){let e=this.groundControlPoints,t=e?.length;if(!t)return[];let i=Array(t),r=Math.max(...e.map(({x:e})=>e)),s=this.element.videoWidth/r;for(let r=0;r<t;r++){let{x:t,y:n,lat:a,lon:l}=e[r];i[r]={sourcePoint:(0,f.tc)(t*s,-n*s),mapPoint:new T.A(l,a)}}return i}}var M=i(13419),D=i(37182),C=i(70777),P=i(62578),V=i(68629),E=i(67502),O=i(54066);let R=new s.A([255,127,0]),z=class extends(0,M.e)(P.A){constructor(){super(...arguments),this._graphicsLayer=new d.A,this._frameOutlineGraphic=new n.A({symbol:new V.A({outline:{type:"simple-line",color:R}})}),this._sensorTrailGraphic=new n.A({symbol:new E.A({color:R})}),this._lineOfSightGraphic=new n.A({symbol:new E.A({color:R})}),this._sensorLocationGraphic=new n.A({symbol:new O.A({color:R})}),this._frameCenterGraphic=new n.A({symbol:new O.A({color:R,style:"cross"})}),this._overlayContainer=null,this.layer=null,this.symbolColor=R,this.visibleTelemetryElements=null}destroy(){this._graphicsLayer=(0,a.pR)(this._graphicsLayer)}initialize(){this.addHandles((0,l.wB)(()=>this.symbolColor,()=>{this._frameOutlineGraphic.symbol.outline.color=this.symbolColor,this._sensorTrailGraphic.symbol.color=this.symbolColor,this._lineOfSightGraphic.symbol.color=this.symbolColor,this._sensorLocationGraphic.symbol.color=this.symbolColor,this._frameCenterGraphic.symbol.color=this.symbolColor},l.Vh)),this._graphicsLayer.graphics.addMany([this._frameOutlineGraphic,this._sensorTrailGraphic,this._lineOfSightGraphic,this._sensorLocationGraphic,this._frameCenterGraphic]),this.visibleTelemetryElements=new u.A({frame:this.layer.telemetryDisplay?.frame??!1,frameCenter:this.layer.telemetryDisplay?.frameCenter??!0,frameOutline:this.layer.telemetryDisplay?.frameOutline??!0,lineOfSight:this.layer.telemetryDisplay?.lineOfSight??!0,sensorLocation:this.layer.telemetryDisplay?.sensorLocation??!0,sensorTrail:this.layer.telemetryDisplay?.sensorTrail??!0})}attach(){this._overlayContainer=new p.A,this.container.addChild(this._overlayContainer),this._addOverlayMultipoint(),this.graphicsView=new C.A({requestUpdate
1Callback:()=>this.requestUpdate(),view:this.view,graphics:this._graphicsLayer.graphics,container:new D.A(this.view.featuresTilingScheme)}),this.container.addChild(this.graphicsView.container),this.addAttachHandles(this._graphicsLayer.on("graphic-update",this.graphicsView.graphicUpdateHandler)),this.addAttachHandles([(0,l.wB)(()=>[this.layer.telemetryDisplay?.frame,this.layer.telemetryDisplay?.frameCenter,this.layer.telemetryDisplay?.frameOutline,this.layer.telemetryDisplay?.sensorLocation,this.layer.telemetryDisplay?.sensorTrail,this.layer.telemetryDisplay?.lineOfSight],()=>this._updateVisibleTelemetryElements(),l.Vh),(0,l.wB)(()=>[this.layer.telemetry,this.visibleTelemetryElements?.frameCenter,this.visibleTelemetryElements?.frameOutline,this.visibleTelemetryElements?.sensorLocation,this.visibleTelemetryElements?.sensorTrail,this.visibleTelemetryElements?.lineOfSight],()=>this._updateGraphicGeometries(),l.Vh)])}detach(){this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this.graphicsView=(0,a.pR)(this.graphicsView)}supportsSpatialReference(e){return!0}moveEnd(){}viewChange(){this.graphicsView.viewChange()}update(e){this.graphicsView.processUpdate(e)}isUpdating(){return!this.graphicsView||this.graphicsView.updating}_updateVisibleTelemetryElements(){this.visibleTelemetryElements&&this.layer.telemetryDisplay&&(this.visibleTelemetryElements.frame=this.layer.telemetryDisplay.frame,this.visibleTelemetryElements.frameCenter=this.layer.telemetryDisplay.frameCenter,this.visibleTelemetryElements.frameOutline=this.layer.telemetryDisplay.frameOutline,this.visibleTelemetryElements.lineOfSight=this.layer.telemetryDisplay.lineOfSight,this.visibleTelemetryElements.sensorLocation=this.layer.telemetryDisplay.sensorLocation,this.visibleTelemetryElements.sensorTrail=this.layer.telemetryDisplay.sensorTrail)}_updateGraphicGeometries(){let{telemetry:e}=this.layer,{visibleTelemetryElements:t}=this;e&&t&&(t.frameOutline&&e.frameOutline?this._frameOutlineGraphic.geometry=this.layer.telemetry.frameOutline:this._frameOutlineGraphic.geometry=null,t.sensorTrail&&e.sensorTrail?this._sensorTrailGraphic.geometry=this.layer.telemetry.sensorTrail:this._sensorTrailGraphic.geometry=null,t.lineOfSight&&e.lineOfSight?this._lineOfSightGraphic.geometry=this.layer.telemetry.lineOfSight:this._lineOfSightGraphic.geometry=null,t.sensorLocation&&e.sensorLocation?this._sensorLocationGraphic.geometry=this.layer.telemetry.sensorLocation:this._sensorLocationGraphic.geometry=null,t.frameCenter&&e.frameCenter?this._frameCenterGraphic.geometry=this.layer.telemetry.frameCenter:this._frameCenterGraphic.geometry=null)}async _addOverlayMultipoint(){if(!this.layer.videoElement)return;let e=new S(this.layer.videoElement);this.addAttachHandles([(0,l.wB)(()=>[this.layer.frameHorizonPoints,this.layer.groundControlPoints],()=>{let{visibleTelemetryElements:t}=this;t?.frame?(e.frameHorizonPoints=this.layer.frameHorizonPoints,e.groundControlPoints=this.layer.groundControlPoints,e.opacity=1):e.opacity=0},l.Vh)]),this._overlayContainer.addChild(e),this.view.stage.requestRender()}};(0,r._)([(0,o.MZ)()],z.prototype,"graphicsView",void 0),(0,r._)([(0,o.MZ)()],z.prototype,"layer",void 0),(0,r._)([(0,o.MZ)()],z.prototype,"symbolColor",void 0),(0,r._)([(0,o.MZ)({type:u.A})],z.prototype,"visibleTelemetryElements",void 0);let I=z=(0,r._)([(0,h.$)("esri.views.2d.layers.VideoLayerView2D")],z)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.