{"version":3,"sources":["webpack:///./node_modules/@arcgis/core/views/webgl/VertexArrayObject.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/GeometryUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/BackgroundPrograms.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushBitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/BrushClip.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushFill.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLabel.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/raster/BrushRasterBitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/brushes.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderCompiler.js","webpack:///./node_modules/@arcgis/core/chunks/vec4f32.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/TileInfoPrograms.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushInfo.js","webpack:///./node_modules/@arcgis/core/views/webgl/BufferObject.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/VertexStream.js","webpack:///./node_modules/@arcgis/core/views/webgl/Util.js","webpack:///./node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js","webpack:///./node_modules/@arcgis/core/views/webgl/Program.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/Mesh2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/ClippingInfo.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/WGLContainer.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/shaderRepository.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/shaders/sources/resolver.js","webpack:///./node_modules/@arcgis/core/views/webgl/rasterUtils.js","webpack:///./node_modules/@arcgis/core/views/webgl/programUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/vectorTiles/decluttering/config.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushStencil.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrush.js","webpack:///./node_modules/@arcgis/core/core/libs/earcut/earcut.js"],"names":["s","t","i","e","n","this","_context","_locations","_layout","_buffers","_indexBuffer","_glName","_initialized","instanceCounter","increment","Object","keys","reduce","size","capabilities","vao","deleteVertexArray","getBoundVAO","bindVAO","dispose","decrement","createVertexArray","bindVertexArray","_bindLayout","initialize","glName","console","error","r","gl","o","bindBuffer","ELEMENT_ARRAY_BUFFER","_unbindLayout","unbindBuffer","bufferType","Number","POSITIVE_INFINITY","Math","PI","c","N","LN2","a","h","M","P","log","g","shaders","vertexShader","fragmentShader","attributes","a_pos","nearest","defines","samplingMode","mips","bilinear","bicubic","trilinear","state","resolution","pixelRatio","round","rotation","isSourceScaled","super","arguments","_desc","vsPath","fsPath","a_position","a_texcoord","_quad","context","setBlendingEnabled","blendFunction","setBlendFunctionSeparate","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","stencilRef","renderingOptions","painter","source","timeline","begin","name","d","materialManager","getProgram","coordScale","l","computedOpacity","m","transforms","p","setSamplingProfile","bind","bindProgram","setUniformMatrix3fv","dvs","setUniform1i","setUniform2fv","setUniform1f","draw","end","geometry","location","count","type","_color","_program","setFaceCullingEnabled","setStencilOp","getVAO","bufferLayouts","setUniform4fv","displayMat3","drawElements","indexBuffer","_patternMatrix","_programOptions","id","pattern","_vao","styleLayerUID","_loadWGLResources","f","displayLevel","styleLayer","backgroundMaterial","u","vectorTilesMaterialManager","getPaintValue","_","b","window","devicePixelRatio","v","spriteMosaic","x","y","drawPhase","HITTEST","j","U","getMaterialProgram","getMosaicItemPosition","setUniform2f","tl","br","page","z","coordRange","max","key","level","drawArrays","Int8Array","createVertex","getAttributeLocations","getLayoutInfo","requiredLevel","circleMaterial","displayViewMat3","layerData","has","setDataUniforms","get","prepareForRendering","circleVertexArrayObject","circleIndexCount","Uint32Array","BYTES_PER_ELEMENT","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","getPaintProperty","isDataDriven","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","T","E","w","D","fillVertexArrayObject","fillIndexCount","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexCount","outlineIndexStart","_dashArray","lineMaterial","length","lineVertexArrayObject","lineIndexCount","lineIndexStart","_iconProgramOptions","sdf","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","getLayoutValue","isIconSDF","V","S","updateOpacityInfo","iconVertexArrayObject","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","getValue","L","k","I","_glyphTextureSize","width","height","O","R","A","F","textVertexArrayObject","forEach","_renderGlyphRange","indexOf","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","drawGeometry","data","dotDensity","normalized","_dotTextureSize","_dotTextures","_dotSamplers","Int32Array","_disposeTextures","FILL","rendererInfo","load","materialKey","_setSharedUniforms","textureBinding","textureManager","vvColor","setUniform1fv","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","ddDotSize","ddDotScale","scale","setUniformMatrix4fv","ddColors","ddActiveDots","ddBackgroundColor","ddDotValue","_bindDotDensityTextures","_createDotDensityTextures","ddSeed","setUniform1iv","bindTexture","_seed","_allocDotDensityTexture","Float32Array","getFloat","wrapMode","pixelFormat","dataType","LABEL","mapAligned","abs","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","floor","LINE","setFrontFace","setCullFace","MARKER","vvRotation","vvMaterialParameters","vvRotationType","TEXT","lut","stretch","hillshade","_rendererUniformInfos","Map","suspended","textureFloat","textureFloatLinear","updateTexture","getShaderVariations","symbolizerParameters","drawWithProgram","transformGrid","opacity","getUniformInfos","names","textures","getTextures","u_coordScale","u_dvsMat3","colormap","colormapOffset","join","set","interpolation","push","isRendereredSource","marker","line","fill","text","label","clip","stencil","bitmap","raster","tileInfo","vtlBackground","vtlFill","vtlLine","vtlCircle","vtlSymbol","readFile","resolve","read","Error","exec","path","start","index","slice","freeze","__proto__","create","clone","fromValues","createView","zeros","ones","unitX","unitY","unitZ","unitW","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","UNIT_W","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","isReady","_getTexture","descriptor","offset","stride","divisor","texture","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","target","usage","_size","_indexType","createBuffer","setData","deleteBuffer","byteLength","bufferData","ArrayBuffer","isView","buffer","bufferSubData","rctx","_vertexBuffer","Uint16Array","unbind","vertexBuffers","layout","instancing","baseInstance","vertexAttribPointer","enableVertexAttribArray","vertexAttribDivisor","disableVertexAttribArray","G","X","replace","C","position","column","$","Z","W","q","B","test","concat","map","splice","match","toString","parseInt","trim","_vShader","_fShader","_defines","_nameToUniformLocation","_nameToAttribLocation","_nameToUniform1","_nameToUniform1v","_nameToUniform2","_nameToUniform3","_nameToUniform4","_nameToUniformMatrix3","_nameToUniformMatrix4","_vertexShaderSource","_fragmentShaderSource","Array","isArray","deleteShader","deleteProgram","_loadShader","createProgram","attachShader","bindAttribLocation","linkProgram","getUniformLocation","getAttribLocation","uniform1i","uniform1iv","_arrayCopy","_arrayAssign","uniform2iv","uniform3iv","uniform4iv","uniform1f","uniform1fv","uniform2f","uniform2fv","uniform3f","uniform3fv","uniform4f","uniform4fv","uniformMatrix3fv","uniformMatrix4fv","locations","_padToThree","contextVersion","createShader","shaderSource","compileShader","getLogger","coords","lengths","_cache","vertices","indices","primitiveType","isMapSpace","fromScreenExtent","xmin","ymin","xmax","ymax","fromPolygon","fromMapExtent","fromRect","toScreen","createIndex","parseFloat","_clip","stage","_handle","watch","_invalidate","ready","mesh","destroy","_destroyGL","remove","_lastWidth","_lastHeight","_createMesh","getIndexBuffer","getVertexBuffers","requestRender","left","right","top","bottom","_createScreenRect","fromPath","fromGeometry","constructor","_clips","children","clips","_updateClippingInfo","createRenderParams","globalOpacity","profiler","recordContainerStart","beforeRenderLayer","_clippingInfos","updateTransforms","renderChildren","compositeLayer","recordContainerEnd","_renderPasses","prepareRenderPasses","beforeRender","render","afterRender","requireFBO","requiresDedicatedFBO","registerRenderPass","brushes","MAP","LABEL_ALPHA","DEBUG","HIGHLIGHT","setTransform","onAttach","onDetach","items","fromClipArea","background","bitBlit","blend","filtering","fx","integrate","highlight","magnifier","materials","icon","blit","bloom","composite","gaussianBlur","luminosityHighPass","blur","dra","sobel","filterEffect","pp","common","util","split","resolveIncludes","pixelType","pixels","getAsRGBAFloat","getAsRGBA","internalFormat","isWebGL2Context","flipped","coefficients","u_flipY","u_isFloatTexture","u_applyTransform","u_opacity","u_transformSpacing","spacing","u_transformGridSize","u_targetImageSize","u_srcImageSize","u_colormapOffset","u_colormapMaxIndex","u_scale","u_offset","u_bandCount","bandCount","u_minOutput","outMin","u_maxOutput","outMax","u_minCutOff","minCutOff","u_maxCutOff","maxCutOff","u_factor","factor","u_useGamma","useGamma","u_gamma","gamma","u_gammaCorrection","gammaCorrection","u_hillshadeType","hillshadeType","u_sinZcosAs","sinZcosAs","u_sinZsinAs","sinZsinAs","u_cosZs","cosZs","u_weights","weights","u_minValue","minValue","u_maxValue","maxValue","getProgramParameter","ACTIVE_UNIFORMS","getActiveUniform","info","some","setUniform3fv","setUniform2iv","setUniform3iv","setUniform4iv","toFixed","options","value","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","setStencilFunctionSeparate","_initialize","next","prev","min","steiner","prevZ","nextZ","sort"],"mappings":"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","file":"js/chunk-77420ad0.b164fd17.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{disposeMaybe as t}from\"../../core/maybe.js\";import{bindVertexBufferLayout as i,unbindVertexBufferLayout as e}from\"./Util.js\";class s{constructor(t,i,e,s,n){this._context=t,this._locations=i,this._layout=e,this._buffers=s,this._indexBuffer=n,this._glName=null,this._initialized=!1,t.instanceCounter.increment(2,this)}get glName(){return this._glName}get vertexBuffers(){return this._buffers}get indexBuffer(){return this._indexBuffer}get size(){return Object.keys(this._buffers).reduce(((t,i)=>t+this._buffers[i].size),this._indexBuffer?this._indexBuffer.size:0)}get layout(){return this._layout}get locations(){return this._locations}dispose(i=!0){if(!this._context)return;const e=this._context.capabilities.vao;e&&this._glName&&(e.deleteVertexArray(this._glName),this._glName=null);if(this._context.getBoundVAO()===this&&this._context.bindVAO(null),i){for(const t in this._buffers)this._buffers[t].dispose(),delete this._buffers[t];this._indexBuffer=t(this._indexBuffer)}this._context.instanceCounter.decrement(2,this),this._context=null}initialize(){if(this._initialized)return;const t=this._context.capabilities.vao;if(t){const i=t.createVertexArray();t.bindVertexArray(i),this._bindLayout(),t.bindVertexArray(null),this._glName=i}this._initialized=!0}bind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(this.glName):(this._context.bindVAO(null),this._bindLayout())}_bindLayout(){const t=this._buffers,e=!!this._context.capabilities.vao,s=this._layout,n=this._indexBuffer;t||console.error(\"Vertex buffer dictionary is empty!\");const r=this._context.gl;for(const o in t){const e=t[o];e||console.error(\"Vertex buffer is uninitialized!\");const n=s[o];n||console.error(\"Vertex element descriptor is empty!\"),i(this._context,this._locations,e,n)}n&&(e?r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,n.glName):this._context.bindBuffer(n))}unbind(){this.initialize();const t=this._context.capabilities.vao;t?t.bindVertexArray(null):this._unbindLayout()}_unbindLayout(){const t=this._buffers,i=this._layout;t||console.error(\"Vertex buffer dictionary is empty!\");for(const s in t){const n=t[s];n||console.error(\"Vertex buffer is uninitialized!\");const r=i[s];e(this._context,this._locations,n,r)}this._indexBuffer&&this._context.unbindBuffer(this._indexBuffer.bufferType)}}export default s;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nconst n=Number.POSITIVE_INFINITY,t=Math.PI,r=2*t,u=t/2,o=128/t,e=t/128,c=256/360,f=t/180,i=1.414213562,I=1/i,N=1/Math.LN2;function a(n,t){return(n%=t)>=0?n:n+t}function h(n){return a(n*o,256)}function M(n){return a(n*c,256)}function P(n){return Math.log(n)*N}function T(n){return n*n}function b(n,t,r){return n*(1-r)+t*r}function g(n,t,r){return n>=t&&n<=r||n>=r&&n<=t}export{e as C_256_TO_RAD,r as C_2PI,c as C_DEG_TO_256,f as C_DEG_TO_RAD,n as C_INFINITY,t as C_PI,u as C_PI_BY_2,o as C_RAD_TO_256,i as C_SQRT2,I as C_SQRT2_INV,g as between,M as degToByte,b as interpolate,P as log2,a as positiveMod,h as radToByte,T as sqr};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as r}from\"./sources/resolver.js\";const e={shaders:{vertexShader:r(\"background/background.vert\"),fragmentShader:r(\"background/background.frag\")},attributes:{a_pos:0}};export{e as background};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{TEXTURE_BINDING_BITMAP as e}from\"../definitions.js\";import t from\"../VertexStream.js\";import i from\"./WGLBrush.js\";const s={nearest:{defines:[],samplingMode:9728,mips:!1},bilinear:{defines:[],samplingMode:9729,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:9729,mips:!1},trilinear:{defines:[],samplingMode:9987,mips:!0}},n=(e,t,i)=>{if(\"dynamic\"===i.samplingMode){const{state:i}=e,n=t.resolution/t.pixelRatio/i.resolution,a=Math.round(e.pixelRatio)!==e.pixelRatio,r=n>1.05||n<.95;return i.rotation||r||a||t.isSourceScaled||t.rotation?s.bilinear:s.nearest}return s[i.samplingMode]};class a extends i{constructor(){super(...arguments),this._desc={vsPath:\"raster/bitmap\",fsPath:\"raster/bitmap\",attributes:{a_position:0,a_texcoord:1}}}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),\"additive\"===t.blendFunction?e.setBlendFunctionSeparate(1,1,1,1):e.setBlendFunctionSeparate(1,771,1,771),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(514,t.stencilRef,255)}draw(i,s){const{context:a,renderingOptions:r,painter:o}=i;if(!s.source)return;i.timeline.begin(this.name),this._quad||(this._quad=new t(a,[0,0,1,0,0,1,1,1]));const d=n(i,s,r),c=o.materialManager.getProgram(i,this._desc,d.defines),{coordScale:l,computedOpacity:m,transforms:p}=s;s.setSamplingProfile(d),s.bind(i,e),a.bindProgram(c),c.setUniformMatrix3fv(\"u_dvsMat3\",p.dvs),c.setUniform1i(\"u_texture\",e),c.setUniform2fv(\"u_coordScale\",l),c.setUniform1f(\"u_opacity\",m),this._quad.draw(),i.timeline.end(this.name)}}export default a;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{f as t}from\"../../../../../chunks/vec4f32.js\";import{createProgram as r}from\"../../../../webgl/programUtils.js\";import s from\"./WGLBrush.js\";import{createProgramDescriptor as e}from\"../Utils.js\";import{background as o}from\"../shaders/BackgroundPrograms.js\";const i=()=>e(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:5122}]});class a extends s{constructor(){super(...arguments),this._color=t(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:t}){t.setStencilTestEnabled(!0),t.setBlendingEnabled(!1),t.setFaceCullingEnabled(!1),t.setColorMask(!1,!1,!1,!1),t.setStencilOp(7680,7680,7681),t.setStencilWriteMask(255),t.setStencilFunction(519,0,255)}draw(t,s){const{context:e,state:a}=t;this._program||(this._program=r(e,o));const n=this._program,m=i(),c=s.getVAO(e,a,m.attributes,m.bufferLayouts);e.bindProgram(this._program),n.setUniform2fv(\"u_coord_range\",[1,1]),n.setUniform4fv(\"u_color\",this._color),n.setUniformMatrix3fv(\"u_dvsMat3\",a.displayMat3),e.bindVAO(c),e.drawElements(4,c.indexBuffer.size,5125,0),e.bindVAO()}}export default a;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../../../../core/has.js\";import\"../../../../../core/mathUtils.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as r,VTL_HIGH_RES_CUTOFF as e}from\"../definitions.js\";import{c as o}from\"../../../../../chunks/mat3f32.js\";import\"../../../../../chunks/builtins.js\";import i from\"../../../../webgl/BufferObject.js\";import s from\"../../../../webgl/VertexArrayObject.js\";import\"../../../../webgl/FramebufferObject.js\";import{u32to4Xu8 as a}from\"../number.js\";import{WGLDrawPhase as n}from\"../enums.js\";import c from\"./WGLBrush.js\";class f extends c{constructor(){super(...arguments),this._color=t(1,0,0,1),this._patternMatrix=o(),this._programOptions={id:!1,pattern:!1}}dispose(){this._vao&&(this._vao.dispose(),this._vao=null)}drawMany(t,o){const{context:i,painter:s,styleLayerUID:c}=t;this._loadWGLResources(t);const f=t.displayLevel,m=t.styleLayer,l=m.backgroundMaterial,u=s.vectorTilesMaterialManager,p=m.getPaintValue(\"background-color\",f),_=m.getPaintValue(\"background-opacity\",f),d=m.getPaintValue(\"background-pattern\",f),h=void 0!==d,g=p[3]*_,b=1|window.devicePixelRatio,v=t.spriteMosaic;let M;const x=b>e?2:1,y=t.drawPhase===n.HITTEST,j=this._programOptions;j.id=y,j.pattern=h;const U=u.getMaterialProgram(i,l,j);if(i.bindVAO(this._vao),i.bindProgram(U),h){if(M=v.getMosaicItemPosition(d,!0),!M)return;U.setUniform1f(\"u_opacity\",_),U.setUniform2f(\"u_pattern_tl\",M.tl[0],M.tl[1]),U.setUniform2f(\"u_pattern_br\",M.br[0],M.br[1]),U.setUniform1i(\"u_texture\",r),v.bind(i,9729,M.page,r)}else this._color[0]=g*p[0],this._color[1]=g*p[1],this._color[2]=g*p[2],this._color[3]=g,U.setUniform4fv(\"u_color\",this._color);if(U.setUniform1f(\"u_depth\",m.z||0),y){const t=a(c+1);U.setUniform4fv(\"u_id\",t)}for(const r of o){if(U.setUniform1f(\"u_coord_range\",r.coordRange[0]),U.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),h){const t=Math.max(2**(Math.round(f)-r.key.level),1),e=x*r.size[0]*t,o=e/M.size[0],i=e/M.size[1];this._patternMatrix[0]=o,this._patternMatrix[4]=i,U.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}i.setStencilFunction(514,r.stencilRef,255),i.drawArrays(5,0,4)}}_loadWGLResources(t){if(this._vao)return;const{context:r,styleLayer:e}=t,o=e.backgroundMaterial,a=new Int8Array([0,0,1,0,0,1,1,1]),n=i.createVertex(r,35044,a),c=new s(r,o.getAttributeLocations(),o.getLayoutInfo(),{geometry:n});this._vao=c}}export{f as WGLBrushVTLBackground};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{isNone as e}from\"../../../../../core/maybe.js\";import{u32to4Xu8 as t}from\"../number.js\";import{WGLDrawPhase as r}from\"../enums.js\";import a from\"./WGLBrush.js\";class i extends a{constructor(){super(...arguments),this._programOptions={id:!1}}dispose(){}drawMany(a,i){const{context:n,displayLevel:s,requiredLevel:o,state:l,drawPhase:c,painter:m,styleLayerUID:d}=a,f=a.styleLayer,u=f.circleMaterial,p=m.vectorTilesMaterialManager,y=1.2,g=f.getPaintValue(\"circle-translate\",s),v=f.getPaintValue(\"circle-translate-anchor\",s),M=c===r.HITTEST,_=this._programOptions;_.id=M;const x=p.getMaterialProgram(n,u,_);n.bindProgram(x),x.setUniformMatrix3fv(\"u_displayMat3\",1===v?l.displayMat3:l.displayViewMat3),x.setUniform2fv(\"u_circleTranslation\",g),x.setUniform1f(\"u_depth\",f.z),x.setUniform1f(\"u_antialiasingWidth\",y);let U=-1;if(M){const e=t(d+1);x.setUniform4fv(\"u_id\",e)}for(const t of i){if(!t.layerData.has(d))continue;t.key.level!==U&&(U=t.key.level,u.setDataUniforms(x,s,f,U));const r=t.layerData.get(d);r.prepareForRendering(n);const a=r.circleVertexArrayObject;e(a)||(n.bindVAO(a),x.setUniformMatrix3fv(\"u_dvsMat3\",t.transforms.dvs),o!==t.key.level?n.setStencilFunction(514,t.stencilRef,255):n.setStencilFunction(516,255,255),n.drawElements(4,r.circleIndexCount,5125,Uint32Array.BYTES_PER_ELEMENT*r.circleIndexStart),t.triangleCount+=r.circleIndexCount/3)}}}export{i as WGLBrushVTLCircle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{isNone as t}from\"../../../../../core/maybe.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as e,VTL_HIGH_RES_CUTOFF as i}from\"../definitions.js\";import{c as a}from\"../../../../../chunks/mat3f32.js\";import{u32to4Xu8 as r}from\"../number.js\";import{WGLDrawPhase as n}from\"../enums.js\";import l from\"./WGLBrush.js\";const o=1/65536;class s extends l{constructor(){super(...arguments),this._fillProgramOptions={id:!1,pattern:!1},this._outlineProgramOptions={id:!1},this._patternMatrix=a()}dispose(){}drawMany(t,e){const{displayLevel:i,drawPhase:a,renderPass:l,styleLayerUID:o}=t,s=t.styleLayer,f=s.getPaintValue(\"fill-pattern\",i),u=void 0!==f,d=!u&&s.getPaintValue(\"fill-antialias\",i);let p=!0,m=1;if(!u){const t=s.getPaintProperty(\"fill-color\"),e=s.getPaintProperty(\"fill-opacity\");if(!(null!=t&&t.isDataDriven||null!=e&&e.isDataDriven)){const t=s.getPaintValue(\"fill-color\",i);m=s.getPaintValue(\"fill-opacity\",i)*t[3],m>=1&&(p=!1)}}if(p&&\"opaque\"===l)return;let c;a===n.HITTEST&&(c=r(o+1));const _=s.getPaintValue(\"fill-translate\",i),y=s.getPaintValue(\"fill-translate-anchor\",i);(p||\"translucent\"!==l)&&this._drawFill(t,o,s,e,_,y,f,c);const M=!s.hasDataDrivenOutlineColor&&s.outlineUsesFillColor&&m<1;d&&\"opaque\"!==l&&!M&&this._drawOutline(t,o,s,e,_,y,c)}_drawFill(a,r,l,s,f,u,d,p){const{context:m,displayLevel:c,state:_,drawPhase:y,painter:M,pixelRatio:g,spriteMosaic:v}=a,x=l.fillMaterial,P=M.vectorTilesMaterialManager,h=void 0!==d,U=g>i?2:1;let T;const E=y===n.HITTEST,b=this._fillProgramOptions;b.id=E,b.pattern=h;const w=P.getMaterialProgram(m,x,b);if(m.bindProgram(w),h){if(T=v.getMosaicItemPosition(d,!0),!T)return void m.bindProgram();w.setUniform2f(\"u_pattern_tl\",T.tl[0],T.tl[1]),w.setUniform2f(\"u_pattern_br\",T.br[0],T.br[1]),w.setUniform1i(\"u_texture\",e),v.bind(m,9729,T.page,e)}w.setUniformMatrix3fv(\"u_displayMat3\",1===u?_.displayMat3:_.displayViewMat3),w.setUniform2fv(\"u_fillTranslation\",f),w.setUniform1f(\"u_depth\",l.z+o),E&&w.setUniform4fv(\"u_id\",p);let D=-1;for(const e of s){if(!e.layerData.has(r))continue;e.key.level!==D&&(D=e.key.level,x.setDataUniforms(w,c,l,D));const i=e.layerData.get(r);i.prepareForRendering(m);const a=i.fillVertexArrayObject;if(!t(a)){if(m.bindVAO(a),w.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),h){const t=Math.max(2**(Math.round(c)-e.key.level),1),i=e.coordRange[0]/(U*e.size[0]*t),a=1/(T.size[0]*i),r=1/(T.size[1]*i);this._patternMatrix[0]=a,this._patternMatrix[4]=r,w.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}m.setStencilFunction(514,e.stencilRef,255),m.drawElements(4,i.fillIndexCount,5125,Uint32Array.BYTES_PER_ELEMENT*i.fillIndexStart),e.triangleCount+=i.fillIndexCount/3}}}_drawOutline(e,i,a,r,l,s,f){const{context:u,displayLevel:d,state:p,drawPhase:m,painter:c,pixelRatio:_}=e,y=a.outlineMaterial,M=c.vectorTilesMaterialManager,g=.75/_,v=m===n.HITTEST,x=this._outlineProgramOptions;x.id=v;const P=M.getMaterialProgram(u,y,x);u.bindProgram(P),P.setUniformMatrix3fv(\"u_displayMat3\",1===s?p.displayMat3:p.displayViewMat3),P.setUniform2fv(\"u_fillTranslation\",l),P.setUniform1f(\"u_depth\",a.z+o),P.setUniform1f(\"u_outline_width\",g),v&&P.setUniform4fv(\"u_id\",f);let h=-1;for(const n of r){if(!n.layerData.has(i))continue;n.key.level!==h&&(h=n.key.level,y.setDataUniforms(P,d,a,h));const e=n.layerData.get(i);e.prepareForRendering(u);const r=e.outlineVertexArrayObject;t(r)||(u.bindVAO(r),P.setUniformMatrix3fv(\"u_dvsMat3\",n.transforms.dvs),u.setStencilFunction(514,n.stencilRef,255),u.drawElements(4,e.outlineIndexCount,5125,Uint32Array.BYTES_PER_ELEMENT*e.outlineIndexStart),n.triangleCount+=e.outlineIndexCount/3)}}}export{s as WGLBrushVTLFill};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{isNone as t}from\"../../../../../core/maybe.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as e}from\"../definitions.js\";import{c as r}from\"../../../../../chunks/vec2f32.js\";import{u32to4Xu8 as a}from\"../number.js\";import{WGLDrawPhase as i}from\"../enums.js\";import s from\"./WGLBrush.js\";class n extends s{constructor(){super(...arguments),this._dashArray=r(),this._programOptions={id:!1,pattern:!1}}dispose(){}drawMany(r,s){const{context:n,displayLevel:o,state:l,drawPhase:f,painter:m,styleLayerUID:d}=r,p=r.styleLayer,u=p.lineMaterial,c=m.vectorTilesMaterialManager,y=p.getPaintValue(\"line-translate\",o),_=p.getPaintValue(\"line-translate-anchor\",o),h=p.getPaintValue(\"line-pattern\",o),g=void 0!==h,M=1/r.pixelRatio,U=8,v=f===i.HITTEST,x=this._programOptions;x.id=v,x.pattern=g;const b=c.getMaterialProgram(n,u,x);if(n.bindProgram(b),b.setUniformMatrix3fv(\"u_displayViewMat3\",l.displayViewMat3),b.setUniformMatrix3fv(\"u_displayMat3\",1===_?l.displayMat3:l.displayViewMat3),b.setUniform2fv(\"u_lineTranslation\",y),b.setUniform1f(\"u_depth\",p.z),b.setUniform1f(\"u_antialiasing\",M),v){const t=a(d+1);b.setUniform4fv(\"u_id\",t)}if(g){const t=r.spriteMosaic,a=t.getMosaicItemPosition(h,!0);a&&(t.bind(n,9729,a.page,e),b.setUniform2f(\"u_pattern_tl\",a.tl[0],a.br[1]),b.setUniform2f(\"u_pattern_br\",a.br[0],a.tl[1]),b.setUniform2f(\"u_spriteSize\",U*a.size[0],a.size[1]),b.setUniform1i(\"u_texture\",e))}else{let t=p.getPaintValue(\"line-dasharray\",o);t.length<2&&(t=[1,-1]);const e=U;this._dashArray[0]=e*t[0],this._dashArray[1]=e*t[1],b.setUniform2fv(\"u_dasharray\",this._dashArray)}let P=-1;for(const e of s){if(!e.layerData.has(d))continue;e.key.level!==P&&(P=e.key.level,u.setDataUniforms(b,o,p,P));const r=e.layerData.get(d);r.prepareForRendering(n);const a=r.lineVertexArrayObject;t(a)||(n.bindVAO(a),b.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),n.setStencilFunction(514,e.stencilRef,255),n.drawElements(4,r.lineIndexCount,5125,Uint32Array.BYTES_PER_ELEMENT*r.lineIndexStart),e.triangleCount+=r.lineIndexCount/3)}}}export{n as WGLBrushVTLLine};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{isNone as t}from\"../../../../../core/maybe.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as e,VTL_TEXTURE_BINDING_UNIT_GLYPHS as a}from\"../definitions.js\";import{c as i,f as r}from\"../../../../../chunks/vec2f32.js\";import{FADE_DURATION as n}from\"../../vectorTiles/decluttering/config.js\";import{u32to4Xu8 as s}from\"../number.js\";import{WGLDrawPhase as o}from\"../enums.js\";import l from\"./WGLBrush.js\";import{degToByte as f}from\"../GeometryUtils.js\";const c=1/65536;class p extends l{constructor(){super(...arguments),this._iconProgramOptions={id:!1,sdf:!1},this._sdfProgramOptions={id:!1},this._spritesTextureSize=i()}dispose(){}drawMany(t,e){const{drawPhase:a,styleLayerUID:i}=t,r=t.styleLayer;let n;a===o.HITTEST&&(n=s(i+1)),this._drawIcons(t,r,e,n),this._drawText(t,r,e,n)}_drawIcons(a,i,r,s){const{context:l,displayLevel:c,drawPhase:p,painter:u,state:m,styleLayerUID:d}=a,g=i.iconMaterial,y=u.vectorTilesMaterialManager;let _,h=!1;for(const t of r)if(t.layerData.has(d)&&(_=t.layerData.get(d),_.iconPerPageElementsMap.size>0)){h=!0;break}if(!h)return;const M=i.getPaintValue(\"icon-translate\",c),U=i.getPaintValue(\"icon-translate-anchor\",c);let P=i.getLayoutValue(\"icon-rotation-alignment\",c);2===P&&(P=0===i.getLayoutValue(\"symbol-placement\",c)?1:0);const x=0===P,v=i.getLayoutValue(\"icon-keep-upright\",c)&&x,T=_.isIconSDF,E=p===o.HITTEST,D=this._iconProgramOptions;D.id=E,D.sdf=T;const V=y.getMaterialProgram(l,g,D);l.bindProgram(V),V.setUniformMatrix3fv(\"u_displayViewMat3\",0===P?m.displayViewMat3:m.displayMat3),V.setUniformMatrix3fv(\"u_displayMat3\",1===U?m.displayMat3:m.displayViewMat3),V.setUniform2fv(\"u_iconTranslation\",M),V.setUniform1f(\"u_depth\",i.z),V.setUniform1f(\"u_mapRotation\",f(m.rotation)),V.setUniform1f(\"u_keepUpright\",v?1:0),V.setUniform1f(\"u_level\",10*c),V.setUniform1i(\"u_texture\",e),V.setUniform1f(\"u_fadeDuration\",n/1e3),E&&V.setUniform4fv(\"u_id\",s);let S=-1;for(const e of r){if(!e.layerData.has(d))continue;if(e.key.level!==S&&(S=e.key.level,g.setDataUniforms(V,c,i,S)),_=e.layerData.get(d),0===_.iconPerPageElementsMap.size)continue;_.prepareForRendering(l),_.updateOpacityInfo();const r=_.iconVertexArrayObject;if(!t(r)){l.bindVAO(r),V.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),V.setUniform1f(\"u_time\",(performance.now()-_.lastOpacityUpdate)/1e3);for(const[t,i]of _.iconPerPageElementsMap)this._renderIconRange(a,V,i,t,e)}}}_renderIconRange(t,a,i,r,n){const{context:s,spriteMosaic:o}=t;this._spritesTextureSize[0]=o.getWidth(r)/4,this._spritesTextureSize[1]=o.getHeight(r)/4,a.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),o.bind(s,9729,r,e),s.setStencilTestEnabled(!0),s.setStencilFunction(516,255,255),s.setStencilWriteMask(0),s.drawElements(4,i[1],5125,Uint32Array.BYTES_PER_ELEMENT*i[0]),n.triangleCount+=i[1]/3}_drawText(e,i,s,l){const{context:p,displayLevel:u,drawPhase:m,glyphMosaic:d,painter:g,pixelRatio:y,state:_,styleLayerUID:h}=e,M=i.textMaterial,U=g.vectorTilesMaterialManager;let P,x=!1;for(const t of s)if(t.layerData.has(h)&&(P=t.layerData.get(h),P.glyphPerPageElementsMap.size>0)){x=!0;break}if(!x)return;const v=i.getPaintProperty(\"text-opacity\");if(v&&!v.isDataDriven&&0===v.getValue(u))return;const T=i.getPaintProperty(\"text-color\"),E=!T||T.isDataDriven||T.getValue(u)[3]>0,D=i.getPaintProperty(\"text-halo-width\"),V=i.getPaintProperty(\"text-halo-color\"),S=(!D||D.isDataDriven||D.getValue(u)>0)&&(!V||V.isDataDriven||V.getValue(u)[3]>0);if(!E&&!S)return;const w=24/8;let b=i.getLayoutValue(\"text-rotation-alignment\",u);2===b&&(b=0===i.getLayoutValue(\"symbol-placement\",u)?1:0);const L=0===b,z=i.getLayoutValue(\"text-keep-upright\",u)&&L,k=m===o.HITTEST,I=.8*w/y;this._glyphTextureSize||(this._glyphTextureSize=r(d.width/4,d.height/4));const O=i.getPaintValue(\"text-translate\",u),R=i.getPaintValue(\"text-translate-anchor\",u),j=this._sdfProgramOptions;j.id=k;const A=U.getMaterialProgram(p,M,j);p.bindProgram(A),A.setUniformMatrix3fv(\"u_displayViewMat3\",0===b?_.displayViewMat3:_.displayMat3),A.setUniformMatrix3fv(\"u_displayMat3\",1===R?_.displayMat3:_.displayViewMat3),A.setUniform2fv(\"u_textTranslation\",O),A.setUniform1f(\"u_depth\",i.z+c),A.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),A.setUniform1f(\"u_mapRotation\",f(_.rotation)),A.setUniform1f(\"u_keepUpright\",z?1:0),A.setUniform1f(\"u_level\",10*u),A.setUniform1i(\"u_texture\",a),A.setUniform1f(\"u_antialiasingWidth\",I),A.setUniform1f(\"u_fadeDuration\",n/1e3),k&&A.setUniform4fv(\"u_id\",l);let F=-1;for(const a of s){if(!a.layerData.has(h))continue;if(a.key.level!==F&&(F=a.key.level,M.setDataUniforms(A,u,i,F)),P=a.layerData.get(h),0===P.glyphPerPageElementsMap.size)continue;P.prepareForRendering(p),P.updateOpacityInfo();const e=P.textVertexArrayObject;if(t(e))continue;p.bindVAO(e),A.setUniformMatrix3fv(\"u_dvsMat3\",a.transforms.dvs),p.setStencilTestEnabled(!0),p.setStencilFunction(516,255,255),p.setStencilWriteMask(0);const r=(performance.now()-P.lastOpacityUpdate)/1e3;A.setUniform1f(\"u_time\",r),P.glyphPerPageElementsMap.forEach(((t,e)=>{this._renderGlyphRange(p,t,e,d,A,S,E,a)}))}}_renderGlyphRange(t,e,i,r,n,s,o,l){r.bind(t,9729,i,a),s&&(n.setUniform1f(\"u_halo\",1),t.drawElements(4,e[1],5125,Uint32Array.BYTES_PER_ELEMENT*e[0]),l.triangleCount+=e[1]/3),o&&(n.setUniform1f(\"u_halo\",0),t.drawElements(4,e[1],5125,Uint32Array.BYTES_PER_ELEMENT*e[0]),l.triangleCount+=e[1]/3)}}export{p as WGLBrushVTLSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{isNone as t}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_ATTRIBUTE_DATA_0 as e,TEXTURE_BINDING_ATTRIBUTE_DATA_1 as i,TEXTURE_BINDING_ATTRIBUTE_DATA_2 as a,TEXTURE_BINDING_ATTRIBUTE_DATA_3 as r}from\"../definitions.js\";import s from\"./WGLBrush.js\";class n extends s{prepareState({context:t},e,i){const a=i&&-1!==i.indexOf(\"id\");t.setBlendingEnabled(!a),t.setBlendFunctionSeparate(1,771,1,771),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(514,e.stencilRef,255)}draw(e,i,a){const r=this.getGeometryType();i.commit(e);const s=i.getGeometry(r);t(s)||(e.timeline.begin(this.name),e.attributeView.bindTextures(e.context),s.forEachCommand((t=>this.drawGeometry(e,i,t,a))))}_setSharedUniforms(t,s,n){t.setUniform1f(\"u_pixelRatio\",s.pixelRatio),t.setUniformMatrix3fv(\"u_dvsMat3\",n.transforms.dvs),t.setUniformMatrix3fv(\"u_displayViewMat3\",s.state.displayViewMat3),t.setUniform1i(\"u_attributeTextureSize\",s.attributeView.size),t.setUniform1i(\"u_attributeData0\",e),t.setUniform1i(\"u_attributeData1\",i),t.setUniform1i(\"u_attributeData2\",a),t.setUniform1i(\"u_attributeData3\",r)}}export default n;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../../../../core/has.js\";import e from\"../../../../../core/RandomLCG.js\";import{TEXTURE_BINDING_RENDERER_0 as t,TEXTURE_BINDING_RENDERER_1 as o,TILE_SIZE as i}from\"../definitions.js\";import\"../../../../../chunks/builtins.js\";import\"../../../../webgl/checkWebGLError.js\";import r from\"../../../../webgl/Texture.js\";import\"../../../../webgl/FramebufferObject.js\";import{WGLGeometryType as s}from\"../enums.js\";import{FillMaterialKey as a}from\"../materialKey/MaterialKey.js\";import{createProgramDescriptor as n}from\"../Utils.js\";import l from\"./WGLGeometryBrush.js\";const d=e=>n(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},...e.dotDensity?[]:[{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_tlbr\",count:4,type:5123},{location:4,name:\"a_aux1\",count:4,type:5121},{location:5,name:\"a_aux2\",count:2,type:5123},{location:6,name:\"a_aux3\",count:4,type:5121}],...e.dotDensity?[{location:2,name:\"a_inverseArea\",count:1,type:5126}]:[]]});class u extends l{constructor(){super(...arguments),this._dotTextureSize=0,this._dotTextures=null,this._dotSamplers=new Int32Array([t,o])}dispose(){this._disposeTextures()}getGeometryType(){return s.FILL}drawGeometry(e,t,o,r){const{context:s,painter:n,rendererInfo:l,requiredLevel:u}=e,m=a.load(o.materialKey),{bufferLayouts:c,attributes:_}=d(m),f=n.materialManager.getMaterialProgram(e,m,\"materials/fill\",_,r);if(s.bindProgram(f),this._setSharedUniforms(f,e,t),m.textureBinding){n.textureManager.bindTextures(s,f,m);const o=1/2**(u-t.key.level)/e.pixelRatio;f.setUniform1f(\"u_zoomFactor\",o)}if(m.vvColor&&(f.setUniform1fv(\"u_vvColorValues\",l.vvColorValues),f.setUniform4fv(\"u_vvColors\",l.vvColors)),m.vvOpacity&&(f.setUniform1fv(\"u_vvOpacityValues\",l.vvOpacityValues),f.setUniform1fv(\"u_vvOpacities\",l.vvOpacities)),m.dotDensity){const o=i/l.ddDotSize,r=o*window.devicePixelRatio*o*window.devicePixelRatio,a=1/2**(u-t.key.level),n=1/a*(1/a),d=l.ddDotScale?e.state.scale/l.ddDotScale:1;f.setUniform1f(\"u_tileZoomFactor\",a),f.setUniform1f(\"u_tileDotsOverArea\",r/(i*window.devicePixelRatio*i*window.devicePixelRatio)),f.setUniformMatrix4fv(\"u_dotColors\",l.ddColors),f.setUniform4fv(\"u_isActive\",l.ddActiveDots),f.setUniform4fv(\"u_dotBackgroundColor\",l.ddBackgroundColor),f.setUniform1f(\"u_dotValue\",Math.max(1,l.ddDotValue*d*n)),this._bindDotDensityTextures(s,f,l,o)}o.draw(s,c,_)}_disposeTextures(){if(this._dotTextures){for(let e=0;ea(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:5121,normalized:!0},{location:4,name:\"a_texAndSize\",count:4,type:5121},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:5121},{location:6,name:\"a_glyphData\",count:4,type:5121},{location:7,name:\"a_vertexOffset\",count:2,type:5122},{location:8,name:\"a_texCoords\",count:2,type:5123}]});class n extends o{dispose(){}getGeometryType(){return e.LABEL}drawGeometry(e,a,o,n){const{context:l,painter:s,state:r,rendererInfo:m}=e,u=t.load(o.materialKey),f=u.mapAligned?1:0;if(!f&&Math.abs(a.key.level-Math.round(100*e.displayLevel)/100)>=1)return;const{bufferLayouts:c,attributes:v}=i(u),d=s.materialManager.getMaterialProgram(e,u,\"materials/label\",v,n);e.context.setStencilFunction(514,0,255),l.bindProgram(d),this._setSharedUniforms(d,e,a),s.textureManager.bindTextures(l,d,u);const p=1===f?r.displayViewMat3:r.displayMat3;if(u.vvSizeMinMaxValue&&d.setUniform4fv(\"u_vvSizeMinMaxValue\",m.vvSizeMinMaxValue),u.vvSizeScaleStops&&d.setUniform1f(\"u_vvSizeScaleStopsValue\",m.vvSizeScaleStopsValue),u.vvSizeFieldStops){const e=m.getSizeVVFieldStops(a.key.level);d.setUniform1fv(\"u_vvSizeFieldStopsValues\",e.values),d.setUniform1fv(\"u_vvSizeFieldStopsSizes\",e.sizes)}u.vvSizeUnitValue&&d.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",m.vvSizeUnitValueToPixelsRatio),d.setUniform1f(\"u_mapRotation\",Math.floor(r.rotation/360*254)),d.setUniform1f(\"u_mapAligned\",f),d.setUniformMatrix3fv(\"u_displayMat3\",p),d.setUniform1f(\"u_opacity\",1),d.setUniform1f(\"u_zoomLevel\",Math.round(10*e.displayLevel)),d.setUniform2fv(\"u_screenSize\",e.state.size),d.setUniform1f(\"u_isHalo\",1),o.draw(l,c,v),d.setUniform1f(\"u_isHalo\",0),o.draw(l,c,v),l.setStencilTestEnabled(!0),l.setBlendingEnabled(!0)}}export default n;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{WGLGeometryType as e}from\"../enums.js\";import{LineMaterialKey as t}from\"../materialKey/MaterialKey.js\";import{createProgramDescriptor as a}from\"../Utils.js\";import o from\"./WGLGeometryBrush.js\";const i=e=>a(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:5120},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:5123},{location:5,name:\"a_tlbr\",count:4,type:5123},{location:6,name:\"a_segmentDirection\",count:4,type:5120},{location:7,name:\"a_aux\",count:2,type:5123}]});class n extends o{dispose(){}getGeometryType(){return e.LINE}drawGeometry(e,a,o,n){const{context:l,painter:r,rendererInfo:s,requiredLevel:v}=e,u=t.load(o.materialKey),{bufferLayouts:m,attributes:c}=i(u),f=r.materialManager.getMaterialProgram(e,u,\"materials/line\",c,n),p=1/e.pixelRatio,d=0;l.bindProgram(f),this._setSharedUniforms(f,e,a),u.textureBinding&&r.textureManager.bindTextures(l,f,u);const S=2**(v-a.key.level)/e.pixelRatio;if(f.setUniform1f(\"u_zoomFactor\",S),f.setUniform1f(\"u_blur\",d+p),f.setUniform1f(\"u_antialiasing\",p),u.vvSizeMinMaxValue&&f.setUniform4fv(\"u_vvSizeMinMaxValue\",s.vvSizeMinMaxValue),u.vvSizeScaleStops&&f.setUniform1f(\"u_vvSizeScaleStopsValue\",s.vvSizeScaleStopsValue),u.vvSizeFieldStops){const e=s.getSizeVVFieldStops(a.key.level);f.setUniform1fv(\"u_vvSizeFieldStopsValues\",e.values),f.setUniform1fv(\"u_vvSizeFieldStopsSizes\",e.sizes)}u.vvSizeUnitValue&&f.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",s.vvSizeUnitValueToPixelsRatio),u.vvColor&&(f.setUniform1fv(\"u_vvColorValues\",s.vvColorValues),f.setUniform4fv(\"u_vvColors\",s.vvColors)),u.vvOpacity&&(f.setUniform1fv(\"u_vvOpacityValues\",s.vvOpacityValues),f.setUniform1fv(\"u_vvOpacities\",s.vvOpacities)),l.setFaceCullingEnabled(!0),l.setFrontFace(2305),l.setCullFace(1029),o.draw(l,m,c),l.setFaceCullingEnabled(!1)}}export default n;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{WGLGeometryType as e}from\"../enums.js\";import{MarkerMaterialKey as t}from\"../materialKey/MaterialKey.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";const i=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_vertexOffset\",count:2,type:5122},{location:2,name:\"a_texCoords\",count:2,type:5123},{location:3,name:\"a_bitSetAndDistRatio\",count:2,type:5123},{location:4,name:\"a_id\",count:4,type:5121},{location:5,name:\"a_color\",count:4,type:5121,normalized:!0},{location:6,name:\"a_outlineColor\",count:4,type:5121,normalized:!0},{location:7,name:\"a_sizeAndOutlineWidth\",count:4,type:5121}]});class n extends a{dispose(){}getGeometryType(){return e.MARKER}drawGeometry(e,o,a,n){const{context:r,painter:s,rendererInfo:v,state:l}=e,u=t.load(a.materialKey),{bufferLayouts:m,attributes:p}=i(u),f=s.materialManager.getMaterialProgram(e,u,\"materials/icon\",p,n);r.bindProgram(f),u.textureBinding&&s.textureManager.bindTextures(r,f,u,!0),this._setSharedUniforms(f,e,o);const c=u.vvRotation?l.displayViewMat3:l.displayMat3;if(f.setUniformMatrix3fv(\"u_displayMat3\",c),u.vvSizeMinMaxValue&&f.setUniform4fv(\"u_vvSizeMinMaxValue\",v.vvSizeMinMaxValue),u.vvSizeScaleStops&&f.setUniform1f(\"u_vvSizeScaleStopsValue\",v.vvSizeScaleStopsValue),u.vvSizeFieldStops){const e=v.getSizeVVFieldStops(o.key.level);f.setUniform1fv(\"u_vvSizeFieldStopsValues\",e.values),f.setUniform1fv(\"u_vvSizeFieldStopsSizes\",e.sizes)}u.vvSizeUnitValue&&f.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",v.vvSizeUnitValueToPixelsRatio),u.vvColor&&(f.setUniform1fv(\"u_vvColorValues\",v.vvColorValues),f.setUniform4fv(\"u_vvColors\",v.vvColors)),u.vvOpacity&&(f.setUniform1fv(\"u_vvOpacityValues\",v.vvOpacityValues),f.setUniform1fv(\"u_vvOpacities\",v.vvOpacities)),u.vvRotation&&f.setUniform1f(\"u_vvRotationType\",\"geographic\"===v.vvMaterialParameters.vvRotationType?0:1),a.draw(r,m,p)}}export default n;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{WGLGeometryType as e}from\"../enums.js\";import{TextMaterialKey as t}from\"../materialKey/MaterialKey.js\";import{createProgramDescriptor as a}from\"../Utils.js\";import o from\"./WGLGeometryBrush.js\";const i=e=>a(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:5122},{location:1,name:\"a_id\",count:4,type:5121},{location:2,name:\"a_color\",count:4,type:5121,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:5121,normalized:!0},{location:4,name:\"a_texFontSize\",count:4,type:5121},{location:5,name:\"a_aux\",count:4,type:5120},{location:6,name:\"a_vertexOffset\",count:2,type:5122},{location:7,name:\"a_texCoords\",count:2,type:5123}]});class r extends o{dispose(){}getGeometryType(){return e.TEXT}drawGeometry(e,a,o,r){const{context:s,painter:n,rendererInfo:v,state:l}=e,u=t.load(o.materialKey),{bufferLayouts:m,attributes:f}=i(u),p=n.materialManager.getMaterialProgram(e,u,\"materials/text\",f,r);if(s.bindProgram(p),this._setSharedUniforms(p,e,a),n.textureManager.bindTextures(s,p,u),p.setUniformMatrix3fv(\"u_displayMat3\",l.displayMat3),p.setUniformMatrix3fv(\"u_displayViewMat3\",l.displayViewMat3),u.vvSizeMinMaxValue&&p.setUniform4fv(\"u_vvSizeMinMaxValue\",v.vvSizeMinMaxValue),u.vvSizeScaleStops&&p.setUniform1f(\"u_vvSizeScaleStopsValue\",v.vvSizeScaleStopsValue),u.vvSizeFieldStops){const e=v.getSizeVVFieldStops(a.key.level);p.setUniform1fv(\"u_vvSizeFieldStopsValues\",e.values),p.setUniform1fv(\"u_vvSizeFieldStopsSizes\",e.sizes)}u.vvSizeUnitValue&&p.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",v.vvSizeUnitValueToPixelsRatio),u.vvColor&&(p.setUniform1fv(\"u_vvColorValues\",v.vvColorValues),p.setUniform4fv(\"u_vvColors\",v.vvColors)),u.vvOpacity&&(p.setUniform1fv(\"u_vvOpacityValues\",v.vvOpacityValues),p.setUniform1fv(\"u_vvOpacities\",v.vvOpacities)),u.vvRotation&&p.setUniform1f(\"u_vvRotationType\",\"geographic\"===v.vvMaterialParameters.vvRotationType?0:1),p.setUniform1f(\"u_isHalo\",1),o.draw(s,m,f),p.setUniform1f(\"u_isHalo\",0),o.draw(s,m,f)}}export default r;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{setTextures as t,getCommonUniforms as e,setUniforms as r,getColormapUniforms as s,getStretchUniforms as a,getShadedReliefUniforms as i,getUniformLocationInfos as o,getBasicGridUniforms as n}from\"../../../../../webgl/rasterUtils.js\";import h from\"../../VertexStream.js\";import c from\"../WGLBrush.js\";class l extends c{constructor(){super(...arguments),this._desc={lut:{vsPath:\"raster/lut\",fsPath:\"raster/lut\",attributes:{a_position:0,a_texcoord:1}},stretch:{vsPath:\"raster/stretch\",fsPath:\"raster/stretch\",attributes:{a_position:0,a_texcoord:1}},hillshade:{vsPath:\"raster/hillshade\",fsPath:\"raster/hillshade\",attributes:{a_position:0,a_texcoord:1}}},this._rendererUniformInfos=new Map}dispose(){this._quad&&this._quad.dispose()}prepareState({context:t},e){t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(1,771,1,771),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(514,e.stencilRef,255)}draw(t,e){var r;if(!e.source)return;if(e.suspended)return;t.timeline.begin(this.name);const s=!(null!=(r=t.context.capabilities.textureFloat)&&r.textureFloatLinear);e.updateTexture(t);const a=this.getShaderVariations(e,s),i=t.painter.materialManager.getProgram(t,this._desc[e.symbolizerParameters.type],a);this.drawWithProgram(t.context,i,e),t.timeline.end(this.name)}drawWithProgram(o,c,l,d=1,u=[0,0],p=!1){this._quad||(this._quad=new h(o,[0,0,1,0,0,1,1,1]));const{symbolizerParameters:m,transformGrid:f,width:g,height:_,opacity:b}=l,x=m.type;o.bindProgram(c);const P=this.getShaderVariations(l),S=this.getUniformInfos(x,o,c,P),{names:y,textures:w}=l.getTextures();t(o,c,y,w);const U=n(d,u),v=e(f,[g,_],[l.source.width,l.source.height],b,p);if(r(c,S,{u_coordScale:l.coordScale,u_dvsMat3:l.transforms.dvs,...U,...v}),m.colormap){const{colormap:t,colormapOffset:e}=m,a=s(t,e);r(c,S,a)}if(\"stretch\"===m.type){const t=a(m);r(c,S,t)}else if(\"hillshade\"===m.type){const t=i(m);r(c,S,t)}this._quad.draw()}getUniformInfos(t,e,r,s){const a=s.length>0?t+\"-\"+s.join(\"-\"):t;if(this._rendererUniformInfos.has(a))return this._rendererUniformInfos.get(a);const i=o(e,r);return this._rendererUniformInfos.set(a,i),i}getShaderVariations(t,e=!1){const r=[];return\"cubic\"===t.interpolation?r.push(\"bicubic\"):e&&\"bilinear\"===t.interpolation&&r.push(\"bilinear\"),t.isRendereredSource?r.push(\"noop\"):t.symbolizerParameters.colormap&&r.push(\"applyColormap\"),t.transformGrid&&r.push(\"applyProjection\"),r}}export default l;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport r from\"./webgl/brushes/BrushBitmap.js\";import s from\"./webgl/brushes/BrushClip.js\";import e from\"./webgl/brushes/WGLBrushInfo.js\";import l from\"./webgl/brushes/WGLBrushStencil.js\";import{WGLBrushVTLBackground as o}from\"./webgl/brushes/WGLBrushVTLBackground.js\";import{WGLBrushVTLCircle as t}from\"./webgl/brushes/WGLBrushVTLCircle.js\";import{WGLBrushVTLFill as m}from\"./webgl/brushes/WGLBrushVTLFill.js\";import{WGLBrushVTLLine as b}from\"./webgl/brushes/WGLBrushVTLLine.js\";import{WGLBrushVTLSymbol as i}from\"./webgl/brushes/WGLBrushVTLSymbol.js\";import u from\"./webgl/brushes/WGLGeometryBrushFill.js\";import h from\"./webgl/brushes/WGLGeometryBrushLabel.js\";import L from\"./webgl/brushes/WGLGeometryBrushLine.js\";import p from\"./webgl/brushes/WGLGeometryBrushMarker.js\";import B from\"./webgl/brushes/WGLGeometryBrushText.js\";import f from\"./webgl/brushes/raster/BrushRasterBitmap.js\";const g={marker:p,line:L,fill:u,text:B,label:h,clip:s,stencil:l,bitmap:r,raster:f,tileInfo:e,vtlBackground:o,vtlFill:m,vtlLine:b,vtlCircle:t,vtlSymbol:i},G={vtlBackground:o,vtlFill:m,vtlLine:b,vtlCircle:t,vtlSymbol:i};export{g as brushes,G as vtlBrushes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nclass e{constructor(e){this.readFile=e}resolveIncludes(e){return this.resolve(e)}resolve(e,t=new Map){if(t.has(e))return t.get(e);const r=this.read(e);if(!r)throw new Error(`cannot find shader file ${e}`);const s=/^[^\\S\\n]*#include\\s+<(\\S+)>[^\\S\\n]?/gm;let n=s.exec(r);const l=[];for(;null!=n;)l.push({path:n[1],start:n.index,length:n[0].length}),n=s.exec(r);let a=0,h=\"\";return l.forEach((e=>{h+=r.slice(a,e.start),h+=t.has(e.path)?\"\":this.resolve(e.path,t),a=e.start+e.length})),h+=r.slice(a),t.set(e,h),h}read(e){return this.readFile(e)}}export default e;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nfunction n(){return new Float32Array(4)}function r(n){const r=new Float32Array(4);return r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=n[3],r}function t(n,r,t,a){const e=new Float32Array(4);return e[0]=n,e[1]=r,e[2]=t,e[3]=a,e}function a(n,r){return new Float32Array(n,r,4)}function e(){return n()}function u(){return t(1,1,1,1)}function o(){return t(1,0,0,0)}function s(){return t(0,1,0,0)}function c(){return t(0,0,1,0)}function i(){return t(0,0,0,1)}const f=e(),l=u(),_=o(),w=s(),N=c(),U=i();var y=Object.freeze({__proto__:null,create:n,clone:r,fromValues:t,createView:a,zeros:e,ones:u,unitX:o,unitY:s,unitZ:c,unitW:i,ZEROS:f,ONES:l,UNIT_X:_,UNIT_Y:w,UNIT_Z:N,UNIT_W:U});export{l as O,_ as U,f as Z,r as a,a as b,n as c,s as d,c as e,t as f,i as g,w as h,N as i,U as j,u as o,o as u,y as v,e as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{resolveIncludes as e}from\"./sources/resolver.js\";const r={shaders:{vertexShader:e(\"tileInfo/tileInfo.vert\"),fragmentShader:e(\"tileInfo/tileInfo.frag\")},attributes:{a_pos:0}};export{r as tileInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../../../../core/has.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import\"../../../../../chunks/builtins.js\";import e from\"../../../../webgl/BufferObject.js\";import r from\"../../../../webgl/Texture.js\";import i from\"../../../../webgl/VertexArrayObject.js\";import\"../../../../webgl/FramebufferObject.js\";import{createProgram as o}from\"../../../../webgl/programUtils.js\";import s from\"./WGLBrush.js\";import{background as n}from\"../shaders/BackgroundPrograms.js\";import{tileInfo as a}from\"../shaders/TileInfoPrograms.js\";const l=300,u=32;class m extends s{constructor(){super(...arguments),this._color=t(1,0,0,1)}dispose(){this._outlineProgram&&(this._outlineProgram.dispose(),this._outlineProgram=null),this._tileInfoProgram&&(this._tileInfoProgram.dispose(),this._tileInfoProgram=null),this._outlineVertexArrayObject&&(this._outlineVertexArrayObject.dispose(),this._outlineVertexArrayObject=null),this._tileInfoVertexArrayObject&&(this._tileInfoVertexArrayObject.dispose(),this._tileInfoVertexArrayObject=null),this._canvas=null}prepareState({context:t}){t.setBlendingEnabled(!0),t.setBlendFunctionSeparate(1,771,1,771),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1)}draw(t,e){const{context:r}=t;if(!e.isReady)return;this._loadWGLResources(r),r.bindVAO(this._outlineVertexArrayObject),r.bindProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._outlineProgram.setUniform2f(\"u_coord_range\",e.coordRange[0],e.coordRange[1]),this._outlineProgram.setUniform1f(\"u_depth\",0),this._outlineProgram.setUniform4fv(\"u_color\",this._color),r.drawArrays(3,0,4),r.bindVAO();const i=this._getTexture(r,e);i&&(r.bindVAO(this._tileInfoVertexArrayObject),r.bindProgram(this._tileInfoProgram),r.bindTexture(i,0),this._tileInfoProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._tileInfoProgram.setUniform1f(\"u_depth\",0),this._tileInfoProgram.setUniform2f(\"u_coord_ratio\",e.coordRange[0]/e.size[0],e.coordRange[1]/e.size[1]),this._tileInfoProgram.setUniform2f(\"u_delta\",8,8),this._tileInfoProgram.setUniform2f(\"u_dimensions\",i.descriptor.width,i.descriptor.height),r.drawArrays(5,0,4),r.bindVAO())}_loadWGLResources(t){if(this._outlineProgram&&this._tileInfoProgram)return;const r=o(t,n),s=o(t,a),l={geometry:[{name:\"a_pos\",count:2,type:5120,offset:0,stride:2,normalized:!1,divisor:0}]},u=new Int8Array([0,0,1,0,1,1,0,1]),m=e.createVertex(t,35044,u),c=new i(t,n.attributes,l,{geometry:m}),f=new Int8Array([0,0,1,0,0,1,1,1]),d=e.createVertex(t,35044,f),g=new i(t,a.attributes,l,{geometry:d});this._outlineProgram=r,this._tileInfoProgram=s,this._outlineVertexArrayObject=c,this._tileInfoVertexArrayObject=g}_getTexture(t,e){if(e.texture&&e.triangleCountReportedInDebug===e.triangleCount)return e.texture;e.triangleCountReportedInDebug=e.triangleCount,this._canvas||(this._canvas=document.createElement(\"canvas\"),this._canvas.setAttribute(\"id\",\"canvas2d\"),this._canvas.setAttribute(\"width\",`${l}`),this._canvas.setAttribute(\"height\",`${u}`),this._canvas.setAttribute(\"style\",\"display:none\"));const i=e.triangleCount;let o=e.key.id;e.triangleCount>0&&(o+=`, ${i}`);const s=this._canvas,n=s.getContext(\"2d\");return n.font=\"24px sans-serif\",n.textAlign=\"left\",n.textBaseline=\"top\",n.clearRect(0,0,l,u),i>1e5?(n.fillStyle=\"red\",n.fillRect(0,0,l,u),n.fillStyle=\"black\"):(n.clearRect(0,0,l,u),n.fillStyle=\"blue\"),n.fillText(o,0,0),e.texture=new r(t,{target:3553,pixelFormat:6408,dataType:5121,samplingMode:9728,wrapMode:33071},s),e.texture}}export default m;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{isUint16Array as e,isUint32Array as t}from\"../../core/typedArrayUtil.js\";import{checkWebGLError as i}from\"./checkWebGLError.js\";class s{constructor(e,t,s,n,r){this._context=e,this.bufferType=t,this.usage=s,this._glName=null,this._size=-1,this._indexType=void 0,e.instanceCounter.increment(1,this),this._glName=this._context.gl.createBuffer(),i(this._context.gl),n&&this.setData(n,r)}static createIndex(e,t,i,n){return new s(e,34963,t,i,n)}static createVertex(e,t,i){return new s(e,34962,t,i)}get glName(){return this._glName}get size(){return this._size}get indexType(){return this._indexType}get byteSize(){return 34962===this.bufferType?this._size:5125===this._indexType?4*this._size:2*this._size}dispose(){if(this._context){if(this._glName){this._context.gl.deleteBuffer(this._glName),this._glName=null}this._context.instanceCounter.decrement(1,this),this._context=null}}setData(i,s){if(!i)return;if(\"number\"==typeof i){if(i<0&&console.error(\"Buffer size cannot be negative!\"),34963===this.bufferType&&s)switch(this._indexType=s,this._size=i,s){case 5123:i*=2;break;case 5125:i*=4}}else{let s=i.byteLength;e(i)&&(s/=2,this._indexType=5123),t(i)&&(s/=4,this._indexType=5125),this._size=s}const n=this._context.getBoundVAO();this._context.bindVAO(null),this._context.bindBuffer(this);this._context.gl.bufferData(this.bufferType,i,this.usage),this._context.bindVAO(n)}setSubData(i,s=0,n=0,r=i.byteLength){if(!i)return;(s<0||s>=this._size)&&console.error(\"offset is out of range!\");let h=s,o=n,c=r,f=i.byteLength;e(i)&&(f/=2,h*=2,o*=2,c*=2),t(i)&&(f/=4,h*=4,o*=4,c*=4),void 0===r&&(r=f-1),n>=r&&console.error(\"end must be bigger than start!\"),s+n-r>this._size&&console.error(\"An attempt to write beyond the end of the buffer!\");const u=this._context.getBoundVAO();this._context.bindVAO(null),this._context.bindBuffer(this);const a=this._context.gl,_=ArrayBuffer.isView(i)?i.buffer:i,l=0===o&&c===i.byteLength?_:_.slice(o,c);a.bufferSubData(this.bufferType,h,l),this._context.bindVAO(u)}}export default s;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import\"../../../../core/mathUtils.js\";import\"../../../../chunks/builtins.js\";import t from\"../../../webgl/BufferObject.js\";import e from\"../../../webgl/VertexArrayObject.js\";import\"../../../webgl/FramebufferObject.js\";class r{constructor(r,i){this.rctx=r,this._vertexBuffer=t.createVertex(r,35044,new Uint16Array(i)),this._vao=new e(r,{a_position:0},{geometry:[{name:\"a_position\",count:2,type:5122,offset:0,stride:4,normalized:!1}]},{geometry:this._vertexBuffer})}bind(){this._vao.bind()}unbind(){this._vao.unbind()}dispose(){this._vao.dispose(!1),this._vertexBuffer.dispose()}draw(){this.rctx.bindVAO(this._vao),this.rctx.drawArrays(5,0,4)}}export default r;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{isNone as e}from\"../../core/maybe.js\";function r(e,r){return e.vertexBuffers[r].size/t(e.layout[r])}function t(e){return e[0].stride}function n(e){switch(e){case 5126:case 5124:case 5125:return 4;case 5122:case 5123:return 2;case 5120:case 5121:return 1;default:throw new Error(\"Unknown data type\")}}function i(e){switch(e){case 5120:return Int8Array;case 5126:return Float32Array;case 5124:return Int32Array;case 5122:return Int16Array;case 5121:return Uint8Array;case 5125:return Uint32Array;case 5123:return Uint16Array;default:throw new Error(\"Unknown data type\")}}function s(e,r,t,i,s,o){const a=n(i);if(e.length>0){const n=e[0].stride,c=n+a*t;e.forEach((e=>e.stride=c)),e.push({name:r,count:t,type:i,offset:n,stride:c,normalized:s,divisor:o})}else e.push({name:r,count:t,type:i,offset:0,stride:a*t,normalized:s,divisor:o})}function o(e,r){for(let t=0;te.divisor?{...e,baseInstance:r}:e));return t}function f(e,r,t,n,i){const s=e.gl,o=e.capabilities.instancing;e.bindBuffer(t);for(const a of n){const e=r[a.name],t=(i||(0+a.baseInstance?a.baseInstance:0))*a.stride;if(void 0===e&&console.error(`There is no location for vertex attribute '${a.name}' defined.`),a.baseInstance&&!a.divisor&&console.error(`Vertex attribute '${a.name}' uses baseInstanceOffset without divisor.`),a.count<=4)s.vertexAttribPointer(e,a.count,a.type,a.normalized,a.stride,a.offset+t),s.enableVertexAttribArray(e),a.divisor&&a.divisor>0&&o&&o.vertexAttribDivisor(e,a.divisor);else if(9===a.count)for(let r=0;r<3;r++)s.vertexAttribPointer(e+r,3,a.type,a.normalized,a.stride,a.offset+12*r+t),s.enableVertexAttribArray(e+r),a.divisor&&a.divisor>0&&o&&o.vertexAttribDivisor(e+r,a.divisor);else if(16===a.count)for(let r=0;r<4;r++)s.vertexAttribPointer(e+r,4,a.type,a.normalized,a.stride,a.offset+16*r+t),s.enableVertexAttribArray(e+r),a.divisor&&a.divisor>0&&o&&o.vertexAttribDivisor(e+r,a.divisor);else console.error(\"Unsupported vertex attribute element count: \"+a.count)}}function d(e,r,t,n){const i=e.gl,s=e.capabilities.instancing;e.bindBuffer(t);for(const o of n){const e=r[o.name];if(o.count<=4)i.disableVertexAttribArray(e),o.divisor&&o.divisor>0&&s&&s.vertexAttribDivisor(e,0);else if(9===o.count)for(let r=0;r<3;r++)i.disableVertexAttribArray(e+r),o.divisor&&o.divisor>0&&s&&s.vertexAttribDivisor(e+r,0);else if(16===o.count)for(let r=0;r<4;r++)i.disableVertexAttribArray(e+r),o.divisor&&o.divisor>0&&s&&s.vertexAttribDivisor(e+r,0);else console.error(\"Unsupported vertex attribute element count: \"+o.count)}e.unbindBuffer(34962)}function l(e){switch(e){case 6406:case 6409:case 36168:return 1;case 6410:case 32854:case 33325:case 32854:case 33189:return 2;case 6407:case 6402:return 3;case 6408:case 34041:case 33326:case 35898:case 33327:case 34041:return 4;case 33328:case 34842:return 8;case 34836:return 16;case 33776:case 33777:return.5;case 33778:case 33779:return 1;case 37488:case 37489:case 37492:case 37493:case 37494:case 37495:return.5;case 37490:case 37491:case 37496:case 37497:return 1}return 0}function b(r){if(e(r))return 0;if(\"colorAttachment\"in r)return r.glName?b(r.colorAttachment)+b(r.depthStencilAttachment):0;if(\"descriptor\"in r)return r.glName?b(r.descriptor):0;const t=r.internalFormat||\"pixelFormat\"in r&&r.pixelFormat;if(!t)return 0;const n=\"hasMipmap\"in r&&r.hasMipmap?1.3:1,i=r.width*r.height;return l(t)*i*n}export{s as addDescriptor,f as bindVertexBufferLayout,c as copyFramebufferToTexture,a as findAttribute,n as getBytesPerElement,l as getBytesPerElementFormat,b as getGpuMemoryUsage,t as getStride,i as getTypedArrayConstructor,o as hasAttribute,u as setBaseInstanceOffset,d as unbindVertexBufferLayout,r as vertexCount};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nvar e=[\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"];export default e;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport t from\"./reservedWordsGLSL3.js\";import{o as e,l as a,b as r}from\"../../chunks/builtins.js\";var n=999,o=9999,i=0,s=1,c=2,d=3,f=4,p=5,u=6,l=7,h=8,y=9,g=10,w=11,m=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function k(){var t,k,b,v=0,_=0,x=n,j=[],E=[],O=1,L=0,D=0,G=!1,T=!1,X=\"\";return function(t){return E=[],null!==t?P(t.replace?t.replace(/\\r\\n/g,\"\\n\"):t):C()};function F(t){t.length&&E.push({type:m[x],data:t,position:D,line:O,column:L})}function P(e){var a;for(v=0,b=(X+=e).length;t=X[v],v0)continue;r=t.slice(0,1).join(\"\")}return F(r),D+=r.length,(j=j.slice(r.length)).length}}function W(){return/[^a-fA-F0-9]/.test(t)?(F(j.join(\"\")),x=n,v):(j.push(t),k=t,v+1)}function Z(){return\".\"===t||/[eE]/.test(t)?(j.push(t),x=p,k=t,v+1):\"x\"===t&&1===j.length&&\"0\"===j[0]?(x=w,j.push(t),k=t,v+1):/[^\\d]/.test(t)?(F(j.join(\"\")),x=n,v):(j.push(t),k=t,v+1)}function q(){return\"f\"===t&&(j.push(t),k=t,v+=1),/[eE]/.test(t)||\"-\"===t&&/[eE]/.test(k)?(j.push(t),k=t,v+1):/[^\\d]/.test(t)?(F(j.join(\"\")),x=n,v):(j.push(t),k=t,v+1)}function B(){if(/[^\\d\\w_]/.test(t)){var e=j.join(\"\");return x=a.indexOf(e)>-1?h:r.indexOf(e)>-1?l:u,F(j.join(\"\")),x=n,v}return j.push(t),k=t,v+1}}function b(t){var e=k(),a=[];return a=(a=a.concat(e(t))).concat(e(null))}function v(t){return b(t)}function _(t){return t.map((t=>\"eof\"!==t.type?t.data:\"\")).join(\"\")}const x=[\"GL_OES_standard_derivatives\",\"GL_EXT_frag_depth\",\"GL_EXT_draw_buffers\",\"GL_EXT_shader_texture_lod\"];function j(t,e=\"100\",a=\"300 es\"){const r=/^\\s*\\#version\\s+([0-9]+(\\s+[a-zA-Z]+)?)\\s*/;for(const n of t)if(\"preprocessor\"===n.type){const t=r.exec(n.data);if(t){const r=t[1].replace(/\\s\\s+/g,\" \");if(r===a)return r;if(r===e)return n.data=\"#version \"+a,e;throw new Error(\"unknown glsl version: \"+r)}}return t.splice(0,0,{type:\"preprocessor\",data:\"#version \"+a},{type:\"whitespace\",data:\"\\n\"}),null}function E(t,e){for(let a=e-1;a>=0;a--){const e=t[a];if(\"whitespace\"!==e.type&&\"block-comment\"!==e.type){if(\"keyword\"!==e.type)break;if(\"attribute\"===e.data||\"in\"===e.data)return!0}}return!1}function O(t,e,a,r){r=r||a;for(const n of t)if(\"ident\"===n.type&&n.data===a){r in e?e[r]++:e[r]=0;return O(t,e,r+\"_\"+e[r],r)}return a}function L(t,e,a=\"afterVersion\"){function r(t,e){for(let a=e;ae=0){if(\"vertex\"===a&&E(r,c))throw new Error(\"attribute in vertex shader uses a name that is a reserved word in glsl 300 es\");e.data in s||(s[e.data]=O(r,i,e.data)),e.data=s[e.data]}}}for(let t=r.length-1;t>=0;--t){const e=r[t];if(\"preprocessor\"===e.type){const a=e.data.match(/\\#extension\\s+(.*)\\:/);if(a&&a[1]&&x.indexOf(a[1].trim())>=0){const e=r[t+1];r.splice(t,e&&\"whitespace\"===e.type?2:1)}const n=e.data.match(/\\#ifdef\\s+(.*)/);n&&n[1]&&x.indexOf(n[1].trim())>=0&&(e.data=\"#if 1\");const o=e.data.match(/\\#ifndef\\s+(.*)/);o&&o[1]&&x.indexOf(o[1].trim())>=0&&(e.data=\"#if 0\")}}return _(r)}export{X as transpileShader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{isNone as t}from\"../../core/maybe.js\";import{transpileShader as i}from\"./ShaderTranspiler.js\";class o{constructor(t,i,o,n,r={}){if(this._context=null,this._glName=null,this._locations={},this._initialized=!1,this._vShader=null,this._fShader=null,this._defines={},this._nameToUniformLocation={},this._nameToAttribLocation={},this._nameToUniform1={},this._nameToUniform1v={},this._nameToUniform2={},this._nameToUniform3={},this._nameToUniform4={},this._nameToUniformMatrix3={},this._nameToUniformMatrix4={},t||console.error(\"RenderingContext isn't initialized!\"),0===i.length&&console.error(\"Shaders source should not be empty!\"),t.instanceCounter.increment(3,this),this._context=t,this._vertexShaderSource=i,this._fragmentShaderSource=o,Array.isArray(r))for(const e of r)this._defines[e]=\"1\";else this._defines=r;this._locations=n}get glName(){return this._glName}get locations(){return this._locations}getDefine(t){return this._defines[t]}dispose(){if(!this._context)return;const t=this._context.gl;if(this._vShader){const i=this._vShader;t.deleteShader(i),this._vShader=null}if(this._fShader){const i=this._fShader;t.deleteShader(i),this._fShader=null}this._glName&&(t.deleteProgram(this._glName),this._glName=null),this._context.instanceCounter.decrement(3,this),this._context=null}initialize(){if(this._initialized)return;this._vShader=this._loadShader(35633),this._fShader=this._loadShader(35632),this._vShader&&this._fShader||console.error(\"Error loading shaders!\");const t=this._context.gl,i=t.createProgram();t.attachShader(i,this._vShader),t.attachShader(i,this._fShader);for(const o in this._locations){const n=this._locations[o];t.bindAttribLocation(i,n,o)}t.linkProgram(i),this._glName=i,this._initialized=!0}getUniformLocation(t){return this.initialize(),void 0===this._nameToUniformLocation[t]&&(this._nameToUniformLocation[t]=this._context.gl.getUniformLocation(this._glName,t)),this._nameToUniformLocation[t]}hasUniform(t){return null!==this.getUniformLocation(t)}getAttribLocation(t){return this.initialize(),void 0===this._nameToAttribLocation[t]&&(this._nameToAttribLocation[t]=this._context.gl.getAttribLocation(this._glName,t)),this._nameToAttribLocation[t]}setUniform1i(t,i){const o=this._nameToUniform1[t];if(void 0===o||i!==o){this._context.bindProgram(this);this._context.gl.uniform1i(this.getUniformLocation(t),i),this._nameToUniform1[t]=i}}setUniform1iv(t,i){const r=this._nameToUniform1v[t];if(n(r,i)){this._context.bindProgram(this);this._context.gl.uniform1iv(this.getUniformLocation(t),i),void 0===r?this._nameToUniform1v[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}setUniform2iv(t,i){const r=this._nameToUniform2[t];if(n(r,i)){this._context.bindProgram(this);this._context.gl.uniform2iv(this.getUniformLocation(t),i),void 0===r?this._nameToUniform2[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}setUniform3iv(t,i){const r=this._nameToUniform3[t];if(n(r,i)){this._context.bindProgram(this);this._context.gl.uniform3iv(this.getUniformLocation(t),i),void 0===r?this._nameToUniform3[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}setUniform4iv(t,i){const r=this._nameToUniform4[t];if(n(r,i)){this._context.bindProgram(this);this._context.gl.uniform4iv(this.getUniformLocation(t),i),void 0===r?this._nameToUniform4[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}setUniform1f(t,i){const o=this._nameToUniform1[t];if(void 0===o||i!==o){this._context.bindProgram(this);this._context.gl.uniform1f(this.getUniformLocation(t),i),this._nameToUniform1[t]=i}}setUniform1fv(t,i){const r=this._nameToUniform1v[t];if(n(r,i)){this._context.bindProgram(this);this._context.gl.uniform1fv(this.getUniformLocation(t),i),void 0===r?this._nameToUniform1v[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}setUniform2f(t,i,o){const n=this._nameToUniform2[t];if(void 0===n||i!==n[0]||o!==n[1]){this._context.bindProgram(this);this._context.gl.uniform2f(this.getUniformLocation(t),i,o),void 0===n?this._nameToUniform2[t]=[i,o]:(n[0]=i,n[1]=o)}}setUniform2fv(t,i){const r=this._nameToUniform2[t];if(n(r,i)){this._context.bindProgram(this);this._context.gl.uniform2fv(this.getUniformLocation(t),i),void 0===r?this._nameToUniform2[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}setUniform3f(t,i,o,n){const r=this._nameToUniform3[t];if(void 0===r||i!==r[0]||o!==r[1]||n!==r[2]){this._context.bindProgram(this);this._context.gl.uniform3f(this.getUniformLocation(t),i,o,n),void 0===r?this._nameToUniform3[t]=[i,o,n]:(r[0]=i,r[1]=o,r[2]=n)}}setUniform3fv(t,i){const r=this._nameToUniform3[t];if(n(r,i)){this._context.bindProgram(this);this._context.gl.uniform3fv(this.getUniformLocation(t),i),void 0===r?this._nameToUniform3[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}setUniform4f(t,i,o,n,r){const e=this._nameToUniform4[t];if(void 0===e||i!==e[0]||o!==e[1]||n!==e[2]||r!==e[3]){this._context.bindProgram(this);this._context.gl.uniform4f(this.getUniformLocation(t),i,o,n,r),void 0===e?this._nameToUniform4[t]=[i,o,n,r]:(e[0]=i,e[1]=o,e[2]=n,e[3]=r)}}setUniform4fv(t,i){const r=this._nameToUniform4[t];if(n(r,i)){this._context.bindProgram(this);this._context.gl.uniform4fv(this.getUniformLocation(t),i),void 0===r?this._nameToUniform4[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}setUniformMatrix3fv(t,i,n=!1){const e=this._nameToUniformMatrix3[t];if(r(e,i)){this._context.bindProgram(this);this._context.gl.uniformMatrix3fv(this.getUniformLocation(t),n,i),void 0===e?this._nameToUniformMatrix3[t]=o._arrayCopy(i):o._arrayAssign(i,e)}}setUniformMatrix4fv(t,i,n=!1){const r=this._nameToUniformMatrix4[t];if(e(r,i)){this._context.bindProgram(this);this._context.gl.uniformMatrix4fv(this.getUniformLocation(t),n,i),void 0===r?this._nameToUniformMatrix4[t]=o._arrayCopy(i):o._arrayAssign(i,r)}}assertCompatibleVertexAttributeLocations(t){const i=t.locations===this.locations;return i||console.error(\"VertexAttributeLocations are incompatible\"),i}static _padToThree(t){let i=t.toString();return t<1e3&&(i=(\" \"+t).slice(-3)),i}_addLineNumbers(t){let i=2;return t.replace(/\\n/g,(()=>\"\\n\"+o._padToThree(i++)+\":\"))}_loadShader(t){const o=35633===t;let n=o?this._vertexShaderSource:this._fragmentShaderSource,r=\"\";for(const i in this._defines)r+=`#define ${i} ${this._defines[i]}\\n`;n=r+n,\"webgl2\"===this._context.contextVersion&&(n=i(n,o?\"vertex\":\"fragment\"));const e=this._context.gl,s=e.createShader(t);return e.shaderSource(s,n),e.compileShader(s),s}static _arrayCopy(t){const i=[];for(let o=0;o{switch(e.BYTES_PER_ELEMENT){case 1:return 5121;case 2:return 5123;case 4:return 5125;default:throw new r(\"Cannot get DataType of array\")}},y=(e,t,r,o)=>{let n=0;for(let s=1;s0:n<0},x=({coords:e,lengths:t},r)=>{const o=[];for(let n=0,s=0;n({...r,[o]:f.createVertex(e,t,this.vertices[o])})),{})),this._cache.vertexBuffers}}export default g;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport{isSome as t,isNone as e}from\"../../../../core/maybe.js\";import r from\"../../../../core/Logger.js\";import s from\"../../../../core/Error.js\";import i from\"../../../webgl/VertexArrayObject.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import o from\"./Mesh2D.js\";const a=r.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\"),c=t=>parseFloat(t)/100;class n extends h{constructor(t,e){super(),this._clip=e,this._cache={},this.stage=t,this._handle=e.watch(\"version\",(()=>this._invalidate())),this.ready()}static fromClipArea(t,e){return new n(t,e)}_destroyGL(){t(this._cache.mesh)&&(this._cache.mesh.destroy(),this._cache.mesh=null),t(this._cache.vao)&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){this._destroyGL(),this._handle.remove()}getVAO(t,r,s,h){const[o,a]=r.size;if(\"geometry\"!==this._clip.type&&this._lastWidth===o&&this._lastHeight===a||(this._lastWidth=o,this._lastHeight=a,this._destroyGL()),e(this._cache.vao)){const e=this._createMesh(r,this._clip),o=e.getIndexBuffer(t),a=e.getVertexBuffers(t);this._cache.mesh=e,this._cache.vao=new i(t,s,h,a,o)}return this._cache.vao}_invalidate(){this._destroyGL(),this.requestRender()}_createScreenRect(t,e){const[r,s]=t.size,i=\"string\"==typeof e.left?c(e.left)*r:e.left,h=\"string\"==typeof e.right?c(e.right)*r:e.right,o=\"string\"==typeof e.top?c(e.top)*s:e.top,a=\"string\"==typeof e.bottom?c(e.bottom)*s:e.bottom,n=i,p=o;return{x:n,y:p,width:Math.max(r-h-n,0),height:Math.max(s-a-p,0)}}_createMesh(t,e){switch(e.type){case\"rect\":return o.fromRect(this._createScreenRect(t,e));case\"path\":return o.fromPath(e);case\"geometry\":return o.fromGeometry(t,e);default:return a.error(new s(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),o.fromRect({x:0,y:0,width:1,height:1})}}}export default n;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{isNone as e,isSome as r}from\"../../../../core/maybe.js\";import{WGLDrawPhase as s}from\"./enums.js\";import{Container as t}from\"../Container.js\";import{brushes as i}from\"../brushes.js\";import n from\"./ClippingInfo.js\";class o extends t{constructor(){super(...arguments),this.name=this.constructor.name}set clips(e){this._clips=e,this.children.forEach((r=>r.clips=e)),this._updateClippingInfo()}doRender(e){const r=this.createRenderParams(e),{painter:t,globalOpacity:i,profiler:n,drawPhase:o}=r,a=o===s.LABEL?1:i*this.computedOpacity;n.recordContainerStart(this.name),t.beforeRenderLayer(r,this._clippingInfos?255:0,a),this.updateTransforms(e.state),this.renderChildren(r),t.compositeLayer(r,a),n.recordContainerEnd()}renderChildren(r){e(this._renderPasses)&&(this._renderPasses=this.prepareRenderPasses(r.painter));for(const e of this.children)e.beforeRender(r);for(const e of this._renderPasses)try{e.render(r)}catch(s){}for(const e of this.children)e.afterRender(r)}createRenderParams(e){return{...e,requireFBO:this.requiresDedicatedFBO}}prepareRenderPasses(e){return[e.registerRenderPass({name:\"clip\",brushes:[i.clip],target:()=>this._clippingInfos,drawPhase:s.MAP|s.LABEL|s.LABEL_ALPHA|s.DEBUG|s.HIGHLIGHT})]}updateTransforms(e){for(const r of this.children)r.setTransform(e)}onAttach(){super.onAttach(),this._updateClippingInfo()}onDetach(){super.onDetach(),this._updateClippingInfo()}_updateClippingInfo(){if(r(this._clippingInfos)&&(this._clippingInfos.forEach((e=>e.destroy())),this._clippingInfos=null),!this.stage)return;const e=this._clips;r(e)&&e.length&&(this._clippingInfos=e.items.map((e=>n.fromClipArea(this.stage,e)))),this.requestRender()}}export default o;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nvar e={background:{\"background.frag\":\"uniform lowp vec4 u_color;\\nvoid main() {\\n gl_FragColor = u_color;\\n}\",\"background.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump vec2 u_coord_range;\\nuniform mediump float u_depth;\\nvoid main() {\\n vec3 v_pos = u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0);\\n gl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n}\"},bitBlit:{\"bitBlit.frag\":\"uniform lowp sampler2D u_tex;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\n lowp vec4 color = texture2D(u_tex, v_uv);\\n gl_FragColor = color * u_opacity;\\n}\",\"bitBlit.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_tex;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\n gl_Position = vec4(a_pos, 0.0, 1.0);\\n v_uv = a_tex;\\n}\"},blend:{\"blend.frag\":\"precision mediump float;\\nuniform sampler2D u_layerTexture;\\nuniform lowp float u_opacity;\\nuniform lowp float u_inFadeOpacity;\\n#ifndef NORMAL\\nuniform sampler2D u_backbufferTexture;\\n#endif\\nvarying mediump vec2 v_uv;\\nfloat rgb2v(in vec3 c) {\\n return max(c.x, max(c.y, c.z));\\n}\\nvec3 rgb2hsv(in vec3 c) {\\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\n float d = q.x - min(q.w, q.y);\\n float e = 1.0e-10;\\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(in vec3 c) {\\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec3 tint(in vec3 Cb, in vec3 Cs) {\\n float vIn = rgb2v(Cb);\\n vec3 hsvTint = rgb2hsv(Cs);\\n vec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\n return hsv2rgb(hsvOut);\\n}\\nfloat overlay(in float Cb, in float Cs) {\\n return (1.0 - step(0.5, Cs)) * (1.0 - 2.0 * (1.0 - Cs ) * (1.0 - Cb)) + step(0.5, Cs) * (2.0 * Cs * Cb);\\n}\\nfloat colorDodge(in float Cb, in float Cs) {\\n return (Cb == 0.0) ? 0.0 : (Cs == 1.0) ? 1.0 : min(1.0, Cb / (1.0 - Cs));\\n}\\nfloat colorBurn(in float Cb, in float Cs) {\\n return (Cb == 1.0) ? 1.0 : (Cs == 0.0) ? 0.0 : 1.0 - min(1.0, (1.0 - Cb) / Cs);\\n}\\nfloat hardLight(in float Cb, in float Cs) {\\n return (1.0 - step(0.5, Cs)) * (2.0 * Cs * Cb) + step(0.5, Cs) * (1.0 - 2.0 * (1.0 - Cs) * (1.0 - Cb));\\n}\\nfloat reflectBlend(in float Cb, in float Cs) {\\n\\treturn (Cs == 1.0) ? Cs : min(Cb * Cb / (1.0 - Cs), 1.0);\\n}\\nfloat softLight(in float Cb, in float Cs) {\\n if (Cs <= 0.5) {\\n return Cb - (1.0 - 2.0 * Cs) * Cb * (1.0 - Cb);\\n }\\n if (Cb <= 0.25) {\\n return Cb + (2.0 * Cs - 1.0) * Cb * ((16.0 * Cb - 12.0) * Cb + 3.0);\\n }\\n return Cb + (2.0 * Cs - 1.0) * (sqrt(Cb) - Cb);\\n}\\nfloat vividLight(in float Cb, in float Cs) {\\n return (1.0 - step(0.5, Cs)) * colorBurn(Cb, 2.0 * Cs) + step(0.5, Cs) * colorDodge(Cb, (2.0 * (Cs - 0.5)));\\n}\\nfloat minv3(in vec3 c) {\\n return min(min(c.r, c.g), c.b);\\n}\\nfloat maxv3(in vec3 c) {\\n return max(max(c.r, c.g), c.b);\\n}\\nfloat lumv3(in vec3 c) {\\n return dot(c, vec3(0.3, 0.59, 0.11));\\n}\\nfloat satv3(vec3 c) {\\n return maxv3(c) - minv3(c);\\n}\\nvec3 clipColor(vec3 color) {\\n float lum = lumv3(color);\\n float mincol = minv3(color);\\n float maxcol = maxv3(color);\\n if (mincol < 0.0) {\\n color = lum + ((color - lum) * lum) / (lum - mincol);\\n }\\n if (maxcol > 1.0) {\\n color = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n }\\n return color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\n float lbase = lumv3(cbase);\\n float llum = lumv3(clum);\\n float ldiff = llum - lbase;\\n vec3 color = cbase + vec3(ldiff);\\n return clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\n float minbase = minv3(cbase);\\n float sbase = satv3(cbase);\\n float ssat = satv3(csat);\\n vec3 color;\\n if (sbase > 0.0) {\\n color = (cbase - minbase) * ssat / sbase;\\n } else {\\n color = vec3(0.0);\\n }\\n return setLum(color, clum);\\n}\\nvoid main() {\\n vec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\n gl_FragColor = src * u_opacity;\\n#else\\n vec4 dst = texture2D(u_backbufferTexture, v_uv);\\n vec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\n vec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\n float as = u_opacity * src.a;\\n float ab = dst.a;\\n #ifdef DESTINATION_OVER\\n gl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n #endif\\n #ifdef SOURCE_IN\\n vec4 color = vec4(as * Cs * ab, as * ab);\\n vec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\n gl_FragColor = color + fadeColor;\\n #endif\\n #ifdef DESTINATION_IN\\n vec4 color = vec4(ab * Cb * as, ab * as);\\n vec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\n gl_FragColor = color + fadeColor;\\n #endif\\n #ifdef SOURCE_OUT\\n gl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n #endif\\n #ifdef DESTINATION_OUT\\n gl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n #endif\\n #ifdef SOURCE_ATOP\\n gl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n #endif\\n #ifdef DESTINATION_ATOP\\n gl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n #endif\\n #ifdef XOR\\n gl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\n as * (1.0 - ab) + ab * (1.0 - as));\\n #endif\\n #ifdef MULTIPLY\\n gl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef SCREEN\\n gl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef OVERLAY\\n vec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef DARKEN\\n gl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef LIGHTER\\n gl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n #endif\\n #ifdef LIGHTEN\\n gl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef COLOR_DODGE\\n vec3 f = vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef COLOR_BURN\\n vec3 f = vec3(colorBurn(Cb.r, Cs.r), colorBurn(Cb.g, Cs.g), colorBurn(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef HARD_LIGHT\\n vec3 f = vec3(hardLight(Cb.r, Cs.r), hardLight(Cb.g, Cs.g), hardLight(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef SOFT_LIGHT\\n vec3 f = vec3(softLight(Cb.r, Cs.r), softLight(Cb.g, Cs.g), softLight(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef DIFFERENCE\\n gl_FragColor = vec4(abs(Cb - Cs) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef EXCLUSION\\n vec3 f = Cs + Cb - 2.0 * Cs * Cb;\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef INVERT\\n gl_FragColor = vec4((1.0 - Cb) * as * ab + Cb * ab * (1.0 - as), ab);\\n #endif\\n #ifdef VIVID_LIGHT\\n vec3 f = vec3(vividLight(Cb.r, Cs.r),\\n vividLight(Cb.g, Cs.g),\\n vividLight(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef HUE\\n vec3 f = setLumSat(Cs,Cb,Cb);\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef SATURATION\\n vec3 f = setLumSat(Cb,Cs,Cb);\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef COLOR\\n vec3 f = setLum(Cs,Cb);\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef LUMINOSITY\\n vec3 f = setLum(Cb,Cs);\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef PLUS\\n gl_FragColor = clamp(vec4(src.r + Cb.r, src.g + Cb.g, src.b + Cb.b, as + ab), 0.0, 1.0);\\n #endif\\n #ifdef MINUS\\n gl_FragColor = vec4(clamp(vec3(Cb.r - src.r, Cb.g - src.g, Cb.b - src.b), 0.0, 1.0), ab * as);\\n #endif\\n #ifdef AVERAGE\\n vec3 f = (Cb + Cs) / 2.0;\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n #ifdef REFLECT\\n vec3 f = vec3(reflectBlend(Cb.r, Cs.r),\\n reflectBlend(Cb.g, Cs.g),\\n reflectBlend(Cb.b, Cs.b));\\n gl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\n as + ab * (1.0 - as));\\n #endif\\n#endif\\n}\",\"blend.vert\":\"attribute vec2 a_position;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\n gl_Position = vec4(a_position , 0.0, 1.0);\\n v_uv = (a_position + 1.0) / 2.0;\\n}\"},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\n float b = 1.0 / 6.0;\\n float v2 = v * v;\\n float v3 = v2 * v;\\n float w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\n float w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\n float w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\n float w3 = b * v3;\\n return vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\n vec4 w = computeWeights(v);\\n float g0 = w.x + w.y;\\n float g1 = w.z + w.w;\\n float h0 = 1.0 - (w.y / g0) + v;\\n float h1 = 1.0 + (w.w / g1) - v;\\n return vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\n vec2 eX = vec2(1.0 / texSize.x, 0.0);\\n vec2 eY = vec2(0.0, 1.0 / texSize.y);\\n vec2 texel = coords * texSize - 0.5;\\n vec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\n vec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\n vec2 coords10 = coords + hgX.x * eX;\\n vec2 coords00 = coords - hgX.y * eX;\\n vec2 coords11 = coords10 + hgY.x * eY;\\n vec2 coords01 = coords00 + hgY.x * eY;\\n coords10 = coords10 - hgY.y * eY;\\n coords00 = coords00 - hgY.y * eY;\\n vec4 color00 = texture2D(sampler, coords00);\\n vec4 color10 = texture2D(sampler, coords10);\\n vec4 color01 = texture2D(sampler, coords01);\\n vec4 color11 = texture2D(sampler, coords11);\\n color00 = mix(color00, color01, hgY.z);\\n color10 = mix(color10, color11, hgY.z);\\n color00 = mix(color00, color10, hgX.z);\\n return color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\n vec2 texelStart = floor(coords * texSize);\\n vec2 coord0 = texelStart / texSize;\\n vec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\n vec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\n vec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\n vec4 color0 = texture2D(sampler, coord0);\\n vec4 color1 = texture2D(sampler, coord1);\\n vec4 color2 = texture2D(sampler, coord2);\\n vec4 color3 = texture2D(sampler, coord3);\\n vec2 blend = fract(coords * texSize);\\n vec4 color01 = mix(color0, color1, blend.x);\\n vec4 color23 = mix(color2, color3, blend.x);\\n return mix(color01, color23, blend.y);\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\n vec2 invSize = 1.0 / texSize;\\n vec2 texel = coords * texSize;\\n vec2 texel_i = floor(texel);\\n vec2 texel_frac = fract(texel);\\n vec4 colorP = texture2D(sampler, texel_i * invSize);\\n vec4 colorP1 = vec4(colorP);\\n vec4 colorP2 = vec4(colorP);\\n vec4 colorP3 = vec4(colorP);\\n vec4 colorP4 = vec4(colorP);\\n vec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\n vec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\n vec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\n vec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\n if (colorC == colorA && colorC != colorD && colorA != colorB) {\\n colorP1 = colorA;\\n }\\n if (colorA == colorB && colorA != colorC && colorB != colorD) {\\n colorP2 = colorB;\\n }\\n if (colorD == colorC && colorD != colorB && colorC != colorA) {\\n colorP3 = colorC;\\n }\\n if (colorB == colorD && colorB != colorA && colorD != colorC) {\\n colorP4 = colorD;\\n }\\n vec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\n vec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\n return mix(colorP12, colorP34, texel_frac.y);\\n}\"},fx:{integrate:{\"integrate.frag\":\"precision mediump float;\\nuniform lowp sampler2D u_sourceTexture;\\nuniform lowp sampler2D u_maskTexture;\\nuniform mediump float u_zoomLevel;\\nuniform highp float u_timeDelta;\\nuniform highp float u_animationTime;\\nvarying highp vec2 v_texcoord;\\n#include \\nvoid main()\\n{\\n#ifdef DELTA\\n vec4 texel = texture2D(u_sourceTexture, v_texcoord);\\n vec4 data0 = texture2D(u_maskTexture, v_texcoord);\\n float flags = data0.r * 255.0;\\n float groupMinZoom = data0.g * 255.0;\\n float isVisible = getFilterBit(flags, 0);\\n float wouldClip = step(groupMinZoom, u_zoomLevel);\\n float direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\n float dt = u_timeDelta / max(u_animationTime, 0.0001);\\n vec4 nextState = vec4(texel + direction * dt);\\n gl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\n vec4 texel = texture2D(u_sourceTexture, v_texcoord);\\n gl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos;\\n gl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},highlight:{\"blur.frag\":\"varying mediump vec2 v_texcoord;\\nuniform mediump vec4 u_direction;\\nuniform mediump mat4 u_channelSelector;\\nuniform mediump vec4 u_sigmas;\\nuniform sampler2D u_texture;\\nmediump vec4 gauss4(mediump vec2 dir) {\\n return exp(-dot(dir, dir) / (2.0 * u_sigmas * u_sigmas));\\n}\\nmediump float gauss1(mediump vec2 dir) {\\n return exp(-dot(dir, dir) / (2.0 * u_sigmas[3] * u_sigmas[3]));\\n}\\nmediump vec4 selectChannel(mediump vec4 sample) {\\n return u_channelSelector * sample;\\n}\\nvoid accumGauss4(mediump float i, inout mediump vec4 tot, inout mediump vec4 weight) {\\n mediump vec4 w = gauss4(i * u_direction.xy);\\n tot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw)) * w;\\n weight += w;\\n}\\nvoid accumGauss1(mediump float i, inout mediump float tot, inout mediump float weight) {\\n mediump float w = gauss1(i * u_direction.xy);\\n tot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw))[3] * w;\\n weight += w;\\n}\\nvoid main(void) {\\n mediump float tot = 0.0;\\n mediump float weight = 0.0;\\n accumGauss1(-4.0, tot, weight);\\n accumGauss1(-3.0, tot, weight);\\n accumGauss1(-2.0, tot, weight);\\n accumGauss1(-1.0, tot, weight);\\n accumGauss1(0.0, tot, weight);\\n accumGauss1(1.0, tot, weight);\\n accumGauss1(2.0, tot, weight);\\n accumGauss1(3.0, tot, weight);\\n accumGauss1(4.0, tot, weight);\\n gl_FragColor = vec4(0.0, 0.0, 0.0, tot / weight);\\n}\",\"highlight.frag\":\"varying mediump vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform mediump vec4 u_sigmas;\\nuniform sampler2D u_shade;\\nuniform mediump vec2 u_minMaxDistance;\\nmediump float estimateDistance() {\\n mediump float sigma = u_sigmas[3];\\n mediump float y = texture2D(u_texture, v_texcoord)[3];\\n const mediump float y0 = 0.5;\\n mediump float m0 = 1.0 / (sqrt(2.0 * 3.1415) * sigma);\\n mediump float d = (y - y0) / m0;\\n return d;\\n}\\nmediump vec4 shade(mediump float d) {\\n mediump float mappedDistance = (d - u_minMaxDistance.x) / (u_minMaxDistance.y - u_minMaxDistance.x);\\n mappedDistance = clamp(mappedDistance, 0.0, 1.0);\\n return texture2D(u_shade, vec2(mappedDistance, 0.5));\\n}\\nvoid main(void) {\\n mediump float d = estimateDistance();\\n gl_FragColor = shade(d);\\n}\",\"textured.vert\":\"attribute mediump vec2 a_position;\\nattribute mediump vec2 a_texcoord;\\nvarying mediump vec2 v_texcoord;\\nvoid main(void) {\\n gl_Position = vec4(a_position, 0.0, 1.0);\\n v_texcoord = a_texcoord;\\n}\"},magnifier:{\"magnifier.frag\":\"uniform lowp vec4 u_background;\\nuniform mediump sampler2D u_readbackTexture;\\nuniform mediump sampler2D u_maskTexture;\\nuniform mediump sampler2D u_overlayTexture;\\nuniform bool u_maskEnabled;\\nuniform bool u_overlayEnabled;\\nvarying mediump vec2 v_texCoord;\\nconst lowp float barrelFactor = 1.1;\\nlowp vec2 barrel(lowp vec2 uv) {\\n lowp vec2 uvn = uv * 2.0 - 1.0;\\n if (uvn.x == 0.0 && uvn.y == 0.0) {\\n return vec2(0.5, 0.5);\\n }\\n lowp float theta = atan(uvn.y, uvn.x);\\n lowp float r = pow(length(uvn), barrelFactor);\\n return r * vec2(cos(theta), sin(theta)) * 0.5 + 0.5;\\n}\\nvoid main(void)\\n{\\n lowp vec4 color = texture2D(u_readbackTexture, barrel(v_texCoord));\\n color = (color + (1.0 - color.a) * u_background);\\n lowp float mask = u_maskEnabled ? texture2D(u_maskTexture, v_texCoord).a : 1.0;\\n color *= mask;\\n lowp vec4 overlayColor = u_overlayEnabled ? texture2D(u_overlayTexture, v_texCoord) : vec4(0);\\n gl_FragColor = overlayColor + (1.0 - overlayColor.a) * color;\\n}\",\"magnifier.vert\":\"precision mediump float;\\nattribute mediump vec2 a_pos;\\nuniform mediump vec4 u_drawPos;\\nvarying mediump vec2 v_texCoord;\\nvoid main(void)\\n{\\n v_texCoord = a_pos;\\n gl_Position = vec4(u_drawPos.xy + vec2(a_pos - 0.5) * u_drawPos.zw, 0.0, 1.0);\\n}\"},materials:{\"attributeData.glsl\":\"uniform highp sampler2D u_attributeData0;\\nuniform highp sampler2D u_attributeData1;\\nuniform highp sampler2D u_attributeData2;\\nuniform highp sampler2D u_attributeData3;\\nuniform highp int u_attributeTextureSize;\\nhighp vec2 getAttributeDataCoords(in highp vec4 id) {\\n highp vec4 texel = unpackDisplayIdTexel(id);\\n highp float size = float(u_attributeTextureSize);\\n highp float u32 = float(int(texel.r) + int(texel.g) * 256 + int(texel.b) * 256 * 256 + int(texel.a) * 256 * 256 * 256);\\n highp float col = mod(u32, size);\\n highp float row = (u32 - col) / size;\\n highp float u = col / size;\\n highp float v = row / size;\\n return vec2(u, v);\\n}\\nhighp vec4 getAttributeData0(in highp vec4 id) {\\n vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData0, coords);\\n}\\nhighp vec4 getAttributeData1(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData1, coords);\\n}\\nhighp vec4 getAttributeData2(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData2, coords);\\n}\\nhighp vec4 getAttributeData3(in highp vec4 id) {\\n highp vec2 coords = getAttributeDataCoords(id);\\n return texture2D(u_attributeData3, coords);\\n}\\nfloat u88VVToFloat(in vec2 v) {\\n bool isMagic = v.x == 255.0 && v.y == 255.0;\\n if (isMagic) {\\n return NAN_MAGIC_NUMBER;\\n }\\n return (v.x + v.y * float(0x100)) - 32768.0;\\n}\",\"constants.glsl\":\"const float C_DEG_TO_RAD = 3.14159265359 / 180.0;\\nconst float C_256_TO_RAD = 3.14159265359 / 128.0;\\nconst float SIGNED_BYTE_TO_UNSIGNED = 128.0;\\nconst float POSITION_PRECISION = 1.0 / 8.0;\\nconst float FILL_POSITION_PRECISION = 1.0 / 1.0;\\nconst float SOFT_EDGE_RATIO = 1.0;\\nconst float THIN_LINE_WIDTH_FACTOR = 1.1;\\nconst float THIN_LINE_HALF_WIDTH = 1.0;\\nconst float EXTRUDE_SCALE_PLACEMENT_PADDING = 1.0 / 4.0;\\nconst float OFFSET_PRECISION = 1.0 / 8.0;\\nconst float OUTLINE_SCALE = 1.0 / 5.0;\\nconst float SDF_FONT_SIZE = 24.0;\\nconst float MAX_SDF_DISTANCE = 8.0;\\nconst float PLACEMENT_PADDING = 8.0;\\nconst float EPSILON = 0.0000001;\\nconst int MAX_FILTER_COUNT = 2;\\nconst int ATTR_VV_SIZE = 0;\\nconst int ATTR_VV_COLOR = 1;\\nconst int ATTR_VV_OPACITY = 2;\\nconst int ATTR_VV_ROTATION = 3;\\nconst highp float NAN_MAGIC_NUMBER = 1e-30;\",fill:{\"common.glsl\":\"#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\n#endif\\n#ifdef DOT_DENSITY\\nuniform lowp vec4 u_isActive[ 2 ];\\nuniform highp float u_dotValue;\\nuniform highp float u_tileDotsOverArea;\\nuniform highp float u_dotTextureDotCount;\\nuniform mediump float u_tileZoomFactor;\\n#endif\\nvarying vec3 v_pos;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying highp float v_flags;\\n#ifdef PATTERN\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef DOT_DENSITY\\nvarying highp vec2 v_dotTextureCoords;\\nvarying highp vec4 v_dotThresholds[ 2 ];\\n#endif\",\"fill.frag\":\"precision highp float;\\n#include \\n#include \\n#include \\n#ifdef PATTERN\\nuniform lowp sampler2D u_texture;\\n#endif\\n#ifdef DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\nvoid main() {\\n#ifdef ID\\n gl_FragColor = v_id;\\n#elif defined(PATTERN)\\n mediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\n mediump vec2 samplePos = mix(v_tlbr.xy, v_tlbr.zw, normalizedTextureCoord);\\n lowp vec4 color = texture2D(u_texture, samplePos);\\n gl_FragColor = v_opacity * v_color * color;\\n#elif defined(DOT_DENSITY) && !defined(HIGHLIGHT)\\n vec4 textureThresholds0 = texture2D(u_dotTextures[0], v_dotTextureCoords);\\n vec4 textureThresholds1 = texture2D(u_dotTextures[1], v_dotTextureCoords);\\n vec4 difference0 = v_dotThresholds[0] - textureThresholds0;\\n vec4 difference1 = v_dotThresholds[1] - textureThresholds1;\\n#ifdef DD_DOT_BLENDING\\n vec4 isPositive0 = step(0.0, difference0);\\n vec4 isPositive1 = step(0.0, difference1);\\n float weightSum = dot(isPositive0, difference0) + dot(isPositive1, difference1);\\n float lessThanEqZero = step(weightSum, 0.0);\\n float greaterThanZero = 1.0 - lessThanEqZero ;\\n float divisor = (weightSum + lessThanEqZero);\\n vec4 weights0 = difference0 * isPositive0 / divisor;\\n vec4 weights1 = difference1 * isPositive1 / divisor;\\n vec4 dotColor = u_dotColors[0] * weights0 + u_dotColors[1] * weights1;\\n vec4 preEffectColor = greaterThanZero * dotColor + lessThanEqZero * u_dotBackgroundColor;\\n#else\\n float diffMax = max(max4(difference0), max4(difference1));\\n float lessThanZero = step(diffMax, 0.0);\\n float greaterOrEqZero = 1.0 - lessThanZero;\\n vec4 isMax0 = step(diffMax, difference0);\\n vec4 isMax1 = step(diffMax, difference1);\\n vec4 dotColor = u_dotColors[0] * isMax0 + u_dotColors[1] * isMax1;\\n vec4 preEffectColor = greaterOrEqZero * dotColor + lessThanZero * u_dotBackgroundColor;\\n#endif\\n gl_FragColor = preEffectColor;\\n#else\\n gl_FragColor = v_opacity * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = 1.0;\\n#endif\\n}\",\"fill.vert\":\"precision highp float;\\n#ifdef DOT_DENSITY\\nattribute float a_inverseArea;\\nvec4 a_color = vec4(0.0, 0.0, 0.0, 1.0);\\nvec4 a_aux3 = vec4(0.0);\\n#else\\nattribute vec4 a_color;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_aux1;\\nattribute vec2 a_aux2;\\nattribute vec4 a_aux3;\\n#endif\\n#include \\n#include \\n#ifdef DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\n return featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\nvoid main()\\n{\\n INIT;\\n float a_bitSet = a_aux3.a;\\n v_color = getColor(a_color, a_bitSet, 0);\\n v_opacity = getOpacity();\\n v_id = norm(a_id);\\n v_pos = u_dvsMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\n v_flags = getFilterFlags();\\n#ifdef PATTERN\\n vec2 aux2 = (1.0 / SIGNED_BYTE_TO_UNSIGNED) * a_aux2;\\n float width = u_zoomFactor * a_aux1.x * aux2.x;\\n float height = u_zoomFactor * a_aux1.y * aux2.y;\\n float angle = C_256_TO_RAD * a_aux3.z;\\n float sinA = sin(angle);\\n float cosA = cos(angle);\\n mat3 patternMatrix = mat3(cosA / width, sinA / height, 0,\\n -sinA / width, cosA / height, 0,\\n 0, 0, 1);\\n vec2 symbolOffset = (a_aux1.zw - SIGNED_BYTE_TO_UNSIGNED) / vec2(width, height);\\n v_tileTextureCoord = (patternMatrix * vec3(a_pos * FILL_POSITION_PRECISION, 1.0)).xy - symbolOffset;\\n v_tlbr = a_tlbr / u_mosaicSize.xyxy;\\n#elif defined(DOT_DENSITY)\\n vec4 ddAttributeData0 = getAttributeData2(a_id) * u_isActive[0] * a_inverseArea;\\n vec4 ddAttributeData1 = getAttributeData3(a_id) * u_isActive[1] * a_inverseArea;\\n float size = u_tileZoomFactor * 512.0 * 1.0 / u_pixelRatio;\\n v_dotThresholds[0] = dotThreshold(ddAttributeData0, u_dotValue, u_tileDotsOverArea);\\n v_dotThresholds[1] = dotThreshold(ddAttributeData1, u_dotValue, u_tileDotsOverArea);\\n v_dotTextureCoords = (a_pos * FILL_POSITION_PRECISION + 0.5) / size;\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, v_flags), 1.0);\\n}\"},icon:{\"common.glsl\":\"uniform lowp vec2 u_mosaicSize;\\nvarying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying highp vec4 v_sizeTex;\\nvarying mediump vec3 v_pos;\\nvarying highp float v_filters;\\nvarying lowp float v_opacity;\\n#ifdef SDF\\nvarying lowp vec4 v_outlineColor;\\nvarying mediump float v_outlineWidth;\\nvarying mediump float v_distRatio;\\nvarying mediump float v_overridingOutlineColor;\\nvarying mediump float v_isThin;\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\n#include \\n#include \\nuniform lowp sampler2D u_texture;\\nvoid main()\\n{\\n vec2 v_size = v_sizeTex.xy;\\n vec2 v_tex = v_sizeTex.zw;\\n#ifdef SDF\\n lowp vec4 fillPixelColor = v_color;\\n float d = 0.5 - rgba2float(texture2D(u_texture, v_tex));\\n float size = max(v_size.x, v_size.y);\\n float dist = d * size * SOFT_EDGE_RATIO * v_distRatio;\\n fillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\n float outlineWidth = v_outlineWidth;\\n #ifdef HIGHLIGHT\\n outlineWidth = max(outlineWidth, 4.0 * v_isThin);\\n #endif\\n if (outlineWidth > 0.25) {\\n lowp vec4 outlinePixelColor = v_overridingOutlineColor * v_color + (1.0 - v_overridingOutlineColor) * v_outlineColor;\\n float clampedOutlineSize = min(outlineWidth, size);\\n outlinePixelColor *= clamp(0.5 - abs(dist) + clampedOutlineSize * 0.5, 0.0, 1.0);\\n gl_FragColor = v_opacity * ((1.0 - outlinePixelColor.a) * fillPixelColor + outlinePixelColor);\\n }\\n else {\\n gl_FragColor = v_opacity * fillPixelColor;\\n }\\n#else\\n lowp vec4 texColor = texture2D(u_texture, v_tex);\\n gl_FragColor = v_opacity * texColor;\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = step(1.0 / 255.0, gl_FragColor.a);\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"icon.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_outlineColor;\\nattribute vec4 a_sizeAndOutlineWidth;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nattribute vec2 a_bitSetAndDistRatio;\\n#include \\n#include \\nvec2 getMarkerSize(inout vec2 offset, inout vec2 baseSize, inout float outlineSize, in float referenceSize, in float bitSet) {\\n#ifdef VV_SIZE\\n float r = getSize(baseSize.y) / referenceSize;\\n baseSize.xy *= r;\\n offset.xy *= r;\\n float scaleSymbolProportionally = getBit(bitSet, 3);\\n outlineSize *= scaleSymbolProportionally * (r - 1.0) + 1.0;\\n#endif\\n return baseSize;\\n}\\nvec3 getOffset(in vec2 in_offset, float a_bitSet) {\\n float isMapAligned = getBit(a_bitSet, 0);\\n vec3 offset = getRotation() * vec3(in_offset, 0.0);\\n return getMatrix(isMapAligned) * offset;\\n}\\nvoid main()\\n{\\n INIT;\\n vec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\n vec2 a_offset = a_vertexOffset / 16.0;\\n float a_outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 128.0;\\n float a_bitSet = a_bitSetAndDistRatio.x;\\n vec2 v_size = getMarkerSize(a_offset, a_size, a_outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0, a_bitSet);\\n vec2 v_tex = a_texCoords / u_mosaicSize;\\n v_color = getColor(a_color, a_bitSet, 1);\\n v_opacity = getOpacity();\\n v_id = norm(a_id);\\n v_filters = getFilterFlags();\\n v_pos = u_dvsMat3 * vec3(a_pos * POSITION_PRECISION, 1.0) + getOffset(a_offset, a_bitSet);\\n v_sizeTex = vec4(v_size.xy, v_tex.xy);\\n#ifdef SDF\\n v_isThin = getBit(a_bitSet, 2);\\n #ifdef VV_COLOR\\n v_overridingOutlineColor = v_isThin;\\n #else\\n v_overridingOutlineColor = 0.0;\\n #endif\\n v_outlineWidth = min(a_outlineSize, max(max(v_size.x, v_size.y) - 0.99, 0.0));\\n v_outlineColor = a_outlineColor;\\n v_distRatio = a_bitSetAndDistRatio.y / 126.0;\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, v_filters), 1.0);\\n}\"},label:{\"common.glsl\":\"uniform mediump float u_zoomLevel;\\nuniform mediump float u_mapRotation;\\nuniform mediump float u_mapAligned;\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying mediump vec2 v_tex;\\nvarying mediump vec4 v_color;\\nvarying lowp vec4 v_animation;\",\"label.frag\":\"#include \",\"label.vert\":\"precision highp float;\\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texAndSize;\\nattribute vec4 a_refSymbolAndPlacementOffset;\\nattribute vec4 a_glyphData;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nuniform float u_zoomLevel;\\nuniform float u_mapRotation;\\nuniform float u_mapAligned;\\nfloat getZ(in float minZoom, in float maxZoom, in float angle) {\\n float glyphAngle = angle * 360.0 / 254.0;\\n float mapAngle = u_mapRotation * 360.0 / 254.0;\\n float diffAngle = min(360.0 - abs(mapAngle - glyphAngle), abs(mapAngle - glyphAngle));\\n float z = 0.0;\\n z += u_mapAligned * (2.0 * (1.0 - step(minZoom, u_zoomLevel)));\\n z += u_mapAligned * 2.0 * step(90.0, diffAngle);\\n z += 2.0 * (1.0 - step(u_zoomLevel, maxZoom));\\n return z;\\n}\\nvoid main()\\n{\\n INIT;\\n float groupMinZoom = getMinZoom();\\n float glyphMinZoom = a_glyphData.x;\\n float glyphMaxZoom = a_glyphData.y;\\n float glyphAngle = a_glyphData.z;\\n float a_minZoom = max(groupMinZoom, glyphMinZoom);\\n float a_placementPadding = a_refSymbolAndPlacementOffset.x * EXTRUDE_SCALE_PLACEMENT_PADDING;\\n vec2 a_placementDir = unpack_u8_nf32(a_refSymbolAndPlacementOffset.zw);\\n float a_refSymbolSize = a_refSymbolAndPlacementOffset.y;\\n float fontSize = a_texAndSize.z;\\n float haloSize = a_texAndSize.w * OUTLINE_SCALE;\\n vec2 vertexOffset = a_vertexOffset * OFFSET_PRECISION;\\n vec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\n float z = getZ(a_minZoom, glyphMaxZoom, glyphAngle);\\n float fontScale = fontSize / SDF_FONT_SIZE;\\n float halfSize = getSize(a_refSymbolSize) / 2.0;\\n float animation = pow(getAnimationState(), vec4(2.0)).r;\\n v_color = animation * ((1.0 - u_isHalo) * a_color + (u_isHalo * a_haloColor));\\n v_opacity = 1.0;\\n v_tex = a_texCoords / u_mosaicSize;\\n v_edgeDistanceOffset = u_isHalo * haloSize / fontScale / MAX_SDF_DISTANCE;\\n v_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n vec2 placementOffset = a_placementDir * (halfSize + a_placementPadding);\\n vec3 glyphOffset = u_displayMat3 * vec3(vertexOffset + placementOffset, 0.0);\\n vec3 v_pos = vec3((u_dvsMat3 * pos + glyphOffset).xy, z);\\n gl_Position = vec4(applyFilterLabels(v_color, v_pos, getFilterFlags()), 1.0);\\n#ifdef DEBUG\\n v_color = vec4(a_color.rgb, z == 0.0 ? 1.0 : 0.645);\\n#endif\\n}\"},line:{\"common.glsl\":\"varying lowp vec4 v_color;\\nvarying highp vec4 v_id;\\nvarying mediump vec2 v_normal;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp float v_opacity;\\nvarying highp vec3 v_pos;\\n#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump vec4 v_tlbr;\\nvarying mediump vec2 v_patternSize;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nvarying highp float v_accumulatedDistance;\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include \\n#include \\n#include \\nuniform lowp float u_blur;\\nuniform mediump float u_zoomFactor;\\n#if defined(PATTERN) || defined(SDF)\\nuniform sampler2D u_texture;\\n#endif\\n#ifdef SDF\\nconst float sdfPatternHalfWidth = 15.5;\\nconst float widthFactor = 2.0;\\n#endif\\nvoid main()\\n{\\n mediump float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(v_lineHalfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\n mediump float fragDist = length(v_normal) * v_lineHalfWidth;\\n lowp float alpha = clamp(thinLineFactor * (v_lineHalfWidth - fragDist) / (u_blur + thinLineFactor - 1.0), 0.0, 1.0);\\n#if defined(SDF) && !defined(HIGHLIGHT)\\n mediump float lineHalfWidth = widthFactor * v_lineHalfWidth;\\n mediump float lineWidthRatio = lineHalfWidth / sdfPatternHalfWidth;\\n mediump float relativeTexX = mod((u_zoomFactor * v_accumulatedDistance + v_normal.x * lineHalfWidth) / (lineWidthRatio * v_patternSize.x), 1.0);\\n mediump float relativeTexY = 0.5 + 0.5 * v_normal.y;\\n mediump vec2 texCoord = mix(v_tlbr.xy, v_tlbr.zw, vec2(relativeTexX, relativeTexY));\\n mediump float d = rgba2float(texture2D(u_texture, texCoord)) - 0.5;\\n float dist = d * lineHalfWidth;\\n lowp vec4 fillPixelColor = v_opacity * alpha * clamp(0.5 - dist, 0.0, 1.0) * v_color;\\n gl_FragColor = fillPixelColor;\\n#elif defined(PATTERN) && !defined(HIGHLIGHT)\\n mediump float lineHalfWidth = v_lineHalfWidth;\\n mediump float adjustedPatternWidth = v_patternSize.x * 2.0 * lineHalfWidth / v_patternSize.y;\\n mediump float relativeTexX = mod((u_zoomFactor * v_accumulatedDistance + v_normal.x * lineHalfWidth) / adjustedPatternWidth, 1.0);\\n mediump float relativeTexY = 0.5 + 0.5 * v_normal.y;\\n mediump vec2 texCoord = mix(v_tlbr.xy, v_tlbr.zw, vec2(relativeTexY, relativeTexX));\\n lowp vec4 color = texture2D(u_texture, texCoord);\\n gl_FragColor = v_opacity * alpha * v_color * color;\\n#else\\n gl_FragColor = v_opacity * alpha * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\n gl_FragColor.a = step(1.0 / 255.0, gl_FragColor.a);\\n#endif\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"line.vert\":\"precision highp float;\\nattribute vec4 a_color;\\nattribute vec4 a_offsetAndNormal;\\nattribute vec2 a_accumulatedDistanceAndHalfWidth;\\nattribute vec4 a_tlbr;\\nattribute vec4 a_segmentDirection;\\nattribute vec2 a_aux;\\n#include \\n#include \\nconst float SCALE = 1.0 / 31.0;\\nconst float WIDTH_SCALE = 1.0 / 1024.0;\\nfloat getBaseLineHalfWidth(in float in_lineHalfWidth) {\\n#ifdef VV_SIZE\\n float referenceHalfWidth = a_aux.x * WIDTH_SCALE;\\n float lineWidth = 2.0 * in_lineHalfWidth;\\n return 0.5 * (in_lineHalfWidth / referenceHalfWidth) * getSize(lineWidth);\\n#else\\n return in_lineHalfWidth;\\n#endif\\n}\\nfloat getLineHalfWidth(in float baseWidth, in float aa) {\\n float halfWidth = max(baseWidth + aa, 0.45) + 0.1 * aa;\\n#ifdef HIGHLIGHT\\n halfWidth = max(halfWidth, 2.0);\\n#endif\\n return halfWidth;\\n}\\nvec2 getDist(in vec2 offset, in float halfWidth) {\\n float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(halfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\n#if defined(SDF) && !defined(HIGHLIGHT)\\n thinLineFactor *= 2.0;\\n#endif\\n return thinLineFactor * halfWidth * offset * SCALE;\\n}\\nvoid main()\\n{\\n INIT;\\n float a_bitSet = a_segmentDirection.w;\\n float a_accumulatedDist = a_accumulatedDistanceAndHalfWidth.x;\\n float a_lineHalfWidth = a_accumulatedDistanceAndHalfWidth.y * WIDTH_SCALE;\\n float aa = 0.5 * u_antialiasing;\\n vec2 a_offset = a_offsetAndNormal.xy;\\n float baseWidth = getBaseLineHalfWidth(a_lineHalfWidth);\\n float halfWidth = getLineHalfWidth(baseWidth, aa);\\n float z = 2.0 * step(baseWidth, 0.0);\\n vec2 dist = getDist(a_offset, halfWidth);\\n vec3 offset = u_displayViewMat3 * vec3(dist, 0.0);\\n vec3 pos = u_dvsMat3 * vec3(a_pos * POSITION_PRECISION, 1.0) + offset;\\n v_color = getColor(a_color, a_bitSet, 0);\\n v_opacity = getOpacity();\\n v_lineHalfWidth = halfWidth;\\n v_id = norm(a_id);\\n v_normal = a_offsetAndNormal.zw * SCALE;\\n v_pos = vec3(pos.xy, z);\\n#ifdef PATTERN\\n v_tlbr = a_tlbr / u_mosaicSize.xyxy;\\n v_patternSize = vec2(a_tlbr.z - a_tlbr.x, a_tlbr.w - a_tlbr.y);\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\n v_accumulatedDistance = a_accumulatedDist + dot(SCALE * a_segmentDirection.xy, dist / u_zoomFactor);\\n#endif\\n gl_Position = vec4(applyFilter(v_color, v_pos, getFilterFlags()), 1.0);\\n}\"},text:{\"common.glsl\":\"uniform highp vec2 u_mosaicSize;\\nvarying highp vec4 v_id;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nvarying lowp vec4 v_color;\\nvarying highp vec2 v_tex;\\nvarying mediump float v_antialiasingWidth;\\nvarying mediump float v_edgeDistanceOffset;\\nvarying lowp float v_transparency;\",\"text.frag\":\"precision mediump float;\\n#include \\nuniform lowp sampler2D u_texture;\\nvoid main()\\n{\\n float SDF_CUTOFF = (2.0 / 8.0);\\n float SDF_BASE_EDGE_DIST = 1.0 - SDF_CUTOFF;\\n lowp float dist = texture2D(u_texture, v_tex).a;\\n mediump float edge = SDF_BASE_EDGE_DIST - v_edgeDistanceOffset;\\n#ifdef HIGHLIGHT\\n edge /= 2.0;\\n#endif\\n lowp float aa = v_antialiasingWidth;\\n lowp float alpha = smoothstep(edge - aa, edge + aa, dist);\\n gl_FragColor = alpha * v_color * v_opacity;\\n#ifdef ID\\n if (gl_FragColor.a < 1.0 / 255.0) {\\n discard;\\n }\\n gl_FragColor = v_id;\\n#endif\\n}\",\"text.vert\":\"precision highp float;\\n#include \\n#include \\n#include \\nattribute vec4 a_color;\\nattribute vec4 a_haloColor;\\nattribute vec4 a_texFontSize;\\nattribute vec4 a_aux;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nfloat getTextSize(in float baseSize, in float referenceSize) {\\n#ifdef VV_SIZE\\n return getSize(baseSize);\\n#endif\\n return baseSize;\\n}\\nvoid main()\\n{\\n INIT;\\n float a_referenceSize = a_aux.z * a_aux.z / 256.0;\\n float a_bitSet = a_aux.w;\\n float a_fontSize = a_texFontSize.z;\\n vec2 a_offset = a_vertexOffset * OFFSET_PRECISION;\\n vec3 in_pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\n float fontSize = getTextSize(a_fontSize, a_referenceSize);\\n float scaleFactor = fontSize / a_fontSize;\\n float fontScale = fontSize / SDF_FONT_SIZE;\\n vec3 offset = getRotation() * vec3(scaleFactor * a_offset, 0.0);\\n mat3 extrudeMatrix = getBit(a_bitSet, 0) == 1.0 ? u_displayViewMat3 : u_displayMat3;\\n v_color = u_isHalo * a_haloColor + (1.0 - u_isHalo) * getColor(a_color, a_bitSet, 1);\\n v_opacity = getOpacity();\\n v_id = norm(a_id);\\n v_tex = a_texCoords / u_mosaicSize;\\n v_pos = u_dvsMat3 * in_pos + extrudeMatrix * offset;\\n v_edgeDistanceOffset = u_isHalo * OUTLINE_SCALE * a_texFontSize.w / fontScale / MAX_SDF_DISTANCE;\\n v_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n gl_Position = vec4(applyFilter(v_color, v_pos, getFilterFlags()), 1.0);\\n}\"},\"utils.glsl\":\"float rshift(in float u32, in int amount) {\\n return floor(u32 / pow(2.0, float(amount)));\\n}\\nfloat getBit(in float bitset, in int bitIndex) {\\n float offset = pow(2.0, float(bitIndex));\\n return mod(floor(bitset / offset), 2.0);\\n}\\nfloat getFilterBit(in float bitset, in int bitIndex) {\\n return getBit(bitset, bitIndex + 1);\\n}\\nfloat getHighlightBit(in float bitset) {\\n return getBit(bitset, 0);\\n}\\nhighp vec4 unpackDisplayIdTexel(in highp vec4 bitset) {\\n float isAggregate = getBit(bitset.a, 7);\\n return (1.0 - isAggregate) * bitset + isAggregate * (vec4(bitset.rgba) - vec4(0.0, 0.0, 0.0, float(0x80)));\\n}\\nvec4 unpack(in float u32) {\\n float r = mod(rshift(u32, 0), 255.0);\\n float g = mod(rshift(u32, 8), 255.0);\\n float b = mod(rshift(u32, 16), 255.0);\\n float a = mod(rshift(u32, 24), 255.0);\\n return vec4(r, g, b, a);\\n}\\nvec4 norm(in vec4 v) {\\n return v /= 255.0;\\n}\\nfloat max4(vec4 target) {\\n return max(max(max(target.x, target.y), target.z), target.w);\\n}\\nvec2 unpack_u8_nf32(vec2 bytes) {\\n return (bytes - 127.0) / 127.0;\\n}\",\"vcommon.glsl\":\"#include \\n#include \\n#include \\n#include \\nattribute vec2 a_pos;\\nattribute highp vec4 a_id;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp float u_pixelRatio;\\nuniform mediump float u_zoomFactor;\\nuniform mediump float u_antialiasing;\\nvec4 VV_ADATA = vec4(0.0);\\nvoid loadVisualVariableData(inout vec4 target) {\\n#ifdef OES_TEXTURE_FLOAT\\n target.rgba = getAttributeData2(a_id);\\n#else\\n vec4 data0 = getAttributeData2(a_id);\\n vec4 data1 = getAttributeData3(a_id);\\n target.r = u88VVToFloat(data0.rg * 255.0);\\n target.g = u88VVToFloat(data0.ba * 255.0);\\n target.b = u88VVToFloat(data1.rg * 255.0);\\n target.a = u88VVToFloat(data1.ba * 255.0);\\n#endif\\n}\\n#ifdef VV\\n #define INIT loadVisualVariableData(VV_ADATA)\\n#else\\n #define INIT\\n#endif\\nvec4 getColor(in vec4 a_color, in float a_bitSet, int index) {\\n#ifdef VV_COLOR\\n float isColorLocked = getBit(a_bitSet, index);\\n return getVVColor(VV_ADATA[ATTR_VV_COLOR], a_color, isColorLocked);\\n#else\\n return a_color;\\n#endif\\n}\\nfloat getOpacity() {\\n#ifdef VV_OPACITY\\n return getVVOpacity(VV_ADATA[ATTR_VV_OPACITY]);\\n#else\\n return 1.0;\\n#endif\\n}\\nfloat getSize(in float in_size) {\\n#ifdef VV_SIZE\\n return getVVSize(in_size, VV_ADATA[ATTR_VV_SIZE]);\\n#else\\n return in_size;\\n#endif\\n}\\nmat3 getRotation() {\\n#ifdef VV_ROTATION\\n return getVVRotationMat3(mod(VV_ADATA[ATTR_VV_ROTATION], 360.0));\\n#else\\n return mat3(1.0);\\n#endif\\n}\\nfloat getFilterFlags() {\\n#ifdef IGNORES_SAMPLER_PRECISION\\n return ceil(getAttributeData0(a_id).x * 255.0);\\n#else\\n return getAttributeData0(a_id).x * 255.0;\\n#endif\\n}\\nvec4 getAnimationState() {\\n return getAttributeData1(a_id);\\n}\\nfloat getMinZoom() {\\n vec4 data0 = getAttributeData0(a_id) * 255.0;\\n return data0.g;\\n}\\nmat3 getMatrix(float isMapAligned) {\\n return isMapAligned * u_displayViewMat3 + (1.0 - isMapAligned) * u_displayMat3;\\n}\\nvec3 applyFilter(inout vec4 color, inout vec3 pos, in float filterFlags) {\\n pos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifdef INSIDE\\n pos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 1));\\n#elif defined(OUTSIDE)\\n pos.z += 2.0 * getFilterBit(filterFlags, 1);\\n#elif defined(HIGHLIGHT)\\n #if !defined(HIGHLIGHT_ALL)\\n pos.z += 2.0 * (1.0 - getHighlightBit(filterFlags));\\n #endif\\n#endif\\n return pos;\\n}\\nvec3 applyFilterLabels(inout vec4 color, inout vec3 pos, in float filterFlags) {\\n pos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifndef OUTSIDE_LABELS_VISIBLE\\n pos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 1));\\n#endif\\n return pos;\\n}\",\"vv.glsl\":\"#if defined(VV_SIZE_MIN_MAX_VALUE) || defined(VV_SIZE_SCALE_STOPS) || defined(VV_SIZE_FIELD_STOPS) || defined(VV_SIZE_UNIT_VALUE)\\n #define VV_SIZE\\n#endif\\n#if defined(VV_COLOR) || defined(VV_SIZE) || defined(VV_OPACITY) || defined(VV_ROTATION)\\n #define VV\\n#endif\\n#ifdef VV_COLOR\\nuniform highp float u_vvColorValues[8];\\nuniform vec4 u_vvColors[8];\\n#endif\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nuniform highp vec4 u_vvSizeMinMaxValue;\\n#endif\\n#ifdef VV_SIZE_SCALE_STOPS\\nuniform highp float u_vvSizeScaleStopsValue;\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nuniform highp float u_vvSizeFieldStopsValues[6];\\nuniform float u_vvSizeFieldStopsSizes[6];\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nuniform highp float u_vvSizeUnitValueWorldToPixelsRatio;\\n#endif\\n#ifdef VV_OPACITY\\nuniform highp float u_vvOpacityValues[8];\\nuniform float u_vvOpacities[8];\\n#endif\\n#ifdef VV_ROTATION\\nuniform lowp float u_vvRotationType;\\n#endif\\nbool isNan(float val) {\\n return (val == NAN_MAGIC_NUMBER);\\n}\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nfloat getVVMinMaxSize(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n float interpolationRatio = (sizeValue - u_vvSizeMinMaxValue.x) / (u_vvSizeMinMaxValue.y - u_vvSizeMinMaxValue.x);\\n interpolationRatio = clamp(interpolationRatio, 0.0, 1.0);\\n return u_vvSizeMinMaxValue.z + interpolationRatio * (u_vvSizeMinMaxValue.w - u_vvSizeMinMaxValue.z);\\n}\\n#endif\\n#ifdef VV_SIZE_FIELD_STOPS\\nconst int VV_SIZE_N = 6;\\nfloat getVVStopsSize(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n if (sizeValue <= u_vvSizeFieldStopsValues[0]) {\\n return u_vvSizeFieldStopsSizes[0];\\n }\\n for (int i = 1; i < VV_SIZE_N; ++i) {\\n if (u_vvSizeFieldStopsValues[i] >= sizeValue) {\\n float f = (sizeValue - u_vvSizeFieldStopsValues[i-1]) / (u_vvSizeFieldStopsValues[i] - u_vvSizeFieldStopsValues[i-1]);\\n return mix(u_vvSizeFieldStopsSizes[i-1], u_vvSizeFieldStopsSizes[i], f);\\n }\\n }\\n return u_vvSizeFieldStopsSizes[VV_SIZE_N - 1];\\n}\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nfloat getVVUnitValue(float sizeValue, float fallback) {\\n if (isNan(sizeValue)) {\\n return fallback;\\n }\\n return u_vvSizeUnitValueWorldToPixelsRatio * sizeValue;\\n}\\n#endif\\n#ifdef VV_OPACITY\\nconst int VV_OPACITY_N = 8;\\nfloat getVVOpacity(float opacityValue) {\\n if (isNan(opacityValue)) {\\n return 1.0;\\n }\\n if (opacityValue <= u_vvOpacityValues[0]) {\\n return u_vvOpacities[0];\\n }\\n for (int i = 1; i < VV_OPACITY_N; ++i) {\\n if (u_vvOpacityValues[i] >= opacityValue) {\\n float f = (opacityValue - u_vvOpacityValues[i-1]) / (u_vvOpacityValues[i] - u_vvOpacityValues[i-1]);\\n return mix(u_vvOpacities[i-1], u_vvOpacities[i], f);\\n }\\n }\\n return u_vvOpacities[VV_OPACITY_N - 1];\\n}\\n#endif\\n#ifdef VV_ROTATION\\nmat4 getVVRotation(float rotationValue) {\\n if (isNan(rotationValue)) {\\n return mat4(1, 0, 0, 0,\\n 0, 1, 0, 0,\\n 0, 0, 1, 0,\\n 0, 0, 0, 1);\\n }\\n float rotation = rotationValue;\\n if (u_vvRotationType == 1.0) {\\n rotation = 90.0 - rotation;\\n }\\n float angle = C_DEG_TO_RAD * rotation;\\n float sinA = sin(angle);\\n float cosA = cos(angle);\\n return mat4(cosA, sinA, 0, 0,\\n -sinA, cosA, 0, 0,\\n 0, 0, 1, 0,\\n 0, 0, 0, 1);\\n}\\nmat3 getVVRotationMat3(float rotationValue) {\\n if (isNan(rotationValue)) {\\n return mat3(1, 0, 0,\\n 0, 1, 0,\\n 0, 0, 1);\\n }\\n float rotation = rotationValue;\\n if (u_vvRotationType == 1.0) {\\n rotation = 90.0 - rotation;\\n }\\n float angle = C_DEG_TO_RAD * -rotation;\\n float sinA = sin(angle);\\n float cosA = cos(angle);\\n return mat3(cosA, -sinA, 0,\\n sinA, cosA, 0,\\n 0, 0, 1);\\n}\\n#endif\\n#ifdef VV_COLOR\\nconst int VV_COLOR_N = 8;\\nvec4 getVVColor(float colorValue, vec4 fallback, float isColorLocked) {\\n if (isNan(colorValue) || isColorLocked == 1.0) {\\n return fallback;\\n }\\n if (colorValue <= u_vvColorValues[0]) {\\n return u_vvColors[0];\\n }\\n for (int i = 1; i < VV_COLOR_N; ++i) {\\n if (u_vvColorValues[i] >= colorValue) {\\n float f = (colorValue - u_vvColorValues[i-1]) / (u_vvColorValues[i] - u_vvColorValues[i-1]);\\n return mix(u_vvColors[i-1], u_vvColors[i], f);\\n }\\n }\\n return u_vvColors[VV_COLOR_N - 1];\\n}\\n#endif\\nfloat getVVSize(in float size, in float vvSize) {\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\n return getVVMinMaxSize(vvSize, size);\\n#elif defined(VV_SIZE_SCALE_STOPS)\\n return u_vvSizeScaleStopsValue;\\n#elif defined(VV_SIZE_FIELD_STOPS)\\n float outSize = getVVStopsSize(vvSize, size);\\n return isNan(outSize) ? size : outSize;\\n#elif defined(VV_SIZE_UNIT_VALUE)\\n return getVVUnitValue(vvSize, size);\\n#else\\n return size;\\n#endif\\n}\"},\"post-processing\":{blit:{\"blit.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\n gl_FragColor = texture2D(u_texture, v_uv);\\n}\"},bloom:{composite:{\"composite.frag\":\"precision mediump float;\\nvarying vec2 v_uv;\\nuniform sampler2D u_blurTexture1;\\nuniform sampler2D u_blurTexture2;\\nuniform sampler2D u_blurTexture3;\\nuniform sampler2D u_blurTexture4;\\nuniform sampler2D u_blurTexture5;\\nuniform float u_bloomStrength;\\nuniform float u_bloomRadius;\\nuniform float u_bloomFactors[NUMMIPS];\\nuniform vec3 u_bloomTintColors[NUMMIPS];\\nfloat lerpBloomFactor(const in float factor) {\\n float mirrorFactor = 1.2 - factor;\\n return mix(factor, mirrorFactor, u_bloomRadius);\\n}\\nvoid main() {\\n gl_FragColor = u_bloomStrength * (\\n lerpBloomFactor(u_bloomFactors[0]) * vec4(u_bloomTintColors[0], 1.0) * texture2D(u_blurTexture1, v_uv) +\\n lerpBloomFactor(u_bloomFactors[1]) * vec4(u_bloomTintColors[1], 1.0) * texture2D(u_blurTexture2, v_uv) +\\n lerpBloomFactor(u_bloomFactors[2]) * vec4(u_bloomTintColors[2], 1.0) * texture2D(u_blurTexture3, v_uv) +\\n lerpBloomFactor(u_bloomFactors[3]) * vec4(u_bloomTintColors[3], 1.0) * texture2D(u_blurTexture4, v_uv) +\\n lerpBloomFactor(u_bloomFactors[4]) * vec4(u_bloomTintColors[4], 1.0) * texture2D(u_blurTexture5, v_uv)\\n );\\n}\"},gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\n#define SIGMA RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\n return 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\n vec2 invSize = 1.0 / u_texSize;\\n float fSigma = float(SIGMA);\\n float weightSum = gaussianPdf(0.0, fSigma);\\n vec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\n for (int i = 1; i < KERNEL_RADIUS; i ++) {\\n float x = float(i);\\n float w = gaussianPdf(x, fSigma);\\n vec2 uvOffset = u_direction * invSize * x;\\n vec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\n vec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\n pixelColorSum += (sample1 + sample2) * w;\\n weightSum += 2.0 * w;\\n }\\n gl_FragColor = pixelColorSum /weightSum;\\n}\"},luminosityHighPass:{\"luminosityHighPass.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nuniform vec3 u_defaultColor;\\nuniform float u_defaultOpacity;\\nuniform float u_luminosityThreshold;\\nuniform float u_smoothWidth;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec4 texel = texture2D(u_texture, v_uv);\\n vec3 luma = vec3(0.299, 0.587, 0.114);\\n float v = dot(texel.xyz, luma);\\n vec4 outputColor = vec4(u_defaultColor.rgb, u_defaultOpacity);\\n float alpha = smoothstep(u_luminosityThreshold, u_luminosityThreshold + u_smoothWidth, v);\\n gl_FragColor = mix(outputColor, texel, alpha);\\n}\"}},blur:{gaussianBlur:{\"gaussianBlur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nuniform vec2 u_direction;\\nuniform float u_sigma;\\nvarying vec2 v_uv;\\n#define KERNEL_RADIUS RADIUS\\nfloat gaussianPdf(in float x, in float sigma) {\\n return 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\n vec2 invSize = 1.0 / u_texSize;\\n float fSigma = u_sigma;\\n float weightSum = gaussianPdf(0.0, fSigma);\\n vec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\n for (int i = 1; i < KERNEL_RADIUS; i ++) {\\n float x = float(i);\\n float w = gaussianPdf(x, fSigma);\\n vec2 uvOffset = u_direction * invSize * x;\\n vec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\n vec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\n pixelColorSum += (sample1 + sample2) * w;\\n weightSum += 2.0 * w;\\n }\\n gl_FragColor = pixelColorSum /weightSum;\\n}\"},\"radial-blur\":{\"radial-blur.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nconst float sampleDist = 1.0;\\nconst float sampleStrength = 2.2;\\nvoid main(void) {\\n float samples[10];\\n samples[0] = -0.08;\\n samples[1] = -0.05;\\n samples[2] = -0.03;\\n samples[3] = -0.02;\\n samples[4] = -0.01;\\n samples[5] = 0.01;\\n samples[6] = 0.02;\\n samples[7] = 0.03;\\n samples[8] = 0.05;\\n samples[9] = 0.08;\\n vec2 dir = 0.5 - v_uv;\\n float dist = sqrt(dir.x * dir.x + dir.y * dir.y);\\n dir = dir / dist;\\n vec4 color = texture2D(u_colorTexture,v_uv);\\n vec4 sum = color;\\n for (int i = 0; i < 10; i++) {\\n sum += texture2D(u_colorTexture, v_uv + dir * samples[i] * sampleDist);\\n }\\n sum *= 1.0 / 11.0;\\n float t = dist * sampleStrength;\\n t = clamp(t, 0.0, 1.0);\\n gl_FragColor = mix(color, sum, t);\\n}\"}},dra:{\"dra.frag\":\"precision mediump float;\\nuniform sampler2D u_minColor;\\nuniform sampler2D u_maxColor;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec4 minColor = texture2D(u_minColor, vec2(0.5));\\n vec4 maxColor = texture2D(u_maxColor, vec2(0.5));\\n vec4 color = texture2D(u_texture, v_uv);\\n vec3 minColorUnpremultiply = minColor.rgb / minColor.a;\\n vec3 maxColorUnpremultiply = maxColor.rgb / maxColor.a;\\n vec3 colorUnpremultiply = color.rgb / color.a;\\n vec3 range = maxColorUnpremultiply - minColorUnpremultiply;\\n gl_FragColor = vec4(color.a * (colorUnpremultiply - minColorUnpremultiply) / range, color.a);\\n}\",\"min-max\":{\"min-max.frag\":\"#extension GL_EXT_draw_buffers : require\\nprecision mediump float;\\n#define CELL_SIZE 2\\nuniform sampler2D u_minTexture;\\nuniform sampler2D u_maxTexture;\\nuniform vec2 u_srcResolution;\\nuniform vec2 u_dstResolution;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec2 srcPixel = floor(gl_FragCoord.xy) * float(CELL_SIZE);\\n vec2 onePixel = vec2(1.0) / u_srcResolution;\\n vec2 uv = (srcPixel + 0.5) / u_srcResolution;\\n vec4 minColor = vec4(1.0);\\n vec4 maxColor = vec4(0.0);\\n for (int y = 0; y < CELL_SIZE; ++y) {\\n for (int x = 0; x < CELL_SIZE; ++x) {\\n vec2 offset = uv + vec2(x, y) * onePixel;\\n minColor = min(minColor, texture2D(u_minTexture, offset));\\n maxColor = max(maxColor, texture2D(u_maxTexture, offset));\\n }\\n }\\n gl_FragData[0] = minColor;\\n gl_FragData[1] = maxColor;\\n}\"}},\"drop-shadow\":{composite:{\"composite.frag\":\"precision mediump float;\\nuniform sampler2D u_layerFBOTexture;\\nuniform sampler2D u_blurTexture;\\nuniform vec4 u_shadowColor;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec4 layerColor = texture2D(u_layerFBOTexture, v_uv);\\n vec4 blurColor = texture2D(u_blurTexture, v_uv);\\n gl_FragColor = ((1.0 - layerColor.a) * blurColor.a * u_shadowColor + layerColor);\\n}\"},\"drop-shadow.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp vec2 u_offset;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec3 offset = u_displayViewMat3 * vec3(u_offset, 0.0);\\n gl_Position = vec4(a_position, 0.0, 1.0) + vec4(offset, 0.0);\\n v_uv = (a_position + 1.0) / 2.0;\\n}\"},\"edge-detect\":{\"frei-chen\":{\"frei-chen.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform vec2 u_texSize;\\nvarying vec2 v_uv;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[9];\\nconst mat3 g0 = mat3( 0.3535533845424652, 0, -0.3535533845424652, 0.5, 0, -0.5, 0.3535533845424652, 0, -0.3535533845424652 );\\nconst mat3 g1 = mat3( 0.3535533845424652, 0.5, 0.3535533845424652, 0, 0, 0, -0.3535533845424652, -0.5, -0.3535533845424652 );\\nconst mat3 g2 = mat3( 0, 0.3535533845424652, -0.5, -0.3535533845424652, 0, 0.3535533845424652, 0.5, -0.3535533845424652, 0 );\\nconst mat3 g3 = mat3( 0.5, -0.3535533845424652, 0, -0.3535533845424652, 0, 0.3535533845424652, 0, 0.3535533845424652, -0.5 );\\nconst mat3 g4 = mat3( 0, -0.5, 0, 0.5, 0, 0.5, 0, -0.5, 0 );\\nconst mat3 g5 = mat3( -0.5, 0, 0.5, 0, 0, 0, 0.5, 0, -0.5 );\\nconst mat3 g6 = mat3( 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.6666666865348816, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204 );\\nconst mat3 g7 = mat3( -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, 0.6666666865348816, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408 );\\nconst mat3 g8 = mat3( 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408 );\\nvoid main() {\\n G[0] = g0,\\n G[1] = g1,\\n G[2] = g2,\\n G[3] = g3,\\n G[4] = g4,\\n G[5] = g5,\\n G[6] = g6,\\n G[7] = g7,\\n G[8] = g8;\\n mat3 I;\\n float cnv[9];\\n vec3 sample;\\n for (float i = 0.0; i < 3.0; i++) {\\n for (float j = 0.0; j < 3.0; j++) {\\n sample = texture2D(u_colorTexture, v_uv + texel * vec2(i - 1.0,j - 1.0)).rgb;\\n I[int(i)][int(j)] = length(sample);\\n }\\n }\\n for (int i = 0; i < 9; i++) {\\n float dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\n cnv[i] = dp3 * dp3;\\n }\\n float M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);\\n float S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);\\n gl_FragColor = vec4(vec3(sqrt(M / S)), texture2D(u_colorTexture, v_uv).a);\\n}\"},sobel:{\"sobel.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 0.0, -1.0, 2.0, 0.0, -2.0, 1.0, 0.0, -1.0 );\\nvoid main() {\\n mat3 I;\\n float cnv[2];\\n vec3 sample;\\n G[0] = g0;\\n G[1] = g1;\\n for (float i = 0.0; i < 3.0; i++) {\\n for (float j = 0.0; j < 3.0; j++) {\\n sample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\n I[int(i)][int(j)] = length(sample);\\n }\\n }\\n for (int i = 0; i < 2; i++) {\\n float dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\n cnv[i] = dp3 * dp3;\\n }\\n gl_FragColor = vec4(vec3(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1])), texture2D(u_colorTexture, v_uv).a);\\n}\"}},\"edge-enhance\":{\"edge-enhance.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nvarying vec2 v_uv;\\nuniform vec2 u_texSize;\\nvec2 texel = vec2(1.0 / u_texSize.x, 1.0 / u_texSize.y);\\nmat3 G[2];\\nconst mat3 g0 = mat3( 1.0, 0.0, -1.0, 1.0, 0.0, -1.0, 1.0, 0.0, -1.0 );\\nconst mat3 g1 = mat3( 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -1.0, -1.0, -1.0 );\\nvoid main() {\\n mat3 I;\\n float cnv[2];\\n vec3 sample;\\n G[0] = g0;\\n G[1] = g1;\\n for (float i = 0.0; i < 3.0; i++) {\\n for (float j = 0.0; j < 3.0; j++) {\\n sample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\n I[int(i)][int(j)] = length(sample);\\n }\\n }\\n for (int i = 0; i < 2; i++) {\\n float dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\n cnv[i] = dp3 * dp3;\\n }\\n vec4 color = texture2D(u_colorTexture, v_uv);\\n gl_FragColor = vec4(0.5 * sqrt(cnv[0] * cnv[0] + cnv[1] * cnv[1]) * color);\\n}\"},filterEffect:{\"filterEffect.frag\":\"precision mediump float;\\nuniform sampler2D u_colorTexture;\\nuniform mat4 u_coefficients;\\nvarying vec2 v_uv;\\nvoid main() {\\n vec4 color = texture2D(u_colorTexture, v_uv);\\n vec4 rgbw = u_coefficients * vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\n float a = color.a;\\n gl_FragColor = vec4(a * rgbw.rgb, a);\\n}\"},pp:{\"pp.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying vec2 v_uv;\\nvoid main() {\\n gl_Position = vec4(a_position, 0.0, 1.0);\\n v_uv = (a_position + 1.0) / 2.0;\\n}\"}},raster:{bitmap:{\"bitmap.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform highp vec2 u_coordScale;\\nuniform lowp float u_opacity;\\n#include \\nvoid main() {\\n#ifdef BICUBIC\\n vec4 color = sampleBicubicBSpline(u_texture, v_texcoord, u_coordScale);\\n#else\\n vec4 color = texture2D(u_texture, v_texcoord);\\n#endif\\n float alpha = u_opacity * color.a;\\n gl_FragColor = vec4(alpha * color.rgb, alpha);\\n}\",\"bitmap.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},common:{\"common.glsl\":\"uniform sampler2D u_image;\\nuniform int u_bandCount;\\nuniform bool u_isFloatTexture;\\nuniform bool u_flipY;\\nuniform float u_opacity;\\nuniform int u_resampling;\\nuniform vec2 u_srcImageSize;\\n#ifdef APPLY_PROJECTION\\n#include \\n#endif\\n#ifdef BICUBIC\\n#include \\n#endif\\n#ifdef BILINEAR\\n#include \\n#endif\\nvec2 getPixelLocation(vec2 coords) {\\n vec2 targetLocation = u_flipY ? vec2(coords.s, 1.0 - coords.t) : coords;\\n#ifdef APPLY_PROJECTION\\n targetLocation = projectPixelLocation(targetLocation);\\n#endif\\n return targetLocation;\\n}\\nbool isOutside(vec2 coords){\\n if (coords.t>1.00001 ||coords.t<-0.00001 || coords.s>1.00001 ||coords.s<-0.00001) {\\n return true;\\n } else {\\n return false;\\n }\\n}\\nvec4 getPixel(vec2 pixelLocation) {\\n#ifdef BICUBIC\\n vec4 color = sampleBicubicBSpline(u_image, pixelLocation, u_srcImageSize);\\n#elif defined(BILINEAR)\\n vec4 color = sampleBilinear(u_image, pixelLocation, u_srcImageSize);\\n#else\\n vec4 color = texture2D(u_image, pixelLocation);\\n#endif\\n return color;\\n}\",\"contrastBrightness.glsl\":\"uniform float u_contrastOffset;\\nuniform float u_brightnessOffset;\\nvec4 adjustContrastBrightness(vec4 currentPixel, bool isFloat) {\\n vec4 pixelValue = isFloat ? currentPixel * 255.0 : currentPixel;\\n float maxI = 255.0;\\n float mid = 128.0;\\n float c = u_contrastOffset;\\n float b = u_brightnessOffset;\\n vec4 v;\\n if (c > 0.0 && c < 100.0) {\\n v = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) / (2.0 * (100.0 - c)) + mid;\\n } else if (c <= 0.0 && c > -100.0) {\\n v = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) * (100.0 + c) / 20000.0 + mid;\\n } else if (c == 100.0) {\\n v = (200.0 * pixelValue - 100.0 * maxI + (maxI + 1.0) * (100.0 - c) + 2.0 * maxI * b);\\n v = (sign(v) + 1.0) / 2.0;\\n } else if (c == -100.0) {\\n v = vec4(mid, mid, mid, currentPixel.a);\\n }\\n return vec4(v.r / 255.0, v.g / 255.0, v.b / 255.0, currentPixel.a);\\n}\",\"projection.glsl\":\"uniform sampler2D u_transformGrid;\\nuniform vec2 u_transformSpacing;\\nuniform vec2 u_transformGridSize;\\nuniform vec2 u_targetImageSize;\\nvec2 projectPixelLocation(vec2 coords) {\\n vec2 index_image = floor(coords * u_targetImageSize);\\n vec2 oneTransformPixel = vec2(0.25 / u_transformGridSize.s, 1.0 / u_transformGridSize.t);\\n vec2 index_transform = floor(index_image / u_transformSpacing) / u_transformGridSize;\\n vec2 pos = fract((index_image + vec2(0.5, 0.5)) / u_transformSpacing);\\n vec2 srcLocation;\\n vec2 transform_location = index_transform + oneTransformPixel * 0.5;\\n if (pos.s <= pos.t) {\\n vec4 ll_abc = texture2D(u_transformGrid, vec2(transform_location.s, transform_location.t));\\n vec4 ll_def = texture2D(u_transformGrid, vec2(transform_location.s + oneTransformPixel.s, transform_location.t));\\n srcLocation.s = dot(ll_abc.rgb, vec3(pos, 1.0));\\n srcLocation.t = dot(ll_def.rgb, vec3(pos, 1.0));\\n } else {\\n vec4 ur_abc = texture2D(u_transformGrid, vec2(transform_location.s + 2.0 * oneTransformPixel.s, transform_location.t));\\n vec4 ur_def = texture2D(u_transformGrid, vec2(transform_location.s + 3.0 * oneTransformPixel.s, transform_location.t));\\n srcLocation.s = dot(ur_abc.rgb, vec3(pos, 1.0));\\n srcLocation.t = dot(ur_def.rgb, vec3(pos, 1.0));\\n }\\n return srcLocation;\\n}\"},hillshade:{\"hillshade.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform int u_hillshadeType;\\nuniform float u_sinZcosAs[6];\\nuniform float u_sinZsinAs[6];\\nuniform float u_cosZs[6];\\nuniform float u_weights[6];\\nuniform vec2 u_factor;\\nuniform float u_minValue;\\nuniform float u_maxValue;\\n#include \\nfloat getNeighborHoodAlpha(float a, float b, float c, float d, float e, float f, float g, float h, float i){\\n if (a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0 || a == 0.0 || a == 0.0 || a==0.0) {\\n return 0.0;\\n }\\n else {\\n return e;\\n }\\n}\\nvec3 rgb2hsv(vec3 c) {\\n vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\n vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\n vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\n float d = q.x - min(q.w, q.y);\\n float e = 1.0e-10;\\n return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), min(d / (q.x + e), 1.0), q.x);\\n}\\nvec3 hsv2rgb(vec3 c) {\\n vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\n vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\n return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec4 overlay(float val, float minValue, float maxValue, float hillshade) {\\n val = clamp((val - minValue) / (maxValue - minValue), 0.0, 1.0);\\n vec4 rgb = colorize(vec4(val, val, val, 1.0), 255.0);\\n vec3 hsv = rgb2hsv(rgb.xyz);\\n hsv.z = hillshade;\\n return vec4(hsv2rgb(hsv), 1.0) * rgb.a;\\n}\\nvoid main() {\\n vec2 pixelLocation = getPixelLocation(v_texcoord);\\n if (isOutside(pixelLocation)) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n vec4 currentPixel = getPixel(pixelLocation);\\n if (currentPixel.a == 0.0) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n vec2 axy = vec2(-1.0, -1.0);\\n vec2 bxy = vec2(0.0, -1.0);\\n vec2 cxy = vec2(1.0, -1.0);\\n vec2 dxy = vec2(-1.0, 0.0);\\n vec2 fxy = vec2(1.0, 0.0);\\n vec2 gxy = vec2(-1.0, 1.0);\\n vec2 hxy = vec2(0.0, 1.0);\\n vec2 ixy = vec2(1.0, 1.0);\\n vec2 onePixel = 1.0 / u_srcImageSize;\\n if (pixelLocation.s < onePixel.s) {\\n axy[0] = 1.0;\\n dxy[0] = 1.0;\\n gxy[0] = 1.0;\\n }\\n if (pixelLocation.t < onePixel.t) {\\n axy[1] = 1.0;\\n bxy[1] = 1.0;\\n cxy[1] = 1.0;\\n }\\n if (pixelLocation.s > 1.0 - onePixel.s) {\\n cxy[0] = -1.0;\\n fxy[0] = -1.0;\\n ixy[0] = -1.0;\\n }\\n if (pixelLocation.t > 1.0 - onePixel.t) {\\n gxy[1] = -1.0;\\n hxy[1] = -1.0;\\n ixy[1] = -1.0;\\n }\\n vec4 va = texture2D(u_image, pixelLocation + onePixel * axy);\\n vec4 vb = texture2D(u_image, pixelLocation + onePixel * bxy);\\n vec4 vc = texture2D(u_image, pixelLocation + onePixel * cxy);\\n vec4 vd = texture2D(u_image, pixelLocation + onePixel * dxy);\\n vec4 ve = texture2D(u_image, pixelLocation);\\n vec4 vf = texture2D(u_image, pixelLocation + onePixel * fxy);\\n vec4 vg = texture2D(u_image, pixelLocation + onePixel * gxy);\\n vec4 vh = texture2D(u_image, pixelLocation + onePixel * hxy);\\n vec4 vi = texture2D(u_image, pixelLocation + onePixel * ixy);\\n float dzx = (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r * u_factor.s;\\n float dzy = (vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r * u_factor.t;\\n float dzd = sqrt(1.0 + dzx * dzx + dzy * dzy);\\n float hillshade = 0.0;\\n if (u_hillshadeType == 0){\\n\\t float cosDelta = u_sinZsinAs[0] * dzy - u_sinZcosAs[0] * dzx;\\n float z = (u_cosZs[0] + cosDelta) / dzd;\\n if (z < 0.0) z = 0.0;\\n\\t hillshade = z;\\n } else {\\n\\t for (int k = 0; k < 6; k++) {\\n\\t\\t float cosDelta = u_sinZsinAs[k] * dzy - u_sinZcosAs[k] * dzx;\\n\\t\\t float z = (u_cosZs[k] + cosDelta) / dzd;\\n\\t\\t if (z < 0.0) z = 0.0;\\n hillshade = hillshade + z * u_weights[k];\\n\\t\\t if (k == 5) break;\\n }\\n }\\n float alpha = getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\\n#ifdef APPLY_COLORMAP\\n gl_FragColor = overlay(ve.r, u_minValue, u_maxValue, hillshade) * alpha * u_opacity;\\n#else\\n gl_FragColor = vec4(hillshade, hillshade, hillshade, 1.0) * alpha * u_opacity;\\n#endif\\n}\",\"hillshade.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},lut:{\"colorize.glsl\":\"uniform sampler2D u_colormap;\\nuniform float u_colormapOffset;\\nuniform float u_colormapMaxIndex;\\nvec4 colorize(vec4 currentPixel, float scaleFactor) {\\n float clrIndex = clamp(currentPixel.r * scaleFactor - u_colormapOffset, 0.0, u_colormapMaxIndex);\\n vec2 clrPosition = vec2((clrIndex + 0.5) / (u_colormapMaxIndex + 1.0), 0.0);\\n vec4 color = texture2D(u_colormap, clrPosition);\\n vec4 result = vec4(color.rgb, color.a * currentPixel.a);\\n return result;\\n}\",\"lut.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\n#include \\nvoid main() {\\n vec2 pixelLocation = getPixelLocation(v_texcoord);\\n if (isOutside(pixelLocation)) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n vec4 currentPixel = getPixel(pixelLocation);\\n vec4 result = colorize(currentPixel, 1.0);\\n gl_FragColor = vec4(result.xyz, 1.0) * result.a * u_opacity;\\n}\",\"lut.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos * u_scale + u_offset;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},stretch:{\"stretch.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\nuniform float u_minCutOff[3];\\nuniform float u_maxCutOff[3];\\nuniform float u_minOutput;\\nuniform float u_maxOutput;\\nuniform float u_factor[3];\\nuniform bool u_useGamma;\\nuniform float u_gamma[3];\\nuniform float u_gammaCorrection[3];\\n#include \\nfloat stretchOneValue(float val, float minCutOff, float maxCutOff, float minOutput, float maxOutput, float factor, bool useGamma, float gamma, float gammaCorrection) {\\n if (val >= maxCutOff) {\\n return maxOutput;\\n } else if (val <= minCutOff) {\\n return minOutput;\\n }\\n float stretchedVal;\\n if (useGamma) {\\n \\tfloat tempf = 1.0;\\n\\t float outRange = maxOutput - minOutput;\\n\\t float relativeVal = (val - minCutOff) / (maxCutOff - minCutOff);\\n\\t if (gamma > 1.0) {\\n tempf -= pow(1.0 / outRange, relativeVal * gammaCorrection);\\n }\\n stretchedVal = (tempf * outRange * pow(relativeVal, 1.0 / gamma) + minOutput) / 255.0;\\n } else {\\n stretchedVal = minOutput + (val - minCutOff) * factor;\\n }\\n return stretchedVal;\\n}\\nvoid main() {\\n vec2 pixelLocation = getPixelLocation(v_texcoord);\\n if (isOutside(pixelLocation)) {\\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\n return;\\n }\\n vec4 currentPixel = getPixel(pixelLocation);\\n#ifdef NOOP\\n gl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\n return;\\n#endif\\n if (u_bandCount == 1) {\\n float grayVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\n#ifdef APPLY_COLORMAP\\n vec4 result = colorize(vec4(grayVal, grayVal, grayVal, 1.0), u_useGamma ? 255.0 : 1.0);\\n gl_FragColor = vec4(result.xyz, 1.0) * result.a * currentPixel.a * u_opacity;\\n#else\\n gl_FragColor = vec4(grayVal, grayVal, grayVal, 1.0) * currentPixel.a * u_opacity;\\n#endif\\n } else {\\n float redVal = stretchOneValue(currentPixel.r, u_minCutOff[0], u_maxCutOff[0], u_minOutput, u_maxOutput, u_factor[0], u_useGamma, u_gamma[0], u_gammaCorrection[0]);\\n float greenVal = stretchOneValue(currentPixel.g, u_minCutOff[1], u_maxCutOff[1], u_minOutput, u_maxOutput, u_factor[1], u_useGamma, u_gamma[1], u_gammaCorrection[1]);\\n float blueVal = stretchOneValue(currentPixel.b, u_minCutOff[2], u_maxCutOff[2], u_minOutput, u_maxOutput, u_factor[2], u_useGamma, u_gamma[2], u_gammaCorrection[2]);\\n gl_FragColor = vec4(redVal, greenVal, blueVal, 1.0) * currentPixel.a * u_opacity;\\n }\\n}\",\"stretch.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform highp float u_scale;\\nuniform highp vec2 u_offset;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\n v_texcoord = a_pos * u_scale + u_offset;\\n gl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"}},stencil:{\"stencil.frag\":\"void main() {\\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n}\",\"stencil.vert\":\"attribute vec2 a_pos;\\nvoid main() {\\n gl_Position = vec4(a_pos, 0.0, 1.0);\\n}\"},tileInfo:{\"tileInfo.frag\":\"uniform mediump sampler2D u_texture;\\nvarying mediump vec2 v_tex;\\nvoid main(void) {\\n lowp vec4 color = texture2D(u_texture, v_tex);\\n gl_FragColor = 0.75 * color;\\n}\",\"tileInfo.vert\":\"attribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nuniform mediump float u_depth;\\nuniform mediump vec2 u_coord_ratio;\\nuniform mediump vec2 u_delta;\\nuniform mediump vec2 u_dimensions;\\nvarying mediump vec2 v_tex;\\nvoid main() {\\n mediump vec2 offset = u_coord_ratio * vec2(u_delta + a_pos * u_dimensions);\\n vec3 v_pos = u_dvsMat3 * vec3(offset, 1.0);\\n gl_Position = vec4(v_pos.xy, 0.0, 1.0);\\n v_tex = a_pos;\\n}\"},util:{\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n 255.0 / (256.0),\\n 255.0 / (256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0),\\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n );\\nfloat rgba2float(vec4 rgba) {\\n return dot(rgba, rgba2float_factors);\\n}\"}};export default e;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../../../../../core/has.js\";import\"../../../../../../core/mathUtils.js\";import\"../../../../../../chunks/builtins.js\";import\"../../../../../webgl/checkWebGLError.js\";import\"../../../../../webgl/FramebufferObject.js\";import r from\"../../../../../webgl/ShaderCompiler.js\";import e from\"./shaderRepository.js\";function o(r){let o=e;return r.split(\"/\").forEach((r=>{o&&(o=o[r])})),o}const t=new r(o);function s(r){return t.resolveIncludes(r)}export{s as resolveIncludes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import\"../../chunks/builtins.js\";import\"./checkWebGLError.js\";import e from\"./Texture.js\";import t from\"./FramebufferObject.js\";function n(t,n,a=\"nearest\",i=!1){var r;const o=!(i&&\"u8\"===n.pixelType),s=o?5126:5121,u=null==n.pixels||0===n.pixels.length?null:o?n.getAsRGBAFloat():n.getAsRGBA(),f=null==(r=t.capabilities.textureFloat)?void 0:r.textureFloatLinear,l={width:n.width,height:n.height,target:3553,pixelFormat:6408,internalFormat:t.isWebGL2Context()?34836:6408,samplingMode:!f||\"bilinear\"!==a&&\"cubic\"!==a?9728:9729,dataType:s,wrapMode:33071,flipped:!1};return new e(t,l,u)}function a(n,a,i,r){const o=new e(n,{width:a,height:i,target:3553,pixelFormat:6408,internalFormat:6408,samplingMode:9728,dataType:r?5121:5126,wrapMode:33071,flipped:!1});return new t(n,{colorTarget:0,depthStencilTarget:3,width:a,height:i},o)}function i(t,n){const a=4*n.size[0],i=n.size[1],r={width:a,height:i,target:3553,pixelFormat:6408,internalFormat:t.isWebGL2Context()?34836:6408,dataType:5126,samplingMode:9728,wrapMode:33071,flipped:!1},o=new Float32Array(a*i*4);let s=0;for(let e=0;e{const i=t.get(a)||t.get(a+\"[0]\");i&&g(e,a,n[a],i)}))}function p(e,t,n,a){n.length===a.length&&(a.some((e=>null==e))||n.some((e=>null==e))||n.forEach(((n,i)=>{t.setUniform1i(n,i),e.bindTexture(a[i],i)})))}function g(e,t,n,a){if(null===a||null==n)return!1;const{info:i}=a;switch(i.type){case 5126:i.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case 35664:e.setUniform2fv(t,n);break;case 35665:e.setUniform3fv(t,n);break;case 35666:e.setUniform4fv(t,n);break;case 35675:e.setUniformMatrix3fv(t,n);break;case 35676:e.setUniformMatrix4fv(t,n);break;case 5124:i.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case 35670:e.setUniform1i(t,n?1:0);break;case 35667:case 35671:e.setUniform2iv(t,n);break;case 35668:case 35672:e.setUniform3iv(t,n);break;case 35669:case 35673:e.setUniform4iv(t,n);break;default:return!1}return!0}export{r as createColormapTexture,a as createFrameBuffer,n as createRasterTexture,i as createTransformTexture,u as getBasicGridUniforms,s as getColormapUniforms,o as getCommonUniforms,l as getShadedReliefUniforms,f as getStretchUniforms,c as getUniformLocationInfos,p as setTextures,m as setUniforms};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport e from\"./Program.js\";function n(e){let n=\"\";for(const t in e){const o=e[t];if(\"boolean\"==typeof o)o&&(n+=`#define ${t}\\n`);else if(\"number\"==typeof o)n+=`#define ${t} ${o.toFixed()}\\n`;else if(\"object\"==typeof o){const e=o.options;let r=0;for(const t in e)n+=`#define ${e[t]} ${(r++).toFixed()}\\n`;n+=`#define ${t} ${e[o.value]}\\n`}}return n}function t(n,t,o,r){o=o||{},r=r||\"\";const f=\"function\"==typeof t.shaders?t.shaders(o):t.shaders;return new e(n,r+f.vertexShader,r+f.fragmentShader,t.attributes)}export{t as createProgram,n as glslifyDefineMap};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nconst o=!0,t=32,c=1.5,e=200;export{t as COLLISION_GRID_CELL_SIZE,c as DECLUTTER_BUDGET,o as DECLUTTER_TILES,e as FADE_DURATION};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nimport\"../../../../../core/has.js\";import\"../../../../../core/mathUtils.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import\"../../../../../chunks/builtins.js\";import r from\"../../../../webgl/BufferObject.js\";import e from\"../../../../webgl/VertexArrayObject.js\";import\"../../../../webgl/FramebufferObject.js\";import{createProgram as i}from\"../../../../webgl/programUtils.js\";import s from\"./WGLBrush.js\";import{background as o}from\"../shaders/BackgroundPrograms.js\";class a extends s{constructor(){super(...arguments),this._color=t(1,0,0,1),this._initialized=!1}dispose(){this._solidProgram&&(this._solidProgram.dispose(),this._solidProgram=null),this._solidVertexArrayObject&&(this._solidVertexArrayObject.dispose(),this._solidVertexArrayObject=null)}prepareState({context:t},r){t.setDepthWriteEnabled(!1),t.setDepthTestEnabled(!1),t.setStencilTestEnabled(!0),t.setBlendingEnabled(!1),t.setColorMask(!1,!1,!1,!1),t.setStencilOp(7680,7680,7681),t.setStencilWriteMask(255),t.setStencilFunctionSeparate(1032,516,r.stencilRef,255)}draw(t,r){const{context:e}=t;this._initialized||this._initialize(e),e.bindVAO(this._solidVertexArrayObject),e.bindProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",r.coordRange),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),e.drawArrays(5,0,4),e.bindVAO()}_initialize(t){if(this._initialized)return!0;const s=i(t,o);if(!s)return!1;const a={geometry:[{name:\"a_pos\",count:2,type:5120,offset:0,stride:2,normalized:!1,divisor:0}]},n=new Int8Array([0,0,1,0,0,1,1,1]),l=r.createVertex(t,35044,n),d=new e(t,o.attributes,a,{geometry:l});return this._solidProgram=s,this._solidVertexArrayObject=d,this._initialized=!0,!0}}export default a;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nclass r{constructor(){this.name=this.constructor.name||\"UnnamedBrush\"}prepareState(r,t,a){}draw(r,t,a){}drawMany(r,t,a){for(const s of t)this.draw(r,s,a)}}export default r;\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.19/esri/copyright.txt for details.\n*/\nfunction e(e,t,r){const i=t&&t.length,u=i?t[0]*r:e.length;let o=n(e,0,u,r,!0);const l=new Array;if(!o||o.next===o.prev)return l;let y,p,c,v,s;if(i&&(o=f(e,t,o,r)),e.length>80*r){y=c=e[0],p=v=e[1];for(let n=r;n0)for(let o=n;o=n;o-=x)i=u(o,e[o],e[o+1],i);return i&&z(i,i.next)&&(o(i),i=i.next),i}function t(e,n=e){if(!e)return e;let t,x=e;do{if(t=!1,x.steiner||!z(x,x.next)&&0!==h(x.prev,x,x.next))x=x.next;else{if(o(x),x=n=x.prev,x===x.next)break;t=!0}}while(t||x!==n);return n}function x(e,n,u,l,f,y,p=0){if(!e)return;!p&&y&&(e=c(e,l,f,y));let v=e;for(;e.prev!==e.next;){const c=e.prev,s=e.next;if(y?i(e,l,f,y):r(e))n.push(c.index/u),n.push(e.index/u),n.push(s.index/u),o(e),e=s.next,v=s.next;else if((e=s)===v){p?1===p?x(e=m(e,n,u),n,u,l,f,y,2):2===p&&k(e,n,u,l,f,y):x(t(e),n,u,l,f,y,1);break}}}function r(e){const n=e.prev,t=e,x=e.next;if(h(n,t,x)>=0)return!1;let r=e.next.next;const i=r;let u=0;for(;r!==e.prev&&(0===u||r!==i);){if(u++,w(n.x,n.y,t.x,t.y,x.x,x.y,r.x,r.y)&&h(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function i(e,n,t,x){const r=e.prev,i=e,u=e.next;if(h(r,i,u)>=0)return!1;const o=r.xi.x?r.x>u.x?r.x:u.x:i.x>u.x?i.x:u.x,y=r.y>i.y?r.y>u.y?r.y:u.y:i.y>u.y?i.y:u.y,p=M(o,l,n,t,x),c=M(f,y,n,t,x);let v=e.prevZ,s=e.nextZ;for(;v&&v.z>=p&&s&&s.z<=c;){if(v!==e.prev&&v!==e.next&&w(r.x,r.y,i.x,i.y,u.x,u.y,v.x,v.y)&&h(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,s!==e.prev&&s!==e.next&&w(r.x,r.y,i.x,i.y,u.x,u.y,s.x,s.y)&&h(s.prev,s,s.next)>=0)return!1;s=s.nextZ}for(;v&&v.z>=p;){if(v!==e.prev&&v!==e.next&&w(r.x,r.y,i.x,i.y,u.x,u.y,v.x,v.y)&&h(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;s&&s.z<=c;){if(s!==e.prev&&s!==e.next&&w(r.x,r.y,i.x,i.y,u.x,u.y,s.x,s.y)&&h(s.prev,s,s.next)>=0)return!1;s=s.nextZ}return!0}function u(e,n,t,x){const r=new B(e,n,t);return x?(r.next=x.next,r.prev=x,x.next.prev=r,x.next=r):(r.prev=r,r.next=r),r}function o(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function l(e){let n=e,t=e;do{(n.x=t.next.y&&t.next.y!==t.y){const e=t.x+(r-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(e<=x&&e>u){if(u=e,e===x){if(r===t.y)return t;if(r===t.next.y)return t.next}i=t.x=t.x&&t.x>=l&&x!==t.x&&w(ri.x)&&g(t,e)&&(i=t,p=y)),t=t.next;return i}function c(e,n,t,x){for(let r;r!==e;r=r.next){if(r=r||e,null===r.z&&(r.z=M(r.x,r.y,n,t,x)),r.prev.next!==r||r.next.prev!==r)return r.prev.next=r,r.next.prev=r,c(e,n,t,x);r.prevZ=r.prev,r.nextZ=r.next}return e.prevZ.nextZ=null,e.prevZ=null,v(e)}function v(e){let n,t=1;for(;;){let x,r=e;e=null,n=null;let i=0;for(;r;){i++,x=r;let u=0;for(;u0||o>0&&x;){let t;0===u?(t=x,x=x.nextZ,o--):0!==o&&x?r.z<=x.z?(t=r,r=r.nextZ,u--):(t=x,x=x.nextZ,o--):(t=r,r=r.nextZ,u--),n?n.nextZ=t:e=t,t.prevZ=n,n=t}r=x}if(n.nextZ=null,t*=2,i<2)return e}}function s(e,n,t,x){const r=n&&n.length,i=r?n[0]*t:e.length;let u=Math.abs(a(e,0,i,t));if(r)for(let l=0,f=n.length;l0!=h(e,n,x)>0&&h(t,x,e)>0!=h(t,x,n)>0}function Z(e,n){let t=e;do{if(t.index!==e.index&&t.next.index!==e.index&&t.index!==n.index&&t.next.index!==n.index&&d(t,t.next,e,n))return!0;t=t.next}while(t!==e);return!1}function a(e,n,t,x){let r=0;for(let i=n,u=t-x;i=0&&(e-u)*(x-o)-(t-u)*(n-o)>=0&&(t-u)*(i-o)-(r-u)*(x-o)>=0}function g(e,n){return h(e.prev,e,e.next)<0?h(e,n,e.next)>=0&&h(e,e.prev,n)>=0:h(e,n,e.prev)<0||h(e,e.next,n)<0}function M(e,n,t,x,r){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-t)*r)|e<<8))|e<<4))|e<<2))|e<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-x)*r)|n<<8))|n<<4))|n<<2))|n<<1))<<1}function z(e,n){return e.x===n.x&&e.y===n.y}function b(e,n){return e.x-n.x}function m(e,n,t){let x=e;do{const r=x.prev,i=x.next.next;!z(r,i)&&d(r,x,x.next,i)&&g(r,i)&&g(i,r)&&(n.push(r.index/t),n.push(x.index/t),n.push(i.index/t),o(x),o(x.next),x=e=i),x=x.next}while(x!==e);return x}function k(e,n,r,i,u,o){let l=e;do{let e=l.next.next;for(;e!==l.prev;){if(l.index!==e.index&&A(l,e)){let f=q(l,e);return l=t(l,l.next),f=t(f,f.next),x(l,n,r,i,u,o),void x(f,n,r,i,u,o)}e=e.next}l=l.next}while(l!==e)}function A(e,n){return e.next.index!==n.index&&e.prev.index!==n.index&&!Z(e,n)&&g(e,n)&&g(n,e)&&j(e,n)}function j(e,n){let t=e,x=!1;const r=(e.x+n.x)/2,i=(e.y+n.y)/2;do{t.y>i!=t.next.y>i&&t.next.y!==t.y&&r<(t.next.x-t.x)*(i-t.y)/(t.next.y-t.y)+t.x&&(x=!x),t=t.next}while(t!==e);return x}function q(e,n){const t=new B(e.index,e.x,e.y),x=new B(n.index,n.x,n.y),r=e.next,i=n.prev;return e.next=n,n.prev=e,t.next=r,r.prev=t,x.next=t,t.prev=x,i.next=x,x.prev=i,x}class B{constructor(e,n,t){this.index=e,this.x=n,this.y=t,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}}export{s as deviation,e as earcut};\n"],"sourceRoot":""}