{"version":3,"sources":["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/layers/WMSLayerView.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/WMSLayerView2D.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/BitmapContainer.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/BrushRasterBitmap.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/BrushOverlay.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/WGLBrushDotDensity.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushMarker.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushHeatmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrushPieChart.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/WGLGeometryBrushLabel.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushLine.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLGeometryBrushText.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/brushes.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/BrushVectorField.js","webpack:///./node_modules/@arcgis/core/layers/support/PixelBlock.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderCompiler.js","webpack:///./node_modules/@arcgis/core/chunks/vec4f32.js","webpack:///./node_modules/@arcgis/core/views/webgl/ProgramTemplate.js","webpack:///./node_modules/@arcgis/core/views/layers/RefreshableLayerView.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/2d/engine/webgl/VertexStream.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/ImageryBitmapSource.js","webpack:///./node_modules/@arcgis/core/views/webgl/reservedWordsGLSL3.js","webpack:///./node_modules/@arcgis/core/views/webgl/testUtils.js","webpack:///./node_modules/@arcgis/core/views/webgl/ShaderTranspiler.js","webpack:///./node_modules/@arcgis/core/views/webgl/Program.js","webpack:///./node_modules/@arcgis/core/chunks/earcut.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/layers/support/rasterFunctions/pixelUtils.js","webpack:///./node_modules/@arcgis/core/layers/support/ExportWMSImageParameters.js","webpack:///./node_modules/@arcgis/core/views/2d/viewStateUtils.js","webpack:///./node_modules/@arcgis/core/views/2d/layers/support/ExportStrategy.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/2d/engine/Bitmap.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/flow/BrushFlow.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/vectorTiles/style/StyleDefinition.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/webgl/brushes/WGLBrush.js","webpack:///./node_modules/@arcgis/core/views/2d/engine/imagery/RasterBitmap.js"],"names":["Number","POSITIVE_INFINITY","t","Math","PI","o","c","N","LN2","a","n","h","M","P","log","g","r","e","shaders","vertexShader","fragmentShader","attributes","Map","i","initialize","this","exportImageParameters","p","layer","destroy","commitProperty","_get","fetchPopupFeatures","Promise","reject","popupEnabled","s","createFetchPopupFeaturesQuery","resolve","extent","width","height","x","m","y","fetchFeatureInfo","prototype","readOnly","u","getLogger","l","d","constructor","super","arguments","container","supportsSpatialReference","serviceSupportsSpatialReference","update","strategy","catch","error","attach","imageMaxHeight","imageMaxWidth","fetchSource","fetchImage","bind","requestUpdate","imageRotationSupported","imageNormalizationSupported","hidpi","handles","add","exportImageVersion","detach","remove","removeAllChildren","moveStart","viewChange","moveEnd","view","spatialReference","children","some","resolution","xmin","ymin","xmax","ymax","round","isUpdating","updating","updateRequested","timeExtent","blendFunction","prepareRenderPasses","registerRenderPass","name","brushes","bitmap","target","drawPhase","MAP","geometry","BYTE","UNSIGNED_SHORT","_desc","lut","vsPath","fsPath","stretch","hillshade","_rendererUniformInfos","dispose","_quad","prepareState","context","setBlendingEnabled","setBlendFunctionSeparate","ONE","ONE_MINUS_SRC_ALPHA","setColorMask","setStencilWriteMask","setStencilTestEnabled","setStencilFunction","EQUAL","stencilRef","draw","suspended","timeline","painter","requestRender","begin","capabilities","textureFloat","textureFloatLinear","updateTexture","_getShaderVariations","materialManager","getProgram","symbolizerParameters","type","_drawWithProgram","end","f","isCompiled","_","transformGrid","b","opacity","S","w","useProgram","_getUniformInfos","names","textures","U","getTextures","j","I","source","u_coordScale","coordScale","u_dvsMat3","transforms","dvs","colormap","colormapOffset","length","join","has","get","set","interpolation","push","isRendereredSource","spacing","nearest","defines","samplingMode","NEAREST","mips","bilinear","LINEAR","bicubic","trilinear","LINEAR_MIPMAP_LINEAR","state","pixelRatio","rotation","isSourceScaled","renderingOptions","computedOpacity","setSamplingProfile","setUniformMatrix3fv","setUniform1i","setUniform2fv","setUniform1f","location","count","SHORT","_color","_program","setFaceCullingEnabled","setStencilOp","KEEP","REPLACE","ALWAYS","getVAO","bufferLayouts","indexBuffer","setUniform4fv","displayMat3","bindVAO","drawElements","TRIANGLES","size","UNSIGNED_INT","FLOAT","tex","GREATER","isReady","dvsMat3","isWrapAround","texture","bindTexture","drawArrays","TRIANGLE_STRIP","_computeDesc","includes","getGeometryType","commit","getGeometry","attributeView","bindTextures","forEachCommand","v","load","materialKey","symbologyType","supportsSymbology","drawGeometry","_setSharedUniforms","displayLevel","passOptions","position","distance","tileMat3","viewMat3","displayViewMat3","_setSizeVVUniforms","vvSizeMinMaxValue","vvSizeScaleStops","vvSizeScaleStopsValue","vvSizeFieldStops","getSizeVVFieldStops","key","level","setUniform1fv","values","sizes","vvSizeUnitValue","vvSizeUnitValueToPixelsRatio","_setColorAndOpacityVVUniforms","vvColor","vvColorValues","vvColors","vvOpacity","vvOpacityValues","vvOpacities","_setRotationVVUniforms","vvRotation","vvMaterialParameters","vvRotationType","_getTriangleDesc","map","findIndex","strides","max","divisor","normalized","offset","stride","UNSIGNED_BYTE","SIMPLE","OUTLINE_FILL_SIMPLE","splice","shader","vertexLayout","FILL","DOT_DENSITY","rendererInfo","requiredLevel","E","data","T","hittestAttributes","programSpec","L","POINTS","G","O","getMaterialProgram","setUniform2f","col","row","textureBinding","textureManager","D","R","indexCount","indexFrom","Uint32Array","BYTES_PER_ELEMENT","_drawFills","_dotTextureSize","_dotTextures","_dotSamplers","Int32Array","_dotVAO","_dotDesc","_disposeTextures","_dotFBO","_drawDotLocations","_drawDotDensity","rendererSchema","_createDotDensityMesh","dotSize","window","devicePixelRatio","getViewport","dotScale","colors","activeDots","backgroundColor","dotValue","setViewport","getBoundFramebufferObject","_createFBO","bindFramebuffer","setClearColor","clear","gl","COLOR_BUFFER_BIT","STENCIL_BUFFER_BIT","scale","setUniformMatrix4fv","_bindDotDensityTextures","colorTexture","TEXTURE_2D","pixelFormat","RGBA","dataType","wrapMode","CLAMP_TO_EDGE","colorTarget","TEXTURE","depthStencilTarget","DEPTH_STENCIL_RENDER_BUFFER","internalFormat","DEPTH_STENCIL","_createDotDensityTextures","seed","setUniform1iv","Int16Array","createVertex","STATIC_DRAW","F","_seed","_allocDotDensityTexture","Float32Array","getFloat","REPEAT","MARKER","HEATMAP","PIE_CHART","A","_drawMarkers","_accumulateOutputTexture","_accumulateFramebuffer","_resolveGradientTexture","_tileQuad","_loadQualityProfile","_prepareAccumulatePass","_drawResolvePass","referenceScale","radius","isFieldActive","_loadResources","_updateResources","setBlendFunction","minDensity","densityRange","WEBGL2","shadingRate","RED","R32F","R16F","gradientHash","gradient","_prevGradientHash","resize","setData","_qualityProfile","colorBufferFloat","textureHalfFloat","textureHalfFloatLinear","HALF_FLOAT","floatBlend","warnOnce","defaultColor","othersColor","outlineColor","holePercentage","sectorThreshold","outlineWidth","_patternMatrix","_programOptions","id","pattern","_vao","drawMany","styleLayerUID","_loadWGLResources","styleLayer","backgroundMaterial","vectorTilesMaterialManager","getPaintValue","spriteMosaic","HITTEST","k","getMosaicItemPosition","tl","br","page","getPageSize","setUniform4f","z","rangeX","Int8Array","getAttributeLocations","getLayoutInfo","layerData","circleIndexCount","circleMaterial","VIEWPORT","setDataUniforms","prepareForRendering","circleVertexArrayObject","circleIndexStart","triangleCount","_fillProgramOptions","_outlineProgramOptions","renderPass","fillIndexCount","outlineIndexCount","getPaintProperty","isDataDriven","getValue","_drawFill","hasDataDrivenOutlineColor","outlineUsesFillColor","_drawOutline","fillMaterial","C","V","fillVertexArrayObject","patternMap","fillIndexStart","outlineMaterial","outlineVertexArrayObject","outlineIndexStart","sdf","lineIndexCount","lineMaterial","getDashKey","getLayoutValue","lineVertexArrayObject","lineIndexStart","_iconProgramOptions","_sdfProgramOptions","_spritesTextureSize","_drawIcons","_drawText","iconMaterial","iconPerPageElementsMap","AUTO","POINT","isIconSDF","updateOpacityInfo","iconVertexArrayObject","performance","now","lastOpacityUpdate","_renderIconRange","getWidth","getHeight","glyphMosaic","textMaterial","glyphPerPageElementsMap","W","_glyphTextureSize","B","H","Y","textVertexArrayObject","forEach","_renderGlyphRange","LABEL","mapAligned","abs","floor","LINE","TEXT","marker","line","fill","text","label","clip","stencil","overlay","raster","rasterVF","flow","tileInfo","vtlBackground","vtlFill","vtlLine","vtlCircle","vtlSymbol","dotDensity","heatmap","pieChart","beaufort_ft","beaufort_m","beaufort_km","beaufort_mi","beaufort_kn","classified_arrow","ocean_current_m","ocean_current_kn","single_arrow","wind_speed","magdir","scalar","validPixelCount","updateVectorFieldVAO","vaoData","_drawScalars","vao","elementCount","_drawTriangles","dataRange","rotationType","style","symbolPercentRange","_getSymbolSize","symbolTileSize","pixelType","mask","maskIsAlpha","pixels","statistics","getPixelArrayConstructor","Uint8Array","Uint16Array","Float64Array","castPixelType","toLowerCase","getPlaneCount","addData","minValue","maxValue","getAsRGBA","ArrayBuffer","_fillFromNon8Bit","_fillFrom8Bit","Uint8ClampedArray","getAsRGBAFloat","_fillFrom32Bit","updateStatistics","_calculateBandStatistics","clamp","createEmptyBand","extractBands","clone","slice","reduce","min","MAX_VALUE","json","write","readFile","resolveIncludes","_resolve","_read","Error","exec","path","start","index","Object","freeze","defineProperty","__proto__","create","fromValues","createView","zeros","ones","unitX","unitY","unitZ","unitW","ZEROS","ONES","UNIT_X","UNIT_Y","UNIT_Z","UNIT_W","Symbol","toStringTag","value","doRefresh","dataChanged","declaredClass","_outlineProgram","_tileInfoProgram","_outlineVertexArrayObject","_tileInfoVertexArrayObject","_canvas","rangeY","LINE_STRIP","_getTexture","descriptor","triangleCountReportedInDebug","document","createElement","setAttribute","getContext","font","textAlign","textBaseline","clearRect","fillStyle","fillRect","fillText","rctx","_vertexBuffer","_count","unbind","pixelBlock","originalPixelBlock","render","filter","createImageData","putImageData","getRenderedRasterPixels","renderedRasterPixels","buffer","enableCache","exports","replace","column","q","X","test","indexOf","concat","match","toString","parseInt","VERTEX_SHADER","trim","FRAGMENT_SHADER","_context","_locations","_uniformBlockBindings","_refCount","_compiled","_nameToUniformLocation","_nameToUniform1","_nameToUniform1v","_nameToUniform2","_nameToUniform3","_nameToUniform4","_nameToUniformMatrix3","_nameToUniformMatrix4","console","_vShader","_fShader","instanceCounter","increment","Shader","_glName","createProgram","attachShader","bindAttribLocation","linkProgram","getProgramParameter","LINK_STATUS","VALIDATE_STATUS","getError","getShaderParameter","COMPILE_STATUS","getProgramInfoLog","getUniformBlockIndex","uniformBlockBinding","Program","getExtension","glName","COMPLETION_STATUS_KHR","deleteShader","decrement","deleteProgram","ref","_getUniformLocation","numUniforms","getUniformLocation","hasUniform","uniform1i","uniform1iv","setUniform2iv","uniform2iv","setUniform3iv","uniform3iv","setUniform4iv","uniform4iv","uniform1f","uniform1fv","uniform2f","uniform2fv","setUniform3f","uniform3f","setUniform3fv","uniform3fv","uniform4f","uniform4fv","uniformMatrix3fv","uniformMatrix4fv","stop","createShader","shaderSource","compileShader","getShaderInfoLog","enabled","compiledLOC","Array","from","next","prev","Z","steiner","prevZ","nextZ","sort","deviation","flatten","vertices","holes","dimensions","coords","lengths","_cache","indices","primitiveType","isMapSpace","fromScreenExtent","fromPolygon","fromMapExtent","fromRect","toScreen","vertexBuffers","getIndexBuffer","createIndex","getVertexBuffers","keys","parseFloat","_clip","stage","_handle","version","_invalidate","ready","_destroyGL","mesh","_lastWidth","_lastHeight","_createMesh","_createTransforms","_createScreenRect","left","right","top","bottom","fromPath","fromGeometry","_clips","clips","_updateClippingInfo","doRender","createRenderParams","globalOpacity","profiler","HIGHLIGHT","recordContainerStart","beforeRenderLayer","_clippingInfos","updateTransforms","renderChildren","compositeLayer","recordContainerEnd","_renderPasses","beforeRender","afterRender","requireFBO","requiresDedicatedFBO","LABEL_ALPHA","DEBUG","setTransform","onAttach","onDetach","items","fromClipArea","indexed2DColormap","alphaSpecified","fillUnspecified","indexedColormap","mappedColor","find","apply","clipOffset","clipSize","block","mosaic","hasGCSSShiftTransform","halfWorldWidth","resolutionX","startX","rightPadding","leftMargin","alignmentInfo","blockWidths","done","delete","ceil","cols","rows","offsets_x","offsets_y","offsets_xi","offsets_yi","gridWidth","coefficients","isNaN","atan2","visible","_set","sublayers","on","notifyChange","propertyName","visibleSublayers","minScale","maxScale","unshift","toJSON","layers","imageFormat","imageTransparency","format","request","service","styles","transparent","cos","sin","_imagePromise","bitmaps","async","stationary","destroyed","worldScreenWidth","valid","paddedViewState","center","_singleExport","_tiledExport","then","fadeOut","addChild","fadeIn","updateExports","invalidateTexture","signal","_export","scales","getTileCoverage","getTileBounds","all","background","bitBlit","blend","dot","filtering","fx","integrate","heatmapResolve","highlight","magnifier","materials","hittest","icon","heatmapAccumulate","pie","shared","blit","bloom","composite","gaussianBlur","luminosityHighPass","blur","dra","sobel","filterEffect","pp","common","imagery","particles","streamlines","reproject","util","split","RGBA32F","flipped","offsets","u_flipY","u_applyTransform","u_opacity","u_transformSpacing","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","u_maxValue","ACTIVE_UNIFORMS","getActiveUniform","info","FLOAT_VEC2","FLOAT_VEC3","FLOAT_VEC4","FLOAT_MAT3","FLOAT_MAT4","INT","BOOL","INT_VEC2","BOOL_VEC2","INT_VEC3","BOOL_VEC3","INT_VEC4","BOOL_VEC4","requestRenderOnSourceChangedEnabled","_textureInvalidated","_height","_source","_width","_texture","sourceWidth","sourceHeight","HTMLImageElement","naturalHeight","naturalWidth","toScreenNoRotation","hasMipmap","generateMipmap","setSamplingMode","_visualState","time","displayData","resources","flowStyle","animated","_initialized","_solidProgram","_solidVertexArrayObject","setDepthWriteEnabled","setDepthTestEnabled","setStencilFunctionSeparate","FRONT_AND_BACK","_initialize","BACKGROUND","SYMBOL","CIRCLE","VISIBLE","NONE","LINE_CENTER","LEFT","CENTER","RIGHT","TOP","BOTTOM","TOP_LEFT","TOP_RIGHT","BOTTOM_LEFT","BOTTOM_RIGHT","UPPERCASE","LOWERCASE","HORIZONTAL","VERTICAL","backgroundLayoutDefinition","visibility","default","fillLayoutDefinition","lineLayoutDefinition","BUTT","MITER","symbolLayoutDefinition","minimum","circleLayoutDefinition","backgroundPaintDefinition","maximum","fillPaintDefinition","linePaintDefinition","symbolPaintDefinition","rasterPaintDefinition","circlePaintDefinition","stretchType","_colormapTextureInvalidated","_supportsBilinearTexture","_symbolizerParameters","rawPixelData","_suspended","_bandIds","_interpolation","_transformGrid","_rasterTexture","_transformGridTexture","_colormapTexture","_rasterTextureBandIds","_isBandIdschanged","_getTextureSamplingMethod","_isValidSource","_updateColormapTexture","_createOrDestroyRasterTexture","bandIds","_colormap"],"mappings":"kHAAA,wIAIQA,OAAOC,kBAAf,MAAiCC,EAAEC,KAAKC,GAAeC,EAAE,IAAIH,EAAUI,EAAE,IAAI,IAAgCC,EAAE,EAAEJ,KAAKK,IAAI,SAASC,EAAEC,EAAER,GAAG,OAAOQ,GAAGR,IAAI,EAAEQ,EAAEA,EAAER,EAAE,SAASS,EAAED,GAAG,OAAOD,EAAEC,EAAEL,EAAE,KAAK,SAASO,EAAEF,GAAG,OAAOD,EAAEC,EAAEJ,EAAE,KAAK,SAASO,EAAEH,GAAG,OAAOP,KAAKW,IAAIJ,GAAGH,EAAgE,SAASQ,EAAEL,EAAER,EAAEc,GAAG,OAAON,GAAGR,GAAGQ,GAAGM,GAAGN,GAAGM,GAAGN,GAAGR,I,oCCJ/W,kDAIwD,MAAMe,EAAE,CAACC,QAAQ,CAACC,aAAaH,eAAE,8BAA8BI,eAAeJ,eAAE,+BAA+BK,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,O,ySCA8U,MAAMb,EAAEA,IAAI,IAAIc,EAAE,cAAcd,EAAEe,aAAaC,KAAKC,sBAAsB,IAAIC,OAAE,CAACC,MAAMH,KAAKG,QAAQC,UAAUJ,KAAKC,sBAAsBG,UAAUJ,KAAKC,sBAAsB,KAA2B,yBAAE,MAAC,OAAO,SAAAD,KAAKC,wBAAL,EAA4BI,eAAe,WAAWL,KAAKK,eAAe,eAAeL,KAAKM,KAAK,uBAAuB,GAAG,EAAEC,mBAAmBf,GAAG,MAAMW,MAAM1B,GAAGuB,KAAK,IAAIR,EAAE,OAAOgB,QAAQC,OAAO,IAAIlB,OAAE,kCAAkC,gCAAgC,CAACY,MAAM1B,KAAK,MAAMiC,aAAa9B,GAAGH,EAAE,IAAIG,EAAE,OAAO4B,QAAQC,OAAO,IAAIlB,OAAE,kCAAkC,8BAA8B,CAACmB,aAAa9B,KAAK,MAAM+B,EAAEX,KAAKY,8BAA8BpB,GAAG,IAAImB,EAAE,OAAOH,QAAQK,QAAQ,IAAI,MAAMC,OAAOZ,EAAEa,MAAM/B,EAAEgC,OAAOlB,EAAEmB,EAAEC,EAAEC,EAAElC,GAAG0B,EAAE,KAAKT,GAAGlB,GAAGc,GAAG,MAAM,IAAIP,OAAE,kCAAkC,+CAA+C,CAACuB,OAAOZ,EAAEa,MAAM/B,EAAEgC,OAAOlB,IAAI,MAAMjB,EAAEJ,EAAE2C,iBAAiBlB,EAAElB,EAAEc,EAAEoB,EAAEjC,GAAG,OAAOuB,QAAQK,QAAQhC,EAAE,CAACA,GAAG,MAAM,OAAOW,eAAE,CAACf,kBAAKqB,EAAEuB,UAAU,6BAAwB,GAAQ7B,eAAE,CAACf,eAAE,CAAC6C,UAAS,KAAMxB,EAAEuB,UAAU,qBAAqB,MAAM7B,eAAE,CAACf,kBAAKqB,EAAEuB,UAAU,aAAQ,GAAQ7B,eAAE,CAACf,eAAEkC,SAAIb,EAAEuB,UAAU,kBAAa,GAAQvB,EAAEN,eAAE,CAACZ,eAAE,oCAAoCkB,GAAGA,GCAh5ByB,EAAE9C,OAAE+C,UAAU,uCAAuC,IAAIC,EAAE,cAAcC,EAAE7C,eAAEqB,eAAEhB,WAAMyC,cAAcC,SAASC,WAAW7B,KAAK8B,UAAU,IAAI7C,OAAE8C,yBAAyBvC,GAAG,OAAOQ,KAAKG,MAAM6B,gCAAgCxC,GAAGyC,OAAOzC,GAAGQ,KAAKkC,SAASD,OAAOzC,GAAG2C,MAAO3C,IAAID,eAAEC,IAAI+B,EAAEa,MAAM5C,KAAM6C,SAAS,MAAMlC,MAAMX,EAAEsC,UAAUrD,GAAGuB,MAAMsC,eAAe/C,EAAEgD,cAAczC,GAAGN,EAAEQ,KAAKkC,SAAS,IAAIhB,OAAE,CAACY,UAAUrD,EAAE+D,YAAYxC,KAAKyC,WAAWC,KAAK1C,MAAM2C,cAAc3C,KAAK2C,cAAcD,KAAK1C,MAAMsC,eAAe/C,EAAEgD,cAAczC,EAAE8C,wBAAuB,EAAGC,6BAA4B,EAAGC,OAAM,IAAK9C,KAAK+C,QAAQC,IAAIrC,eAAG,IAAIX,KAAKiD,mBAAqB,IAAIjD,KAAK2C,iBAAkB,sBAAsBO,SAASlD,KAAK+C,QAAQI,OAAO,sBAAsBnD,KAAKkC,SAAS9B,UAAUJ,KAAKkC,SAAS,KAAKlC,KAAK8B,UAAUsB,oBAAoBC,aAAaC,cAAcC,UAAUvD,KAAK2C,gBAAgB/B,8BAA8BpB,GAAG,MAAMgE,KAAK/E,EAAEqD,UAAUvC,GAAGS,MAAMiB,EAAEN,EAAEQ,EAAErB,GAAGN,GAAGiE,iBAAiB7E,GAAGH,EAAE,IAAIQ,EAAE,KAAKiB,EAAE,EAAEgB,EAAE,EAAE,GAAG3B,EAAEmE,SAASC,KAAMnE,IAAI,MAAMuB,MAAMtC,EAAEuC,OAAOzB,EAAEqE,WAAW1E,EAAE+B,EAAEpC,EAAEsC,EAAEO,GAAGlC,EAAE+B,EAAE1C,EAAEK,EAAET,EAAEgD,EAAEC,EAAExC,EAAEK,EAAE,OAAOoB,GAAG9B,GAAG8B,GAAGY,GAAGzB,GAAG4B,GAAG5B,GAAG2B,IAAIxC,EAAE,IAAID,OAAE,CAAC6E,KAAKhF,EAAEiF,KAAKrC,EAAEsC,KAAKxC,EAAEyC,KAAKtC,EAAE+B,iBAAiB7E,IAAIsB,EAAEzB,EAAEyC,EAAE3B,GAAE,MAAQN,EAAE,OAAO,KAAK,MAAMC,EAAED,EAAE8B,MAAMb,EAAErB,EAAEH,KAAKuF,OAAOtD,EAAE1B,EAAE4E,MAAM3E,GAAGwC,EAAEhD,KAAKuF,OAAOhF,EAAE+E,KAAKlE,GAAGZ,GAAG,MAAM,CAAC4B,OAAO7B,EAAE8B,MAAMb,EAAEc,OAAOE,EAAED,EAAEpC,EAAEsC,EAAEO,GAAkB,kBAAG1B,KAAK2C,gBAAgBuB,aAAa,OAAOlE,KAAKkC,SAASiC,UAAUnE,KAAKoE,gBAAgB3B,WAAWjD,EAAEf,EAAEc,EAAEoB,GAAG,OAAOX,KAAKG,MAAMsC,WAAWjD,EAAEf,EAAEc,EAAE,CAAC8E,WAAWrE,KAAKqE,cAAc1D,MAAMnB,eAAE,CAACM,kBAAK2B,EAAEJ,UAAU,gBAAW,GAAQ7B,eAAE,CAACM,kBAAK2B,EAAEJ,UAAU,gBAAW,GAAQI,EAAEjC,eAAE,CAACZ,eAAE,wCAAwC6C,GAAG,MAAMN,EAAEM,G,oCCJ/5E,0EAI8H,MAAMhD,UAAUkC,OAA0B,2BAAG,OAAOX,KAAK0D,SAASC,KAAMnE,GAAG,aAAaA,EAAE8E,eAAgBC,oBAAoB5D,GAAG,MAAMlC,EAAEkC,EAAE6D,mBAAmB,CAACC,KAAK,SAASC,QAAQ,CAAClF,OAAEmF,QAAQC,OAAO,IAAI5E,KAAK0D,SAASmB,UAAUtF,OAAEuF,MAAM,MAAM,IAAIlD,MAAM2C,oBAAoB5D,GAAGlC,M,oCCJhZ,kIAIuI,MAAMc,EAAE,CAACwF,SAAS,CAAC,IAAInG,OAAE,QAAQ,EAAEY,OAAEwF,KAAK,EAAE,KAAKvG,EAAE,CAACsG,SAAS,CAAC,IAAInG,OAAE,QAAQ,EAAEY,OAAEwF,KAAK,EAAE,GAAG,IAAIpG,OAAE,QAAQ,EAAEY,OAAEwF,KAAK,EAAE,KAAK9D,EAAE,CAAC6D,SAAS,CAAC,IAAInG,OAAE,QAAQ,EAAEY,OAAEyF,eAAe,EAAE,M,+JCA0L,MAAM/D,UAAUP,OAAEgB,cAAcC,SAASC,WAAW7B,KAAKkF,MAAM,CAACC,IAAI,CAACC,OAAO,aAAaC,OAAO,aAAazF,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,MAAMyF,QAAQ,CAACF,OAAO,iBAAiBC,OAAO,iBAAiBzF,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,MAAM0F,UAAU,CAACH,OAAO,mBAAmBC,OAAO,mBAAmBzF,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,OAAOG,KAAKwF,sBAAsB,IAAI3F,IAAI4F,UAAUzF,KAAK0F,OAAO1F,KAAK0F,MAAMD,UAAUE,cAAcC,QAAQpG,GAAGf,GAAGe,EAAEqG,oBAAmB,GAAIrG,EAAEsG,yBAAyB9G,OAAE+G,IAAI/G,OAAEgH,oBAAoBhH,OAAE+G,IAAI/G,OAAEgH,qBAAqBxG,EAAEyG,cAAa,GAAG,GAAG,GAAG,GAAIzG,EAAE0G,oBAAoB,GAAG1G,EAAE2G,uBAAsB,GAAI3G,EAAE4G,mBAAmBtG,OAAEuG,MAAM5H,EAAE6H,WAAW,KAAKC,KAAK/G,EAAED,GAAE,MAAC,IAAId,eAAEc,IAAIA,EAAEiH,UAAU,OAAO,MAAMC,SAAS9F,EAAEiF,QAAQ5G,EAAE0H,QAAQ5G,EAAE6G,cAAc/H,GAAGY,EAAEmB,EAAEiG,MAAM5G,KAAKyE,MAAM,MAAMxF,IAAE,SAACD,EAAE6H,aAAaC,eAAf,EAA6BC,oBAAmBxH,EAAEyH,cAAcxH,GAAG,MAAMN,EAAEc,KAAKiH,qBAAqB1H,EAAEN,GAAGwC,EAAE3B,EAAEoH,gBAAgBC,WAAWnH,KAAKkF,MAAM3F,EAAE6H,qBAAqBC,MAAMnI,GAAGc,KAAKsH,iBAAiBtI,EAAEyC,EAAElC,EAAEX,GAAG+B,EAAE4G,IAAIvH,KAAKyE,MAAM6C,iBAAiB7I,EAAEkC,EAAE3B,EAAEc,EAAE4B,EAAE,EAAER,EAAE,CAAC,EAAE,GAAGsG,GAAE,GAAI,GAAGxH,KAAK0F,QAAQ1F,KAAK0F,MAAM,IAAInG,OAAEd,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKe,eAAEM,KAAKa,EAAE8G,WAAW,YAAY3H,IAAI,MAAMsH,qBAAqBM,EAAEC,cAAcrI,EAAEyB,MAAM6G,EAAE5G,OAAO5B,EAAEyI,QAAQC,GAAG9I,EAAE+I,EAAEL,EAAEL,KAAK5I,EAAEuJ,WAAWrH,GAAG,MAAMM,EAAEjB,KAAKiH,qBAAqBjI,GAAGmC,EAAEnB,KAAKiI,iBAAiBF,EAAEtJ,EAAEkC,EAAEM,IAAIiH,MAAM/I,EAAEgJ,SAASC,GAAGpJ,EAAEqJ,cAAczJ,eAAEH,EAAEkC,EAAExB,EAAEiJ,GAAG,MAAME,EAAE/G,eAAEG,EAAER,GAAGqH,EAAEtJ,eAAEK,EAAE,CAACsI,EAAExI,GAAG,CAACJ,EAAEwJ,OAAOzH,MAAM/B,EAAEwJ,OAAOxH,QAAQ8G,EAAEN,GAAG,GAAGtI,eAAEyB,EAAEQ,EAAE,CAACsH,aAAazJ,EAAE0J,WAAWC,UAAU3J,EAAE4J,WAAWC,OAAOP,KAAKC,IAAIb,EAAEoB,SAAS,CAAC,MAAMA,SAAStJ,EAAEuJ,eAAetK,GAAGiJ,EAAEnI,EAAEkC,eAAEjC,EAAEf,GAAGS,eAAEyB,EAAEQ,EAAE5B,GAAG,GAAG,YAAYmI,EAAEL,KAAK,CAAC,MAAM7H,EAAEX,eAAE6I,GAAGxI,eAAEyB,EAAEQ,EAAE3B,QAAQ,GAAG,cAAckI,EAAEL,KAAK,CAAC,MAAM7H,EAAEU,eAAEwH,GAAGxI,eAAEyB,EAAEQ,EAAE3B,GAAGQ,KAAK0F,MAAMa,OAAO0B,iBAAiBzI,EAAEf,EAAEc,EAAEoB,GAAG,MAAM3B,EAAE2B,EAAEqI,OAAO,EAAExJ,EAAE,IAAImB,EAAEsI,KAAK,KAAKzJ,EAAE,GAAGQ,KAAKwF,sBAAsB0D,IAAIlK,GAAG,OAAOgB,KAAKwF,sBAAsB2D,IAAInK,GAAG,MAAMc,EAAE4B,eAAEjD,EAAEc,GAAG,OAAOS,KAAKwF,sBAAsB4D,IAAIpK,EAAEc,GAAGA,EAAEmH,qBAAqBzH,EAAEf,GAAE,GAAI,MAAMc,EAAE,IAAI8J,cAAc1I,GAAGnB,GAAG6H,KAAKrI,EAAE8J,SAAShJ,GAAGN,EAAE4H,qBAAqB,MAAM,UAAUzG,EAAEpB,EAAE+J,KAAK,WAAW,aAAa3I,GAAG,YAAY3B,GAAG,MAAMc,GAAGP,EAAE+J,KAAK,YAAY/J,EAAE+J,KAAK,WAAW7K,GAAG,aAAakC,GAAGpB,EAAE+J,KAAK,YAAY9J,EAAE+J,mBAAmBhK,EAAE+J,KAAK,QAAQxJ,GAAGP,EAAE+J,KAAK,iBAAiB9J,EAAEmI,gBAAgBpI,EAAE+J,KAAK,mBAAmB,IAAI9J,EAAEmI,cAAc6B,QAAQ,IAAIjK,EAAE+J,KAAK,qBAAqB/J,G,4BCA3iF,MAAMX,EAAE,CAAC6K,QAAQ,CAACC,QAAQ,GAAGC,aAAa1K,OAAE2K,QAAQC,MAAK,GAAIC,SAAS,CAACJ,QAAQ,GAAGC,aAAa1K,OAAE8K,OAAOF,MAAK,GAAIG,QAAQ,CAACN,QAAQ,CAAC,WAAWC,aAAa1K,OAAE8K,OAAOF,MAAK,GAAII,UAAU,CAACP,QAAQ,GAAGC,aAAa1K,OAAEiL,qBAAqBL,MAAK,IAAKnI,EAAE,CAAClC,EAAEf,EAAEqB,KAAK,GAAG,YAAYA,EAAE6J,aAAa,CAAC,MAAMQ,MAAMrK,GAAGN,EAAEmB,EAAElC,EAAEmF,WAAWnF,EAAE2L,WAAWtK,EAAE8D,WAAW3E,EAAEP,KAAKuF,MAAMzE,EAAE4K,cAAc5K,EAAE4K,WAAW7K,EAAEoB,EAAE,MAAMA,EAAE,IAAI,OAAOb,EAAEuK,UAAU9K,GAAGN,GAAGR,EAAE6L,gBAAgB7L,EAAE4L,SAASzL,EAAEkL,SAASlL,EAAE6K,QAAQ,OAAO7K,EAAEkB,EAAE6J,eAAe,MAAMzI,UAAUP,OAAEgB,cAAcC,SAASC,WAAW7B,KAAKkF,MAAM,CAACE,OAAO,gBAAgBC,OAAO,gBAAgBzF,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,MAAM4F,UAAUzF,KAAK0F,OAAO1F,KAAK0F,MAAMD,UAAUE,cAAcC,QAAQpG,GAAGf,GAAGe,EAAEqG,oBAAmB,GAAI,aAAapH,EAAE6F,cAAc9E,EAAEsG,yBAAyBvG,OAAEwG,IAAIxG,OAAEwG,IAAIxG,OAAEwG,IAAIxG,OAAEwG,KAAKvG,EAAEsG,yBAAyBvG,OAAEwG,IAAIxG,OAAEyG,oBAAoBzG,OAAEwG,IAAIxG,OAAEyG,qBAAqBxG,EAAEyG,cAAa,GAAG,GAAG,GAAG,GAAIzG,EAAE0G,oBAAoB,GAAG1G,EAAE2G,uBAAsB,GAAI3G,EAAE4G,mBAAmBpH,OAAEqH,MAAM5H,EAAE6H,WAAW,KAAKC,KAAK5F,EAAE1B,GAAG,MAAM2G,QAAQrG,EAAEgL,iBAAiBvL,EAAE0H,QAAQ9H,EAAE+H,cAAczF,GAAGP,EAAE,IAAI1B,EAAEuJ,OAAO,OAAO,MAAM3J,EAAE6C,EAAEf,EAAE1B,EAAED,GAAGyC,EAAE7C,EAAEsI,gBAAgBC,WAAWnH,KAAKkF,MAAMrG,EAAE6K,SAAS,GAAGlK,eAAE0B,KAAKO,EAAEgG,WAAW,YAAYvG,IAAIP,EAAE8F,SAASG,MAAM5G,KAAKyE,MAAMzE,KAAK0F,QAAQ1F,KAAK0F,MAAM,IAAI5F,OAAEP,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,MAAMmJ,WAAWxI,EAAEsK,gBAAgBjJ,EAAEqH,WAAWpB,GAAGvI,EAAEA,EAAEwL,mBAAmB5L,GAAGI,EAAEyD,KAAK/B,EAAEiF,QAAQnH,QAAGc,EAAEyI,WAAWvG,GAAGA,EAAEiJ,oBAAoB,YAAYlD,EAAEqB,KAAKpH,EAAEkJ,aAAa,YAAYlM,QAAGgD,EAAEmJ,cAAc,eAAe1K,GAAGuB,EAAEoJ,aAAa,YAAYtJ,GAAGvB,KAAK0F,MAAMa,OAAO5F,EAAE8F,SAASc,IAAIvH,KAAKyE,O,oDCA15C,MAAM5F,EAAE,IAAI8B,eAAE,OAAO,CAACoE,SAAS,CAAC,CAAC+F,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAKpI,OAAE+L,UAAU,MAAMxD,UAAU5I,OAAE+C,cAAcC,SAASC,WAAW7B,KAAKiL,OAAOzL,eAAE,EAAE,EAAE,EAAE,GAAGiG,UAAUzF,KAAKkL,UAAUlL,KAAKkL,SAASzF,UAAUE,cAAcC,QAAQrG,IAAIA,EAAE4G,uBAAsB,GAAI5G,EAAEsG,oBAAmB,GAAItG,EAAE4L,uBAAsB,GAAI5L,EAAE0G,cAAa,GAAG,GAAG,GAAG,GAAI1G,EAAE6L,aAAapM,OAAEqM,KAAKrM,OAAEqM,KAAKrM,OAAEsM,SAAS/L,EAAE2G,oBAAoB,KAAK3G,EAAE6G,mBAAmBlF,OAAEqK,OAAO,EAAE,KAAKhF,KAAK/G,EAAEmB,GAAG,MAAMiF,QAAQhH,EAAEuL,MAAMnL,EAAE2H,cAAczF,GAAG1B,EAAEgI,EAAE3I,IAAI6C,EAAEf,EAAE6K,OAAO5M,EAAEI,EAAEwI,EAAE5H,WAAW4H,EAAEiE,eAAelM,eAAEmC,EAAEgK,eAAe1L,KAAKkL,WAAWlL,KAAKkL,SAASzJ,eAAE7C,EAAEkB,UAAKrB,eAAEyC,IAAIlB,KAAKkL,SAASzD,YAAY7I,EAAEoJ,WAAWhI,KAAKkL,UAAUlL,KAAKkL,SAASN,cAAc,gBAAgB,CAAC,EAAE,IAAI5K,KAAKkL,SAASS,cAAc,UAAU3L,KAAKiL,QAAQjL,KAAKkL,SAASR,oBAAoB,YAAY1L,EAAE4M,aAAahN,EAAEiN,QAAQnK,GAAG9C,EAAEkN,aAAa5L,OAAE6L,UAAUrK,EAAEgK,YAAYM,KAAK/M,OAAEgN,aAAa,GAAGrN,EAAEiN,WAAW3K,MCAtiC,MAAMK,EAAE,IAAIhC,eAAE,UAAU,CAACwF,SAAS,CAAC,CAAC+F,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAKrI,OAAEkN,QAAQC,IAAI,CAAC,CAACrB,SAAS,EAAErG,KAAK,OAAOsG,MAAM,EAAE1D,KAAKrI,OAAEiG,mBAAmB,MAAM/D,UAAUP,OAAEgB,cAAcC,SAASC,WAAW7B,KAAKkF,MAAM,CAACE,OAAO,kBAAkBC,OAAO,kBAAkBzF,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,OAAO,MAAM4F,WAAWE,cAAcC,QAAQpG,IAAIA,EAAEqG,oBAAmB,GAAIrG,EAAEyG,cAAa,GAAG,GAAG,GAAG,GAAIzG,EAAEsG,yBAAyBlH,OAAEmH,IAAInH,OAAEoH,oBAAoBpH,OAAEmH,IAAInH,OAAEoH,qBAAqBxG,EAAE0G,oBAAoB,GAAG1G,EAAE2G,uBAAsB,GAAI3G,EAAE4G,mBAAmBnH,OAAEmN,QAAQ,IAAI,KAAK7F,KAAKhH,EAAEoB,GAAG,MAAMiF,QAAQhH,EAAE8H,QAAQzH,EAAE0H,cAAc3H,GAAGO,EAAE,IAAIoB,EAAE0L,QAAQ,OAAO,MAAM7B,gBAAgBtJ,EAAEoL,QAAQzN,EAAE0N,aAAa7K,EAAE8K,QAAQ/K,GAAGd,EAAEpB,EAAEkH,SAASG,MAAM5G,KAAKyE,MAAM,MAAMvE,EAAEjB,EAAEiI,gBAAgBC,WAAWnH,KAAKkF,OAAO,GAAG1F,eAAER,KAAKkB,EAAEuH,WAAW,YAAYzI,IAAI,MAAMwI,EAAEjG,IAAImG,EAAE/G,EAAE6K,OAAO5M,EAAE4I,EAAEiE,cAAcjE,EAAE5H,YAAY,IAAI8H,EAAE,OAAO9I,EAAEiN,QAAQnE,GAAG9I,EAAEoJ,WAAW9H,GAAGtB,EAAE6N,YAAYhL,EAAEhD,QAAGyB,EAAEwK,oBAAoB,YAAY7L,GAAGqB,EAAEyK,aAAa,YAAYlM,QAAGyB,EAAE2K,aAAa,YAAY3J,GAAG,MAAMC,EAAEO,EAAE,GAAG,EAAE9C,EAAE8N,WAAW5M,OAAE6M,eAAe,EAAExL,GAAGvC,EAAEiN,UAAUtM,EAAEkH,SAASc,IAAIvH,KAAKyE,O,wCCAl4B,MAAMvE,UAAUqB,OAAEI,cAAcC,SAASC,WAAW7B,KAAK4M,aAAa,IAAI/M,IAAI8F,cAAcC,QAAQnH,GAAGe,EAAEM,GAAGA,GAAGA,EAAE+M,SAAS,WAAWpO,EAAEqH,yBAAyB0B,OAAEzB,IAAIyB,OAAEzB,IAAIyB,OAAEzB,IAAIyB,OAAEzB,KAAKtH,EAAEqH,yBAAyB0B,OAAEzB,IAAIyB,OAAExB,oBAAoBwB,OAAEzB,IAAIyB,OAAExB,qBAAqBvH,EAAEoH,oBAAmB,GAAIpH,EAAEwH,cAAa,GAAG,GAAG,GAAG,GAAIxH,EAAEyH,oBAAoB,GAAGzH,EAAE0H,uBAAsB,GAAI1H,EAAE2H,mBAAmB3E,OAAE4E,MAAM7G,EAAE8G,WAAW,KAAKC,KAAK/G,EAAEM,EAAEa,GAAG,MAAM/B,EAAEoB,KAAK8M,kBAAkBhN,EAAEiN,OAAOvN,GAAG,MAAMR,EAAEc,EAAEkN,YAAYpO,GAAGH,eAAEO,KAAKQ,EAAEiH,SAASG,MAAM5G,KAAKyE,MAAMjF,EAAEyN,cAAcC,aAAa1N,EAAEoG,SAAS5G,EAAEmO,eAAgB1O,IAAI,MAAMG,EAAEwO,OAAEC,KAAK5O,EAAE6O,aAAaC,cAAcvN,KAAKwN,kBAAkB5O,IAAIoB,KAAKyN,aAAajO,EAAEM,EAAErB,EAAEkC,MAAO+M,mBAAmBjP,EAAE8C,EAAE6L,GAAG,MAAMO,aAAanG,EAAE4C,WAAW3I,EAAE0I,MAAMjK,EAAE0N,YAAY/O,GAAG0C,EAAE/B,eAAEX,IAAI,YAAYA,EAAEwI,OAAO5I,EAAEmM,cAAc,eAAe/L,EAAEgP,UAAUpP,EAAEoM,aAAa,gBAAgBhM,EAAEiP,WAAWrP,EAAEoM,aAAa,eAAepJ,GAAGhD,EAAEiM,oBAAoB,aAAa0C,EAAExE,WAAWmF,UAAUtP,EAAEiM,oBAAoB,aAAaxK,EAAE8N,UAAUvP,EAAEiM,oBAAoB,YAAY0C,EAAExE,WAAWC,KAAKpK,EAAEiM,oBAAoB,oBAAoBxK,EAAE+N,iBAAiBxP,EAAEoM,aAAa,gBAAgBnM,KAAKuF,MAAMuD,EAAE1H,SAAIrB,EAAEkM,aAAa,yBAAyBpJ,EAAE0L,cAAcjB,MAAMvN,EAAEkM,aAAa,mBAAmBhK,QAAGlC,EAAEkM,aAAa,mBAAmB/L,QAAGH,EAAEkM,aAAa,mBAAmB3L,QAAGP,EAAEkM,aAAa,mBAAmBpL,QAAGd,EAAEkM,aAAa,mBAAmB1L,QAAGR,EAAEkM,aAAa,mBAAmBzJ,QAAGgN,mBAAmBzP,EAAEe,EAAEM,EAAEa,GAAG,GAAGlC,EAAE0P,mBAAmB3O,EAAEmM,cAAc,sBAAsB7L,EAAEqO,mBAAmB1P,EAAE2P,kBAAkB5O,EAAEqL,aAAa,0BAA0B/K,EAAEuO,uBAAuB5P,EAAE6P,iBAAiB,CAAC,MAAM7P,EAAEqB,EAAEyO,oBAAoB5N,EAAE6N,IAAIC,OAAOjP,EAAEkP,cAAc,2BAA2BjQ,EAAEkQ,QAAQnP,EAAEkP,cAAc,0BAA0BjQ,EAAEmQ,OAAOnQ,EAAEoQ,iBAAiBrP,EAAEqL,aAAa,sCAAsC/K,EAAEgP,8BAA8BC,8BAA8BtQ,EAAEe,EAAEM,GAAGrB,EAAEuQ,UAAUxP,EAAEkP,cAAc,kBAAkB5O,EAAEmP,eAAezP,EAAEmM,cAAc,aAAa7L,EAAEoP,WAAWzQ,EAAE0Q,YAAY3P,EAAEkP,cAAc,oBAAoB5O,EAAEsP,iBAAiB5P,EAAEkP,cAAc,gBAAgB5O,EAAEuP,cAAcC,uBAAuB7Q,EAAEe,EAAEM,GAAGrB,EAAE8Q,YAAY/P,EAAEqL,aAAa,mBAAmB,eAAe/K,EAAE0P,qBAAqBC,eAAe,EAAE,GAAGC,iBAAiBjR,EAAEe,EAAEM,EAAE,CAAC,UAAU,MAAMa,EAAEnB,EAAEiM,cAAc1G,SAASnG,EAAEkB,EAAE6P,IAAKlR,GAAGkC,EAAEiP,UAAWpQ,GAAGA,EAAEiF,OAAOhG,IAAMO,EAAG,GAAEP,KAAKG,EAAEqK,KAAK,OAAO,IAAI1J,EAAES,KAAK4M,aAAazD,IAAInK,GAAG,IAAIO,EAAE,CAAC,MAAMd,EAAEe,EAAEqQ,QAAQ/P,EAAEN,EAAEqQ,QAAQ9K,SAAS9F,EAAE,IAAIY,IAAIL,EAAEI,YAAYsB,EAAEP,EAAEgP,IAAKlR,IAAC,IAAOA,KAAM8C,EAAE7C,KAAKoR,OAAOtQ,EAAEI,WAAW+O,UAAUvB,EAAE,CAACrI,SAAS7D,GAAG,IAAIsG,EAAE,EAAE,IAAI,MAAMhI,KAAKZ,EAAE,CAAC,MAAMH,EAAEkC,EAAEnB,GAAG4N,EAAErI,SAASuE,KAAK,CAACyB,MAAMtM,EAAEsM,MAAMtG,KAAKhG,EAAEgG,KAAK,IAAIsL,QAAQtR,EAAEsR,QAAQC,WAAWvR,EAAEuR,WAAWC,OAAOnQ,EAAErB,EAAEwR,OAAOC,OAAOpQ,EAAEuH,KAAK5I,EAAE4I,OAAO+F,EAAErI,SAASuE,KAAK,CAACyB,MAAMtM,EAAEsM,MAAMtG,KAAKhG,EAAEgG,KAAK,IAAIsL,QAAQtR,EAAEsR,QAAQC,WAAWvR,EAAEuR,WAAWC,OAAO,EAAEnQ,EAAErB,EAAEwR,OAAOC,OAAOpQ,EAAEuH,KAAK5I,EAAE4I,OAAOpI,EAAEmK,IAAI3K,EAAEgG,KAAK,IAAIlD,KAAKiG,GAAGvI,EAAEmK,IAAI3K,EAAEgG,KAAK,IAAIlD,KAAKiG,GAAGjI,EAAE,CAACkM,cAAc2B,EAAExN,WAAWX,EAAE4Q,QAAQpR,GAAGuB,KAAK4M,aAAaxD,IAAIpK,EAAEO,GAAG,OAAOA,G,gBCA9mG,SAASgC,EAAE/B,GAAG,MAAMf,EAAE,CAACsG,SAAS,CAAC,CAAC+F,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAK5F,OAAEuJ,OAAO,CAACF,SAAS,EAAErG,KAAK,OAAOsG,MAAM,EAAE1D,KAAK5F,OAAE0O,eAAe,CAACrF,SAAS,EAAErG,KAAK,WAAWsG,MAAM,EAAE1D,KAAK5F,OAAE0O,eAAe,CAACrF,SAAS,EAAErG,KAAK,UAAUsG,MAAM,EAAE1D,KAAK5F,OAAE0O,cAAcH,YAAW,GAAI,CAAClF,SAAS,EAAErG,KAAK,SAASsG,MAAM,EAAE1D,KAAK5F,OAAEwD,gBAAgB,CAAC6F,SAAS,EAAErG,KAAK,SAASsG,MAAM,EAAE1D,KAAK5F,OAAEuJ,OAAO,CAACF,SAAS,EAAErG,KAAK,SAASsG,MAAM,EAAE1D,KAAK5F,OAAE0O,eAAe,CAACrF,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAK5F,OAAEwD,kBAAkB,OAAOzF,EAAE+N,eAAe,KAAKhO,OAAE6Q,OAAO,KAAK7Q,OAAE8Q,oBAAoB5R,EAAEsG,SAASuL,OAAO,EAAE,GAAG7R,EAAEsG,SAASuL,OAAO,EAAE,GAAG,MAAM,CAACC,OAAO,iBAAiBC,aAAa/R,GAAG,MAAMI,UAAUiB,EAAE2F,WAAWqH,kBAAkB,OAAOlO,OAAE6R,KAAKjD,kBAAkBhO,GAAG,OAAOA,IAAID,OAAEmR,YAAYjD,aAAa7O,EAAEW,EAAEO,EAAE2B,GAAG,MAAMmE,QAAQ/G,EAAE6H,QAAQvF,EAAEwP,aAAazQ,EAAE0Q,cAAclJ,EAAEkG,YAAYpG,EAAEb,cAAcjF,GAAG9C,EAAEiS,EAAE5R,OAAEoO,KAAKvN,EAAEwN,aAAaxF,EAAEnH,eAAEkQ,EAAEC,MAAMxR,EAAEE,eAAEgI,IAAI,YAAYA,EAAEH,KAAKvI,EAAEqC,EAAE+F,iBAAiBqJ,OAAOQ,EAAEP,aAAajI,EAAEyI,kBAAkB5I,GAAG3J,eAAEqJ,EAAEmJ,YAAY1P,EAAEsP,IAAI,IAAI5P,EAAEC,OAAE6K,UAAUmF,EAAElS,eAAE6R,EAAEC,KAAKvI,GAAGjJ,IAAI4R,EAAElR,KAAK0P,iBAAiB5P,EAAEwN,YAAY4D,EAAE9I,GAAGnH,EAAEC,OAAEiQ,QAAQ,MAAMvR,WAAWV,EAAEuM,cAAc2F,GAAGF,EAAEG,EAAEvS,EAAEwS,mBAAmB1S,EAAEiS,EAAEE,EAAE7R,EAAEuC,GAAG,GAAGjC,eAAEkC,KAAKpC,IAAI+R,EAAE5J,WAAW,YAAY/F,IAAI,GAAG7C,EAAEmJ,WAAWqJ,GAAGrR,KAAK0N,mBAAmB2D,EAAEzS,EAAEW,GAAG8R,EAAEE,aAAa,eAAe,IAAIhS,EAAEiP,IAAIgD,IAAI,IAAIjS,EAAEiP,IAAIiD,KAAKZ,EAAEa,eAAe,CAACvQ,EAAEwQ,eAAezE,aAAarO,EAAEwS,EAAER,GAAG,MAAMrR,EAAE,EAAE,IAAIkI,EAAEnI,EAAEiP,IAAIC,OAAO4C,EAAExG,aAAa,eAAerL,GAAG,MAAMoI,EAAE,EAAEhJ,EAAEwL,WAAWiH,EAAExG,aAAa,SAASjD,GAAGyJ,EAAExG,aAAa,iBAAiBjD,GAAG5H,KAAKkO,mBAAmB2C,EAAEQ,EAAEnR,EAAEX,GAAGS,KAAK+O,8BAA8B8B,EAAEQ,EAAEnR,GAAG,MAAM0R,EAAE9R,EAAE8E,OAAO4G,OAAO3M,EAAEuS,EAAElS,EAAEI,GAAG,IAAIuS,EAAE/R,EAAEgS,WAAWxJ,EAAExI,EAAEiS,UAAUC,YAAYC,kBAAkB3S,IAAIuS,GAAG,EAAEvJ,GAAG,GAAGzJ,EAAEgN,QAAQ+F,GAAG5R,KAAKkS,WAAWtT,EAAEW,EAAE8R,EAAEpQ,EAAE4Q,EAAEvJ,GAAG4J,WAAW1S,EAAEf,EAAEG,EAAEW,EAAEP,EAAEc,GAAGN,EAAEoG,QAAQkG,aAAavM,EAAEP,EAAEyC,OAAEwK,aAAanM,I,iECAjvC,MAAMuR,UAAU5P,EAAEE,cAAcC,SAASC,WAAW7B,KAAKmS,gBAAgB,EAAEnS,KAAKoS,aAAa,KAAKpS,KAAKqS,aAAa,IAAIC,WAAW,CAAC3R,OAAEb,SAAIE,KAAKuS,QAAQ,KAAKvS,KAAKwS,SAAS,CAACpN,OAAO,UAAUC,OAAO,UAAUzF,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,MAAM4F,UAAU7D,MAAM6D,UAAUzF,KAAKyS,mBAAmBzS,KAAK0S,QAAQlT,eAAEQ,KAAK0S,SAAS1S,KAAKuS,QAAQ/S,eAAEQ,KAAKuS,SAASzF,kBAAkB,OAAOpL,OAAE+O,KAAKjD,kBAAkBhO,GAAG,OAAOA,IAAIR,OAAE0R,YAAYwB,WAAW1S,EAAEZ,EAAEW,EAAEoB,EAAEb,EAAEb,GAAG,MAAM2O,YAAYlM,GAAGlC,EAAE,GAAGf,eAAEiD,IAAI,YAAYA,EAAE2F,KAAKzF,MAAMsQ,WAAW1S,EAAEZ,EAAEW,EAAEoB,EAAEb,EAAEb,OAAO,CAAC,MAAMR,EAAEuB,KAAK2S,kBAAkBnT,EAAEZ,EAAEW,EAAEO,EAAEb,GAAGe,KAAK4S,gBAAgBpT,EAAEZ,EAAEH,IAAImU,gBAAgBpT,EAAEZ,EAAEW,GAAG,MAAMqG,QAAQjF,EAAE+F,QAAQ5G,EAAE6Q,aAAa1R,EAAE0H,cAAcjF,GAAGlC,EAAER,EAAEc,EAAEoH,gBAAgBC,WAAWnH,KAAKwS,UAAU,GAAG/T,eAAEiD,KAAK1C,EAAEyI,WAAW,YAAY/F,IAAI,MAAMmR,eAAepR,GAAGxC,EAAEyI,eAAEjG,EAAE,eAAe,MAAMF,EAAEvB,KAAK8S,sBAAsBnS,EAAEX,KAAKwS,SAAS5S,WAAW,CAACmF,SAAS,CAAC,CAACN,KAAK,QAAQsG,MAAM,EAAE1D,KAAKnG,OAAE8J,MAAM+E,QAAQ,EAAEC,YAAW,EAAGC,OAAO,EAAEC,OAAO,MAAMvP,EAAEwF,uBAAsB,GAAIxF,EAAEqH,WAAWhJ,GAAGA,EAAE6L,aAAa,mBAAmB,GAAG7L,EAAE2L,aAAa,YAAY3K,KAAKqS,aAAa,IAAIrT,EAAE6L,aAAa,YAAYnM,KAAKoR,IAAIrO,EAAEsR,QAAQ,IAAI/T,EAAE6L,aAAa,eAAemI,OAAOC,kBAAkBjT,KAAK0N,mBAAmB1O,EAAEQ,EAAEZ,GAAG+B,EAAE8L,YAAYlN,EAAES,KAAKqS,aAAa,IAAI1R,EAAEkL,QAAQtK,GAAGZ,EAAE+L,WAAWxN,OAAEiS,OAAO,EAAE,QAAQwB,kBAAkBnT,EAAEf,EAAEG,EAAEW,EAAEoB,GAAG,MAAMiF,QAAQ9F,EAAE6Q,aAAajP,EAAEkP,cAAc5R,GAAGQ,EAAEiC,EAAE3B,EAAEoT,eAAeL,eAAetR,GAAGG,EAAEgG,eAAEnG,EAAE,eAAe,MAAM4R,SAAStU,EAAEuU,OAAO5L,EAAE6L,WAAWtC,EAAEuC,gBAAgBpT,EAAEqT,SAAStS,GAAGM,EAAEzB,EAAE0T,YAAY,EAAE,EAAE,IAAI,KAAK,MAAMzL,EAAEjI,EAAE2T,4BAA4B7B,EAAE5R,KAAK0T,WAAW5T,GAAGA,EAAE6T,gBAAgB/B,GAAG9R,EAAE8T,cAAc,EAAE,EAAE,EAAE,GAAG9T,EAAE+T,MAAM/T,EAAEgU,GAAGC,iBAAiBjU,EAAEgU,GAAGE,oBAAoBlU,EAAEqG,uBAAsB,GAAI,MAAM7G,EAAE,EAAE,IAAIN,EAAEP,EAAE+P,IAAIC,OAAOtN,EAAElC,OAAE6I,EAAE3G,EAAE6R,OAAOC,iBAAiB9R,EAAE6R,OAAOC,iBAAiBpC,EAAE,EAAEvR,GAAG,EAAEA,GAAGsI,EAAE/I,EAAEW,EAAE2K,MAAM8J,MAAMpV,EAAE,EAAE,OAAOD,EAAEiM,aAAa,mBAAmBvL,GAAGV,EAAEiM,aAAa,qBAAqB/C,GAAG7I,OAAE+T,OAAOC,iBAAiBhU,OAAE+T,OAAOC,mBAAmBrU,EAAEsV,oBAAoB,cAAc1M,GAAG5I,EAAE+M,cAAc,aAAaoF,GAAGnS,EAAE+M,cAAc,uBAAuBzL,GAAGtB,EAAEiM,aAAa,aAAanM,KAAKoR,IAAI,EAAE7O,EAAE2G,EAAEiJ,IAAI7Q,KAAKmU,wBAAwBrU,EAAElB,EAAE8C,EAAEP,GAAGrB,EAAEgM,aAAa5M,OAAE6M,UAAUxM,EAAE2B,OAAE+K,aAAatL,GAAGb,EAAE0T,YAAY/R,EAAER,EAAEQ,EAAEN,EAAEM,EAAEV,MAAMU,EAAET,QAAQlB,EAAE6T,gBAAgB5L,GAAG6J,EAAEwC,aAAaV,WAAWlU,GAAG,GAAGZ,eAAEoB,KAAK0S,SAAS,CAAC,MAAMjU,EAAE,IAAIG,EAAE,IAAIW,EAAE,CAACqF,OAAO/F,OAAEwV,WAAWC,YAAY9M,OAAE+M,KAAKC,SAASzD,OAAEZ,cAAcxG,aAAazJ,OAAE0J,QAAQ6K,SAASxT,OAAEyT,cAAc3T,MAAMtC,EAAEuC,OAAOpC,GAAG+B,EAAE,CAACgU,YAAY5M,OAAE6M,QAAQC,mBAAmBjD,OAAEkD,6BAA6BhV,EAAE,IAAI+Q,OAAErR,EAAE,CAACuB,MAAMtC,EAAEuC,OAAOpC,EAAEmW,eAAezV,OAAE0V,gBAAgBhV,KAAK0S,QAAQ,IAAI5K,OAAEtI,EAAEmB,EAAEpB,EAAEO,GAAG,OAAOE,KAAK0S,QAAQD,mBAAmB,GAAGzS,KAAKoS,aAAa,CAAC,IAAI,IAAI5S,EAAE,EAAEA,EAAEQ,KAAKoS,aAAapJ,OAAOxJ,IAAIQ,KAAKoS,aAAa5S,GAAGiG,UAAUzF,KAAKoS,aAAa,MAAM+B,wBAAwB3U,EAAEf,EAAEG,EAAEW,GAAG,MAAMsT,eAAelS,GAAG/B,EAAE8I,eAAE/G,EAAE,eAAe,MAAMb,EAAEE,KAAKiV,0BAA0BzV,EAAED,EAAEoB,EAAEuU,MAAMzW,EAAE0W,cAAc,gBAAgBnV,KAAKqS,cAAc,IAAI,IAAIpT,EAAE,EAAEA,EAAEa,EAAEkJ,OAAO/J,IAAIO,EAAEiN,YAAY3M,EAAEb,GAAGe,KAAKqS,aAAapT,IAAI6T,sBAAsBtT,EAAEf,EAAEc,GAAG,GAAGX,eAAEoB,KAAKuS,SAAS,CAAC,MAAM3T,EAAE,EAAE+B,EAAE,IAAIyU,WAAW,OAAOxW,GAAG,IAAI,IAAIY,EAAE,EAAEA,EAAE,IAAIA,IAAI,IAAI,IAAIf,EAAE,EAAEA,EAAE,IAAIA,IAAIkC,EAAE/B,GAAGH,EAAE,IAAIe,IAAIf,EAAEkC,EAAE/B,GAAGH,EAAE,IAAIe,GAAG,GAAGA,EAAE,MAAMM,EAAEyB,OAAE8T,aAAa7V,EAAE2B,OAAEmU,YAAY3U,GAAGX,KAAKuS,QAAQ,IAAIgD,OAAE/V,EAAEf,EAAEc,EAAE,CAACwF,SAASjF,GAAG,MAAM,OAAOE,KAAKuS,QAAQ0C,0BAA0BzV,EAAEf,EAAEG,GAAG,GAAGoB,KAAKmS,kBAAkB1T,GAAGuB,KAAKwV,QAAQ5W,IAAIoB,KAAKyS,mBAAmBzS,KAAKmS,gBAAgB1T,EAAEuB,KAAKwV,MAAM5W,GAAG,OAAOoB,KAAKoS,aAAa,CAAC,MAAMzR,EAAE,IAAIpB,OAAEX,GAAGoB,KAAKoS,aAAa,CAACpS,KAAKyV,wBAAwBjW,EAAEf,EAAEkC,GAAGX,KAAKyV,wBAAwBjW,EAAEf,EAAEkC,IAAI,OAAOX,KAAKoS,aAAaqD,wBAAwBjW,EAAEf,EAAEG,GAAG,MAAMW,EAAE,IAAImW,aAAajX,EAAEA,EAAE,GAAG,IAAI,IAAIkC,EAAE,EAAEA,EAAEpB,EAAEyJ,OAAOrI,IAAIpB,EAAEoB,GAAG/B,EAAE+W,WAAW,OAAO,IAAI/N,OAAEpI,EAAE,CAACiV,SAASxT,OAAE2U,OAAOtB,YAAY9M,OAAE+M,KAAKC,SAASzD,OAAE7E,MAAMvC,aAAazJ,OAAE0J,QAAQ7I,MAAMtC,EAAEuC,OAAOvC,GAAGc,I,gBCAh1I,MAAMgC,EAAE,CAACgP,OAAO,iBAAiBC,aAAa,CAACzL,SAAS,CAAC,CAAC+F,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAKnG,OAAE8J,OAAO,CAACF,SAAS,EAAErG,KAAK,iBAAiBsG,MAAM,EAAE1D,KAAKnG,OAAE8J,OAAO,CAACF,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAKnG,OAAE+D,gBAAgB,CAAC6F,SAAS,EAAErG,KAAK,uBAAuBsG,MAAM,EAAE1D,KAAKnG,OAAE+D,gBAAgB,CAAC6F,SAAS,EAAErG,KAAK,OAAOsG,MAAM,EAAE1D,KAAKnG,OAAEiP,eAAe,CAACrF,SAAS,EAAErG,KAAK,UAAUsG,MAAM,EAAE1D,KAAKnG,OAAEiP,cAAcH,YAAW,GAAI,CAAClF,SAAS,EAAErG,KAAK,iBAAiBsG,MAAM,EAAE1D,KAAKnG,OAAEiP,cAAcH,YAAW,GAAI,CAAClF,SAAS,EAAErG,KAAK,wBAAwBsG,MAAM,EAAE1D,KAAKnG,OAAEiP,eAAe,CAACrF,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAKnG,OAAE+D,kBAAkB+L,kBAAkB,CAAC,iBAAiB,gBAAgB,MAAMtP,UAAU5B,EAAE2F,WAAWqH,kBAAkB,OAAOlO,OAAEiX,OAAOrI,kBAAkB/O,GAAG,OAAOA,IAAIO,OAAE8W,SAASrX,IAAIO,OAAE+W,UAAUtI,aAAa7O,EAAEI,EAAEc,EAAEoB,GAAG,MAAM0E,QAAQlE,EAAEgF,QAAQ7H,EAAE8R,aAAazQ,EAAEiK,MAAMhJ,EAAEyM,YAAYlG,EAAEf,cAAca,GAAG5I,EAAEiS,EAAE5R,OAAEoO,KAAKvN,EAAEwN,aAAaxF,EAAEnH,eAAEkQ,EAAEC,MAAMhS,EAAEL,eAAEiJ,IAAI,YAAYA,EAAEL,MAAMkJ,OAAOQ,EAAEP,aAAalR,EAAE0R,kBAAkB/P,GAAGzB,eAAEsI,EAAEmJ,YAAY1P,GAAG,IAAIrC,EAAEuC,OAAEsK,UAAU8F,EAAEtS,eAAEsR,EAAEC,KAAKxR,GAAGR,IAAI+S,EAAE7R,KAAK0P,iBAAiB5P,EAAEwN,YAAYuE,EAAE5Q,GAAG/B,EAAEuC,OAAE0P,QAAQ,MAAMvR,WAAWwI,EAAEqD,cAAcuK,GAAGnE,EAAER,EAAExS,EAAEqI,gBAAgBoK,mBAAmB1S,EAAEiS,EAAEE,EAAE3I,EAAElH,GAAG,GAAGzC,eAAE+I,KAAK1I,IAAIuS,EAAE5J,WAAW,YAAYD,IAAI9F,EAAEsG,WAAWqJ,GAAGR,EAAEa,gBAAgB7S,EAAE8S,eAAezE,aAAaxL,EAAE2P,EAAER,GAAE,GAAI7Q,KAAK0N,mBAAmB2D,EAAEzS,EAAEI,GAAG,MAAMoS,EAAEP,EAAEtB,WAAWpO,EAAE8M,gBAAgB9M,EAAEyK,YAAYyF,EAAE3G,oBAAoB,gBAAgB0G,GAAGpR,KAAKkO,mBAAmB2C,EAAEQ,EAAEnR,EAAElB,GAAGgB,KAAK+O,8BAA8B8B,EAAEQ,EAAEnR,GAAGF,KAAKsP,uBAAuBuB,EAAEQ,EAAEnR,GAAG,MAAMqI,EAAEzI,EAAE8E,OAAO4G,OAAO9J,EAAEsU,EAAE5N,EAAEtJ,GAAG,IAAIK,EAAEW,EAAEgS,WAAWlK,EAAE9H,EAAEiS,UAAUC,YAAYC,kBAAkBnT,IAAIK,GAAG,EAAEyI,GAAG,GAAGlG,EAAEmK,QAAQtD,GAAGvI,KAAKiW,aAAarX,EAAEI,EAAEqS,EAAEnS,EAAEC,EAAEyI,EAAE9I,GAAG4C,EAAEmK,QAAQ,MAAMoK,aAAaxX,EAAEe,EAAEZ,EAAEI,EAAEO,EAAEO,EAAEb,GAAGR,EAAEmH,QAAQkG,aAAa9M,EAAEO,EAAE2B,OAAE+K,aAAanM,I,gBCArgD,MAAMmB,EAAEzB,OAAEgC,UAAU,sDAAsD+T,EAAE,CAACnQ,OAAO,yBAAyBC,OAAO,yBAAyBzF,WAAW,IAAIC,IAAI,CAAC,CAAC,aAAa,MAAM,MAAM+H,UAAUjH,EAAE6M,kBAAkBhO,GAAG,OAAOA,IAAIR,OAAE8W,QAAQrQ,UAAU7D,MAAM6D,UAAUzF,KAAKkW,yBAAyBzX,eAAEuB,KAAKkW,0BAA0BlW,KAAKmW,uBAAuB1X,eAAEuB,KAAKmW,wBAAwBnW,KAAKoW,wBAAwB3X,eAAEuB,KAAKoW,yBAAyBpW,KAAKqW,UAAU5X,eAAEuB,KAAKqW,WAAW5I,aAAajO,EAAEf,EAAEc,EAAEP,GAAG,MAAM0K,QAAQ5J,GAAGE,KAAKsW,oBAAoB9W,EAAEoG,SAAShE,MAAM6L,aAAajO,EAAEf,EAAEc,EAAEP,EAAE,IAAIA,KAAKc,GAAGA,GAAGmW,aAAazW,EAAEf,EAAEc,EAAEP,EAAEc,EAAEa,EAAE/B,GAAG,MAAMgH,QAAQrE,GAAG/B,EAAEiC,EAAEF,EAAEkS,4BAA4BvS,EAAEK,EAAE2R,cAAclT,KAAKuW,uBAAuB/W,EAAEf,EAAEc,EAAEX,GAAG2C,EAAEuK,aAAa9M,EAAEc,EAAEb,OAAEgN,aAAatL,GAAG/B,GAAGoB,KAAKwW,iBAAiBhX,EAAEf,EAAEgD,EAAEP,GAAGqV,uBAAuB/W,EAAEf,EAAEc,EAAEP,GAAG,MAAM4G,QAAQ9F,EAAE6Q,aAAahQ,EAAEwJ,MAAM5I,EAAEoM,aAAa1O,GAAGO,GAAGqT,eAAenR,GAAGf,EAAE/B,eAAE8C,EAAE,WAAW,MAAM+U,eAAevX,EAAEwX,OAAO7X,EAAE8X,cAAcnP,GAAG9F,EAAE1B,KAAK4W,eAAe9W,GAAGE,KAAK6W,iBAAiBnV,GAAG,MAAMgG,EAAE7I,GAAG,IAAIK,EAAEA,EAAEqC,EAAE0S,MAAM,GAAG,IAAIxV,EAAE+P,IAAIC,MAAMxP,GAAGM,EAAEsL,aAAa,WAAWnD,GAAG1I,IAAIc,EAAE6T,gBAAgB3T,KAAKmW,wBAAwB5W,EAAEsL,aAAa,kBAAkBrD,GAAG1H,EAAE0T,YAAY,EAAE,EAAExT,KAAKmW,uBAAuBpV,MAAMf,KAAKmW,uBAAuBnV,QAAQlB,EAAE+F,oBAAmB,GAAI/F,EAAEgX,iBAAiBrV,OAAEsE,IAAItE,OAAEsE,KAAKjG,EAAE8T,cAAc,EAAE,EAAE,EAAE,GAAG9T,EAAE+T,MAAM3S,OAAE6S,mBAAmByC,iBAAiBhX,EAAEf,EAAEc,EAAEP,GAAG,MAAM4G,QAAQ9F,EAAE4G,QAAQ/F,EAAEgQ,aAAapP,GAAG/B,GAAGqT,eAAe5T,GAAGsC,EAAE3C,eAAEK,EAAE,WAAW,MAAMyX,OAAOxV,EAAE6V,WAAWrV,EAAEsV,aAAa9X,GAAGD,GAAGyK,QAAQ7K,GAAGmB,KAAKsW,oBAAoBxW,GAAG0H,EAAE7G,EAAEuG,gBAAgBC,WAAWoO,EAAE1W,GAAGiB,EAAEkI,WAAWR,GAAGxH,KAAK0N,mBAAmBlG,EAAEhI,EAAEf,GAAGqB,EAAE6T,gBAAgBpU,GAAGO,EAAE0T,YAAY,EAAE,EAAExU,EAAE+B,MAAM/B,EAAEgC,QAAQlB,EAAEgX,iBAAiBrV,OAAEsE,IAAItE,OAAEuE,qBAAqBlG,EAAE2M,YAAYzM,KAAKkW,yBAAyB,GAAGpW,EAAE2M,YAAYzM,KAAKoW,wBAAwB,GAAG5O,EAAEmD,aAAa,YAAY,GAAGnD,EAAEmD,aAAa,aAAa,GAAGnD,EAAE+J,aAAa,0BAA0B7P,EAAE,EAAExC,GAAGsI,EAAEqD,aAAa,yBAAyB,GAAG3J,EAAEA,EAAExC,KAAKC,KAAKqB,KAAKqW,UAAU9P,OAAOqQ,eAAepX,GAAG,MAAMf,EAAEe,EAAE6H,OAAO9F,OAAE0V,QAAQzC,SAASjV,EAAEoK,aAAa3K,EAAEkY,YAAYvW,GAAGX,KAAKsW,oBAAoB9W,GAAG,MAAAQ,KAAKkW,2BAA2BlW,KAAKkW,yBAAyB,IAAInF,OAAEvR,EAAE,CAACoF,OAAOlD,OAAE2S,WAAWC,YAAY7V,EAAES,OAAEiY,IAAIjY,OAAEqV,KAAKQ,eAAetW,EAAEc,IAAIV,OAAEqN,MAAM1E,OAAE4P,KAAK5P,OAAE6P,KAAKnY,OAAEqV,KAAKC,SAASjV,EAAEoK,aAAa3K,EAAEyV,SAAS/M,OAAEgN,cAAc3T,MAAMrC,KAAKuF,MAAM,IAAItD,GAAGK,OAAOtC,KAAKuF,MAAM,IAAItD,MAAzQ,MAA+QX,KAAKmW,yBAAyBnW,KAAKmW,uBAAuB,IAAI7W,OAAEE,EAAE,GAAGQ,KAAKkW,2BAAzV,MAAoXlW,KAAKoW,0BAA0BpW,KAAKoW,wBAAwB,IAAIrF,OAAEvR,EAAE,CAACoF,OAAOlD,OAAE2S,WAAWC,YAAYpV,OAAEqV,KAAKC,SAAS3V,OAAEsR,cAAcxG,aAAazJ,OAAE6J,OAAO0K,SAAS/M,OAAEgN,iBAA1hB,MAA2iB1U,KAAKqW,YAAYrW,KAAKqW,UAAU,IAAIvW,OAAEN,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAKqX,iBAAiBrX,GAAG,MAAM8X,aAAa7Y,EAAE8Y,SAAShY,GAAGC,EAAEQ,KAAKwX,oBAAoB/Y,IAAIuB,KAAKoW,wBAAwBqB,OAAOlY,EAAEyJ,OAAO,EAAE,GAAGhJ,KAAKoW,wBAAwBsB,QAAQnY,GAAGS,KAAKwX,kBAAkB/Y,GAAG6X,oBAAoB9W,GAAG,GAAGD,eAAES,KAAK2X,iBAAiB,CAAC,MAAM7Q,aAAarI,EAAEmZ,iBAAiBrY,GAAGC,EAAEqH,cAAcC,aAAa9H,EAAE+H,mBAAmBjH,EAAE+X,iBAAiBlX,EAAEmX,uBAAuBlZ,EAAEmZ,WAAWxW,GAAG9C,GAAGqI,aAAa7H,EAAE4Y,iBAAiBpW,EAAEuW,WAAW9W,GAAG3B,EAAE,IAAImC,EAAExC,EAAE,MAAMsI,EAAExI,GAAGC,GAAGiC,EAAEwG,EAAE/G,GAAGc,EAAE+F,GAAG1H,GAAG4B,EAAE7C,OAAEqN,MAAMhN,EAAEgB,OAAE6J,QAAQrC,GAAG9I,GAAG8C,EAAEH,EAAErC,EAAEgB,OAAE6J,QAAQvC,GAAG9F,EAAE7C,OAAEqN,MAAMhN,EAAEgB,OAAE0J,SAASlC,GAAGhG,EAAEH,EAAErC,EAAEgB,OAAE0J,SAAS3I,EAAEmB,MAAM,yCAAyClD,IAAIgB,OAAE0J,SAAS3I,EAAEgX,SAAS,gFAAgFjY,KAAK2X,gBAAgB,CAACnD,SAAS9S,EAAEiI,aAAazK,EAAEgY,YAAY,GAAGxN,QAAQhI,IAAIH,EAAE,CAAC,6BAA6B,IAAI,OAAOvB,KAAK2X,iB,gBCA9iI,MAAMhX,UAAUpB,EAAEiO,kBAAkBjO,GAAG,OAAOA,IAAIX,OAAEmX,UAAUE,aAAarX,EAAEW,EAAEoB,EAAE1B,EAAEwC,EAAE+F,EAAEjG,GAAG,MAAMqE,QAAQ9F,GAAGlB,GAAG+R,aAAazP,GAAGtC,GAAGiU,eAAe7T,GAAGkC,EAAE1B,eAAER,EAAE,aAAa2B,EAAEgL,cAAc,WAAW3M,EAAEoU,QAAQzS,EAAEgL,cAAc,iBAAiB3M,EAAEkZ,cAAcvX,EAAEgL,cAAc,gBAAgB3M,EAAEmZ,aAAaxX,EAAEgL,cAAc,iBAAiB3M,EAAEoZ,cAAczX,EAAEkK,aAAa,eAAe7L,EAAEqZ,gBAAgB1X,EAAEkK,aAAa,oBAAoB7L,EAAEsZ,iBAAiB3X,EAAEkK,aAAa,iBAAiB7L,EAAEuZ,cAAczY,EAAEgM,aAAa7M,EAAEwC,EAAEhD,OAAEwN,aAAazE,I,oDCAjD,MAAM9F,UAAU7C,OAAE8C,cAAcC,SAASC,WAAW7B,KAAKiL,OAAOrM,eAAE,EAAE,EAAE,EAAE,GAAGoB,KAAKwY,eAAehZ,iBAAIQ,KAAKyY,gBAAgB,CAACC,IAAG,EAAGC,SAAQ,GAAIlT,UAAUzF,KAAK4Y,OAAO5Y,KAAK4Y,KAAKnT,UAAUzF,KAAK4Y,KAAK,MAAMC,SAASrZ,EAAEZ,GAAG,MAAMgH,QAAQ/G,EAAE6H,QAAQxF,EAAE4X,cAAc5Y,EAAEyG,cAAce,GAAGlI,EAAEQ,KAAK+Y,kBAAkBvZ,GAAG,MAAMkC,EAAElC,EAAEmO,aAAazO,EAAEM,EAAEwZ,WAAW1Z,EAAEJ,EAAE+Z,mBAAmB7L,EAAElM,EAAEgY,2BAA2BtR,EAAE1I,EAAEia,cAAc,mBAAmBzX,GAAGP,EAAEjC,EAAEia,cAAc,qBAAqBzX,GAAGvC,EAAED,EAAEia,cAAc,qBAAqBzX,GAAGT,OAAE,IAAS9B,EAAEmJ,EAAEV,EAAE,GAAGzG,EAAEiH,EAAE,EAAE4K,OAAOC,iBAAiB/B,EAAE1R,EAAE4Z,aAAa,IAAIrR,EAAEiO,EAAE,MAAM5W,EAAEgJ,EAAEzH,OAAE,EAAE,EAAE4H,EAAE/I,EAAEqF,YAAY7F,OAAEqa,QAAQxH,EAAE7R,KAAKyY,gBAAgB5G,EAAE6G,GAAGnQ,EAAEsJ,EAAE8G,QAAQ1X,EAAE,MAAMqY,EAAElM,EAAEkE,mBAAmBzS,EAAES,EAAEuS,GAAG,IAAItS,eAAEmI,IAAIa,GAAG+Q,EAAE7R,WAAW,CAAC,GAAG5I,EAAEgN,QAAQ7L,KAAK4Y,MAAM/Z,EAAEmJ,WAAWsR,GAAGrY,EAAE,CAAC,MAAMxC,EAAEyS,EAAEqI,sBAAsBpa,GAAE,GAAI,GAAGI,eAAEd,GAAG,CAAC,MAAM+a,GAAGha,EAAEia,GAAG7a,EAAE8a,KAAK/Y,GAAGlC,EAAEsJ,EAAEnJ,EAAE,GAAGY,EAAE,GAAGwW,EAAEpX,EAAE,GAAGY,EAAE,GAAG,MAAMR,EAAEkS,EAAEyI,YAAYhZ,GAAGpB,eAAEP,KAAKkS,EAAExO,KAAK7D,EAAE2I,OAAEuC,OAAOpJ,EAAEb,QAAGwZ,EAAEM,aAAa,SAASpa,EAAE,GAAGA,EAAE,GAAGZ,EAAE,GAAGA,EAAE,IAAI0a,EAAE1O,cAAc,eAAe5L,GAAGsa,EAAE3O,aAAa,YAAY7K,SAAIwZ,EAAEzO,aAAa,YAAY1J,QAAQnB,KAAKiL,OAAO,GAAG3C,EAAEV,EAAE,GAAG5H,KAAKiL,OAAO,GAAG3C,EAAEV,EAAE,GAAG5H,KAAKiL,OAAO,GAAG3C,EAAEV,EAAE,GAAG5H,KAAKiL,OAAO,GAAG3C,EAAEgR,EAAE3N,cAAc,UAAU3L,KAAKiL,QAAQ,GAAGqO,EAAEzO,aAAa,UAAU3L,EAAE2a,GAAG,GAAGtR,EAAE,CAAC,MAAM9J,EAAEQ,eAAEiB,EAAE,GAAGoZ,EAAE3N,cAAc,OAAOlN,GAAG,IAAI,MAAMc,KAAKX,EAAE,CAAC,GAAG0a,EAAEzO,aAAa,gBAAgBtL,EAAEua,QAAQR,EAAE5O,oBAAoB,YAAYnL,EAAEqJ,WAAWC,KAAK5H,EAAE,CAAC,MAAMzB,EAAEd,KAAKoR,IAAI,IAAIpR,KAAKuF,MAAMvC,GAAGnC,EAAEiP,IAAIC,OAAO,GAAG7P,EAAEQ,EAAEG,EAAEwB,MAAMvB,EAAEM,EAAElB,EAAEH,eAAEsJ,GAAGpH,EAAE/B,EAAEH,eAAEuX,GAAGhW,KAAKwY,eAAe,GAAG1Y,EAAEE,KAAKwY,eAAe,GAAG7X,EAAE2Y,EAAE5O,oBAAoB,mBAAmB1K,KAAKwY,gBAAgB3Z,EAAEuH,mBAAmB3E,OAAE4E,MAAM9G,EAAE+G,WAAW,KAAKzH,EAAE6N,WAAWnL,OAAEoL,eAAe,EAAE,SAASjF,IAAIqR,kBAAkBta,GAAG,GAAGuB,KAAK4Y,KAAK,OAAO,MAAMhT,QAAQrG,EAAEyZ,WAAWxZ,GAAGf,EAAEG,EAAEY,EAAEyZ,mBAAmBnZ,EAAE,IAAIia,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIpZ,EAAEO,OAAEmU,aAAa9V,EAAEW,OAAEoV,YAAYxV,GAAGd,EAAE,IAAI0I,OAAEnI,EAAEX,EAAEob,wBAAwBpb,EAAEqb,gBAAgB,CAAClV,SAASpE,IAAIX,KAAK4Y,KAAK5Z,G,gBCA1tE,MAAMH,UAAUG,OAAE2C,cAAcC,SAASC,WAAW7B,KAAKyY,gBAAgB,CAACC,IAAG,GAAIjT,WAAWoT,SAAS7Z,EAAEH,GAAG,MAAM+G,QAAQ1E,EAAEyM,aAAanG,EAAEoJ,cAAcrP,EAAE4I,MAAMzI,EAAEmD,UAAU3E,EAAEwG,QAAQvF,EAAEiY,aAAa9Z,EAAEwZ,cAAc1L,EAAEzG,cAAckK,GAAG7R,EAAE,IAAIH,EAAE8E,KAAMnE,IAAC,iCAAEA,EAAE0a,UAAU/Q,IAAIiE,SAAlB,EAAE,EAAoB+M,mBAAtB,IAA6C,OAAO,MAAMhb,EAAEH,EAAEga,WAAWjI,EAAE5R,EAAEib,eAAenZ,EAAEE,EAAE+X,2BAA2B3Q,EAAE,IAAIH,EAAEjJ,EAAEga,cAAc,mBAAmB3R,GAAGE,EAAEvI,EAAEga,cAAc,0BAA0B3R,GAAGtI,EAAEgB,IAAIJ,OAAEuZ,QAAQnI,EAAElR,KAAKyY,gBAAgBvH,EAAEwH,GAAGxZ,EAAE,MAAM2S,EAAE5Q,EAAEqQ,mBAAmBpQ,EAAE6P,EAAEG,GAAG,IAAIhS,GAAGM,eAAEqR,KAAKgB,EAAEpK,WAAW,YAAYoJ,IAAI3P,EAAE8G,WAAW6J,GAAGA,EAAEnH,oBAAoB,gBAAgBhD,IAAInI,OAAE8a,SAAS3Y,EAAEkK,YAAYlK,EAAEuM,iBAAiB4D,EAAEjH,cAAc,sBAAsBxC,GAAGyJ,EAAEhH,aAAa,UAAU1L,EAAE0a,GAAGhI,EAAEhH,aAAa,sBAAsBtC,GAAG,IAAIT,GAAG,EAAE,GAAG5I,EAAE,CAAC,MAAMM,EAAEP,eAAEmO,EAAE,GAAGyE,EAAElG,cAAc,OAAOnM,GAAG,IAAI,MAAMA,KAAKX,EAAE,CAAC,IAAIW,EAAE0a,UAAUhR,IAAIkE,GAAG,SAAS5N,EAAEgP,IAAIC,QAAQ3G,IAAIA,EAAEtI,EAAEgP,IAAIC,MAAMsC,EAAEuJ,gBAAgBzI,EAAErK,EAAErI,EAAE2I,EAAExI,IAAI,MAAMC,EAAEC,EAAE0a,UAAU/Q,IAAIiE,GAAG,IAAI7N,EAAE4a,iBAAiB,SAAS5a,EAAEgb,oBAAoBrZ,GAAG,MAAMpB,EAAEP,EAAEib,wBAAwB/b,eAAEqB,KAAKoB,EAAE2K,QAAQ/L,GAAG+R,EAAEnH,oBAAoB,YAAYlL,EAAEoJ,WAAWC,KAAKtH,IAAI/B,EAAEgP,IAAIC,MAAMvN,EAAEkF,mBAAmBzF,OAAE0F,MAAM7G,EAAE8G,WAAW,KAAKpF,EAAEkF,mBAAmBzF,OAAEyL,QAAQ,IAAI,KAAKlL,EAAE4K,aAAalN,OAAEmN,UAAUxM,EAAE4a,iBAAiB1Y,OAAEwK,aAAa+F,YAAYC,kBAAkB1S,EAAEkb,kBAAkBjb,EAAEkb,eAAenb,EAAE4a,iBAAiB,KCAzwC,MAAMtb,EAAE,EAAE,MAAM,MAAMqC,WAAUP,OAAEgB,cAAcC,SAASC,WAAW7B,KAAK2a,oBAAoB,CAACjC,IAAG,EAAGC,SAAQ,GAAI3Y,KAAK4a,uBAAuB,CAAClC,IAAG,GAAIjT,WAAWoT,SAASpa,EAAEe,GAAG,MAAMmO,aAAa7N,EAAE+E,UAAUtF,EAAEsb,WAAW5b,EAAEma,aAAazY,EAAEmY,cAAcrX,GAAGhD,EAAE,IAAI+I,GAAE,EAAG,IAAI,MAAMxI,KAAKQ,EAAE,GAAGR,EAAEkb,UAAUhR,IAAIzH,GAAG,CAAC,MAAMhD,EAAEO,EAAEkb,UAAU/Q,IAAI1H,GAAG,GAAGhD,EAAEqc,eAAe,GAAGrc,EAAEsc,kBAAkB,EAAE,CAACvT,GAAE,EAAG,OAAO,IAAIA,EAAE,OAAO,MAAMjG,EAAE9C,EAAEua,WAAWtX,EAAEH,EAAEyZ,iBAAiB,gBAAgBnc,OAAE,IAAS6C,EAAER,EAAErC,GAAG6C,EAAEuZ,aAAa,IAAI/a,EAAE,GAAGrB,IAAIqC,EAAE,CAAC,MAAMzC,EAAEiD,EAAEwZ,SAASpb,GAAGI,EAAES,EAAE4Y,sBAAsB9a,GAAE,GAAI,MAAM0C,GAAGtC,GAAG0C,EAAE4X,cAAc,iBAAiBrZ,GAAG,IAAsQ+Q,EAAlQvR,GAAE,EAAGoI,EAAE,EAAE,IAAI7I,EAAE,CAAC,MAAMJ,EAAE8C,EAAEyZ,iBAAiB,cAAcxb,EAAE+B,EAAEyZ,iBAAiB,gBAAgB,IAAG,MAACvc,MAAGwc,gBAAc,MAACzb,MAAGyb,cAAa,CAAC,MAAMxc,EAAE8C,EAAE4X,cAAc,aAAarZ,GAAG4H,EAAEnG,EAAE4X,cAAc,eAAerZ,GAAGrB,EAAE,GAAGiJ,GAAG,IAAIpI,GAAE,IAAK,GAAGA,GAAG,WAAWL,EAAE,OAAaM,IAAIP,OAAEqa,UAAUxI,EAAEjS,eAAE6C,EAAE,IAAI,MAAM2L,EAAE7L,EAAE4X,cAAc,iBAAiBrZ,GAAGX,EAAEoC,EAAE4X,cAAc,wBAAwBrZ,IAAIR,GAAG,gBAAgBL,IAAIe,KAAKmb,UAAU1c,EAAEgD,EAAEF,EAAE/B,EAAE4N,EAAEjO,EAAEN,EAAEqB,EAAEgB,EAAE2P,GAAG,MAAMzR,GAAGmC,EAAE6Z,2BAA2B7Z,EAAE8Z,sBAAsB3T,EAAE,EAAEvG,GAAG,WAAWlC,IAAIG,GAAGY,KAAKsb,aAAa7c,EAAEgD,EAAEF,EAAE/B,EAAE4N,EAAEjO,EAAE0R,GAAGsK,UAAUvc,EAAE+B,EAAEO,EAAEhB,EAAEiB,EAAE7B,EAAEoI,EAAEmJ,EAAEzD,EAAEjO,GAAG,GAAGuI,IAAI0F,GAAG3O,eAAEoS,GAAG,OAAO,MAAMjL,QAAQxG,EAAEuO,aAAapF,EAAE4B,MAAM4G,EAAElM,UAAUuD,EAAE1B,QAAQzF,EAAEmJ,WAAWlL,EAAEka,aAAaxH,EAAEjL,cAAcmB,GAAGlJ,EAAEiT,EAAE3Q,EAAEqa,aAAazc,EAAEmC,EAAEiY,2BAA2BnR,EAAE7I,EAAED,OAAE,EAAE,EAAEiS,EAAE9I,IAAIpJ,OAAEqa,QAAQrD,EAAEhW,KAAK2a,oBAAoB3E,EAAE0C,GAAGxH,EAAE8E,EAAE2C,QAAQjR,EAAE,MAAM8T,EAAE1c,EAAEwS,mBAAmBlS,EAAEyS,EAAEmE,GAAG,GAAGxW,eAAEsI,KAAKoJ,IAAIsK,EAAE/T,WAAW,YAAYK,IAAI,GAAG1I,EAAE4I,WAAWwT,GAAGhc,eAAEqR,GAAG,CAAC,MAAM6I,KAAKjb,GAAGoS,EAAE/Q,EAAE8R,EAAE+H,YAAYlb,GAAGe,eAAEM,KAAK8R,EAAElP,KAAKtD,EAAEqC,OAAEsI,OAAOtL,EAAEc,QAAGic,EAAE5Q,cAAc,eAAe9K,GAAG0b,EAAE7Q,aAAa,YAAYpL,SAAIic,EAAE9Q,oBAAoB,gBAAgBpL,IAAIQ,OAAEua,SAAStJ,EAAEnF,YAAYmF,EAAE9C,iBAAiBuN,EAAE5Q,cAAc,oBAAoBzJ,GAAGqa,EAAE3Q,aAAa,UAAU3J,EAAE2Y,EAAEhb,GAAGqS,GAAGsK,EAAE7P,cAAc,OAAOxM,GAAG,IAAIsc,GAAG,EAAE,IAAI,MAAM3b,KAAKI,EAAE,CAAC,IAAIJ,EAAEoa,UAAUhR,IAAIvI,GAAG,SAASb,EAAE0O,IAAIC,QAAQgN,IAAIA,EAAE3b,EAAE0O,IAAIC,MAAMoD,EAAEyI,gBAAgBkB,EAAEjT,EAAErH,EAAEua,EAAE7J,IAAI,MAAM3S,EAAEa,EAAEoa,UAAU/Q,IAAIxI,GAAG,IAAI1B,EAAE6b,eAAe,SAAS7b,EAAEsb,oBAAoBnb,GAAG,MAAMJ,EAAEC,EAAEyc,sBAAsB,IAAIjd,eAAEO,GAAG,CAAC,GAAGI,EAAEyM,QAAQ7M,GAAGwc,EAAE9Q,oBAAoB,YAAY5K,EAAE8I,WAAWC,KAAKzJ,EAAEgH,mBAAmBoB,OAAEnB,MAAMvG,EAAEwG,WAAW,KAAKoB,EAAE,CAAC,MAAMjJ,EAAEC,KAAKoR,IAAI,IAAIpR,KAAKuF,MAAMsE,GAAGzI,EAAE0O,IAAIC,OAAO,GAAGjP,EAAEM,EAAEga,QAAQ/R,EAAEjI,EAAEiB,MAAMtC,GAAG+c,EAAE3Q,aAAa,kBAAkBrL,GAAG,GAAG4N,EAAE,CAAC,MAAM3O,EAAEQ,EAAE0c,WAAW,IAAIld,EAAE,SAAS,IAAI,MAAMqB,EAAEb,KAAKR,EAAE,CAAC,MAAMA,EAAEmT,EAAE+H,YAAY7Z,GAAGN,eAAEf,KAAKmT,EAAElP,KAAKtD,EAAEqC,OAAEsI,OAAOjK,EAAEP,QAAGic,EAAE5Q,cAAc,eAAenM,GAAG+c,EAAE7Q,aAAa,YAAYpL,QAAGH,EAAE0M,aAAavK,OAAEwK,UAAU9M,EAAE,GAAGyC,OAAEuK,aAAa+F,YAAYC,kBAAkBhT,EAAE,WAAWG,EAAE0M,aAAavK,OAAEwK,UAAU9M,EAAE6b,eAAepZ,OAAEuK,aAAa+F,YAAYC,kBAAkBhT,EAAE2c,gBAAgB9b,EAAE4a,eAAezb,EAAE6b,eAAe,IAAIQ,aAAa/b,EAAEN,EAAEL,EAAE+B,EAAEc,EAAEP,EAAEhB,GAAG,MAAM0F,QAAQzE,EAAEwM,aAAarO,EAAE6K,MAAMzC,EAAE7C,UAAUgM,EAAEnK,QAAQ0G,EAAEhD,WAAWjL,EAAEia,aAAaha,EAAEuH,cAAc4B,GAAGhJ,EAAEwR,EAAEnS,EAAEid,gBAAgBzT,EAAEgF,EAAE8L,2BAA2BjY,EAAE,IAAI9B,EAAED,EAAE2R,IAAI7R,OAAEqa,QAAQzH,EAAE5R,KAAK4a,uBAAuBhJ,EAAE8G,GAAGxZ,EAAE,MAAM4I,EAAEM,EAAEkJ,mBAAmBnQ,EAAE4P,EAAEa,GAAG,GAAGpS,eAAE+I,KAAKrJ,IAAI4I,EAAEL,WAAW,YAAYc,IAAIpH,EAAE6G,WAAWF,GAAGA,EAAE4C,oBAAoB,gBAAgBxJ,IAAIpB,OAAEua,SAAS3S,EAAEkE,YAAYlE,EAAEuG,iBAAiBnG,EAAE8C,cAAc,oBAAoBnJ,GAAGqG,EAAE+C,aAAa,UAAUjM,EAAEib,EAAEhb,GAAGiJ,EAAE+C,aAAa,kBAAkB5J,GAAG/B,GAAG4I,EAAE6D,cAAc,OAAOzL,GAAG,IAAI2R,GAAG,EAAE,IAAI,MAAMrS,KAAKmB,EAAE,CAAC,IAAInB,EAAE0a,UAAUhR,IAAIjK,GAAG,SAASO,EAAEgP,IAAIC,QAAQoD,IAAIA,EAAErS,EAAEgP,IAAIC,MAAMsC,EAAEuJ,gBAAgBxS,EAAExI,EAAEV,EAAEiT,EAAEzS,IAAI,MAAMU,EAAEN,EAAE0a,UAAU/Q,IAAIlK,GAAG,GAAGa,EAAEya,oBAAoBpZ,IAAIrB,EAAEib,kBAAkB,SAAS,MAAMxb,EAAEO,EAAEgc,yBAAyBrd,eAAEc,KAAK4B,EAAE0K,QAAQtM,GAAGuI,EAAE4C,oBAAoB,YAAYlL,EAAEoJ,WAAWC,KAAK1H,EAAEiF,mBAAmBoB,OAAEnB,MAAM7G,EAAE8G,WAAW,KAAKnF,EAAE2K,aAAavK,OAAEwK,UAAUjM,EAAEib,kBAAkBrZ,OAAEuK,aAAa+F,YAAYC,kBAAkBnS,EAAEic,mBAAmBvc,EAAEkb,eAAe5a,EAAEib,kBAAkB,KCApxH,MAAMxZ,WAAU3C,OAAE+C,cAAcC,SAASC,WAAW7B,KAAKyY,gBAAgB,CAACC,IAAG,EAAGC,SAAQ,EAAGqD,KAAI,GAAIvW,WAAWoT,SAASja,EAAE2C,GAAG,MAAMqE,QAAQ/G,EAAE8O,aAAajM,EAAEyI,MAAMjK,EAAE2E,UAAUvF,EAAEoH,QAAQvF,EAAEiJ,WAAWyG,EAAEuI,aAAaja,EAAE2Z,cAAcpR,EAAEf,cAAcyG,GAAGxO,EAAE,IAAI2C,EAAEoC,KAAMnE,IAAC,iCAAEA,EAAE0a,UAAU/Q,IAAIzB,SAAlB,EAAE,EAAoBuU,iBAAtB,IAA2C,OAAO,MAAM7T,EAAExJ,EAAEoa,WAAWzQ,EAAEH,EAAE8T,aAAa9c,EAAE+B,EAAE+X,2BAA2BjY,EAAEmH,EAAE+Q,cAAc,iBAAiBzX,GAAGqP,EAAE3I,EAAE+Q,cAAc,wBAAwBzX,GAAGoG,EAAEM,EAAE4S,iBAAiB,gBAAgBpJ,OAAE,IAAS9J,EAAEoJ,EAAEU,GAAG9J,EAAEmT,aAAa,IAAInc,EAAE+S,EAAE,GAAGD,IAAIV,EAAE,CAAC,MAAM1R,EAAEsI,EAAEoT,SAASxZ,GAAG5C,EAAEK,EAAEoa,sBAAsB/Z,GAAG,IAAIic,GAAE,EAAG,IAAI7J,EAAE,CAAC,MAAMpS,EAAE4I,EAAE4S,iBAAiB,kBAAkB,GAAGnJ,OAAE,IAASrS,EAAEic,EAAE5J,GAAGrS,EAAEyb,aAAapJ,IAAI4J,EAAE,CAAC,MAAMhd,EAAEe,EAAE0b,SAASxZ,GAAG5B,EAAEsI,EAAE+T,WAAW1d,EAAE2J,EAAEgU,eAAe,WAAW1a,IAAI5C,EAAEK,EAAEoa,sBAAsBzZ,IAAI,MAAMZ,EAAE,EAAE2R,EAAEmF,EAAE1W,IAAIC,OAAE8Z,QAAQ/Q,EAAEtI,KAAKyY,gBAAgBnQ,EAAEoQ,GAAG1C,EAAE1N,EAAEqQ,QAAQ/G,EAAEtJ,EAAE0T,IAAInK,EAAE,MAAM9J,EAAE3I,EAAEkS,mBAAmBzS,EAAE0J,EAAED,GAAG,GAAG9I,eAAE4N,KAAK4I,IAAIjO,EAAEN,WAAW,YAAY2F,IAAI,GAAGvO,EAAEmJ,WAAWD,GAAGA,EAAE2C,oBAAoB,oBAAoBxK,EAAE+N,iBAAiBlG,EAAE2C,oBAAoB,gBAAgBqG,IAAIjR,OAAEua,SAASna,EAAE0L,YAAY1L,EAAE+N,iBAAiBlG,EAAE6C,cAAc,oBAAoB3J,GAAG8G,EAAE8C,aAAa,UAAUzC,EAAEyR,GAAG9R,EAAE8C,aAAa,iBAAiB3L,GAAG8W,EAAE,CAAC,MAAMxW,EAAER,eAAE0I,EAAE,GAAGK,EAAE4D,cAAc,OAAOnM,GAAG,GAAGV,GAAGU,eAAEV,GAAG,CAAC,MAAM4a,KAAKjb,GAAGK,EAAEgB,EAAEX,EAAEwa,YAAYlb,GAAGe,eAAEM,KAAKX,EAAEuD,KAAK7D,EAAE8B,OAAEoJ,OAAOtL,EAAEQ,QAAG8I,EAAE6C,cAAc,eAAe9K,GAAGiI,EAAE4C,aAAa,YAAY1L,SAAI,IAAI2I,GAAG,EAAE,IAAI,MAAM9H,KAAKyB,EAAE,CAAC,IAAIzB,EAAEoa,UAAUhR,IAAIxB,GAAG,SAAS5H,EAAE0O,IAAIC,QAAQ7G,IAAIA,EAAE9H,EAAE0O,IAAIC,MAAMlG,EAAE+R,gBAAgBvS,EAAErG,EAAE0G,EAAER,EAAEzI,IAAI,MAAMI,EAAE,IAAImC,EAAEkG,GAAGiJ,EAAE9I,EAAE8C,aAAa,eAAetL,GAAG,MAAMP,EAAEc,EAAEoa,UAAU/Q,IAAIzB,GAAG,IAAI1I,EAAEid,eAAe,SAASjd,EAAEub,oBAAoB1b,GAAG,MAAMD,EAAEI,EAAEqd,sBAAsB,IAAI5d,eAAEG,GAAG,CAAC,GAAGC,EAAEgN,QAAQjN,GAAGmJ,EAAE2C,oBAAoB,YAAY5K,EAAE8I,WAAWC,KAAKhK,EAAEuH,mBAAmB3E,OAAE4E,MAAMvG,EAAEwG,WAAW,KAAK4K,GAAGuK,EAAE,CAAC,MAAMhd,EAAEO,EAAE2c,WAAW,IAAIld,EAAE,SAAS,IAAI,MAAMqB,EAAEP,KAAKd,EAAE,CAAC,MAAMA,EAAEU,EAAEwa,YAAY7Z,GAAGN,eAAEf,KAAKU,EAAEuD,KAAK7D,EAAE8B,OAAEoJ,OAAOjK,EAAEb,QAAG8I,EAAE6C,cAAc,eAAenM,GAAGsJ,EAAE4C,aAAa,YAAY1L,QAAGJ,EAAEiN,aAAatE,OAAEuE,UAAUxM,EAAE,GAAG2B,OAAE+K,aAAa+F,YAAYC,kBAAkB1S,EAAE,WAAWV,EAAEiN,aAAatE,OAAEuE,UAAU/M,EAAEid,eAAe/a,OAAE+K,aAAa+F,YAAYC,kBAAkBjT,EAAEsd,gBAAgBxc,EAAE4a,eAAe1b,EAAEid,eAAe,K,2CCA97D,MAAM/c,GAAE,EAAE,MAAM,MAAMC,WAAUN,OAAE8C,cAAcC,SAASC,WAAW7B,KAAKuc,oBAAoB,CAAC7D,IAAG,EAAGsD,KAAI,GAAIhc,KAAKwc,mBAAmB,CAAC9D,IAAG,GAAI1Y,KAAKyc,oBAAoB3c,kBAAI2F,WAAWoT,SAASrZ,EAAEf,GAAG,MAAMoG,UAAU/E,EAAEgZ,cAAc9Z,GAAGQ,EAAED,EAAEC,EAAEwZ,WAAW,IAAIrY,EAAEb,IAAIyB,OAAE8X,UAAU1Y,EAAET,eAAElB,EAAE,IAAIgB,KAAK0c,WAAWld,EAAED,EAAEd,EAAEkC,GAAGX,KAAK2c,UAAUnd,EAAED,EAAEd,EAAEkC,GAAG+b,WAAW5c,EAAEd,EAAEwI,EAAEtH,GAAG,MAAM0F,QAAQ/G,EAAE8O,aAAajM,EAAEmD,UAAUvF,EAAEoH,QAAQvF,EAAEiY,aAAa1R,EAAEyC,MAAMjL,EAAE4Z,cAAc3Z,EAAEwH,cAAcvH,GAAGU,EAAEiR,EAAE/R,EAAE4d,aAAaxU,EAAEjH,EAAE+X,2BAA2B,IAAIrI,EAAE5P,GAAE,EAAG,IAAI,MAAMzB,KAAKgI,EAAE,GAAGhI,EAAE0a,UAAUhR,IAAI/J,KAAK0R,EAAErR,EAAE0a,UAAU/Q,IAAIhK,GAAG0R,EAAEgM,uBAAuB7Q,KAAK,GAAG,CAAC/K,GAAE,EAAG,MAAM,IAAIA,EAAE,OAAO,MAAMmM,EAAEpO,EAAEma,cAAc,iBAAiBzX,GAAG6G,EAAEvJ,EAAEma,cAAc,wBAAwBzX,GAAG,IAAIoG,EAAE9I,EAAEod,eAAe,0BAA0B1a,GAAGoG,IAAInH,OAAEmc,OAAOhV,EAAE9I,EAAEod,eAAe,mBAAmB1a,KAAKzC,OAAE8d,MAAMpc,OAAE0Z,SAAS1Z,OAAEmE,KAAK,MAAM8M,EAAE9J,IAAInH,OAAEmE,IAAI2W,EAAEzc,EAAEod,eAAe,oBAAoB1a,IAAIkQ,EAAEC,EAAEhB,EAAEmM,UAAUjV,EAAEzI,IAAIiC,OAAE8X,QAAQrD,EAAEhW,KAAKuc,oBAAoBvG,EAAE0C,GAAG3Q,EAAEiO,EAAEgG,IAAInK,EAAE,MAAMX,EAAE9I,EAAEkJ,mBAAmBzS,EAAEkS,EAAEiF,GAAG,GAAGxW,eAAEJ,KAAK2I,IAAImJ,EAAEzJ,WAAW,YAAYrI,IAAIP,EAAEmJ,WAAWkJ,GAAGA,EAAExG,oBAAoB,oBAAoB5C,IAAInH,OAAEmE,IAAI5F,EAAE+O,gBAAgB/O,EAAE0M,aAAasF,EAAExG,oBAAoB,gBAAgBnC,IAAI3J,OAAEyb,SAASnb,EAAE0M,YAAY1M,EAAE+O,iBAAiBiD,EAAEtG,cAAc,oBAAoBwC,GAAG8D,EAAErG,aAAa,UAAU7L,EAAE6a,GAAG3I,EAAErG,aAAa,gBAAgB3J,gBAAEhC,EAAEmL,WAAW6G,EAAErG,aAAa,gBAAgB4Q,EAAE,EAAE,GAAGvK,EAAErG,aAAa,UAAU,GAAGnJ,GAAGwP,EAAEvG,aAAa,YAAYlJ,QAAGyP,EAAErG,aAAa,iBAAiBtL,QAAE,KAAKwI,GAAGmJ,EAAEvF,cAAc,OAAOzL,GAAG,IAAImR,GAAG,EAAE,IAAI,MAAM7R,KAAKgI,EAAE,CAAC,IAAIhI,EAAE0a,UAAUhR,IAAI/J,GAAG,SAAS,GAAGK,EAAEgP,IAAIC,QAAQ4C,IAAIA,EAAE7R,EAAEgP,IAAIC,MAAMsC,EAAEuJ,gBAAgBpJ,EAAExP,EAAE1C,EAAEqS,EAAE3J,IAAImJ,EAAErR,EAAE0a,UAAU/Q,IAAIhK,GAAG,IAAI0R,EAAEgM,uBAAuB7Q,KAAK,SAAS6E,EAAE0J,oBAAoB1b,GAAGgS,EAAEoM,oBAAoB,MAAM1d,EAAEsR,EAAEqM,sBAAsB,IAAIze,eAAEc,GAAG,CAACV,EAAEgN,QAAQtM,GAAG2R,EAAExG,oBAAoB,YAAYlL,EAAEoJ,WAAWC,KAAKqI,EAAErG,aAAa,UAAUsS,YAAYC,MAAMvM,EAAEwM,mBAAmB,KAAK,IAAI,MAAM5e,EAAEO,KAAK6R,EAAEgM,uBAAuB7c,KAAKsd,iBAAiBxd,EAAEoR,EAAElS,EAAEP,EAAEe,KAAK8d,iBAAiB9d,EAAEf,EAAEqB,EAAEd,EAAEO,GAAG,MAAMqG,QAAQjF,EAAEyY,aAAana,GAAGO,EAAEQ,KAAKyc,oBAAoB,GAAGxd,EAAEse,SAASve,GAAG,EAAEgB,KAAKyc,oBAAoB,GAAGxd,EAAEue,UAAUxe,GAAG,EAAEP,EAAEmM,cAAc,eAAe5K,KAAKyc,qBAAqBxd,EAAEyD,KAAK/B,EAAEe,OAAEqI,OAAO/K,EAAEyC,QAAGd,EAAEwF,uBAAsB,GAAIxF,EAAEyF,mBAAmB9G,OAAE8M,QAAQ,IAAI,KAAKzL,EAAEuF,oBAAoB,GAAGvF,EAAEmL,aAAa3K,OAAE4K,UAAUjM,EAAE,GAAG4H,OAAEuE,aAAa+F,YAAYC,kBAAkBnS,EAAE,IAAIP,EAAEmb,eAAe5a,EAAE,GAAG,EAAE6c,UAAU7c,EAAE2B,EAAEvB,EAAErB,GAAG,MAAM+G,QAAQlE,EAAEiM,aAAaxM,EAAE0D,UAAU6C,EAAE+V,YAAYte,EAAEuH,QAAQtH,EAAEgL,WAAW2G,EAAEqI,aAAahR,EAAE+B,MAAM0G,EAAEiI,cAAc7X,EAAE0F,cAAcyG,GAAGtN,EAAEyI,EAAE9G,EAAEic,aAAa5V,EAAE1I,EAAE8Z,2BAA2B,IAAItH,EAAE6J,GAAE,EAAG,IAAI,MAAMjc,KAAKU,EAAE,GAAGV,EAAE0a,UAAUhR,IAAIjI,KAAK2Q,EAAEpS,EAAE0a,UAAU/Q,IAAIlI,GAAG2Q,EAAE+L,wBAAwB3R,KAAK,GAAG,CAACyP,GAAE,EAAG,MAAM,IAAIA,EAAE,OAAO,MAAM5J,EAAEpQ,EAAEuZ,iBAAiB,gBAAgB,GAAGnJ,IAAIA,EAAEoJ,cAAc,IAAIpJ,EAAEqJ,SAAS/Z,GAAG,OAAO,MAAM4G,EAAEtG,EAAEuZ,iBAAiB,cAAchF,GAAGjO,GAAGA,EAAEkT,cAAclT,EAAEmT,SAAS/Z,GAAG,GAAG,EAAE+P,EAAEzP,EAAEuZ,iBAAiB,mBAAmB3J,EAAE5P,EAAEuZ,iBAAiB,mBAAmBlc,IAAIoS,GAAGA,EAAE+J,cAAc/J,EAAEgK,SAAS/Z,GAAG,MAAMkQ,GAAGA,EAAE4J,cAAc5J,EAAE6J,SAAS/Z,GAAG,GAAG,GAAG,IAAI6U,IAAIlX,EAAE,OAAO,MAAM8I,EAAE,EAAK,IAAIiS,EAAEpY,EAAE2a,eAAe,0BAA0Bjb,GAAG0Y,IAAIlZ,OAAEmc,OAAOjD,EAAEpY,EAAE2a,eAAe,mBAAmBjb,KAAKlC,OAAE8d,MAAMpc,OAAE0Z,SAAS1Z,OAAEmE,KAAK,MAAMwU,EAAEO,IAAIlZ,OAAEmE,IAAIwD,EAAE7G,EAAE2a,eAAe,oBAAoBjb,IAAImY,EAAElI,EAAE1J,IAAInG,OAAE8X,QAAQuE,EAAE,GAAGhW,EAAEmJ,EAAE/Q,KAAK6d,oBAAoB7d,KAAK6d,kBAAkB7e,gBAAEG,EAAE4B,MAAM,EAAE5B,EAAE6B,OAAO,IAAI,MAAMwa,EAAE/Z,EAAE0X,cAAc,iBAAiBhY,GAAGoU,EAAE9T,EAAE0X,cAAc,wBAAwBhY,GAAG2c,EAAE9d,KAAKwc,mBAAmBsB,EAAEpF,GAAGtH,EAAE,MAAM2M,EAAEjW,EAAEwJ,mBAAmB5P,EAAE6G,EAAEuV,GAAG,GAAGte,eAAE4N,KAAKgE,IAAI2M,EAAEtW,WAAW,YAAY2F,IAAI1L,EAAEsG,WAAW+V,GAAGA,EAAErT,oBAAoB,oBAAoBmP,IAAIlZ,OAAEmE,IAAI+L,EAAE5C,gBAAgB4C,EAAEjF,aAAamS,EAAErT,oBAAoB,gBAAgB6K,IAAI3W,OAAEyb,SAASxJ,EAAEjF,YAAYiF,EAAE5C,iBAAiB8P,EAAEnT,cAAc,oBAAoB4Q,GAAGuC,EAAElT,aAAa,UAAUpJ,EAAEoY,EAAE3a,IAAG6e,EAAEnT,cAAc,eAAe5K,KAAK6d,mBAAmBE,EAAElT,aAAa,gBAAgB3J,gBAAE2P,EAAExG,WAAW0T,EAAElT,aAAa,gBAAgBvC,EAAE,EAAE,GAAGyV,EAAElT,aAAa,UAAU,GAAG1J,GAAG4c,EAAEpT,aAAa,YAAYnD,QAAGuW,EAAElT,aAAa,sBAAsB+S,GAAGG,EAAElT,aAAa,iBAAiBtL,QAAE,KAAK6R,GAAG2M,EAAEpS,cAAc,OAAO9M,GAAG,IAAImf,GAAG,EAAE,IAAI,MAAMxe,KAAKU,EAAE,CAAC,IAAIV,EAAE0a,UAAUhR,IAAIjI,GAAG,SAAS,GAAGzB,EAAEgP,IAAIC,QAAQuP,IAAIA,EAAExe,EAAEgP,IAAIC,MAAMlG,EAAE+R,gBAAgByD,EAAE5c,EAAEM,EAAEuc,EAAE5V,IAAIwJ,EAAEpS,EAAE0a,UAAU/Q,IAAIlI,GAAG,IAAI2Q,EAAE+L,wBAAwB3R,KAAK,SAAS4F,EAAE2I,oBAAoB7Y,GAAGkQ,EAAEqL,oBAAoB,MAAMnd,EAAE8R,EAAEqM,sBAAsB,GAAGxf,eAAEqB,GAAG,SAAS4B,EAAEmK,QAAQ/L,GAAGie,EAAErT,oBAAoB,YAAYlL,EAAEoJ,WAAWC,KAAKnH,EAAEyE,uBAAsB,GAAIzE,EAAE0E,mBAAmB9G,OAAE8M,QAAQ,IAAI,KAAK1K,EAAEwE,oBAAoB,GAAG,MAAMlH,GAAGme,YAAYC,MAAMxL,EAAEyL,mBAAmB,IAAIU,EAAElT,aAAa,SAAS7L,GAAG4S,EAAE+L,wBAAwBO,QAAS,CAACzf,EAAEqB,KAAKE,KAAKme,kBAAkBzc,EAAEjD,EAAEqB,EAAEX,EAAE4e,EAAEjf,EAAEkX,EAAExW,MAAO2e,kBAAkB3e,EAAEf,EAAEqB,EAAEd,EAAEO,EAAEoB,EAAE1B,EAAEL,GAAGI,EAAE0D,KAAKlD,EAAEkC,OAAEqI,OAAOjK,EAAE0H,QAAG7G,IAAIpB,EAAEsL,aAAa,SAAS,GAAGrL,EAAEsM,aAAa3K,OAAE4K,UAAUtN,EAAE,GAAGiJ,OAAEuE,aAAa+F,YAAYC,kBAAkBxT,EAAE,IAAIG,EAAE8b,eAAejc,EAAE,GAAG,GAAGQ,IAAIM,EAAEsL,aAAa,SAAS,GAAGrL,EAAEsM,aAAa3K,OAAE4K,UAAUtN,EAAE,GAAGiJ,OAAEuE,aAAa+F,YAAYC,kBAAkBxT,EAAE,IAAIG,EAAE8b,eAAejc,EAAE,GAAG,ICAp5K,MAAMyC,GAAE1B,GAAGZ,eAAEY,EAAEsR,KAAK,CAAC/L,SAAS,CAAC,CAAC+F,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAK9H,OAAEyL,OAAO,CAACF,SAAS,EAAErG,KAAK,OAAOsG,MAAM,EAAE1D,KAAK9H,OAAE4Q,eAAe,CAACrF,SAAS,EAAErG,KAAK,UAAUsG,MAAM,EAAE1D,KAAK9H,OAAE4Q,cAAcH,YAAW,GAAI,CAAClF,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAK9H,OAAE4Q,cAAcH,YAAW,GAAI,CAAClF,SAAS,EAAErG,KAAK,eAAesG,MAAM,EAAE1D,KAAK9H,OAAE4Q,eAAe,CAACrF,SAAS,EAAErG,KAAK,gCAAgCsG,MAAM,EAAE1D,KAAK9H,OAAE4Q,eAAe,CAACrF,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAK9H,OAAE4Q,eAAe,CAACrF,SAAS,EAAErG,KAAK,iBAAiBsG,MAAM,EAAE1D,KAAK9H,OAAEyL,OAAO,CAACF,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAK9H,OAAE0F,mBAAmB,MAAMxD,WAAUzC,EAAEyG,WAAWqH,kBAAkB,OAAOrO,OAAE2f,MAAM5Q,kBAAkBhO,GAAG,OAAM,EAAGiO,aAAahP,EAAEG,EAAEI,EAAEyC,GAAG,MAAMmE,QAAQrE,EAAEmF,QAAQxG,EAAEiK,MAAMtL,EAAE8R,aAAajP,EAAEkM,YAAYpG,EAAEb,cAAcxF,GAAG1C,EAAEiJ,EAAEzI,OAAEoO,KAAKrO,EAAEsO,aAAauD,EAAErR,eAAEgI,IAAI,YAAYA,EAAEH,KAAKvI,EAAE4I,EAAE2W,WAAW,EAAE,EAAE,IAAIvf,GAAGJ,KAAK4f,IAAI1f,EAAE4P,IAAIC,MAAM/P,KAAKuF,MAAM,IAAIxF,EAAEkP,cAAc,MAAM,EAAE,OAAO,MAAMlC,cAAc3D,EAAElI,WAAWwI,GAAGlH,GAAEwG,GAAGqJ,EAAE7Q,EAAEgH,gBAAgBoK,mBAAmB7S,EAAEiJ,EAAE,kBAAkBU,EAAE3G,GAAG,GAAGjC,eAAE2B,KAAK0P,IAAIE,EAAEtJ,WAAW,YAAYtG,IAAI1C,EAAEmH,QAAQQ,mBAAmBtG,OAAEuG,MAAM,EAAE,KAAK9E,EAAEyG,WAAW+I,GAAG/Q,KAAK0N,mBAAmBqD,EAAEtS,EAAEG,GAAGsB,EAAEyR,eAAezE,aAAa3L,EAAEwP,EAAErJ,GAAG,MAAMpI,EAAE,IAAIR,EAAED,EAAEoP,gBAAgBpP,EAAE+M,YAAY5L,KAAKkO,mBAAmBxG,EAAEqJ,EAAErP,EAAE9C,GAAGmS,EAAElG,aAAa,gBAAgBnM,KAAK6f,MAAM1f,EAAEwL,SAAS,IAAI,MAAM0G,EAAElG,aAAa,eAAe/L,GAAGiS,EAAErG,oBAAoB,gBAAgBpL,GAAGyR,EAAElG,aAAa,YAAY,GAAGkG,EAAEnG,cAAc,eAAenM,EAAE0L,MAAM6B,MAAM+E,EAAElG,aAAa,WAAW,GAAG,MAAMuG,EAAEpS,EAAE4F,OAAO4G,OAAOjK,EAAEuG,EAAEM,GAAGG,EAAEvJ,EAAE+S,UAAUC,YAAYC,kBAAkB1Q,EAAEsK,QAAQuF,GAAG7P,EAAEuK,aAAanL,OAAEoL,UAAU/M,EAAE8S,WAAWvS,OAAE0M,aAAa1D,GAAGwI,EAAElG,aAAa,WAAW,GAAGtJ,EAAEuK,aAAanL,OAAEoL,UAAU/M,EAAE8S,WAAWvS,OAAE0M,aAAa1D,GAAGhH,EAAE4E,uBAAsB,GAAI5E,EAAEsE,oBAAmB,ICAnzD,MAAMlF,GAAEnB,GAAGZ,eAAEY,EAAEsR,KAAK,CAAC/L,SAAS,CAAC,CAAC+F,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAK9H,OAAEyL,OAAO,CAACF,SAAS,EAAErG,KAAK,OAAOsG,MAAM,EAAE1D,KAAK9H,OAAE4Q,eAAe,CAACrF,SAAS,EAAErG,KAAK,UAAUsG,MAAM,EAAE1D,KAAK9H,OAAE4Q,cAAcH,YAAW,GAAI,CAAClF,SAAS,EAAErG,KAAK,oBAAoBsG,MAAM,EAAE1D,KAAK9H,OAAEyF,MAAM,CAAC8F,SAAS,EAAErG,KAAK,oCAAoCsG,MAAM,EAAE1D,KAAK9H,OAAE0F,gBAAgB,CAAC6F,SAAS,EAAErG,KAAK,SAASsG,MAAM,EAAE1D,KAAK9H,OAAE0F,gBAAgB,CAAC6F,SAAS,EAAErG,KAAK,qBAAqBsG,MAAM,EAAE1D,KAAK9H,OAAEyF,MAAM,CAAC8F,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAK9H,OAAE0F,gBAAgB,CAAC6F,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAK9H,OAAE0F,mBAAmB,MAAM/D,WAAUlC,EAAEyG,WAAWqH,kBAAkB,OAAOrO,OAAE+f,KAAKhR,kBAAkBhO,GAAG,OAAM,EAAGiO,aAAahP,EAAEG,EAAEI,EAAEkC,GAAG,MAAM0E,QAAQnE,EAAEiF,QAAQ7H,EAAE8R,aAAapP,EAAEoM,aAAazN,EAAE0N,YAAYzM,EAAEwF,cAAcjF,GAAGjD,EAAEiJ,EAAEzI,OAAEoO,KAAKrO,EAAEsO,aAAa9F,EAAEhI,eAAE2B,IAAI,YAAYA,EAAEkG,KAAK,IAAIwJ,EAAElQ,GAAE+G,GAAG5I,EAAEgB,OAAEiM,UAAUvE,IAAIqJ,EAAE7Q,KAAK0P,iBAAiB1Q,EAAEsO,YAAYuD,GAAG/R,EAAEgB,OAAEqR,QAAQ,MAAMvR,WAAWN,EAAEmM,cAAc3D,GAAG+I,EAAEE,EAAElS,EAAEqI,gBAAgBoK,mBAAmB7S,EAAEiJ,EAAE,iBAAiBpI,EAAE4B,GAAG,GAAG1B,eAAEkC,KAAK8F,IAAIuJ,EAAEtJ,WAAW,YAAY/F,IAAI,MAAM0G,EAAE,EAAE3J,EAAE2L,WAAWgH,EAAE,EAAE3P,EAAEuG,WAAW+I,GAAG/Q,KAAK0N,mBAAmBqD,EAAEtS,EAAEG,GAAG8I,EAAEgK,gBAAgB7S,EAAE8S,eAAezE,aAAazL,EAAEsP,EAAErJ,GAAG,MAAMa,EAAE,IAAIrI,EAAEtB,EAAE4P,IAAIC,OAAOsC,EAAElG,aAAa,eAAetC,GAAGwI,EAAElG,aAAa,SAASuG,EAAEhJ,GAAG2I,EAAElG,aAAa,iBAAiBzC,GAAGpI,KAAKkO,mBAAmBxG,EAAEqJ,EAAExP,EAAE3C,GAAGoB,KAAK+O,8BAA8BrH,EAAEqJ,EAAExP,GAAGE,EAAE0J,uBAAsB,GAAI,MAAMvD,EAAE5I,EAAE4F,OAAO4G,OAAO/J,EAAEqG,EAAExI,EAAEkI,GAAG,IAAIvG,EAAEjC,EAAE8S,WAAWF,EAAE5S,EAAE+S,UAAUC,YAAYC,kBAAkBzK,IAAIvG,GAAG,EAAE2Q,GAAG,GAAGnQ,EAAEoK,QAAQjE,GAAGnG,EAAEqK,aAAahN,EAAEmC,EAAE1B,OAAE0M,aAAa2F,ICAziD,MAAMjR,GAAElC,GAAGG,eAAEH,EAAEqS,KAAK,CAAC/L,SAAS,CAAC,CAAC+F,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAKpI,OAAE+L,OAAO,CAACF,SAAS,EAAErG,KAAK,OAAOsG,MAAM,EAAE1D,KAAKpI,OAAEkR,eAAe,CAACrF,SAAS,EAAErG,KAAK,UAAUsG,MAAM,EAAE1D,KAAKpI,OAAEkR,cAAcH,YAAW,GAAI,CAAClF,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAKpI,OAAEkR,cAAcH,YAAW,GAAI,CAAClF,SAAS,EAAErG,KAAK,gBAAgBsG,MAAM,EAAE1D,KAAKpI,OAAEkR,eAAe,CAACrF,SAAS,EAAErG,KAAK,QAAQsG,MAAM,EAAE1D,KAAKpI,OAAE+F,MAAM,CAAC8F,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAKpI,OAAEgG,gBAAgB,CAAC6F,SAAS,EAAErG,KAAK,iBAAiBsG,MAAM,EAAE1D,KAAKpI,OAAE+L,OAAO,CAACF,SAAS,EAAErG,KAAK,cAAcsG,MAAM,EAAE1D,KAAKpI,OAAEgG,mBAAmB,MAAM/D,WAAUlC,EAAEyG,WAAWqH,kBAAkB,OAAOtN,OAAEif,KAAKjR,kBAAkB/O,GAAG,OAAM,EAAGgP,aAAajO,EAAEZ,EAAEI,EAAEkC,GAAG,MAAM0E,QAAQnE,EAAEiF,QAAQxG,EAAEyQ,aAAapP,EAAE4I,MAAMhJ,EAAEyM,YAAYlM,EAAEiF,cAAce,GAAGlI,EAAEX,EAAEU,OAAE8N,KAAKrO,EAAEsO,aAAa9F,EAAE/I,eAAEiD,IAAI,YAAYA,EAAE2F,MAAMoE,cAAcoF,EAAEjR,WAAWd,GAAG6B,GAAE9B,GAAGiJ,EAAE5H,EAAEgH,gBAAgBoK,mBAAmB9R,EAAEX,EAAE,iBAAiBC,EAAEoC,GAAG,GAAGzC,eAAEiJ,KAAKF,IAAIM,EAAEL,WAAW,YAAYC,IAAIjG,EAAEuG,WAAWF,GAAG,IAAIiJ,EAAEjR,OAAEiM,UAAUvE,IAAIuJ,EAAEjR,OAAEqR,QAAQnR,KAAK0N,mBAAmB5F,EAAEtI,EAAEZ,GAAGsB,EAAEyR,eAAezE,aAAazL,EAAEqG,EAAEjJ,GAAGiJ,EAAE4C,oBAAoB,gBAAgBvJ,EAAEyK,aAAa9D,EAAE4C,oBAAoB,oBAAoBvJ,EAAE8M,iBAAiBjO,KAAKkO,mBAAmBrP,EAAEiJ,EAAEvG,EAAE3C,GAAGoB,KAAK+O,8BAA8BlQ,EAAEiJ,EAAEvG,GAAGvB,KAAKsP,uBAAuBzQ,EAAEiJ,EAAEvG,GAAGuG,EAAE+C,aAAa,WAAW,GAAG,MAAMzC,EAAEpJ,EAAE4F,OAAO4G,OAAO/J,EAAEoP,EAAE/R,GAAGmC,EAAEjC,EAAE+S,UAAUC,YAAYC,kBAAkBxQ,EAAEoK,QAAQzD,GAAG3G,EAAEqK,aAAahM,OAAEiM,UAAU/M,EAAE8S,WAAW7S,OAAEgN,aAAahL,GAAG6G,EAAE+C,aAAa,WAAW,GAAGpJ,EAAEqK,aAAaiF,EAAE/R,EAAE8S,WAAW7S,OAAEgN,aAAahL,ICAltB,MAAM2c,GAAE,CAACc,OAAOtN,EAAEuN,KAAK5W,GAAE6W,KAAKtf,EAAEuf,KAAK5f,GAAE6f,MAAMxW,GAAEyW,KAAKtd,EAAEud,QAAQzd,OAAEoD,OAAO/F,EAAEqgB,QAAQxgB,EAAEygB,OAAOve,EAAEwe,SAAS3f,OAAE4f,KAAK7f,OAAE8f,SAASzX,OAAE0X,cAAcpf,EAAEqf,QAAQzB,GAAE0B,QAAQtO,GAAEuO,UAAUjY,EAAEkY,UAAU1gB,GAAE2gB,WAAWze,EAAE0e,QAAQ9f,EAAE+f,SAAS3gB,I,oCCJ11C,0EAI6O,MAAMuC,EAAE,IAAIiU,aAAa,CAAC,mBAAmB,kBAAkB,kBAAkB,EAAE,iBAAiB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,iBAAiB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,mBAAmB,mBAAmB,IAAI7W,EAAE,CAACihB,YAAYre,EAAEse,WAAWte,EAAEue,YAAYve,EAAEwe,YAAYxe,EAAEye,YAAY,IAAIxK,aAAa,CAAC,kBAAkB,kBAAkB,kBAAkB,EAAE,mBAAmB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,mBAAmB,EAAE,kBAAkB,kBAAkB,kBAAkB,EAAE,kBAAkB,kBAAkB,GAAG,EAAE,kBAAkB,kBAAkB,mBAAmB,EAAE,kBAAkB,mBAAmB,mBAAmB,EAAE,kBAAkB,kBAAkB,mBAAmB,IAAIyK,iBAAiB,IAAIzK,aAAa,CAAC,kBAAkB,kBAAkB,EAAE,EAAE,kBAAkB,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI0K,gBAAgB,IAAI1K,aAAa,CAAC,kBAAkB,mBAAmB,GAAG,EAAE,kBAAkB,mBAAmB,mBAAmB,EAAE,iBAAiB,kBAAkB,mBAAmB,EAAE,kBAAkB,kBAAkB,kBAAkB,IAAI2K,iBAAiB,IAAI3K,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,mBAAmB,EAAE,kBAAkB,mBAAmB,GAAG,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,mBAAmB,mBAAmB,EAAE,kBAAkB,kBAAkB,mBAAmB,EAAE,iBAAiB,kBAAkB,mBAAmB,EAAE,kBAAkB,kBAAkB,mBAAmB,EAAE,kBAAkB,kBAAkB,kBAAkB,IAAI4K,aAAa,IAAI5K,aAAa,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI6K,WAAW,IAAI7K,aAAa,CAAC,EAAE,EAAE,EAAE,KAAK,MAAMxU,UAAUlC,OAAE2C,cAAcC,SAASC,WAAW7B,KAAKkF,MAAM,CAACsb,OAAO,CAACpb,OAAO,gBAAgBC,OAAO,gBAAgBzF,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,MAAM4gB,OAAO,CAACrb,OAAO,gBAAgBC,OAAO,gBAAgBzF,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,WAAW,GAAG,CAAC,OAAO,OAAO4F,WAAWE,cAAcC,QAAQpG,GAAGf,GAAGe,EAAEqG,oBAAmB,GAAIrG,EAAEsG,yBAAyBvG,OAAEwG,IAAIxG,OAAEyG,oBAAoBzG,OAAEwG,IAAIxG,OAAEyG,qBAAqBxG,EAAEyG,cAAa,GAAG,GAAG,GAAG,GAAIzG,EAAE0G,oBAAoB,GAAG1G,EAAE2G,uBAAsB,GAAI3G,EAAE4L,aAAazK,OAAE0K,KAAK1K,OAAE0K,KAAK1K,OAAE2K,SAAS9L,EAAE4G,mBAAmBxH,OAAEyH,MAAM5H,EAAE6H,WAAW,KAAKC,KAAK9H,EAAEO,GAAG,GAAGQ,eAAER,EAAEwJ,SAAS,IAAIxJ,EAAEwJ,OAAOkY,gBAAgB,OAAO,MAAMja,SAASlH,GAAGd,EAAE,GAAGc,EAAEqH,MAAM5G,KAAKyE,MAAMzF,EAAE2hB,qBAAqBliB,GAAG,WAAWA,EAAEoc,WAAW,CAAC,MAAMrb,EAAER,EAAE4hB,QAAQH,OAAOjhB,GAAGQ,KAAK6gB,aAAapiB,EAAEO,EAAEQ,EAAEshB,IAAIthB,EAAEuhB,kBAAkB,CAAC,MAAMvhB,EAAER,EAAE4hB,QAAQJ,OAAOhhB,GAAGQ,KAAKghB,eAAeviB,EAAEO,EAAEQ,EAAEshB,IAAIthB,EAAEuhB,cAAcxhB,EAAEgI,IAAIvH,KAAKyE,MAAMuc,eAAexhB,EAAER,EAAEO,EAAEoB,GAAG,MAAMiF,QAAQhH,EAAE8H,QAAQjF,EAAEkF,cAAczF,GAAG1B,GAAG4H,qBAAqB1F,GAAG1C,EAAEwI,EAAE9F,EAAEuf,UAAU,CAAC,aAAa,GAAG,eAAevf,EAAEwf,cAAc1Z,EAAE8B,KAAK,sBAAsB,MAAM/H,EAAEE,EAAEyF,gBAAgBC,WAAWnH,KAAKkF,MAAMsb,OAAOhZ,GAAG,GAAG/I,eAAEyC,KAAKK,EAAEkG,WAAW,YAAYvG,IAAItC,EAAEoJ,WAAWzG,GAAG,MAAMmH,WAAWhB,EAAEG,QAAQvI,EAAEsJ,WAAW1I,GAAGlB,EAAEuC,EAAEqJ,cAAc,eAAelD,GAAGnG,EAAEsJ,aAAa,YAAYvL,GAAGiC,EAAEmJ,oBAAoB,YAAYxK,EAAE2I,KAAK,MAAMsY,MAAMhgB,EAAE8f,UAAU7T,EAAE/C,SAASzC,EAAEwZ,mBAAmBtZ,GAAGpG,EAAEH,EAAEoK,cAAc,WAAW9M,EAAEsC,IAAItC,EAAEyhB,cAAc/e,EAAEqJ,cAAc,cAAcwC,GAAG7L,EAAEsJ,aAAa,aAAajD,GAAGrG,EAAEqJ,cAAc,uBAAuB9C,GAAG,MAAM5I,EAAEc,KAAKqhB,eAAe7hB,EAAER,GAAGuC,EAAEqJ,cAAc,eAAe1L,GAAGN,EAAEiN,QAAQtM,GAAGX,EAAEkN,aAAa7M,OAAE8M,UAAUpL,EAAEb,OAAEmM,aAAa,GAAG4U,aAAarhB,EAAER,EAAEO,EAAEoB,GAAG,MAAMiF,QAAQhH,EAAE8H,QAAQjF,EAAEkF,cAAc9H,GAAGW,GAAG4H,qBAAqBlG,GAAGlC,EAAE0C,EAAE,GAAG,eAAeR,EAAEigB,MAAMzf,EAAE4H,KAAK,eAAepI,EAAE+f,WAAWvf,EAAE4H,KAAK,aAAa,eAAepI,EAAEggB,cAAcxf,EAAE4H,KAAK,sBAAsB,MAAM9B,EAAE/F,EAAEyF,gBAAgBC,WAAWnH,KAAKkF,MAAMub,OAAO/e,GAAG,GAAGjD,eAAEI,KAAK2I,EAAEC,WAAW,YAAY5I,IAAID,EAAEoJ,WAAWR,GAAG,MAAMkB,WAAWnH,EAAEsG,QAAQH,EAAEkB,WAAWtJ,GAAGN,EAAEwI,EAAEoD,cAAc,eAAerJ,GAAGiG,EAAEqD,aAAa,YAAYnD,GAAGF,EAAEkD,oBAAoB,YAAYpL,EAAEuJ,KAAK,MAAMoY,UAAU/gB,EAAEkhB,mBAAmBjgB,GAAGD,EAAEsG,EAAEoD,cAAc,cAAc1K,GAAGsH,EAAEoD,cAAc,uBAAuBzJ,GAAG,MAAMiM,EAAEpN,KAAKqhB,eAAe7hB,EAAER,GAAGwI,EAAEoD,cAAc,eAAewC,GAAGxO,EAAEiN,QAAQtM,GAAGX,EAAEkN,aAAa7M,OAAE8M,UAAUpL,EAAEb,OAAEmM,aAAa,GAAGoV,eAAe7hB,EAAEf,GAAG,MAAMO,EAAEP,EAAE+P,IAAI,IAAIhP,EAAEmO,aAAalP,EAAE+P,IAAIC,OAAOhQ,EAAEmF,WAAWpE,EAAE2K,MAAMvG,YAAY0d,eAAe/hB,GAAGd,EAAE2I,qBAAqB,MAAM,CAAC7H,GAAGb,KAAKuF,OAAOxF,EAAEsC,MAAMtC,EAAEwR,OAAO,IAAI1Q,GAAGA,GAAGP,EAAEO,GAAGb,KAAKuF,OAAOxF,EAAEuC,OAAOvC,EAAEwR,OAAO,IAAI1Q,GAAGA,GAAGP,M,oCCJnqK,sCAIkgBC,EAJlgB,wHAIogB,MAAMiB,EAAEuB,OAAED,UAAU,kCAAkC,IAAI3C,EAAEI,EAAE,cAAc0B,OAAEgB,YAAYlD,GAAGmD,MAAMnD,GAAGuB,KAAKe,MAAM,KAAKf,KAAKgB,OAAO,KAAKhB,KAAKuhB,UAAU,MAAMvhB,KAAK0gB,gBAAgB,KAAK1gB,KAAKwhB,KAAK,KAAKxhB,KAAKyhB,aAAY,EAAGzhB,KAAK0hB,OAAO,KAAK1hB,KAAK2hB,WAAW,KAA2B,uBAACljB,EAAEe,GAAG,OAAO,IAAIP,EAAE2iB,yBAAyBnjB,GAA/B,CAAmCe,GAAkC,gCAACf,GAAG,IAAIe,EAAE,OAAOf,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAKe,EAAEqiB,WAAW,MAAM,IAAI,MAAMriB,EAAEsiB,YAAY,MAAM,IAAI,MAAMtiB,EAAEwS,YAAY,MAAM,IAAI,KAAKxS,EAAEua,UAAU,MAAM,IAAI,MAAMva,EAAE4V,WAAW,MAAM,IAAI,MAAM5V,EAAE8S,WAAW,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,IAAI,UAAU9S,EAAEkW,aAAa,MAAM,IAAI,MAAMlW,EAAEuiB,aAAa,OAAOviB,EAAEwiB,cAAcvjB,GAAG,IAAIA,EAAE,MAAM,MAAM,IAAIe,EAAEf,EAAEwjB,cAAc,MAAM,CAAC,KAAK,KAAK,MAAMpV,SAASrN,GAAGA,EAAE,KAAK,CAAC,UAAU,KAAK,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM,OAAOqN,SAASrN,KAAKA,EAAE,OAAOA,EAAE0iB,gBAAgB,OAAOliB,KAAK0hB,QAAQ1hB,KAAK0hB,OAAO1Y,OAAOmZ,QAAQ1jB,GAAG,IAAIA,EAAEijB,QAAQjjB,EAAEijB,OAAO1Y,SAAShJ,KAAKe,MAAMf,KAAKgB,OAAO,MAAM,IAAIxB,OAAE,uCAAuC,mGAAmGQ,KAAK0hB,SAAS1hB,KAAK0hB,OAAO,IAAI1hB,KAAK2hB,aAAa3hB,KAAK2hB,WAAW,IAAI3hB,KAAK0hB,OAAOpY,KAAK7K,EAAEijB,QAAQ1hB,KAAK2hB,WAAWrY,KAAK7K,EAAEkjB,YAAY,CAACS,SAAS,KAAKC,SAAS,OAAOC,YAAY,MAAM7jB,EAAE,IAAI8jB,YAAYviB,KAAKe,MAAMf,KAAKgB,OAAO,GAAG,OAAOhB,KAAKuhB,WAAW,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAMvhB,KAAKwiB,iBAAiB/jB,GAAG,MAAM,QAAQuB,KAAKyiB,cAAchkB,GAAG,OAAO,IAAIikB,kBAAkBjkB,GAAGkkB,iBAAiB,MAAMlkB,EAAE,IAAIiX,aAAa1V,KAAKe,MAAMf,KAAKgB,OAAO,GAAG,OAAOhB,KAAK4iB,eAAenkB,GAAGA,EAAEokB,mBAAmB7iB,KAAK2hB,WAAW3hB,KAAK0hB,OAAO/R,IAAKlR,GAAGuB,KAAK8iB,yBAAyBrkB,EAAEuB,KAAKwhB,OAAQ,MAAM/iB,EAAEuB,KAAKwhB,KAAK,IAAIhiB,EAAE,EAAE,GAAGf,EAAE,IAAI,IAAIkC,EAAE,EAAEA,EAAElC,EAAEuK,OAAOrI,IAAIlC,EAAEkC,IAAInB,SAASA,EAAEQ,KAAKe,MAAMf,KAAKgB,OAAOhB,KAAK0gB,gBAAgBlhB,EAAEujB,MAAMtkB,GAAG,IAAIA,GAAG,QAAQA,GAAG,QAAQA,EAAE,OAAO,IAAIe,EAAE,OAAOf,GAAG,IAAI,KAAKe,EAAE,CAAC,EAAE,KAAK,MAAM,IAAI,MAAMA,EAAE,CAAC,EAAE,OAAO,MAAM,IAAI,MAAMA,EAAE,CAAC,EAAE,YAAY,MAAM,IAAI,KAAKA,EAAE,EAAE,IAAI,KAAK,MAAM,IAAI,MAAMA,EAAE,EAAE,MAAM,OAAO,MAAM,IAAI,MAAMA,EAAE,EAAE,WAAW,YAAY,MAAM,QAAQA,EAAE,EAAE,MAAM,OAAO,MAAMmB,EAAEb,GAAGN,EAAEiC,EAAEzB,KAAK0hB,OAAOniB,EAAES,KAAKe,MAAMf,KAAKgB,OAAOhC,EAAEyC,EAAEuH,OAAO,IAAIpK,EAAEM,EAAEgB,EAAE,MAAMrB,EAAE,GAAG,IAAI,IAAI0C,EAAE,EAAEA,EAAEvC,EAAEuC,IAAI,CAACrB,EAAEjB,EAAE+jB,gBAAgBvkB,EAAEc,GAAGX,EAAE6C,EAAEF,GAAG,IAAI,IAAI9C,EAAE,EAAEA,EAAEc,EAAEd,IAAIS,EAAEN,EAAEH,GAAGyB,EAAEzB,GAAGS,EAAEY,EAAEA,EAAEZ,EAAEyB,EAAEA,EAAEzB,EAAEL,EAAEyK,KAAKpJ,GAAGF,KAAK0hB,OAAO7iB,EAAEmB,KAAKuhB,UAAU9iB,EAAEwkB,aAAaxkB,GAAG,GAAGc,eAAEd,IAAI,IAAIA,EAAEuK,QAAQ,MAAMhJ,KAAK0hB,QAAQ,IAAI1hB,KAAK0hB,OAAO1Y,OAAO,OAAOhJ,KAAK,MAAMR,EAAEQ,KAAK0hB,OAAO1Y,OAAOrI,EAAElC,EAAEkF,KAAMlF,GAAGA,GAAGuB,KAAK0hB,OAAO1Y,QAASlJ,EAAEN,IAAIf,EAAEuK,SAASvK,EAAEkF,KAAM,CAAClF,EAAEe,IAAIf,IAAIe,GAAI,OAAOmB,GAAGb,EAAEE,KAAK,IAAIf,EAAE,CAACsiB,UAAUvhB,KAAKuhB,UAAUxgB,MAAMf,KAAKe,MAAMC,OAAOhB,KAAKgB,OAAOwgB,KAAKxhB,KAAKwhB,KAAKd,gBAAgB1gB,KAAK0gB,gBAAgBe,YAAYzhB,KAAKyhB,YAAYC,OAAOjjB,EAAEkR,IAAKlR,GAAGuB,KAAK0hB,OAAOjjB,IAAKkjB,WAAW3hB,KAAK2hB,YAAYljB,EAAEkR,IAAKlR,GAAGuB,KAAK2hB,WAAWljB,MAAOykB,QAAQ,MAAMzkB,EAAE,IAAIQ,EAAE,CAAC8B,MAAMf,KAAKe,MAAMC,OAAOhB,KAAKgB,OAAOugB,UAAUvhB,KAAKuhB,UAAUE,YAAYzhB,KAAKyhB,YAAYf,gBAAgB1gB,KAAK0gB,kBAAkB,IAAIlhB,EAAEQ,KAAKwhB,OAAOxhB,KAAKwhB,gBAAgBK,WAAWpjB,EAAE+iB,KAAK,IAAIK,WAAW7hB,KAAKwhB,MAAM/iB,EAAE+iB,KAAKxhB,KAAKwhB,KAAK2B,MAAM,IAAI,MAAMxiB,EAAE1B,EAAE2iB,yBAAyB5hB,KAAKuhB,WAAW,GAAGvhB,KAAK0hB,QAAQ1hB,KAAK0hB,OAAO1Y,OAAO,EAAE,CAACvK,EAAEijB,OAAO,GAAG,MAAM5hB,EAAEE,KAAK0hB,OAAO,GAAGyB,MAAM,IAAI3jB,EAAE,EAAEA,EAAEQ,KAAK0hB,OAAO1Y,OAAOxJ,IAAIf,EAAEijB,OAAOliB,GAAGM,EAAEE,KAAK0hB,OAAOliB,GAAG2jB,MAAM,EAAEnjB,KAAK0hB,OAAOliB,GAAGwJ,QAAQ,IAAIrI,EAAEX,KAAK0hB,OAAOliB,IAAI,GAAGQ,KAAK2hB,WAAW,IAAIljB,EAAEkjB,WAAW,GAAGniB,EAAE,EAAEA,EAAEQ,KAAK2hB,WAAW3Y,OAAOxJ,IAAIf,EAAEkjB,WAAWniB,GAAGM,eAAEE,KAAK2hB,WAAWniB,IAAI,OAAOf,EAAEgkB,cAAchkB,GAAG,MAAM+iB,KAAKhiB,EAAEiiB,YAAY9gB,EAAE+gB,OAAO5hB,GAAGE,KAAK,IAAIvB,IAAIqB,IAAIA,EAAEkJ,OAAO,YAAY9I,EAAEkC,MAAM,cAAc,8DAA8D,IAAIX,EAAElC,EAAEP,EAAEJ,EAAE6C,EAAElC,EAAEP,EAAEc,EAAE,GAAGA,EAAEkJ,QAAQ,GAAGzJ,EAAEO,EAAE,GAAGd,EAAEc,EAAE,IAAI,IAAIA,EAAEkJ,SAASzJ,EAAEO,EAAE,IAAI,MAAMZ,EAAE,IAAI8S,YAAYvT,GAAGQ,EAAEe,KAAKe,MAAMf,KAAKgB,OAAO,GAAGS,EAAEuH,SAAS/J,EAAE,GAAGO,GAAGA,EAAEwJ,SAAS/J,EAAE,GAAG0B,EAAE,IAAI/B,EAAE,EAAEA,EAAEK,EAAEL,IAAIY,EAAEZ,KAAKM,EAAEN,GAAGY,EAAEZ,IAAI,GAAGI,EAAEJ,IAAI,GAAGW,EAAEX,IAAI,EAAE6C,EAAE7C,SAAS,IAAIA,EAAE,EAAEA,EAAEK,EAAEL,IAAIY,EAAEZ,KAAKM,EAAEN,GAAG,KAAK,GAAGI,EAAEJ,IAAI,GAAGW,EAAEX,IAAI,EAAE6C,EAAE7C,SAAS,IAAIA,EAAE,EAAEA,EAAEK,EAAEL,IAAIM,EAAEN,GAAG,KAAK,GAAGI,EAAEJ,IAAI,GAAGW,EAAEX,IAAI,EAAE6C,EAAE7C,QAAQsB,EAAEkC,MAAM,cAAc,yDAAyDogB,iBAAiB/jB,GAAG,MAAMijB,OAAOliB,EAAEgiB,KAAK7gB,EAAEghB,WAAW7hB,GAAGE,KAAK,IAAIvB,IAAIe,IAAIA,EAAEwJ,OAAO,YAAY9I,EAAEkC,MAAM,cAAc,8DAA8D,MAAMX,EAAEzB,KAAKuhB,UAAU,IAAIhiB,EAAE,EAAEP,EAAE,EAAEJ,EAAE,EAAE,GAAGkB,GAAGA,EAAEkJ,OAAO,EAAEhK,EAAEc,EAAE6P,IAAKlR,GAAGA,EAAE2jB,UAAWgB,OAAQ,CAAC3kB,EAAEe,IAAId,KAAK2kB,IAAI5kB,EAAEe,IAAKZ,EAAEkB,EAAE6P,IAAKlR,GAAGA,EAAE4jB,SAAS5jB,EAAE2jB,UAAWgB,OAAQ,CAAC3kB,EAAEe,IAAId,KAAKoR,IAAIrR,EAAEe,IAAKD,EAAE,IAAIX,MAAM,CAAC,IAAIH,EAAE,IAAI,OAAOgD,GAAGzC,GAAG,IAAIP,EAAE,KAAK,QAAQgD,EAAEhD,EAAE,MAAM,QAAQgD,GAAGzC,GAAG,MAAMP,EAAE,OAAO,QAAQgD,EAAEhD,EAAE,WAAW,QAAQgD,GAAGzC,GAAG,WAAWP,EAAE,YAAY,QAAQgD,GAAGzC,GAAG,MAAMP,EAAE,OAAO,QAAQgD,IAAIzC,GAAGT,OAAO+kB,UAAU7kB,EAAEF,OAAO+kB,WAAW/jB,EAAE,KAAKd,EAAEO,GAAG,MAAME,EAAE,IAAI8S,YAAYvT,GAAGQ,EAAEe,KAAKe,MAAMf,KAAKgB,OAAO,IAAInC,EAAE0C,EAAEL,EAAED,EAAEuG,EAAE,GAAG3I,EAAE0C,EAAEL,EAAE1B,EAAE,GAAGX,EAAEmK,SAAS/J,EAAE,OAAOiB,EAAEkC,MAAM,cAAc,yDAAyD,GAAG5C,EAAEwJ,QAAQ,EAAE,GAAGzH,EAAE/B,EAAE,GAAGA,EAAEwJ,QAAQ,IAAI9H,EAAE1B,EAAE,IAAImB,GAAGA,EAAEqI,SAAS/J,EAAE,IAAIgC,EAAE,EAAEA,EAAEhC,EAAEgC,IAAIN,EAAEM,KAAK/B,EAAE+B,GAAG,KAAK,IAAIC,EAAED,GAAGjC,GAAGO,GAAG,IAAIgC,EAAEN,GAAGjC,GAAGO,GAAG,GAAGV,EAAEoC,GAAGjC,GAAGO,QAAQ,IAAI0B,EAAE,EAAEA,EAAEhC,EAAEgC,IAAI/B,EAAE+B,GAAG,KAAK,IAAIC,EAAED,GAAGjC,GAAGO,GAAG,IAAIgC,EAAEN,GAAGjC,GAAGO,GAAG,GAAGV,EAAEoC,GAAGjC,GAAGO,OAAO,GAAGoB,GAAGA,EAAEqI,SAAS/J,EAAE,IAAIgC,EAAE,EAAEA,EAAEhC,EAAEgC,IAAIuG,GAAG3I,EAAEoC,GAAGjC,GAAGO,EAAEoB,EAAEM,KAAK/B,EAAE+B,GAAG,KAAK,GAAGuG,GAAG,GAAGA,GAAG,EAAEA,QAAQ,IAAIvG,EAAE,EAAEA,EAAEhC,EAAEgC,IAAIuG,GAAG3I,EAAEoC,GAAGjC,GAAGO,EAAEL,EAAE+B,GAAG,KAAK,GAAGuG,GAAG,GAAGA,GAAG,EAAEA,EAAEob,eAAenkB,GAAG,MAAMijB,OAAOliB,EAAEgiB,KAAK7gB,GAAGX,KAAK,IAAIvB,IAAIe,IAAIA,EAAEwJ,OAAO,OAAO9I,EAAEkC,MAAM,mBAAmB,8DAA8D,IAAItC,EAAE2B,EAAElC,EAAEP,EAAEc,EAAE2B,EAAElC,EAAEC,EAAE,GAAGA,EAAEwJ,QAAQ,GAAGvH,EAAEjC,EAAE,GAAGD,EAAEC,EAAE,IAAI,IAAIA,EAAEwJ,SAASvH,EAAEjC,EAAE,IAAI,MAAMZ,EAAEoB,KAAKe,MAAMf,KAAKgB,OAAO,GAAGlB,EAAEkJ,SAASpK,EAAE,OAAOsB,EAAEkC,MAAM,mBAAmB,yDAAyD,IAAIlD,EAAE,EAAE,GAAGyB,GAAGA,EAAEqI,SAASpK,EAAE,IAAII,EAAE,EAAEA,EAAEJ,EAAEI,IAAIP,EAAES,KAAKY,EAAEd,GAAGP,EAAES,KAAKuC,EAAEzC,GAAGP,EAAES,KAAKK,EAAEP,GAAGP,EAAES,KAAK,EAAEyB,EAAE3B,QAAQ,IAAIA,EAAE,EAAEA,EAAEJ,EAAEI,IAAIP,EAAES,KAAKY,EAAEd,GAAGP,EAAES,KAAKuC,EAAEzC,GAAGP,EAAES,KAAKK,EAAEP,GAAGP,EAAES,KAAK,EAAE4jB,yBAAyBrkB,EAAEe,GAAG,IAAImB,EAAE,IAAIb,GAAE,IAAK,MAAM2B,EAAEhD,EAAEuK,OAAO,IAAIzJ,EAAEP,EAAE,EAAE,GAAGQ,EAAE,IAAID,EAAE,EAAEA,EAAEkC,EAAElC,IAAIC,EAAED,KAAKP,EAAEP,EAAEc,GAAGoB,EAAE3B,EAAE2B,EAAE3B,EAAE2B,EAAEb,EAAEd,EAAEc,EAAEd,EAAEc,QAAQ,IAAIP,EAAE,EAAEA,EAAEkC,EAAElC,IAAIP,EAAEP,EAAEc,GAAGoB,EAAE3B,EAAE2B,EAAE3B,EAAE2B,EAAEb,EAAEd,EAAEc,EAAEd,EAAEc,EAAE,MAAM,CAACsiB,SAASzhB,EAAE0hB,SAASviB,KAAKrB,eAAE,CAACO,eAAE,CAACukB,KAAK,CAACC,OAAM,MAAO3kB,EAAEwC,UAAU,aAAQ,GAAQ5C,eAAE,CAACO,eAAE,CAACukB,KAAK,CAACC,OAAM,MAAO3kB,EAAEwC,UAAU,cAAS,GAAQ5C,eAAE,CAACO,eAAE,CAACukB,KAAK,CAACC,OAAM,MAAO3kB,EAAEwC,UAAU,iBAAY,GAAQ5C,eAAE,CAACG,eAAE,cAAcC,EAAEwC,UAAU,gBAAgB,MAAM5C,eAAE,CAACO,eAAE,CAACukB,KAAK,CAACC,OAAM,MAAO3kB,EAAEwC,UAAU,uBAAkB,GAAQ5C,eAAE,CAACO,eAAE,CAACukB,KAAK,CAACC,OAAM,MAAO3kB,EAAEwC,UAAU,YAAO,GAAQ5C,eAAE,CAACO,eAAE,CAACukB,KAAK,CAACC,OAAM,MAAO3kB,EAAEwC,UAAU,mBAAc,GAAQ5C,eAAE,CAACO,eAAE,CAACukB,KAAK,CAACC,OAAM,MAAO3kB,EAAEwC,UAAU,cAAS,GAAQ5C,eAAE,CAACO,eAAE,CAACukB,KAAK,CAACC,OAAM,MAAO3kB,EAAEwC,UAAU,kBAAa,GAAQxC,EAAEI,EAAER,eAAE,CAACS,eAAE,mCAAmCL,GAAG,MAAM0C,EAAE1C,G,oCCJt2N,kCAIA,MAAMW,EAAEmC,YAAYnC,GAAGQ,KAAKyjB,SAASjkB,EAAEkkB,gBAAgBlkB,GAAG,OAAOQ,KAAK2jB,SAASnkB,GAAGmkB,SAASnkB,EAAEf,EAAE,IAAIoB,KAAK,GAAGpB,EAAEyK,IAAI1J,GAAG,OAAOf,EAAE0K,IAAI3J,GAAG,MAAMD,EAAES,KAAK4jB,MAAMpkB,GAAG,IAAID,EAAE,MAAM,IAAIskB,MAAO,2BAA0BrkB,GAAK,MAAMmB,EAAE,wCAAwC,IAAI1B,EAAE0B,EAAEmjB,KAAKvkB,GAAG,MAAMkC,EAAE,GAAG,KAAK,MAAMxC,GAAGwC,EAAE6H,KAAK,CAACya,KAAK9kB,EAAE,GAAG+kB,MAAM/kB,EAAEglB,MAAMjb,OAAO/J,EAAE,GAAG+J,SAAS/J,EAAE0B,EAAEmjB,KAAKvkB,GAAG,IAAIP,EAAE,EAAEE,EAAE,GAAG,OAAOuC,EAAEyc,QAAS1e,IAAIN,GAAGK,EAAE4jB,MAAMnkB,EAAEQ,EAAEwkB,OAAO9kB,GAAGT,EAAEyK,IAAI1J,EAAEukB,MAAM,GAAG/jB,KAAK2jB,SAASnkB,EAAEukB,KAAKtlB,GAAGO,EAAEQ,EAAEwkB,MAAMxkB,EAAEwJ,SAAU9J,GAAGK,EAAE4jB,MAAMnkB,GAAGP,EAAE2K,IAAI5J,EAAEN,GAAGA,EAAE0kB,MAAMpkB,GAAG,OAAOQ,KAAKyjB,SAASjkB,M,oCCA9hB,SAASP,IAAI,OAAO,IAAIyW,aAAa,GAAG,SAASjX,EAAEQ,GAAG,MAAMR,EAAE,IAAIiX,aAAa,GAAG,OAAOjX,EAAE,GAAGQ,EAAE,GAAGR,EAAE,GAAGQ,EAAE,GAAGR,EAAE,GAAGQ,EAAE,GAAGR,EAAE,GAAGQ,EAAE,GAAGR,EAAE,SAASc,EAAEN,EAAER,EAAEc,EAAEC,GAAG,MAAMR,EAAE,IAAI0W,aAAa,GAAG,OAAO1W,EAAE,GAAGC,EAAED,EAAE,GAAGP,EAAEO,EAAE,GAAGO,EAAEP,EAAE,GAAGQ,EAAER,EAAE,SAASQ,EAAEP,EAAER,GAAG,OAAO,IAAIiX,aAAazW,EAAER,EAAE,GAAG,SAASO,IAAI,OAAOC,IAAI,SAASL,IAAI,OAAOW,EAAE,EAAE,EAAE,EAAE,GAAG,SAASgC,IAAI,OAAOhC,EAAE,EAAE,EAAE,EAAE,GAAG,SAASoB,IAAI,OAAOpB,EAAE,EAAE,EAAE,EAAE,GAAG,SAASV,IAAI,OAAOU,EAAE,EAAE,EAAE,EAAE,GAAG,SAASO,IAAI,OAAOP,EAAE,EAAE,EAAE,EAAE,GAJvb,kCAI0b,MAAMiI,EAAExI,IAAIyC,EAAE7C,IAAI8I,EAAEnG,IAAIJ,EAAER,IAAIoH,EAAElJ,IAAIC,EAAEgB,IAAMokB,OAAOC,OAAOD,OAAOE,eAAe,CAACC,UAAU,KAAKC,OAAOrlB,EAAEikB,MAAMzkB,EAAE8lB,WAAWhlB,EAAEilB,WAAWhlB,EAAEilB,MAAMzlB,EAAE0lB,KAAK9lB,EAAE+lB,MAAMpjB,EAAEqjB,MAAMjkB,EAAEkkB,MAAMhmB,EAAEimB,MAAMhlB,EAAEilB,MAAMvd,EAAEwd,KAAKvjB,EAAEwjB,OAAOvd,EAAEwd,OAAO/jB,EAAEgkB,OAAOpd,EAAEqd,OAAOtmB,GAAGumB,OAAOC,YAAY,CAACC,MAAM,a,oCCJlsB,kDAIuC,SAAS/lB,EAAEA,EAAEf,EAAEO,EAAE,IAAI,OAAO,IAAIO,OAAEC,EAAER,EAAEP,EAAEgB,QAAQC,aAAaV,EAAEP,EAAEgB,QAAQE,eAAelB,EAAEmB,c,oCCJjI,8IAImc,MAAME,EAAEA,IAAI,IAAIjB,EAAE,cAAciB,EAAEC,aAAaC,KAAK+C,QAAQC,IAAIpE,eAAG,IAAIoB,KAAKG,MAAO,UAAWZ,IAAIS,KAAKwlB,UAAUjmB,EAAEkmB,aAAatjB,MAAO5C,IAAIoB,eAAEpB,IAAIC,OAAEgC,UAAUxB,KAAK0lB,eAAetjB,MAAM7C,OAAS,0BAA0B,OAAOA,eAAE,CAACd,kBAAKI,EAAEwC,UAAU,aAAQ,GAAQxC,EAAEU,eAAE,CAACP,eAAE,4CAA4CH,GAAGA,I,kJCAtsB,MAAMU,EAAE,CAACE,QAAQ,CAACC,aAAaF,eAAE,0BAA0BG,eAAeH,eAAE,2BAA2BI,WAAW,IAAIC,IAAI,CAAC,CAAC,QAAQ,M,gECA8jB,MAAMmW,EAAE,IAAIpO,EAAE,GAAG,MAAM3G,UAAUnB,OAAE6B,cAAcC,SAASC,WAAW7B,KAAKiL,OAAOzL,eAAE,EAAE,EAAE,EAAE,GAAGiG,UAAUzF,KAAK2lB,kBAAkB3lB,KAAK2lB,gBAAgBlgB,UAAUzF,KAAK2lB,gBAAgB,MAAM3lB,KAAK4lB,mBAAmB5lB,KAAK4lB,iBAAiBngB,UAAUzF,KAAK4lB,iBAAiB,MAAM5lB,KAAK6lB,4BAA4B7lB,KAAK6lB,0BAA0BpgB,UAAUzF,KAAK6lB,0BAA0B,MAAM7lB,KAAK8lB,6BAA6B9lB,KAAK8lB,2BAA2BrgB,UAAUzF,KAAK8lB,2BAA2B,MAAM9lB,KAAK+lB,QAAQ,KAAKpgB,cAAcC,QAAQnH,IAAIA,EAAEoH,oBAAmB,GAAIpH,EAAEqH,yBAAyB9G,OAAE+G,IAAI/G,OAAEgH,oBAAoBhH,OAAE+G,IAAI/G,OAAEgH,qBAAqBvH,EAAEwH,cAAa,GAAG,GAAG,GAAG,GAAIxH,EAAEyH,oBAAoB,GAAGzH,EAAE0H,uBAAsB,GAAII,KAAK/G,EAAED,GAAG,MAAMqG,QAAQ9F,EAAE6G,cAAc/H,GAAGY,EAAE,IAAID,EAAE8M,QAAQ,OAAO,GAAGrM,KAAK+Y,kBAAkBjZ,GAAGrB,eAAEG,MAAMoB,KAAK2lB,gBAAgBle,aAAazH,KAAK4lB,iBAAiBne,YAAY,YAAY7I,IAAIkB,EAAE+L,QAAQ7L,KAAK6lB,2BAA2B/lB,EAAEkI,WAAWhI,KAAK2lB,iBAAiB3lB,KAAK2lB,gBAAgBjb,oBAAoB,YAAYnL,EAAEqJ,WAAWC,KAAK7I,KAAK2lB,gBAAgBpU,aAAa,gBAAgBhS,EAAEua,OAAOva,EAAEymB,QAAQhmB,KAAK2lB,gBAAgB9a,aAAa,UAAU,GAAG7K,KAAK2lB,gBAAgBha,cAAc,UAAU3L,KAAKiL,QAAQnL,EAAE4M,WAAWjL,OAAEwkB,WAAW,EAAE,GAAG,MAAMtlB,EAAEX,KAAKkmB,YAAYpmB,EAAEP,GAAGoB,GAAGb,EAAE+L,QAAQ7L,KAAK8lB,4BAA4BhmB,EAAEkI,WAAWhI,KAAK4lB,kBAAkB9lB,EAAE2M,YAAY9L,EAAE,GAAGX,KAAK4lB,iBAAiBlb,oBAAoB,YAAYnL,EAAEqJ,WAAWC,KAAK7I,KAAK4lB,iBAAiB/a,aAAa,UAAU,GAAG7K,KAAK4lB,iBAAiBrU,aAAa,gBAAgBhS,EAAEua,OAAOva,EAAEwB,MAAMxB,EAAEymB,OAAOzmB,EAAEyB,QAAQhB,KAAK4lB,iBAAiBrU,aAAa,UAAU,EAAE,GAAGvR,KAAK4lB,iBAAiBrU,aAAa,eAAe5Q,EAAEwlB,WAAWplB,MAAMJ,EAAEwlB,WAAWnlB,QAAQlB,EAAE4M,WAAWjL,OAAEkL,eAAe,EAAE,GAAG7M,EAAE+L,WAAW/L,EAAE+L,UAAUkN,kBAAkBta,GAAG,GAAGuB,KAAK2lB,iBAAiB3lB,KAAK4lB,iBAAiB,OAAO,MAAMpmB,EAAEF,eAAEb,EAAEG,QAAGkB,EAAER,eAAEb,EAAEkC,GAAG3B,EAAE,IAAI+a,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAItY,EAAExC,OAAEoW,aAAa5W,EAAE8C,OAAE+T,YAAYtW,GAAGkC,EAAE,IAAIhB,OAAEzB,EAAEG,OAAEgB,WAAWL,OAAE,CAACwF,SAAStD,IAAIiG,EAAE,IAAIqS,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAIvS,EAAEvI,OAAEoW,aAAa5W,EAAE8C,OAAE+T,YAAY5N,GAAGxI,EAAE,IAAIgB,OAAEzB,EAAEkC,EAAEf,WAAWL,OAAE,CAACwF,SAASyC,IAAIxH,KAAK2lB,gBAAgBnmB,EAAEQ,KAAK4lB,iBAAiB9lB,EAAEE,KAAK6lB,0BAA0B3kB,EAAElB,KAAK8lB,2BAA2B5mB,EAAEgnB,YAAYznB,EAAEe,GAAG,GAAGA,EAAEgN,SAAShN,EAAE4mB,+BAA+B5mB,EAAEkb,cAAc,OAAOlb,EAAEgN,QAAQhN,EAAE4mB,6BAA6B5mB,EAAEkb,cAAc1a,KAAK+lB,UAAU/lB,KAAK+lB,QAAQM,SAASC,cAAc,UAAUtmB,KAAK+lB,QAAQQ,aAAa,KAAK,YAAYvmB,KAAK+lB,QAAQQ,aAAa,QAAS,GAAEvQ,GAAKhW,KAAK+lB,QAAQQ,aAAa,SAAU,GAAE3e,GAAK5H,KAAK+lB,QAAQQ,aAAa,QAAQ,iBAAiB,MAAMhnB,EAAEC,EAAEkb,cAAc,IAAI5a,EAAEN,EAAEgP,IAAIkK,GAAGlZ,EAAEkb,cAAc,IAAI5a,GAAI,KAAIP,GAAK,MAAMX,EAAEoB,KAAK+lB,QAAQplB,EAAE/B,EAAE4nB,WAAW,MAAM,OAAO7lB,EAAE8lB,KAAK,kBAAkB9lB,EAAE+lB,UAAU,OAAO/lB,EAAEgmB,aAAa,MAAMhmB,EAAEimB,UAAU,EAAE,EAAE5Q,EAAEpO,GAAGrI,EAAE,KAAKoB,EAAEkmB,UAAU,MAAMlmB,EAAEmmB,SAAS,EAAE,EAAE9Q,EAAEpO,GAAGjH,EAAEkmB,UAAU,UAAUlmB,EAAEimB,UAAU,EAAE,EAAE5Q,EAAEpO,GAAGjH,EAAEkmB,UAAU,QAAQlmB,EAAEomB,SAASjnB,EAAE,EAAE,GAAGN,EAAEgN,QAAQ,IAAI9K,OAAEjD,EAAE,CAACmG,OAAO1D,OAAEmT,WAAWC,YAAY5M,OAAE6M,KAAKC,SAAShN,OAAE2I,cAAcxG,aAAazK,OAAE0K,QAAQ6K,SAAS5V,OAAE6V,eAAe9V,GAAGY,EAAEgN,W,oCCJ7wH,sFAI2S,MAAMvN,EAAE0C,YAAYhB,EAAE1B,GAAGe,KAAKgnB,KAAKrmB,EAAEX,KAAKinB,cAAcxoB,OAAE4W,aAAa1U,EAAEnB,OAAE8V,YAAY,IAAIwM,YAAY7iB,IAAIe,KAAK4Y,KAAK,IAAI9Y,OAAEa,EAAE,IAAId,IAAI,CAAC,CAAC,aAAa,KAAK,CAACkF,SAAS,CAAC,IAAInG,OAAE,aAAa,EAAEW,OAAEyL,MAAM,EAAE,KAAK,CAACjG,SAAS/E,KAAKinB,gBAAgBjnB,KAAKknB,OAAOjoB,EAAE+J,OAAO,EAAEtG,OAAO1C,KAAKgnB,KAAKnb,QAAQ7L,KAAK4Y,MAAMuO,SAASnnB,KAAKgnB,KAAKnb,QAAQ,MAAMpG,UAAUzF,KAAK4Y,KAAKnT,SAAQ,GAAIzF,KAAKinB,cAAcxhB,UAAUc,OAAOvG,KAAKgnB,KAAKnb,QAAQ7L,KAAK4Y,MAAM5Y,KAAKgnB,KAAKta,WAAW/L,OAAEgM,eAAe,EAAE3M,KAAKknB,W,oCCJ5vB,kDAI4D,MAAMpnB,EAAE6B,YAAYnC,EAAEf,EAAEqB,GAAGE,KAAKonB,WAAW5nB,EAAEQ,KAAKc,OAAOrC,EAAEuB,KAAKqnB,mBAAmBvnB,EAAW,YAAG,OAAON,eAAEQ,KAAKonB,YAAYpnB,KAAKonB,WAAWrmB,MAAM,EAAY,aAAG,OAAOvB,eAAEQ,KAAKonB,YAAYpnB,KAAKonB,WAAWpmB,OAAO,EAAEsmB,OAAO9nB,GAAG,MAAMM,EAAEE,KAAKonB,WAAW,GAAG3oB,eAAEqB,GAAG,OAAO,MAAM2B,EAAEzB,KAAKunB,OAAO,CAACH,WAAWtnB,IAAI,GAAGrB,eAAEgD,EAAE2lB,YAAY,OAAO,MAAM7nB,EAAEkC,EAAE2lB,WAAW9E,YAAY1jB,EAAEY,EAAEgoB,gBAAgB/lB,EAAE2lB,WAAWrmB,MAAMU,EAAE2lB,WAAWpmB,QAAQpC,EAAEkS,KAAK1H,IAAI7J,GAAGC,EAAEioB,aAAa7oB,EAAE,EAAE,GAAG8oB,0BAA0B,MAAMloB,EAAEQ,KAAKunB,OAAO,CAACH,WAAWpnB,KAAKonB,aAAa,OAAO3oB,eAAEe,EAAE4nB,YAAY,KAAK,CAACrmB,MAAMvB,EAAE4nB,WAAWrmB,MAAMC,OAAOxB,EAAE4nB,WAAWpmB,OAAO2mB,qBAAqB,IAAI9F,WAAWriB,EAAE4nB,WAAW9E,YAAYsF,Y,kJCAztB,MAAMpoB,EAAE,CAAC,SAAS,WAAW,SAAS,OAAO,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,OAAO,QAAQ,QAAQ,QAAQ,oBAAoB,iBAAiB,uBAAuB,aAAa,aAAa,eAAe,kBAAkB,aAAa,aAAa,eAAe,kBAAkB,WAAW,WAAW,WAAW,YAAY,WAAW,cAAc,gBAAgB,QAAQ,SAAS,aAAa,SAAS,YAAY,SAAS,SAAS,UAAU,UAAU,UAAU,YAAY,WAAW,WAAW,WAAW,aAAa,WAAW,WAAW,WAAW,aAAa,eAAe,eAAe,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,gBAAgB,qBAAqB,qBAAqB,cAAc,eAAe,eAAe,iBAAiB,uBAAuB,aAAa,kBAAkB,aAAa,kBAAkB,iBAAiB,iBAAiB,gBAAgB,iBAAiB,iBAAiB,cAAc,eAAe,eAAe,mBAAmB,oBAAoB,oBAAoB,QAAQ,QAAQ,YAAY,QAAQ,QAAQ,iBAAiB,kBAAkB,iBAAiB,kBAAkB,gBAAgB,kBAAkB,gBAAgB,kBAAkB,eAAe,iBAAiB,eAAe,YAAY,cAAc,UAAU,UAAU,cAAc,cAAc,aAAa,gBAAgB,aAAa,mBAAmB,oBAAoB,mBAAmB,iBAAiB,uBAAuB,cAAc,oBAAoB,kBAAkB,yBCA9kDA,EAAE,CAACqoB,aAAY,GCAmL,IAAIjpB,EAAEK,EAAE,CAAC6oB,QAAQ,SAAI,KAAUlpB,EAAE,CAAC,YAAY,QAAQ,UAAU,OAAO,YAAY,QAAQ,UAAU,UAAU,QAAQ,WAAW,KAAK,MAAM,QAAQ,KAAK,OAAO,KAAK,MAAM,QAAQ,QAAQ,MAAM,OAAO,OAAO,OAAO,QAAQ,UAAU,SAAS,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,YAAY,YAAY,YAAY,cAAc,kBAAkB,kBAAkB,SAAS,MAAM,QAAQ,QAAQ,OAAO,UAAU,WAAW,OAAO,SAAS,OAAO,SAAS,UAAU,SAAS,WAAW,WAAW,SAAS,SAAS,SAAS,WAAW,YAAY,OAAO,QAAQ,SAAS,OAAO,QAAQ,WAAW,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,gBAAgB,gBAAgB,sBAAsB,SAAS,OAAO,YAAY,YAAYK,EAAE6oB,QAAQlpB,GAAG,MAAMkB,EAAEb,EAAE6oB,QAAQ,IAAIrmB,EAAEd,EAAE,CAACmnB,QAAQ,IAAIrmB,EAAEd,EAAE,SAASnB,GAAG,IAAIf,EAAE,CAAC,MAAM,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,UAAK,IAASA,IAAIgD,EAAEqmB,QAAQrpB,GAAtP,GAA4P,MAAMI,EAAE8B,EAAEmnB,QAAQ,IAAIpmB,EAAE,CAAComB,QAAQ,KAAK,SAAStoB,IAAI,SAASf,GAAG,IAAIc,EAAE,WAAW,MAAM,CAAC,MAAM,OAAO,MAAM,MAAM,OAAO,OAAO,OAAO,QAAQ,MAAM,QAAQ,OAAO,OAAO,UAAU,WAAW,MAAM,QAAQ,MAAM,OAAO,cAAc,QAAQ,QAAQ,eAAe,2BAA2B,sBAAsB,kBAAkB,wBAAwB,eAAe,gBAAgB,WAAW,gBAAgB,0BAA0B,eAAe,eAAe,eAAe,eAAe,SAAS,cAAc,kBAAkB,mBAAmB,eAAe,eAAe,cAAc,eAAe,kBAAkB,gBAAgB,iBAAiB,4BAA4B,uBAAuB,mBAAmB,yBAAyB,gBAAgB,0BAA0B,wBAAwB,mBAAmB,iBAAiB,2BAA2B,wBAAwB,mBAAmB,kCAAkC,oBAAoB,kCAAkC,eAAe,sBAAsB,0BAA0B,qBAAqB,sBAAsB,sBAAsB,gCAAgC,gCAAgC,qBAAqB,4BAA4B,qCAAqC,8BAA8B,+BAA+B,sCAAsC,+CAA+C,wCAAwC,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,oBAAoB,YAAY,kBAAkB,iBAAiB,kBAAkB,kBAAkB,kBAAkB,kBAAkB,WAAW,gBAAgB,qBAAqB,eAAe,cAAc,sBAAsB,6BAA6B,sCAAsC,+BAA+B,oBAAoB,cAAc,qBAAqB,mBAAmB,0BAA0B,mCAAmC,4BAA4B,YAAY,cAAc,mBAAmB,cAAc,SAAS,WAAW,gBAAgB,MAAM,OAAO,iBAAiB,MAAM,MAAM,MAAM,MAAM,YAAY,MAAM,WAAW,MAAM,UAAU,UAAU,UAAU,OAAO,MAAM,aAAa,OAAO,OAAO,MAAM,YAAY,eAAe,gBAAgB,mBAAmB,cAAc,iBAAiB,kBAAkB,sBAAsB,oBAAoB,mBAAmB,uBAAuB,sBAA/8E,QAAw+E,IAASA,IAAIC,EAAEsoB,QAAQvoB,GAAjhF,GAAb,CAAqiFmC,GAAG,MAAMH,EAAEG,EAAEomB,QAAQ,IAAIxoB,EAAE,IAAIY,EAAE,KAAKsH,EAAE,EAAEE,EAAE,EAAExI,EAAE,EAAE+B,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAE4G,EAAE,EAAE5I,EAAE,EAAEiO,EAAE,EAAE2D,EAAE,EAAEnJ,EAAE,GAAGxI,EAAE,GAAGyR,EAAE,CAAC,gBAAgB,eAAe,eAAe,WAAW,UAAU,QAAQ,QAAQ,UAAU,UAAU,aAAa,MAAM,WAAW,SAAS2K,IAAI,IAAIhc,EAAEf,EAAEc,EAAEP,EAAE,EAAEJ,EAAE,EAAEK,EAAEK,EAAEmC,EAAE,GAAGd,EAAE,GAAGe,EAAE,EAAE8Z,EAAE,EAAElC,EAAE,EAAEhR,GAAE,EAAGsJ,GAAE,EAAG2D,EAAE,GAAG,OAAO,SAAS/V,GAAG,OAAOmB,EAAE,GAAG,OAAOnB,EAAEsI,EAAEtI,EAAEuoB,QAAQvoB,EAAEuoB,QAAQ,QAAQ,MAAMvoB,GAAGqS,KAAK,SAASX,EAAE1R,GAAGA,EAAEwJ,QAAQrI,EAAE2I,KAAK,CAACjC,KAAKwJ,EAAE5R,GAAG6R,KAAKtR,EAAEqO,SAASyL,EAAEqF,KAAKjd,EAAEsmB,OAAOxM,IAAI,SAAS1T,EAAErJ,GAAG,IAAIqB,EAAE,IAAId,EAAE,EAAEO,GAAGgW,GAAG9W,GAAGuK,OAAOxJ,EAAE+V,EAAEvW,GAAGA,EAAEO,GAAG,CAAC,OAAOO,EAAEd,EAAEC,GAAG,KAAKuI,EAAExI,EAAEuJ,IAAI,MAAM,KAAKb,EAAE1I,EAAEoS,IAAI,MAAM,KAAKlS,EAAEF,EAAEgX,IAAI,MAAM,KAAK/U,EAAEjC,EAAEqS,IAAI,MAAM,KAAKnQ,EAAElC,EAAE8e,IAAI,MAAM,KAAK1e,EAAEJ,EAAEipB,IAAI,MAAM,KAAK9mB,EAAEnC,EAAE+e,IAAI,MAAM,KAAK7d,EAAElB,EAAEF,IAAI,MAAM,KAAKiS,EAAE/R,EAAEkpB,IAAI,MAAM,KAAK5oB,EAAEN,EAAEyc,IAAO3b,IAAId,IAAK,OAAOuW,EAAEzV,IAAG0b,EAAE,IAAI9Z,KAAQ8Z,GAAE,OAAO5c,GAAGI,EAAEuW,EAAEA,EAAE4N,MAAMnkB,GAAG2B,EAAE,SAASkR,EAAErS,GAAG,OAAOiC,EAAEuH,QAAQkI,EAAEzP,EAAEwH,KAAK,KAAKhK,EAAE2I,EAAEsJ,EAAE,SAASvQ,EAAE,SAAS8a,IAAI,OAAOha,EAAEA,EAAEuH,OAAO,GAAGvH,EAAE,MAAMhD,GAAG,MAAMe,GAAG8Z,EAAE1a,EAAEI,EAAE,EAAEC,EAAEuI,EAAE/I,EAAEe,EAAER,EAAE,GAAG,MAAMP,GAAG,MAAMe,GAAG8Z,EAAE1a,EAAEI,EAAE,EAAEC,EAAEyI,EAAEjJ,EAAEe,EAAER,EAAE,GAAG,MAAMQ,GAAGP,EAAEC,EAAEoa,EAAE1a,EAAEI,EAAEA,GAAG,KAAKmpB,KAAK3oB,IAAIP,EAAE8R,EAAEuI,EAAE1a,EAAEI,EAAEA,IAAIsJ,EAAE,KAAK6f,KAAK3oB,GAAGoS,EAAE,SAASuW,KAAK3oB,GAAG8Z,EAAE1a,EAAEI,EAAEC,EAAEqJ,EAAEpH,EAAE0Q,EAAE3Q,EAAEf,EAAElB,GAAG,SAASkpB,IAAI,MAAM,SAASC,KAAK3oB,IAAI0R,EAAEzP,EAAEwH,KAAK,KAAKhK,EAAEK,EAAEN,IAAIyC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,GAAG,SAASgX,IAAI,MAAM,OAAOxW,GAAG,OAAOA,GAAG,OAAOf,GAAGgD,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,IAAIkS,EAAEzP,EAAEwH,KAAK,KAAKhK,EAAEK,EAAEN,GAAG,SAASoS,IAAI,OAAO4E,IAAI,SAASzN,IAAI,MAAM,MAAM/I,GAAG,MAAMf,GAAGgD,EAAE6H,KAAK9J,GAAG0R,EAAEzP,EAAEwH,KAAK,KAAKhK,EAAEK,EAAEN,EAAE,IAAIyC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,GAAG,SAASqS,IAAI,GAAG,MAAM5S,GAAG,KAAK0pB,KAAK3oB,GAAG,OAAOP,EAAEkC,EAAEnC,EAAE,GAAG,MAAMP,GAAG,MAAMe,EAAE,OAAOP,EAAEuI,EAAExI,EAAE,GAAG,MAAMP,GAAG,MAAMe,EAAE,OAAOP,EAAEyI,EAAE1I,EAAE,GAAG,MAAMQ,GAAGiC,EAAEuH,OAAO,CAAC,KAAKZ,EAAE3G,KAAK,OAAOxC,EAAEkC,EAAEnC,EAAE,GAAG,MAAMQ,GAAG,MAAMA,GAAG,MAAMA,EAAE,CAAC,GAAGiC,EAAEuH,OAAO,KAAKZ,EAAE3G,KAAK,OAAOyP,EAAE1R,GAAGP,EAAEK,EAAEN,EAAE,EAAE,IAAIO,EAAE,IAAIkC,EAAEuH,QAAQ,MAAMxJ,EAAE,GAAG,YAAY2oB,KAAK3oB,IAAID,EAAE,CAAC,KAAK6I,EAAE3G,KAAK,OAAOxC,EAAEK,EAAEN,EAAE,OAAOyC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,EAAE,SAASoJ,EAAE5I,GAAG,IAAI,IAAIf,EAAEc,EAAEP,EAAE,IAAI,CAAC,GAAGP,EAAEI,EAAEupB,QAAQ5oB,EAAE2jB,MAAM,EAAE3jB,EAAEwJ,OAAOhK,GAAGiK,KAAK,KAAK1J,EAAEV,EAAEJ,IAAI,IAAIA,EAAE,CAAC,GAAGO,IAAIQ,EAAEwJ,OAAO,EAAE,SAASzJ,EAAEC,EAAE2jB,MAAM,EAAE,GAAGla,KAAK,IAAI,OAAOiI,EAAE3R,GAAG+Z,GAAG/Z,EAAEyJ,QAAQvH,EAAEA,EAAE0hB,MAAM5jB,EAAEyJ,SAASA,QAAQ,SAASif,IAAI,MAAM,eAAeE,KAAK3oB,IAAI0R,EAAEzP,EAAEwH,KAAK,KAAKhK,EAAEK,EAAEN,IAAIyC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,GAAG,SAAS8e,IAAI,MAAM,MAAMte,GAAG,OAAO2oB,KAAK3oB,IAAIiC,EAAE6H,KAAK9J,GAAGP,EAAEkC,EAAE1C,EAAEe,EAAER,EAAE,GAAG,MAAMQ,GAAG,IAAIiC,EAAEuH,QAAQ,MAAMvH,EAAE,IAAIxC,EAAEG,EAAEqC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,GAAG,QAAQmpB,KAAK3oB,IAAI0R,EAAEzP,EAAEwH,KAAK,KAAKhK,EAAEK,EAAEN,IAAIyC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,GAAG,SAAS+e,IAAI,MAAM,MAAMve,IAAIiC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,GAAG,GAAG,OAAOmpB,KAAK3oB,IAAI,MAAMA,GAAG,OAAO2oB,KAAK1pB,IAAIgD,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,GAAG,QAAQmpB,KAAK3oB,IAAI0R,EAAEzP,EAAEwH,KAAK,KAAKhK,EAAEK,EAAEN,IAAIyC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,GAAG,SAASF,IAAI,GAAG,WAAWqpB,KAAK3oB,GAAG,CAAC,IAAID,EAAEkC,EAAEwH,KAAK,IAAI,OAAOhK,EAAEa,EAAEsoB,QAAQ7oB,IAAI,EAAE6N,EAAE7L,EAAE6mB,QAAQ7oB,IAAI,EAAEJ,EAAE4I,EAAEmJ,EAAEzP,EAAEwH,KAAK,KAAKhK,EAAEK,EAAEN,EAAE,OAAOyC,EAAE6H,KAAK9J,GAAGf,EAAEe,EAAER,EAAE,GAAG,SAASsa,EAAE9Z,GAAG,IAAIf,EAAE+c,IAAIjc,EAAE,GAAG,OAAUA,EAAEA,EAAE8oB,OAAO5pB,EAAEe,KAAK6oB,OAAO5pB,EAAE,OAAO,SAAS6J,EAAE9I,GAAG,OAAO8Z,EAAE9Z,GAAG,SAASoS,EAAEpS,GAAG,OAAOA,EAAEmQ,IAAKnQ,GAAG,QAAQA,EAAE6H,KAAK7H,EAAEsR,KAAK,IAAK7H,KAAK,IAAI,MAAMsM,EAAE,CAAC,8BAA8B,oBAAoB,sBAAsB,6BAA6B,SAASrE,EAAE1R,EAAEf,EAAE,MAAMc,EAAE,UAAU,MAAMP,EAAE,6CAA6C,IAAI,MAAMJ,KAAKY,EAAE,GAAG,iBAAiBZ,EAAEyI,KAAK,CAAC,MAAM7H,EAAER,EAAE8kB,KAAKllB,EAAEkS,MAAM,GAAGtR,EAAE,CAAC,MAAMR,EAAEQ,EAAE,GAAGuoB,QAAQ,SAAS,KAAK,GAAG/oB,IAAIO,EAAE,OAAOP,EAAE,GAAGA,IAAIP,EAAE,OAAOG,EAAEkS,KAAK,YAAYvR,EAAEd,EAAE,MAAM,IAAIolB,MAAM,yBAAyB7kB,IAAI,OAAOQ,EAAE8Q,OAAO,EAAE,EAAE,CAACjJ,KAAK,eAAeyJ,KAAK,YAAYvR,GAAG,CAAC8H,KAAK,aAAayJ,KAAK,OAAO,KAAK,SAAShJ,EAAEtI,EAAEf,GAAG,IAAI,IAAIc,EAAEd,EAAE,EAAEc,GAAG,EAAEA,IAAI,CAAC,MAAMd,EAAEe,EAAED,GAAG,GAAG,eAAed,EAAE4I,MAAM,kBAAkB5I,EAAE4I,KAAK,CAAC,GAAG,YAAY5I,EAAE4I,KAAK,MAAM,GAAG,cAAc5I,EAAEqS,MAAM,OAAOrS,EAAEqS,KAAK,OAAM,GAAI,OAAM,EAAG,SAASe,EAAErS,EAAEf,EAAEc,EAAEP,GAAGA,EAAEA,GAAGO,EAAE,IAAI,MAAMX,KAAKY,EAAE,GAAG,UAAUZ,EAAEyI,MAAMzI,EAAEkS,OAAOvR,EAAwB,OAArBP,KAAKP,EAAEA,EAAEO,KAAKP,EAAEO,GAAG,EAAS6S,EAAErS,EAAEf,EAAEO,EAAE,IAAIP,EAAEO,GAAGA,GAAG,OAAOO,EAAE,SAASkc,EAAEjc,EAAEf,EAAEc,EAAE,gBAAgB,SAASP,EAAEQ,EAAEf,GAAG,IAAI,IAAIc,EAAEd,EAAEc,EAAEC,EAAEwJ,OAAOzJ,IAAI,CAAC,MAAMd,EAAEe,EAAED,GAAG,GAAG,aAAad,EAAE4I,MAAM,MAAM5I,EAAEqS,KAAK,OAAOvR,EAAE,OAAO,KAAK,SAASX,EAAEY,GAAG,IAAIf,GAAG,EAAEG,EAAE,EAAEK,GAAG,EAAE,IAAI,IAAIa,EAAE,EAAEA,EAAEN,EAAEwJ,OAAOlJ,IAAI,CAAC,MAAM2B,EAAEjC,EAAEM,GAAG,GAAG,iBAAiB2B,EAAE4F,OAAO5F,EAAEqP,KAAKwX,MAAM,8BAA8B1pB,EAAE6C,EAAEqP,KAAKwX,MAAM,mBAAmB1pB,GAAG,iBAAiBW,GAAG,mBAAmBA,GAAG,iBAAiBkC,EAAE4F,MAAM,YAAY8gB,KAAK1mB,EAAEqP,QAAQ7R,EAAEP,KAAKoR,IAAI7Q,EAAEa,IAAI,mBAAmBP,GAAG,YAAYkC,EAAE4F,MAAM,cAAc5F,EAAEqP,KAAK,CAAC,MAAMrS,EAAEO,EAAEQ,EAAEM,GAAG,GAAG,OAAOrB,EAAE,MAAM,IAAIolB,MAAM,uDAAuD5kB,EAAEP,KAAKoR,IAAI7Q,EAAER,GAAGA,EAAEQ,GAAG,IAAIL,IAAIH,EAAEqB,GAAG,OAAOrB,EAAE,EAAE,MAAMQ,EAAE,CAAC6R,KAAK,KAAKzJ,KAAK,cAAcvH,EAAErB,GAAGA,EAAEe,EAAEwJ,QAAQ,WAAWmf,KAAK3oB,EAAEf,GAAGqS,MAAM,IAAIrP,EAAE7C,EAAEY,GAAGM,EAAE2B,EAAE,IAAIjC,EAAE8Q,OAAO7O,IAAI,EAAExC,GAAG,IAAI,MAAM0B,KAAKlC,EAAEe,EAAE8Q,OAAO7O,IAAI,EAAEd,GAAGb,EAAE2B,EAAE,IAAI3B,EAAE2B,IAAIjC,EAAE8Q,OAAO7O,EAAE,EAAExC,GAAG,SAASipB,EAAE1oB,EAAEf,EAAEc,EAAEP,EAAE,QAAQyc,EAAEjc,EAAE,CAAC,CAAC6H,KAAK,UAAUyJ,KAAK,OAAO,CAACzJ,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,UAAUyJ,KAAK9R,GAAG,CAACqI,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,UAAUyJ,KAAKvR,GAAG,CAAC8H,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,QAAQyJ,KAAKrS,GAAG,CAAC4I,KAAK,WAAWyJ,KAAK,MAAM,kBAAkB,SAASkF,EAAExW,EAAEf,EAAEc,EAAEP,EAAEJ,EAAE,QAAQ6c,EAAEjc,EAAE,CAAC,CAAC6H,KAAK,UAAUyJ,KAAK,UAAU,CAACzJ,KAAK,WAAWyJ,KAAK,KAAK,CAACzJ,KAAK,UAAUyJ,KAAK,YAAY,CAACzJ,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,WAAWyJ,KAAK,KAAK,CAACzJ,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,UAAUyJ,KAAK9R,EAAEupB,YAAY,CAAClhB,KAAK,WAAWyJ,KAAK,KAAK,CAACzJ,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,UAAUyJ,KAAK,OAAO,CAACzJ,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,UAAUyJ,KAAKlS,GAAG,CAACyI,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,UAAUyJ,KAAKvR,GAAG,CAAC8H,KAAK,aAAayJ,KAAK,KAAK,CAACzJ,KAAK,QAAQyJ,KAAKrS,GAAG,CAAC4I,KAAK,WAAWyJ,KAAK,MAAM,kBAAkB,SAASM,EAAE5R,EAAEf,GAAG,IAAIc,EAAEP,EAAEJ,GAAG,EAAE,IAAI,IAAIK,EAAER,EAAEQ,EAAEO,EAAEwJ,OAAO/J,IAAI,CAAC,MAAMR,EAAEe,EAAEP,GAAG,GAAG,aAAaR,EAAE4I,OAAO,MAAM5I,EAAEqS,OAAOvR,EAAEN,GAAG,MAAMR,EAAEqS,MAAM,CAAC9R,EAAEC,EAAE,MAAM,YAAYR,EAAE4I,OAAOzI,EAAE4pB,SAAS/pB,EAAEqS,KAAK,KAAK,OAAOvR,GAAGP,GAAGQ,EAAE8Q,OAAO/Q,EAAEP,EAAEO,EAAE,GAAGX,EAAE,SAAS2J,EAAEvJ,EAAEJ,GAAG,MAAMK,EAAEmJ,EAAEpJ,GAAG,GAAGQ,eAAEP,GAAG,OAAOA,EAAE,MAAMa,EAAEwI,EAAEtJ,GAAG,GAAG,WAAWkS,EAAEpR,EAAE,MAAM,UAAU,OAAOd,EAAE,IAAIyC,EAAE,KAAKd,EAAE,KAAK,MAAM9B,EAAE,GAAG6C,EAAE,GAAG,IAAI,IAAIlC,EAAE,EAAEA,EAAEM,EAAEkJ,SAASxJ,EAAE,CAAC,MAAMR,EAAEc,EAAEN,GAAG,OAAOR,EAAEqI,MAAM,IAAI,UAAUzI,IAAIH,OAAEgqB,eAAe,cAAczpB,EAAE8R,KAAK9R,EAAE8R,KAAK,KAAK,YAAY9R,EAAE8R,OAAO9R,EAAE8R,KAAKlS,IAAIH,OAAEgqB,cAAc,MAAM,MAAM,MAAM,IAAI,UAAU,GAAG,6CAA6CN,KAAKnpB,EAAE8R,KAAK4X,UAAU1pB,EAAE8R,KAAK9R,EAAE8R,KAAKiX,QAAQ,iBAAiB,KAAKnpB,IAAIH,OAAEkqB,iBAAiB,iBAAiB3pB,EAAE8R,OAAOrP,IAAIA,EAAEoQ,EAAE/R,EAAEjB,EAAE,aAAaqpB,EAAEpoB,EAAE2B,EAAE,SAASzC,EAAE8R,KAAKrP,GAAG7C,IAAIH,OAAEkqB,iBAAiB,gBAAgB3pB,EAAE8R,KAAK,CAAC,MAAMrS,EAAE2S,EAAEtR,EAAEN,EAAE,GAAGD,EAAEsS,EAAE/R,EAAEjB,EAAE,YAAYmX,EAAElW,EAAEP,EAAE,OAAOd,EAAE,WAAWO,EAAE8R,KAAKvR,OAAOX,IAAIH,OAAEkqB,iBAAiB,oBAAoB3pB,EAAE8R,OAAOnQ,IAAIA,EAAEkR,EAAE/R,EAAEjB,EAAE,iBAAiBG,EAAE8R,KAAKnQ,GAAG,MAAM,IAAI,QAAQ,GAAGpB,EAAEsN,SAAS7N,EAAE8R,MAAM,CAAC,GAAGlS,IAAIH,OAAEgqB,eAAe3gB,EAAEhI,EAAEN,GAAG,MAAM,IAAIqkB,MAAM,iFAAiF7kB,EAAE8R,QAAQpP,IAAIA,EAAE1C,EAAE8R,MAAMe,EAAE/R,EAAEjB,EAAEG,EAAE8R,OAAO9R,EAAE8R,KAAKpP,EAAE1C,EAAE8R,QAAQ,IAAI,IAAItR,EAAEM,EAAEkJ,OAAO,EAAExJ,GAAG,IAAIA,EAAE,CAAC,MAAMf,EAAEqB,EAAEN,GAAG,GAAG,iBAAiBf,EAAE4I,KAAK,CAAC,MAAM9H,EAAEd,EAAEqS,KAAKwX,MAAM,wBAAwB,GAAG/oB,GAAGA,EAAE,IAAIgW,EAAE1I,SAAStN,EAAE,GAAGmpB,QAAQ,CAAC,MAAMjqB,EAAEqB,EAAEN,EAAE,GAAGM,EAAEwQ,OAAO9Q,EAAEf,GAAG,eAAeA,EAAE4I,KAAK,EAAE,GAAG,MAAMrI,EAAEP,EAAEqS,KAAKwX,MAAM,kBAAkBtpB,GAAGA,EAAE,IAAIuW,EAAE1I,SAAS7N,EAAE,GAAG0pB,UAAUjqB,EAAEqS,KAAK,SAAS,MAAMlS,EAAEH,EAAEqS,KAAKwX,MAAM,mBAAmB1pB,GAAGA,EAAE,IAAI2W,EAAE1I,SAASjO,EAAE,GAAG8pB,UAAUjqB,EAAEqS,KAAK,UAAU,OAAOmX,EAAEjpB,EAAE4S,EAAE9R,IAAI,MAAMuR,EAAE,IAAIxR,IAAI,SAASuI,EAAE5I,GAAG,OAAOR,EAAE6oB,YAAYxW,EAAElI,IAAI3J,GAAG,KAAK,SAASyoB,EAAEzoB,EAAEf,GAAG,OAAOO,EAAE6oB,aAAaxW,EAAEjI,IAAI5J,EAAEf,GAAGA,ECArsU,MAAMO,EAAE,WAAW,MAAME,EAAEyC,YAAYlD,EAAEG,EAAEkB,EAAEd,EAAEE,EAAE,IAAIW,KAAKG,KAAK4oB,SAASnqB,EAAEuB,KAAK6oB,WAAW7pB,EAAEgB,KAAK8oB,sBAAsB5pB,EAAEc,KAAK+oB,UAAU,EAAE/oB,KAAKgpB,WAAU,EAAGhpB,KAAKipB,uBAAuB,GAAGjpB,KAAKkpB,gBAAgB,GAAGlpB,KAAKmpB,iBAAiB,IAAItpB,IAAIG,KAAKopB,gBAAgB,IAAIvpB,IAAIG,KAAKqpB,gBAAgB,IAAIxpB,IAAIG,KAAKspB,gBAAgB,IAAIzpB,IAAIG,KAAKupB,sBAAsB,IAAI1pB,IAAIG,KAAKwpB,sBAAsB,IAAI3pB,IAAIpB,GAAGgrB,QAAQrnB,MAAM,uCAAuC,IAAIxD,EAAEoK,QAAQygB,QAAQrnB,MAAM,uCAAuCpC,KAAK4oB,SAASvhB,OAAOpI,OAAEgY,SAASrY,EAAEsC,EAAEtC,EAAEW,OAAEkpB,eAAe3oB,EAAEoB,EAAEpB,EAAEP,OAAEopB,kBAAkB3oB,KAAK0pB,SAASliB,EAAExH,KAAK4oB,SAASrpB,OAAEkpB,cAAc7pB,GAAGoB,KAAK2pB,SAASniB,EAAExH,KAAK4oB,SAASrpB,OAAEopB,gBAAgB7oB,GAAGE,KAAK0pB,UAAU1pB,KAAK2pB,UAAUF,QAAQrnB,MAAM,0BAA0BpC,KAAK4oB,SAASgB,gBAAgBC,UAAUlpB,OAAEmpB,OAAO9pB,MAAMR,mBAAMQ,KAAKN,aAAad,EAAEoB,KAAKL,eAAeG,GAAa,aAAG,GAAGlB,eAAEoB,KAAK+pB,SAAS,OAAO/pB,KAAK+pB,QAAQ,GAAGjqB,eAAEE,KAAK0pB,UAAU,OAAO,KAAK,MAAMjrB,EAAEuB,KAAK4oB,SAAS9U,GAAGvU,EAAEd,EAAEurB,gBAAgB,GAAGvrB,EAAEwrB,aAAa1qB,EAAES,KAAK0pB,UAAUjrB,EAAEwrB,aAAa1qB,EAAES,KAAK2pB,UAAU3pB,KAAK6oB,WAAW3K,QAAS,CAACtf,EAAEkB,IAAIrB,EAAEyrB,mBAAmB3qB,EAAEX,EAAEkB,IAAKrB,EAAE0rB,YAAY5qB,GAAGC,mBAAMf,EAAE2rB,oBAAoB7qB,EAAEd,EAAE4rB,cAAcZ,QAAQrnB,MAAO,qCAAoC3D,EAAE2rB,oBAAoB7qB,EAAEd,EAAE6rB,8BAA8B7rB,EAAE8rB,uBAAuB9rB,EAAE+rB,mBAAmBxqB,KAAK0pB,SAASjrB,EAAEgsB,8BAA8BhsB,EAAE+rB,mBAAmBxqB,KAAK2pB,SAASlrB,EAAEgsB,8BAA8BhsB,EAAEisB,kBAAkBnrB,sBAAsBS,KAAKN,kCAAkCM,KAAKL,kBAAkBK,KAAK4oB,SAASvhB,OAAOpI,OAAEgY,OAAO,CAAC,MAAMrY,EAAEH,EAAE,IAAI,MAAMA,EAAEqB,KAAKE,KAAK8oB,sBAAsB,CAAC,MAAMtpB,EAAEZ,EAAE+rB,qBAAqBprB,EAAEd,GAAGe,EAAER,GAAGJ,EAAEgsB,oBAAoBrrB,EAAEC,EAAEM,IAAI,OAAOE,KAAK+pB,QAAQxqB,EAAES,KAAK4oB,SAASgB,gBAAgBC,UAAUlpB,OAAEkqB,QAAQ7qB,MAAMT,EAAe,gBAAG,OAAOX,eAAEoB,KAAK+pB,SAAuB,iBAAG,GAAG/pB,KAAKgpB,UAAU,OAAM,EAAG,MAAMvqB,EAAEuB,KAAK4oB,SAAS9U,GAAGgX,aAAa,+BAA+B,OAAO,MAAMrsB,GAAGuB,KAAKgpB,WAAU,GAAG,IAAKhpB,KAAKgpB,YAAYhpB,KAAK4oB,SAAS9U,GAAGsW,oBAAoBpqB,KAAK+qB,OAAOtsB,EAAEusB,uBAAuBhrB,KAAKgpB,WAAWvjB,UAAU,KAAKzF,KAAK+oB,UAAU,EAAE,OAAO,MAAMtqB,EAAEuB,KAAK4oB,SAAS9U,GAAG9T,KAAK0pB,WAAWjrB,EAAEwsB,aAAajrB,KAAK0pB,UAAU1pB,KAAK0pB,SAAS,KAAK1pB,KAAK4oB,SAASgB,gBAAgBsB,UAAUvqB,OAAEmpB,OAAO9pB,OAAOA,KAAK2pB,WAAWlrB,EAAEwsB,aAAajrB,KAAK2pB,UAAU3pB,KAAK2pB,SAAS,MAAM3pB,KAAK+pB,UAAUtrB,EAAE0sB,cAAcnrB,KAAK+pB,SAAS/pB,KAAK+pB,QAAQ,KAAK/pB,KAAK4oB,SAASgB,gBAAgBsB,UAAUvqB,OAAEkqB,QAAQ7qB,OAAOorB,QAAQprB,KAAK+oB,UAAUsC,oBAAoB5sB,GAAG,YAAO,IAASuB,KAAKipB,uBAAuBxqB,OAAOgD,GAAE6pB,YAAYtrB,KAAKipB,uBAAuBxqB,GAAGuB,KAAK4oB,SAAS9U,GAAGyX,mBAAmBvrB,KAAK+qB,OAAOtsB,IAAIuB,KAAKipB,uBAAuBxqB,GAAG+sB,WAAW/sB,GAAG,OAAO,OAAOuB,KAAKqrB,oBAAoB5sB,GAAGkM,aAAalM,EAAEG,GAAG,MAAMkB,EAAEE,KAAKkpB,gBAAgBzqB,QAAG,IAASqB,GAAGlB,IAAIkB,IAAIE,KAAK4oB,SAAS9U,GAAG2X,UAAUzrB,KAAKqrB,oBAAoB5sB,GAAGG,GAAGoB,KAAKkpB,gBAAgBzqB,GAAGG,GAAGuW,cAAc1W,EAAEG,GAAGU,GAAEU,KAAKmpB,iBAAiB1qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAG4X,WAAW1rB,KAAKqrB,oBAAoB5sB,GAAGG,GAAG+sB,cAAcltB,EAAEG,GAAGU,GAAEU,KAAKopB,gBAAgB3qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAG8X,WAAW5rB,KAAKqrB,oBAAoB5sB,GAAGG,GAAGitB,cAAcptB,EAAEG,GAAGU,GAAEU,KAAKqpB,gBAAgB5qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAGgY,WAAW9rB,KAAKqrB,oBAAoB5sB,GAAGG,GAAGmtB,cAActtB,EAAEG,GAAGU,GAAEU,KAAKspB,gBAAgB7qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAGkY,WAAWhsB,KAAKqrB,oBAAoB5sB,GAAGG,GAAGiM,aAAapM,EAAEG,GAAG,MAAMkB,EAAEE,KAAKkpB,gBAAgBzqB,QAAG,IAASqB,GAAGlB,IAAIkB,IAAIE,KAAK4oB,SAAS9U,GAAGmY,UAAUjsB,KAAKqrB,oBAAoB5sB,GAAGG,GAAGoB,KAAKkpB,gBAAgBzqB,GAAGG,GAAG8P,cAAcjQ,EAAEG,GAAGU,GAAEU,KAAKmpB,iBAAiB1qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAGoY,WAAWlsB,KAAKqrB,oBAAoB5sB,GAAGG,GAAG2S,aAAa9S,EAAEG,EAAEkB,GAAG,MAAMN,EAAEQ,KAAKopB,gBAAgBjgB,IAAI1K,QAAG,IAASe,GAAGQ,KAAK4oB,SAAS9U,GAAGqY,UAAUnsB,KAAKqrB,oBAAoB5sB,GAAGG,EAAEkB,GAAGE,KAAKopB,gBAAgBhgB,IAAI3K,EAAE,CAACG,EAAEkB,KAAKlB,IAAIY,EAAE,IAAIM,IAAIN,EAAE,KAAKQ,KAAK4oB,SAAS9U,GAAGqY,UAAUnsB,KAAKqrB,oBAAoB5sB,GAAGG,EAAEkB,GAAGN,EAAE,GAAGZ,EAAEY,EAAE,GAAGM,GAAG8K,cAAcnM,EAAEG,GAAGU,GAAEU,KAAKopB,gBAAgB3qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAGsY,WAAWpsB,KAAKqrB,oBAAoB5sB,GAAGG,GAAGytB,aAAa5tB,EAAEG,EAAEkB,EAAEN,GAAG,MAAMP,EAAEe,KAAKqpB,gBAAgBlgB,IAAI1K,QAAG,IAASQ,GAAGe,KAAK4oB,SAAS9U,GAAGwY,UAAUtsB,KAAKqrB,oBAAoB5sB,GAAGG,EAAEkB,EAAEN,GAAGQ,KAAKqpB,gBAAgB5qB,GAAG,CAACG,EAAEkB,EAAEN,IAAIZ,IAAIK,EAAE,IAAIa,IAAIb,EAAE,IAAIO,IAAIP,EAAE,KAAKe,KAAK4oB,SAAS9U,GAAGwY,UAAUtsB,KAAKqrB,oBAAoB5sB,GAAGG,EAAEkB,EAAEN,GAAGP,EAAE,GAAGL,EAAEK,EAAE,GAAGa,EAAEb,EAAE,GAAGO,GAAG+sB,cAAc9tB,EAAEG,GAAGU,GAAEU,KAAKqpB,gBAAgB5qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAG0Y,WAAWxsB,KAAKqrB,oBAAoB5sB,GAAGG,GAAGgb,aAAanb,EAAEG,EAAEkB,EAAEN,EAAEP,GAAG,MAAMM,EAAES,KAAKspB,gBAAgBngB,IAAI1K,QAAG,IAASc,GAAGS,KAAK4oB,SAAS9U,GAAG2Y,UAAUzsB,KAAKqrB,oBAAoB5sB,GAAGG,EAAEkB,EAAEN,EAAEP,GAAGe,KAAKspB,gBAAgBlgB,IAAI3K,EAAE,CAACG,EAAEkB,EAAEN,EAAEP,UAAK,IAASM,GAAGX,IAAIW,EAAE,IAAIO,IAAIP,EAAE,IAAIC,IAAID,EAAE,IAAIN,IAAIM,EAAE,KAAKS,KAAK4oB,SAAS9U,GAAG2Y,UAAUzsB,KAAKqrB,oBAAoB5sB,GAAGG,EAAEkB,EAAEN,EAAEP,GAAGM,EAAE,GAAGX,EAAEW,EAAE,GAAGO,EAAEP,EAAE,GAAGC,EAAED,EAAE,GAAGN,GAAG0M,cAAclN,EAAEG,GAAGU,GAAEU,KAAKspB,gBAAgB7qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAG4Y,WAAW1sB,KAAKqrB,oBAAoB5sB,GAAGG,GAAG8L,oBAAoBjM,EAAEG,EAAEkB,GAAE,GAAIR,GAAEU,KAAKupB,sBAAsB9qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAG6Y,iBAAiB3sB,KAAKqrB,oBAAoB5sB,GAAGqB,EAAElB,GAAGsV,oBAAoBzV,EAAEG,EAAEkB,GAAE,GAAIR,GAAEU,KAAKwpB,sBAAsB/qB,EAAEG,IAAIoB,KAAK4oB,SAAS9U,GAAG8Y,iBAAiB5sB,KAAKqrB,oBAAoB5sB,GAAGqB,EAAElB,GAAGiuB,SAAS,SAASrlB,EAAE/I,EAAEG,EAAEkB,GAAG,MAAMb,EAAER,EAAEqV,GAAGnT,EAAE1B,EAAE6tB,aAAaluB,GAAG,OAAOK,EAAE8tB,aAAapsB,EAAEb,GAAGb,EAAE+tB,cAAcrsB,GAAGnB,mBAAMP,EAAEurB,mBAAmB7pB,EAAE1B,EAAEwrB,kBAAkBhB,QAAQrnB,MAAM,oBAAoBimB,OAAOzpB,IAAIW,OAAEkpB,cAAc,SAAS,WAAW,YAAYgB,QAAQrnB,MAAMnD,EAAEguB,iBAAiBtsB,IAAI8oB,QAAQrnB,MAAMsF,EAAE5H,KAAK2B,GAAEyrB,UAAUzrB,GAAE0rB,aAAartB,EAAEwoB,MAAM,OAAOtf,OAAO,GAAGrI,EAAE,SAAS+G,EAAEjJ,GAAG,IAAIG,EAAE,EAAE,OAAOH,EAAEspB,QAAQ,MAAO,IAAI,KAAKlpB,EAAED,KAAK,KAAM,SAASC,EAAEJ,GAAG,OAAOA,GAAG,IAAIA,EAAE8pB,YAAY,KAAK9pB,GAAG0kB,OAAO,GAAG,SAAS7jB,GAAEV,EAAEkB,EAAEN,GAAG,MAAMP,EAAEL,EAAEuK,IAAIrJ,GAAG,OAAOb,EAAER,eAAEQ,EAAEO,IAAIZ,EAAEwK,IAAItJ,EAAEstB,MAAMC,KAAK7tB,KAAI,GAAI,MAAMiC,GAAE,CAAC0rB,YAAY,EAAE7B,YAAY,EAAE4B,SAAQ,I,kCCJp4L,kCAIA,IAAI1tB,EAAEP,EAAER,EAAEc,EAAE,CAACuoB,QAAQ,IAAItoB,EAAED,EAAEN,EAAE,WAAW,SAASO,EAAEA,EAAEf,EAAEwC,GAAGA,EAAEA,GAAG,EAAE,IAAInB,EAAEyB,EAAE6L,EAAExO,EAAEuC,EAAEjB,EAAElB,EAAEyC,EAAEhD,GAAGA,EAAEuK,OAAO9J,EAAEuC,EAAEhD,EAAE,GAAGwC,EAAEzB,EAAEwJ,OAAOrI,EAAE1B,EAAEO,EAAE,EAAEN,EAAE+B,GAAE,GAAIpC,EAAE,GAAG,IAAI8B,GAAGA,EAAE2sB,OAAO3sB,EAAE4sB,KAAK,OAAO1uB,EAAE,GAAG4C,IAAId,EAAE6G,EAAEhI,EAAEf,EAAEkC,EAAEM,IAAIzB,EAAEwJ,OAAO,GAAG/H,EAAE,CAACnB,EAAEsN,EAAE5N,EAAE,GAAG+B,EAAE3C,EAAEY,EAAE,GAAG,IAAI,IAAIguB,EAAEvsB,EAAEusB,EAAEtuB,EAAEsuB,GAAGvsB,GAAGE,EAAE3B,EAAEguB,IAAI1tB,IAAIA,EAAEqB,IAAIjB,EAAEV,EAAEguB,EAAE,IAAIjsB,IAAIA,EAAErB,GAAGiB,EAAEiM,IAAIA,EAAEjM,GAAGjB,EAAEtB,IAAIA,EAAEsB,GAAGlB,EAAE,KAAKA,EAAEN,KAAKoR,IAAI1C,EAAEtN,EAAElB,EAAE2C,IAAI,EAAEvC,EAAE,EAAE,OAAOO,EAAEoB,EAAE9B,EAAEoC,EAAEnB,EAAEyB,EAAEvC,GAAGH,EAAE,SAASI,EAAEO,EAAEP,EAAER,EAAEc,EAAE0B,GAAG,IAAInB,EAAEyB,EAAE,GAAGN,IAAI4P,EAAErR,EAAEP,EAAER,EAAEc,GAAG,EAAE,IAAIO,EAAEb,EAAEa,EAAErB,EAAEqB,GAAGP,EAAEgC,EAAEuc,EAAEhe,EAAEN,EAAEM,GAAGN,EAAEM,EAAE,GAAGyB,QAAQ,IAAIzB,EAAErB,EAAEc,EAAEO,GAAGb,EAAEa,GAAGP,EAAEgC,EAAEuc,EAAEhe,EAAEN,EAAEM,GAAGN,EAAEM,EAAE,GAAGyB,GAAG,GAAGA,GAAGpC,EAAEoC,EAAEA,EAAE+rB,MAAM,CAAC,IAAIlgB,EAAE7L,EAAE+rB,KAAK9R,EAAEja,GAAGA,EAAE6L,EAAE,OAAO7L,EAAE,SAAS9C,EAAEe,EAAEP,GAAG,IAAIO,EAAE,OAAOA,EAAEP,IAAIA,EAAEO,GAAG,IAAIf,EAAEc,EAAEC,EAAE,GAAG,GAAGf,GAAE,EAAGc,EAAEkuB,UAAUtuB,EAAEI,EAAEA,EAAE+tB,OAAO,IAAIvlB,EAAExI,EAAEguB,KAAKhuB,EAAEA,EAAE+tB,MAAM/tB,EAAEA,EAAE+tB,SAAS,CAAC,IAAIrsB,EAAE1B,EAAEguB,KAAK,GAAG/R,EAAEjc,IAAIA,EAAEN,EAAEgC,KAAK1B,EAAE+tB,KAAK,MAAM7uB,GAAE,SAAUA,GAAGc,IAAIN,GAAG,OAAOA,EAAE,SAASM,EAAEC,EAAEP,EAAEuI,EAAE5I,EAAEuC,EAAEjB,EAAElB,GAAG,GAAGQ,EAAE,EAAER,GAAGkB,GAAGhB,EAAEM,EAAEZ,EAAEuC,EAAEjB,GAAG,IAAI,IAAIuB,EAAEd,EAAE9B,EAAEW,EAAEA,EAAE+tB,OAAO/tB,EAAE8tB,MAAM,GAAG7rB,EAAEjC,EAAE+tB,KAAK5sB,EAAEnB,EAAE8tB,KAAKptB,EAAEJ,EAAEN,EAAEZ,EAAEuC,EAAEjB,GAAGe,EAAEzB,GAAGP,EAAEqK,KAAK7H,EAAE3B,EAAE0H,GAAGvI,EAAEqK,KAAK9J,EAAEM,EAAE0H,GAAGvI,EAAEqK,KAAK3I,EAAEb,EAAE0H,GAAGgU,EAAEhc,GAAGA,EAAEmB,EAAE2sB,KAAKzuB,EAAE8B,EAAE2sB,UAAU,IAAI9tB,EAAEmB,KAAK9B,EAAE,CAACG,EAAE,IAAIA,EAAEO,EAAEC,EAAE+B,EAAE9C,EAAEe,GAAGP,EAAEuI,GAAGvI,EAAEuI,EAAE5I,EAAEuC,EAAEjB,EAAE,GAAG,IAAIlB,GAAGoO,EAAE5N,EAAEP,EAAEuI,EAAE5I,EAAEuC,EAAEjB,GAAGX,EAAEd,EAAEe,GAAGP,EAAEuI,EAAE5I,EAAEuC,EAAEjB,EAAE,GAAG,QAAQ,SAASe,EAAEzB,GAAG,IAAIP,EAAEO,EAAE+tB,KAAK9uB,EAAEe,EAAED,EAAEC,EAAE8tB,KAAK,GAAGvlB,EAAE9I,EAAER,EAAEc,IAAI,EAAE,OAAM,EAAG,IAAI,IAAI0B,EAAEzB,EAAE8tB,KAAKA,KAAKrsB,IAAIzB,EAAE+tB,MAAM,CAAC,GAAGjuB,EAAEL,EAAEgC,EAAEhC,EAAEkC,EAAE1C,EAAEwC,EAAExC,EAAE0C,EAAE5B,EAAE0B,EAAE1B,EAAE4B,EAAEF,EAAEA,EAAEA,EAAEE,IAAI4G,EAAE9G,EAAEssB,KAAKtsB,EAAEA,EAAEqsB,OAAO,EAAE,OAAM,EAAGrsB,EAAEA,EAAEqsB,KAAK,OAAM,EAAG,SAASxtB,EAAEN,EAAEP,EAAER,EAAEc,GAAG,IAAI0B,EAAEzB,EAAE+tB,KAAKztB,EAAEN,EAAE+B,EAAE/B,EAAE8tB,KAAK,GAAGvlB,EAAE9G,EAAEnB,EAAEyB,IAAI,EAAE,OAAM,EAAG,IAAI,IAAI6L,EAAEnM,EAAEA,EAAEnB,EAAEmB,EAAEA,EAAEA,EAAEM,EAAEN,EAAEA,EAAEA,EAAEM,EAAEN,EAAEnB,EAAEmB,EAAEM,EAAEN,EAAEnB,EAAEmB,EAAEM,EAAEN,EAAEuG,EAAEvG,EAAEE,EAAErB,EAAEqB,EAAEF,EAAEE,EAAEI,EAAEJ,EAAEF,EAAEE,EAAEI,EAAEJ,EAAErB,EAAEqB,EAAEI,EAAEJ,EAAErB,EAAEqB,EAAEI,EAAEJ,EAAEvC,EAAEqC,EAAEA,EAAEnB,EAAEmB,EAAEA,EAAEA,EAAEM,EAAEN,EAAEA,EAAEA,EAAEM,EAAEN,EAAEnB,EAAEmB,EAAEM,EAAEN,EAAEnB,EAAEmB,EAAEM,EAAEN,EAAEE,EAAEF,EAAEE,EAAErB,EAAEqB,EAAEF,EAAEE,EAAEI,EAAEJ,EAAEF,EAAEE,EAAEI,EAAEJ,EAAErB,EAAEqB,EAAEI,EAAEJ,EAAErB,EAAEqB,EAAEI,EAAEJ,EAAEjB,EAAErB,EAAEuO,EAAE5F,EAAEvI,EAAER,EAAEc,GAAGP,EAAEH,EAAED,EAAEuC,EAAElC,EAAER,EAAEc,GAAGkC,EAAEjC,EAAEkuB,MAAMxuB,EAAEM,EAAEmuB,MAAMlsB,GAAGA,EAAEoY,GAAG3Z,GAAGhB,GAAGA,EAAE2a,GAAG7a,GAAG,CAAC,GAAGyC,IAAIjC,EAAE+tB,MAAM9rB,IAAIjC,EAAE8tB,MAAMhuB,EAAE2B,EAAEA,EAAEA,EAAEE,EAAErB,EAAEmB,EAAEnB,EAAEqB,EAAEI,EAAEN,EAAEM,EAAEJ,EAAEM,EAAER,EAAEQ,EAAEN,IAAI4G,EAAEtG,EAAE8rB,KAAK9rB,EAAEA,EAAE6rB,OAAO,EAAE,OAAM,EAAG,GAAG7rB,EAAEA,EAAEisB,MAAMxuB,IAAIM,EAAE+tB,MAAMruB,IAAIM,EAAE8tB,MAAMhuB,EAAE2B,EAAEA,EAAEA,EAAEE,EAAErB,EAAEmB,EAAEnB,EAAEqB,EAAEI,EAAEN,EAAEM,EAAEJ,EAAEjC,EAAE+B,EAAE/B,EAAEiC,IAAI4G,EAAE7I,EAAEquB,KAAKruB,EAAEA,EAAEouB,OAAO,EAAE,OAAM,EAAGpuB,EAAEA,EAAEyuB,MAAM,KAAKlsB,GAAGA,EAAEoY,GAAG3Z,GAAG,CAAC,GAAGuB,IAAIjC,EAAE+tB,MAAM9rB,IAAIjC,EAAE8tB,MAAMhuB,EAAE2B,EAAEA,EAAEA,EAAEE,EAAErB,EAAEmB,EAAEnB,EAAEqB,EAAEI,EAAEN,EAAEM,EAAEJ,EAAEM,EAAER,EAAEQ,EAAEN,IAAI4G,EAAEtG,EAAE8rB,KAAK9rB,EAAEA,EAAE6rB,OAAO,EAAE,OAAM,EAAG7rB,EAAEA,EAAEisB,MAAM,KAAKxuB,GAAGA,EAAE2a,GAAG7a,GAAG,CAAC,GAAGE,IAAIM,EAAE+tB,MAAMruB,IAAIM,EAAE8tB,MAAMhuB,EAAE2B,EAAEA,EAAEA,EAAEE,EAAErB,EAAEmB,EAAEnB,EAAEqB,EAAEI,EAAEN,EAAEM,EAAEJ,EAAEjC,EAAE+B,EAAE/B,EAAEiC,IAAI4G,EAAE7I,EAAEquB,KAAKruB,EAAEA,EAAEouB,OAAO,EAAE,OAAM,EAAGpuB,EAAEA,EAAEyuB,MAAM,OAAM,EAAG,SAASpsB,EAAE/B,EAAEP,EAAEM,GAAG,IAAI0B,EAAEzB,EAAE,EAAE,CAAC,IAAIM,EAAEmB,EAAEssB,KAAKhsB,EAAEN,EAAEqsB,KAAKA,MAAMnuB,EAAEW,EAAEyB,IAAIsY,EAAE/Z,EAAEmB,EAAEA,EAAEqsB,KAAK/rB,IAAI+G,EAAExI,EAAEyB,IAAI+G,EAAE/G,EAAEzB,KAAKb,EAAEqK,KAAKxJ,EAAEA,EAAEP,GAAGN,EAAEqK,KAAKrI,EAAEnB,EAAEP,GAAGN,EAAEqK,KAAK/H,EAAEzB,EAAEP,GAAGic,EAAEva,GAAGua,EAAEva,EAAEqsB,MAAMrsB,EAAEzB,EAAE+B,GAAGN,EAAEA,EAAEqsB,WAAWrsB,IAAIzB,GAAG,OAAOf,EAAEwC,GAAG,SAASmM,EAAE5N,EAAEP,EAAEgC,EAAEnB,EAAEyB,EAAE6L,GAAG,IAAI5F,EAAEhI,EAAE,EAAE,CAAC,IAAI,IAAIZ,EAAE4I,EAAE8lB,KAAKA,KAAK1uB,IAAI4I,EAAE+lB,MAAM,CAAC,GAAG/lB,EAAE1H,IAAIlB,EAAEkB,GAAG4B,EAAE8F,EAAE5I,GAAG,CAAC,IAAIuC,EAAE6U,EAAExO,EAAE5I,GAAG,OAAO4I,EAAE/I,EAAE+I,EAAEA,EAAE8lB,MAAMnsB,EAAE1C,EAAE0C,EAAEA,EAAEmsB,MAAM/tB,EAAEiI,EAAEvI,EAAEgC,EAAEnB,EAAEyB,EAAE6L,QAAQ7N,EAAE4B,EAAElC,EAAEgC,EAAEnB,EAAEyB,EAAE6L,GAAGxO,EAAEA,EAAE0uB,KAAK9lB,EAAEA,EAAE8lB,WAAW9lB,IAAIhI,GAAG,SAASgI,EAAEhI,EAAED,EAAE0B,EAAEnB,GAAG,IAAIyB,EAAE6L,EAAE5F,EAAErG,EAAE,GAAG,IAAII,EAAE,EAAE6L,EAAE7N,EAAEyJ,OAAOzH,EAAE6L,EAAE7L,KAAKiG,EAAEvI,EAAEO,EAAED,EAAEgC,GAAGzB,EAAEyB,EAAE6L,EAAE,EAAE7N,EAAEgC,EAAE,GAAGzB,EAAEN,EAAEwJ,OAAOlJ,GAAE,MAAO0H,EAAE8lB,OAAO9lB,EAAEimB,SAAQ,GAAItsB,EAAEmI,KAAKkkB,EAAEhmB,IAAI,IAAIrG,EAAEysB,KAAKhvB,GAAG2C,EAAE,EAAEA,EAAEJ,EAAE6H,OAAOzH,IAAIN,EAAExC,EAAEwC,EAAEf,EAAEiB,EAAEI,GAAGN,GAAGA,EAAEqsB,MAAM,OAAOrsB,EAAE,SAASrC,EAAEY,EAAEP,GAAG,OAAOO,EAAEyB,EAAEhC,EAAEgC,EAAE,SAASE,EAAE3B,GAAG,GAAGA,EAAE8tB,KAAKC,OAAO/tB,EAAE,OAAOA,EAAE,IAAIP,EAAEO,EAAE,OAAO,CAAC,MAAMf,EAAEQ,EAAEquB,KAAK,GAAG7uB,EAAE8uB,OAAOtuB,GAAGR,IAAIQ,GAAGR,IAAIe,EAAE,MAAMP,EAAER,EAAE,OAAOQ,EAAE,SAASiB,EAAEV,EAAEP,GAAG,IAAIM,EAAEP,EAAEQ,EAAEP,GAAG,IAAIM,EAAE,OAAON,EAAE,IAAIgC,EAAE+U,EAAEzW,EAAEC,GAAGM,EAAErB,EAAEc,EAAEA,EAAE+tB,MAAM,IAAI/rB,EAAEJ,EAAEF,GAAG,OAAOxC,EAAE8C,EAAEA,EAAE+rB,MAAMxtB,EAAEqB,EAAErB,GAAGqB,EAAElC,IAAIM,EAAEO,EAAEb,GAAG,SAASD,EAAEQ,EAAEP,GAAG,IAAIR,EAAEc,EAAEN,EAAEgC,EAAEzB,EAAEyB,EAAEnB,EAAEN,EAAE2B,EAAEI,GAAE,IAAK,EAAE,CAAC,GAAGzB,GAAGP,EAAE4B,GAAGrB,GAAGP,EAAE+tB,KAAKnsB,GAAG5B,EAAE+tB,KAAKnsB,IAAI5B,EAAE4B,EAAE,CAAC,IAAIiM,EAAE7N,EAAE0B,GAAGnB,EAAEP,EAAE4B,IAAI5B,EAAE+tB,KAAKrsB,EAAE1B,EAAE0B,IAAI1B,EAAE+tB,KAAKnsB,EAAE5B,EAAE4B,GAAG,GAAGiM,GAAGnM,GAAGmM,EAAE7L,EAAE,CAAC,GAAGA,EAAE6L,EAAEA,IAAInM,EAAE,CAAC,GAAGnB,IAAIP,EAAE4B,EAAE,OAAO5B,EAAE,GAAGO,IAAIP,EAAE+tB,KAAKnsB,EAAE,OAAO5B,EAAE+tB,KAAK7uB,EAAEc,EAAE0B,EAAE1B,EAAE+tB,KAAKrsB,EAAE1B,EAAEA,EAAE+tB,MAAM/tB,EAAEA,EAAE+tB,WAAW/tB,IAAIN,GAAG,IAAIR,EAAE,OAAO,KAAK,GAAGwC,IAAIM,EAAE,OAAO9C,EAAE,IAAI+I,EAAE5I,EAAEH,EAAE0C,EAAE1C,EAAEwC,EAAEf,EAAEzB,EAAE0C,EAAEnC,EAAE,IAAIO,EAAEd,EAAE,GAAGwC,GAAG1B,EAAE0B,GAAG1B,EAAE0B,GAAGE,GAAGF,IAAI1B,EAAE0B,GAAG3B,EAAEQ,EAAEI,EAAEe,EAAEM,EAAEzB,EAAEqB,EAAEjB,EAAEJ,EAAEI,EAAEqB,EAAEN,EAAEnB,EAAEP,EAAE0B,EAAE1B,EAAE4B,KAAKqG,EAAE9I,KAAK4f,IAAIxe,EAAEP,EAAE4B,IAAIF,EAAE1B,EAAE0B,GAAGqH,EAAE/I,EAAEC,KAAKgI,EAAExI,GAAGwI,IAAIxI,IAAIO,EAAE0B,EAAExC,EAAEwC,GAAG1B,EAAE0B,IAAIxC,EAAEwC,GAAGQ,EAAEhD,EAAEc,OAAOd,EAAEc,EAAEP,EAAEwI,IAAIjI,EAAEA,EAAE+tB,WAAW/tB,IAAIX,GAAG,OAAOH,EAAE,SAASgD,EAAEjC,EAAEP,GAAG,OAAO8I,EAAEvI,EAAE+tB,KAAK/tB,EAAEP,EAAEsuB,MAAM,GAAGxlB,EAAE9I,EAAEquB,KAAK9tB,EAAEA,EAAE8tB,MAAM,EAAE,SAASpuB,EAAEM,EAAEP,EAAER,EAAEc,GAAG,IAAI0B,EAAEzB,EAAE,GAAG,OAAOyB,EAAE4Y,IAAI5Y,EAAE4Y,EAAEhb,EAAEoC,EAAEA,EAAEA,EAAEE,EAAElC,EAAER,EAAEc,IAAI0B,EAAEysB,MAAMzsB,EAAEssB,KAAKtsB,EAAE0sB,MAAM1sB,EAAEqsB,KAAKrsB,EAAEA,EAAEqsB,WAAWrsB,IAAIzB,GAAGyB,EAAEysB,MAAMC,MAAM,KAAK1sB,EAAEysB,MAAM,KAAK/sB,EAAEM,GAAG,SAASN,EAAEnB,GAAG,IAAIP,EAAER,EAAEc,EAAE0B,EAAEnB,EAAEyB,EAAE6L,EAAE5F,EAAE5I,EAAE,EAAE,EAAE,CAAC,IAAIH,EAAEe,EAAEA,EAAE,KAAKM,EAAE,KAAKyB,EAAE,EAAE9C,GAAG,CAAC,IAAI8C,IAAIhC,EAAEd,EAAE2O,EAAE,EAAEnO,EAAE,EAAEA,EAAEL,IAAIwO,IAAI7N,EAAEA,EAAEouB,OAAO1uB,KAAK,IAAIuI,EAAE5I,EAAEwO,EAAE,GAAG5F,EAAE,GAAGjI,GAAG,IAAI6N,IAAI,IAAI5F,IAAIjI,GAAGd,EAAEob,GAAGta,EAAEsa,IAAI5Y,EAAExC,EAAEA,EAAEA,EAAEkvB,MAAMvgB,MAAMnM,EAAE1B,EAAEA,EAAEA,EAAEouB,MAAMnmB,KAAK1H,EAAEA,EAAE6tB,MAAM1sB,EAAEzB,EAAEyB,EAAEA,EAAEysB,MAAM5tB,EAAEA,EAAEmB,EAAExC,EAAEc,EAAEO,EAAE6tB,MAAM,KAAK/uB,GAAG,QAAQ2C,EAAE,GAAG,OAAO/B,EAAE,SAASX,EAAEW,EAAEP,EAAER,EAAEc,EAAE0B,GAAG,OAAOzB,EAAE,aAAaA,EAAE,YAAYA,EAAE,YAAYA,EAAE,WAAWA,EAAE,OAAOA,EAAEf,GAAGwC,GAAGzB,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAIA,GAAG,KAAKP,EAAE,aAAaA,EAAE,YAAYA,EAAE,YAAYA,EAAE,WAAWA,EAAE,OAAOA,EAAEM,GAAG0B,GAAGhC,GAAG,IAAIA,GAAG,IAAIA,GAAG,IAAIA,GAAG,KAAK,EAAE,SAASuuB,EAAEhuB,GAAG,IAAIP,EAAEO,EAAEf,EAAEe,EAAE,IAAIP,EAAEgC,EAAExC,EAAEwC,GAAGhC,EAAEgC,IAAIxC,EAAEwC,GAAGhC,EAAEkC,EAAE1C,EAAE0C,KAAK1C,EAAEQ,GAAGA,EAAEA,EAAEquB,WAAWruB,IAAIO,GAAG,OAAOf,EAAE,SAASa,EAAEE,EAAEP,EAAER,EAAEc,EAAE0B,EAAEnB,EAAEyB,EAAE6L,GAAG,OAAOnM,EAAEM,IAAItC,EAAEmO,IAAI5N,EAAE+B,IAAIzB,EAAEsN,IAAI,IAAI5N,EAAE+B,IAAIhC,EAAE6N,IAAI3O,EAAE8C,IAAItC,EAAEmO,IAAI,IAAI3O,EAAE8C,IAAIzB,EAAEsN,IAAInM,EAAEM,IAAIhC,EAAE6N,IAAI,EAAE,SAAS1L,EAAElC,EAAEP,GAAG,OAAOO,EAAE8tB,KAAKxtB,IAAIb,EAAEa,GAAGN,EAAE+tB,KAAKztB,IAAIb,EAAEa,IAAIwZ,EAAE9Z,EAAEP,KAAKqJ,EAAE9I,EAAEP,IAAIqJ,EAAErJ,EAAEO,IAAIyoB,EAAEzoB,EAAEP,KAAK8I,EAAEvI,EAAE+tB,KAAK/tB,EAAEP,EAAEsuB,OAAOxlB,EAAEvI,EAAEP,EAAEsuB,KAAKtuB,KAAKE,EAAEK,EAAEP,IAAI8I,EAAEvI,EAAE+tB,KAAK/tB,EAAEA,EAAE8tB,MAAM,GAAGvlB,EAAE9I,EAAEsuB,KAAKtuB,EAAEA,EAAEquB,MAAM,GAAG,SAASvlB,EAAEvI,EAAEP,EAAER,GAAG,OAAOQ,EAAEkC,EAAE3B,EAAE2B,IAAI1C,EAAEwC,EAAEhC,EAAEgC,IAAIhC,EAAEgC,EAAEzB,EAAEyB,IAAIxC,EAAE0C,EAAElC,EAAEkC,GAAG,SAAShC,EAAEK,EAAEP,GAAG,OAAOO,EAAEyB,IAAIhC,EAAEgC,GAAGzB,EAAE2B,IAAIlC,EAAEkC,EAAE,SAAS0Y,EAAEra,EAAEP,EAAER,EAAEc,GAAG,IAAI0B,EAAEC,EAAE6G,EAAEvI,EAAEP,EAAER,IAAIqB,EAAEoB,EAAE6G,EAAEvI,EAAEP,EAAEM,IAAIgC,EAAEL,EAAE6G,EAAEtJ,EAAEc,EAAEC,IAAI4N,EAAElM,EAAE6G,EAAEtJ,EAAEc,EAAEN,IAAI,OAAOgC,IAAInB,GAAGyB,IAAI6L,KAAK,IAAInM,IAAI2G,EAAEpI,EAAEf,EAAEQ,OAAO,IAAIa,IAAI8H,EAAEpI,EAAED,EAAEN,OAAO,IAAIsC,IAAIqG,EAAEnJ,EAAEe,EAAED,OAAO,IAAI6N,IAAIxF,EAAEnJ,EAAEQ,EAAEM,IAAI,SAASqI,EAAEpI,EAAEP,EAAER,GAAG,OAAOQ,EAAEgC,GAAGvC,KAAKoR,IAAItQ,EAAEyB,EAAExC,EAAEwC,IAAIhC,EAAEgC,GAAGvC,KAAK2kB,IAAI7jB,EAAEyB,EAAExC,EAAEwC,IAAIhC,EAAEkC,GAAGzC,KAAKoR,IAAItQ,EAAE2B,EAAE1C,EAAE0C,IAAIlC,EAAEkC,GAAGzC,KAAK2kB,IAAI7jB,EAAE2B,EAAE1C,EAAE0C,GAAG,SAASD,EAAE1B,GAAG,OAAOA,EAAE,EAAE,EAAEA,EAAE,GAAG,EAAE,EAAE,SAAS8Z,EAAE9Z,EAAEP,GAAG,IAAIR,EAAEe,EAAE,EAAE,CAAC,GAAGf,EAAEqB,IAAIN,EAAEM,GAAGrB,EAAE6uB,KAAKxtB,IAAIN,EAAEM,GAAGrB,EAAEqB,IAAIb,EAAEa,GAAGrB,EAAE6uB,KAAKxtB,IAAIb,EAAEa,GAAG+Z,EAAEpb,EAAEA,EAAE6uB,KAAK9tB,EAAEP,GAAG,OAAM,EAAGR,EAAEA,EAAE6uB,WAAW7uB,IAAIe,GAAG,OAAM,EAAG,SAAS8I,EAAE9I,EAAEP,GAAG,OAAO8I,EAAEvI,EAAE+tB,KAAK/tB,EAAEA,EAAE8tB,MAAM,EAAEvlB,EAAEvI,EAAEP,EAAEO,EAAE8tB,OAAO,GAAGvlB,EAAEvI,EAAEA,EAAE+tB,KAAKtuB,IAAI,EAAE8I,EAAEvI,EAAEP,EAAEO,EAAE+tB,MAAM,GAAGxlB,EAAEvI,EAAEA,EAAE8tB,KAAKruB,GAAG,EAAE,SAASgpB,EAAEzoB,EAAEP,GAAG,IAAIR,EAAEe,EAAED,GAAE,EAAG0B,GAAGzB,EAAEyB,EAAEhC,EAAEgC,GAAG,EAAEnB,GAAGN,EAAE2B,EAAElC,EAAEkC,GAAG,EAAE,GAAG1C,EAAE0C,EAAErB,GAAGrB,EAAE6uB,KAAKnsB,EAAErB,GAAGrB,EAAE6uB,KAAKnsB,IAAI1C,EAAE0C,GAAGF,GAAGxC,EAAE6uB,KAAKrsB,EAAExC,EAAEwC,IAAInB,EAAErB,EAAE0C,IAAI1C,EAAE6uB,KAAKnsB,EAAE1C,EAAE0C,GAAG1C,EAAEwC,IAAI1B,GAAGA,GAAGd,EAAEA,EAAE6uB,WAAW7uB,IAAIe,GAAG,OAAOD,EAAE,SAASyW,EAAExW,EAAEP,GAAG,IAAIR,EAAE,IAAImT,EAAEpS,EAAEM,EAAEN,EAAEyB,EAAEzB,EAAE2B,GAAG5B,EAAE,IAAIqS,EAAE3S,EAAEa,EAAEb,EAAEgC,EAAEhC,EAAEkC,GAAGF,EAAEzB,EAAE8tB,KAAKxtB,EAAEb,EAAEsuB,KAAK,OAAO/tB,EAAE8tB,KAAKruB,EAAEA,EAAEsuB,KAAK/tB,EAAEf,EAAE6uB,KAAKrsB,EAAEA,EAAEssB,KAAK9uB,EAAEc,EAAE+tB,KAAK7uB,EAAEA,EAAE8uB,KAAKhuB,EAAEO,EAAEwtB,KAAK/tB,EAAEA,EAAEguB,KAAKztB,EAAEP,EAAE,SAASue,EAAEte,EAAEP,EAAER,EAAEc,GAAG,IAAI0B,EAAE,IAAI2Q,EAAEpS,EAAEP,EAAER,GAAG,OAAOc,GAAG0B,EAAEqsB,KAAK/tB,EAAE+tB,KAAKrsB,EAAEssB,KAAKhuB,EAAEA,EAAE+tB,KAAKC,KAAKtsB,EAAE1B,EAAE+tB,KAAKrsB,IAAIA,EAAEssB,KAAKtsB,EAAEA,EAAEqsB,KAAKrsB,GAAGA,EAAE,SAASua,EAAEhc,GAAGA,EAAE8tB,KAAKC,KAAK/tB,EAAE+tB,KAAK/tB,EAAE+tB,KAAKD,KAAK9tB,EAAE8tB,KAAK9tB,EAAEkuB,QAAQluB,EAAEkuB,MAAMC,MAAMnuB,EAAEmuB,OAAOnuB,EAAEmuB,QAAQnuB,EAAEmuB,MAAMD,MAAMluB,EAAEkuB,OAAO,SAAS9b,EAAEpS,EAAEP,EAAER,GAAGuB,KAAKF,EAAEN,EAAEQ,KAAKiB,EAAEhC,EAAEe,KAAKmB,EAAE1C,EAAEuB,KAAKutB,KAAK,KAAKvtB,KAAKstB,KAAK,KAAKttB,KAAK6Z,EAAE,KAAK7Z,KAAK0tB,MAAM,KAAK1tB,KAAK2tB,MAAM,KAAK3tB,KAAKytB,SAAQ,EAAG,SAAS5c,EAAErR,EAAEP,EAAER,EAAEc,GAAG,IAAI,IAAI0B,EAAE,EAAEnB,EAAEb,EAAEsC,EAAE9C,EAAEc,EAAEO,EAAErB,EAAEqB,GAAGP,EAAE0B,IAAIzB,EAAE+B,GAAG/B,EAAEM,KAAKN,EAAEM,EAAE,GAAGN,EAAE+B,EAAE,IAAIA,EAAEzB,EAAE,OAAOmB,EAAE,OAAOzB,EAAEquB,UAAU,SAASruB,EAAEP,EAAER,EAAEc,GAAG,IAAI0B,EAAEhC,GAAGA,EAAE+J,OAAOlJ,EAAEmB,EAAEhC,EAAE,GAAGR,EAAEe,EAAEwJ,OAAOzH,EAAE7C,KAAK4f,IAAIzN,EAAErR,EAAE,EAAEM,EAAErB,IAAI,GAAGwC,EAAE,IAAI,IAAImM,EAAE,EAAE5F,EAAEvI,EAAE+J,OAAOoE,EAAE5F,EAAE4F,IAAI,CAAC,IAAIxO,EAAEK,EAAEmO,GAAG3O,EAAE0C,EAAEiM,EAAE5F,EAAE,EAAEvI,EAAEmO,EAAE,GAAG3O,EAAEe,EAAEwJ,OAAOzH,GAAG7C,KAAK4f,IAAIzN,EAAErR,EAAEZ,EAAEuC,EAAE1C,IAAI,IAAIyB,EAAE,EAAE,IAAIkN,EAAE,EAAEA,EAAE7N,EAAEyJ,OAAOoE,GAAG,EAAE,CAAC,IAAIpO,EAAEO,EAAE6N,GAAG3O,EAAEgD,EAAElC,EAAE6N,EAAE,GAAG3O,EAAES,EAAEK,EAAE6N,EAAE,GAAG3O,EAAEyB,GAAGxB,KAAK4f,KAAK9e,EAAER,GAAGQ,EAAEN,KAAKM,EAAEiC,EAAE,GAAGjC,EAAER,EAAE,KAAKQ,EAAER,GAAGQ,EAAEiC,KAAKjC,EAAEN,EAAE,GAAGM,EAAER,EAAE,KAAK,OAAO,IAAIuC,GAAG,IAAIrB,EAAE,EAAExB,KAAK4f,KAAKpe,EAAEqB,GAAGA,IAAI/B,EAAEsuB,QAAQ,SAAStuB,GAAG,IAAI,IAAIP,EAAEO,EAAE,GAAG,GAAGwJ,OAAOvK,EAAE,CAACsvB,SAAS,GAAGC,MAAM,GAAGC,WAAWhvB,GAAGM,EAAE,EAAE0B,EAAE,EAAEA,EAAEzB,EAAEwJ,OAAO/H,IAAI,CAAC,IAAI,IAAInB,EAAE,EAAEA,EAAEN,EAAEyB,GAAG+H,OAAOlJ,IAAI,IAAI,IAAIyB,EAAE,EAAEA,EAAEtC,EAAEsC,IAAI9C,EAAEsvB,SAASzkB,KAAK9J,EAAEyB,GAAGnB,GAAGyB,IAAIN,EAAE,IAAI1B,GAAGC,EAAEyB,EAAE,GAAG+H,OAAOvK,EAAEuvB,MAAM1kB,KAAK/J,IAAI,OAAOd,GAAGe,QAAG,KAAUf,EAAEQ,OAAOO,EAAEsoB,QAAQrpB,GAAG,MAAMwC,EAAE1B,EAAEuoB,S,oRCAj6L,MAAM7mB,EAAExC,OAAE+C,UAAU,qCAAqClC,EAAEb,IAAI,OAAOA,EAAEwT,mBAAmB,KAAK,EAAE,OAAO9Q,OAAEgP,cAAc,KAAK,EAAE,OAAOhP,OAAE8D,eAAe,KAAK,EAAE,OAAO9D,OAAE8K,aAAa,QAAQ,MAAM,IAAIzM,OAAE,kCAAkCU,EAAE,CAACV,EAAEf,EAAEc,EAAEX,KAAK,IAAI+B,EAAE,EAAE,IAAI,IAAI1B,EAAE,EAAEA,EAAEM,EAAEN,IAAI,CAAC,MAAMM,EAAEC,EAAE,GAAGf,EAAEQ,EAAE,IAAIL,EAAEY,EAAE,GAAGf,EAAEQ,EAAE,GAAG,GAAG0B,IAAInB,EAAE,GAAGf,EAAEQ,IAAIM,IAAIC,EAAE,GAAGf,EAAEQ,GAAG,GAAGL,GAAG,OAAOA,EAAE+B,EAAE,EAAEA,EAAE,GAAGc,EAAE,EAAEysB,OAAO1uB,EAAE2uB,QAAQ1vB,GAAGc,KAAK,MAAMoB,EAAE,GAAG,IAAI,IAAI1B,EAAE,EAAEa,EAAE,EAAEb,EAAER,EAAEuK,OAAOlJ,GAAGrB,EAAEQ,GAAGA,GAAG,EAAE,CAAC,MAAMJ,EAAEiB,EAAEd,EAAE,GAAG,KAAKC,EAAER,EAAEuK,OAAO,GAAG9I,EAAEV,EAAEM,EAAErB,EAAEQ,GAAGR,EAAEQ,EAAE,GAAGM,GAAGN,GAAG,EAAEa,GAAGrB,EAAEQ,GAAGD,EAAEsK,KAAKxJ,EAAErB,EAAEQ,GAAGJ,GAAG,MAAM2I,EAAEhI,EAAE2jB,MAAM,EAAEtkB,EAAE,GAAGiB,EAAErB,EAAEQ,KAAKC,EAAEN,eAAE4I,EAAExI,EAAE,GAAG,IAAI,MAAMQ,KAAKN,EAAEyB,EAAE2I,KAAK9J,EAAEX,GAAG,OAAO8B,GAAG,MAAMoH,EAAEpG,YAAYnC,EAAEf,EAAEc,EAAEX,GAAE,GAAIoB,KAAKouB,OAAO,GAAGpuB,KAAK+tB,SAASvuB,EAAEQ,KAAKquB,QAAQ5vB,EAAEuB,KAAKsuB,cAAc/uB,EAAES,KAAKuuB,WAAW3vB,EAAiB,iBAAEqC,EAAEzB,EAAE2B,EAAE1C,EAAEsC,MAAMxB,EAAEyB,OAAOpC,IAAI,MAAM+B,EAAEnB,EAAEP,EAAER,EAAEqB,EAAEa,EAAEpB,EAAEV,EAAEI,EAAEL,EAAE,OAAOmJ,EAAEymB,iBAAiB,CAAC3qB,KAAKlD,EAAEmD,KAAK7E,EAAE8E,KAAKjE,EAAEkE,KAAKnF,IAAmB,gBAACW,GAAG,MAAMf,EAAEqB,eAAE,IAAId,OAAEQ,EAAEukB,MAAK,GAAG,GAAIxkB,EAAEd,EAAEyvB,OAAOtvB,EAAE,IAAIoT,YAAYvQ,EAAEhD,GAAE,IAAKkC,EAAE,IAAIqR,YAAYzS,EAAEyJ,OAAO,GAAG,IAAI,IAAI/J,EAAE,EAAEA,EAAE0B,EAAEqI,OAAO/J,IAAI0B,EAAE1B,GAAGuI,eAAE9I,KAAK6f,MAAMhf,EAAE,EAAEN,IAAIP,KAAK6f,MAAMhf,EAAE,EAAEN,EAAE,KAAK,OAAO,IAAI8I,EAAE,CAAChD,SAASpE,GAAG/B,EAAEsC,OAAE6K,WAA8B,oBAACtN,EAAEc,GAAG,MAAMX,EAAEW,EAAEwF,SAASsC,KAAK,OAAOzI,GAAG,IAAI,UAAU,OAAOmJ,EAAE0mB,YAAYhwB,EAAEc,EAAEwF,UAAU,IAAI,SAAS,OAAOgD,EAAE2mB,cAAcjwB,EAAEc,EAAEwF,UAAU,QAAQ,OAAO9D,EAAEmB,MAAM,IAAI5C,OAAE,mBAAoB,qCAAoCZ,EAAIW,IAAIwI,EAAE4mB,SAAS,CAAC1tB,EAAE,EAAEE,EAAE,EAAEJ,MAAM,EAAEC,OAAO,KAAuB,mBAACxB,EAAEf,GAAG,MAAMc,EAAEV,eAAE,IAAIG,OAAEP,GAAE,GAAG,GAAIG,EAAEW,EAAE2uB,OAAOpuB,EAAE,IAAIkS,YAAYvQ,EAAElC,GAAE,IAAKL,EAAE,IAAI8S,YAAYpT,EAAEoK,OAAO,GAAGzH,EAAEtC,iBAAIkC,EAAElC,iBAAI,IAAI,IAAIA,EAAE,EAAEA,EAAEC,EAAE8J,OAAO/J,IAAI0B,eAAEY,EAAE3C,EAAE,EAAEK,GAAGL,EAAE,EAAEK,EAAE,IAAIO,EAAEovB,SAASztB,EAAEI,GAAGrC,EAAED,GAAGuI,eAAE9I,KAAK6f,MAAMpd,EAAE,IAAIzC,KAAK6f,MAAMpd,EAAE,KAAK,OAAO,IAAI4G,EAAE,CAAChD,SAAS7F,GAAGY,EAAEoB,OAAE6K,WAAU,GAA2B,yBAAElI,KAAKrE,EAAEuE,KAAKtF,EAAEqF,KAAKvE,EAAEyE,KAAKpF,IAAI,MAAM+B,EAAE,CAACoE,SAAS,IAAIiN,YAAY,CAACxK,eAAEhI,EAAED,GAAGiI,eAAE/I,EAAEc,GAAGiI,eAAEhI,EAAEZ,GAAG4I,eAAEhI,EAAEZ,GAAG4I,eAAE/I,EAAEc,GAAGiI,eAAE/I,EAAEG,MAAMK,EAAE,IAAI+S,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,IAAIjK,EAAEpH,EAAE1B,EAAEiC,OAAE6K,WAA+B,qBAACvM,EAAEf,GAAG,MAAMc,EAAEX,GAAGY,EAAEovB,SAAS,CAAC,EAAE,GAAG,CAACnwB,EAAEoF,KAAKpF,EAAEqF,QAAQnD,EAAE1B,GAAGO,EAAEovB,SAAS,CAAC,EAAE,GAAG,CAACnwB,EAAEsF,KAAKtF,EAAEuF,OAAOlE,EAAE,CAACiF,SAAS,IAAIiN,YAAY,CAACxK,eAAEjI,EAAEX,GAAG4I,eAAE7G,EAAE/B,GAAG4I,eAAEjI,EAAEN,GAAGuI,eAAEjI,EAAEN,GAAGuI,eAAE7G,EAAE/B,GAAG4I,eAAE7G,EAAE1B,MAAMJ,EAAE,IAAImT,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,OAAO,IAAIjK,EAAEjI,EAAEjB,EAAEqC,OAAE6K,WAAW3L,UAAUb,eAAES,KAAKouB,OAAO1iB,cAAc1L,KAAKouB,OAAO1iB,YAAYjG,UAAU,IAAI,MAAMjG,KAAKQ,KAAKouB,OAAOS,cAActvB,eAAES,KAAKouB,OAAOS,cAAcrvB,KAAKQ,KAAKouB,OAAOS,cAAcrvB,GAAGiG,UAAyB,kBAAG,OAAOnG,EAAEU,KAAKquB,SAASS,eAAetvB,EAAEf,EAAE8C,OAAE+T,aAAa,OAAOtV,KAAKouB,OAAO1iB,cAAc1L,KAAKouB,OAAO1iB,YAAYxM,OAAE6vB,YAAYvvB,EAAEf,EAAEuB,KAAKquB,UAAUruB,KAAKouB,OAAO1iB,YAAYsjB,iBAAiBxvB,EAAEf,EAAE8C,OAAE+T,aAAa,OAAOtV,KAAKouB,OAAOS,gBAAgB7uB,KAAKouB,OAAOS,cAAc3K,OAAO+K,KAAKjvB,KAAK+tB,UAAU3K,OAAQ,CAAC7jB,EAAEX,KAAH,IAAYW,EAAE,CAACX,GAAGM,OAAEmW,aAAa7V,EAAEf,EAAEuB,KAAK+tB,SAASnvB,MAAO,KAAKoB,KAAKouB,OAAOS,e,gBCAp3F,MAAM5vB,EAAEO,OAAEgC,UAAU,2CAA2CN,EAAEzC,GAAGywB,WAAWzwB,GAAG,IAAI,MAAMyB,UAAUhB,OAAEyC,YAAYlD,EAAEe,GAAGoC,QAAQ5B,KAAKmvB,MAAM3vB,EAAEQ,KAAKouB,OAAO,GAAGpuB,KAAKovB,MAAM3wB,EAAEuB,KAAKqvB,QAAQvvB,eAAG,IAAIN,EAAE8vB,QAAU,IAAItvB,KAAKuvB,eAAgBvvB,KAAKwvB,QAA2B,oBAAC/wB,EAAEe,GAAG,OAAO,IAAIU,EAAEzB,EAAEe,GAAGiwB,aAAalwB,eAAES,KAAKouB,OAAOsB,QAAQ1vB,KAAKouB,OAAOsB,KAAKtvB,UAAUJ,KAAKouB,OAAOsB,KAAK,MAAMnwB,eAAES,KAAKouB,OAAOtN,OAAO9gB,KAAKouB,OAAOtN,IAAIrb,UAAUzF,KAAKouB,OAAOtN,IAAI,MAAM1gB,UAAUJ,KAAKyvB,aAAazvB,KAAKqvB,QAAQlsB,SAASqI,OAAO/M,EAAEe,EAAED,EAAEO,GAAG,MAAMlB,EAAEM,GAAGM,EAAEwM,KAAK,GAAG,aAAahM,KAAKmvB,MAAM9nB,MAAMrH,KAAK2vB,aAAa/wB,GAAGoB,KAAK4vB,cAAc1wB,IAAIc,KAAK2vB,WAAW/wB,EAAEoB,KAAK4vB,YAAY1wB,EAAEc,KAAKyvB,cAAc9uB,eAAEX,KAAKouB,OAAOtN,KAAK,CAAC,MAAMngB,EAAEX,KAAK6vB,YAAYrwB,EAAEQ,KAAKmvB,OAAOvwB,EAAE+B,EAAEmuB,eAAerwB,GAAGS,EAAEyB,EAAEquB,iBAAiBvwB,GAAGuB,KAAKouB,OAAOsB,KAAK/uB,EAAEX,KAAKouB,OAAOtN,IAAI,IAAIjiB,OAAEJ,EAAEc,EAAEO,EAAEZ,EAAEN,GAAG,OAAOoB,KAAKouB,OAAOtN,IAAIgP,oBAAoB,MAAM,CAACjnB,IAAIjK,kBAAK2wB,cAAcvvB,KAAKyvB,aAAazvB,KAAK2G,gBAAgBopB,kBAAkBtxB,EAAEe,GAAG,MAAMD,EAAEoB,GAAGlC,EAAEuN,KAAKlM,EAAE,iBAAiBN,EAAEwwB,KAAK9uB,EAAE1B,EAAEwwB,MAAMzwB,EAAEC,EAAEwwB,KAAKpxB,EAAE,iBAAiBY,EAAEywB,MAAM/uB,EAAE1B,EAAEywB,OAAO1wB,EAAEC,EAAEywB,MAAM/wB,EAAE,iBAAiBM,EAAE0wB,IAAIhvB,EAAE1B,EAAE0wB,KAAKvvB,EAAEnB,EAAE0wB,IAAIlxB,EAAE,iBAAiBQ,EAAE2wB,OAAOjvB,EAAE1B,EAAE2wB,QAAQxvB,EAAEnB,EAAE2wB,OAAOtxB,EAAEiB,EAAEb,EAAEC,EAAE,MAAM,CAAC+B,EAAEpC,EAAEsC,EAAElC,EAAE8B,MAAMrC,KAAKoR,IAAIvQ,EAAEX,EAAEC,EAAE,GAAGmC,OAAOtC,KAAKoR,IAAInP,EAAE3B,EAAEC,EAAE,IAAI4wB,YAAYrwB,EAAED,GAAG,OAAOA,EAAE8H,MAAM,IAAI,OAAO,OAAOrI,EAAE2vB,SAAS3uB,KAAK+vB,kBAAkBvwB,EAAED,IAAI,IAAI,OAAO,OAAOP,EAAEoxB,SAAS7wB,GAAG,IAAI,WAAW,OAAOP,EAAEqxB,aAAa7wB,EAAED,GAAG,QAAQ,OAAON,EAAEmD,MAAM,IAAI3D,OAAE,mBAAmB,uEAAuEO,EAAE2vB,SAAS,CAAC1tB,EAAE,EAAEE,EAAE,EAAEJ,MAAM,EAAEC,OAAO,M,gBCA1mD,MAAMhC,UAAUc,OAAE6B,cAAcC,SAASC,WAAW7B,KAAKyE,KAAKzE,KAAK2B,YAAY8C,KAAc,UAACjF,GAAGQ,KAAKswB,OAAO9wB,EAAEQ,KAAK0D,SAASwa,QAAS3e,GAAGA,EAAEgxB,MAAM/wB,GAAIQ,KAAKwwB,sBAAsBV,oBAAoB,MAAM,CAACjnB,IAAIlI,kBAAK8vB,SAASjxB,GAAG,MAAMD,EAAES,KAAK0wB,mBAAmBlxB,IAAIkH,QAAQ/F,EAAEgwB,cAAclyB,EAAEmyB,SAAS9wB,EAAE+E,UAAU5F,GAAGM,EAAEP,EAAEC,IAAIL,OAAEwf,OAAOnf,IAAIL,OAAEiyB,UAAU,EAAEpyB,EAAEuB,KAAKwK,gBAAgB1K,EAAEgxB,qBAAqB9wB,KAAKyE,MAAM9D,EAAEowB,kBAAkBxxB,EAAES,KAAKgxB,eAAe,IAAI,EAAEhyB,GAAGgB,KAAKixB,iBAAiBzxB,EAAE2K,OAAOnK,KAAKkxB,eAAe3xB,GAAGoB,EAAEwwB,eAAe5xB,EAAEP,GAAGc,EAAEsxB,qBAAqBF,eAAe3xB,GAAGC,eAAEQ,KAAKqxB,iBAAiBrxB,KAAKqxB,cAAcrxB,KAAKuE,oBAAoBhF,EAAEmH,UAAU,IAAI,MAAMlH,KAAKQ,KAAK0D,SAASlE,EAAE8xB,aAAa/xB,GAAG,IAAI,MAAMC,KAAKQ,KAAKqxB,cAAc,IAAI7xB,EAAE8nB,OAAO/nB,GAAG,MAAMoB,IAAI,IAAI,MAAMnB,KAAKQ,KAAK0D,SAASlE,EAAE+xB,YAAYhyB,GAAGmxB,mBAAmBlxB,GAAG,OAAOA,EAAEgyB,WAAWxxB,KAAKyxB,qBAAqBjyB,EAAE+E,oBAAoB/E,GAAG,MAAM,CAACA,EAAEgF,mBAAmB,CAACC,KAAK,OAAOC,QAAQ,CAACjG,OAAEsgB,MAAMna,OAAO,IAAI5E,KAAKgxB,eAAensB,UAAUjG,OAAEkG,IAAIlG,OAAEwf,MAAMxf,OAAE8yB,YAAY9yB,OAAE+yB,MAAM/yB,OAAEiyB,aAAaI,iBAAiBzxB,GAAG,IAAI,MAAMD,KAAKS,KAAK0D,SAASnE,EAAEqyB,aAAapyB,GAAGqyB,WAAWjwB,MAAMiwB,WAAW7xB,KAAKwwB,sBAAsBsB,WAAWlwB,MAAMkwB,WAAW9xB,KAAKwwB,sBAAsBA,sBAAsB,GAAGjxB,eAAES,KAAKgxB,kBAAkBhxB,KAAKgxB,eAAe9S,QAAS1e,GAAGA,EAAEY,WAAYJ,KAAKgxB,eAAe,OAAOhxB,KAAKovB,MAAM,OAAO,MAAM5vB,EAAEQ,KAAKswB,OAAO/wB,eAAEC,IAAIA,EAAEwJ,SAAShJ,KAAKgxB,eAAexxB,EAAEuyB,MAAMpiB,IAAKnQ,GAAGP,EAAE+yB,aAAahyB,KAAKovB,MAAM5vB,KAAMQ,KAAK2G,mB,oCCJlvD,obAI4F,SAAS7G,EAAEN,GAAG,OAAOf,eAAEe,IAAI,mCAAmCA,EAAEkmB,eAAelmB,EAAEkiB,QAAQliB,EAAEkiB,OAAO1Y,OAAO,EAAE,SAASvH,EAAEhD,EAAEe,GAAG,GAAG,MAACA,MAAGwJ,SAASlJ,EAAErB,GAAG,OAAOA,EAAE,MAAMgD,EAAEhD,EAAEijB,OAAO1Y,OAAO,OAAOxJ,GAAGA,EAAEmE,KAAMlF,GAAGA,GAAGgD,IAAK,IAAIA,GAAG,IAAIjC,EAAEwJ,QAAQ,IAAIxJ,EAAE,GAAGf,EAAEgD,IAAIjC,EAAEwJ,QAAQxJ,EAAEmE,KAAM,CAAClF,EAAEe,IAAIf,IAAIe,GAAI,IAAIP,OAAE,CAACsiB,UAAU9iB,EAAE8iB,UAAUxgB,MAAMtC,EAAEsC,MAAMC,OAAOvC,EAAEuC,OAAOwgB,KAAK/iB,EAAE+iB,KAAKd,gBAAgBjiB,EAAEiiB,gBAAgBe,YAAYhjB,EAAEgjB,YAAYC,OAAOliB,EAAEmQ,IAAKnQ,GAAGf,EAAEijB,OAAOliB,IAAKmiB,WAAWljB,EAAEkjB,YAAYniB,EAAEmQ,IAAKnQ,GAAGf,EAAEkjB,WAAWniB,MAAOf,EAAE,SAASG,EAAEH,GAAG,IAAIA,EAAE,OAAO,MAAMe,EAAEf,EAAEqK,SAAS,IAAItJ,GAAG,IAAIA,EAAEwJ,OAAO,OAAO,MAAM/J,EAAEO,EAAEouB,KAAM,CAACnvB,EAAEe,IAAIf,EAAE,GAAGe,EAAE,IAAK,IAAIM,EAAE,EAAEb,EAAE,GAAG,GAAG,IAAIa,EAAEb,EAAE,GAAG,IAAI,MAAMwC,EAAE/C,KAAKoR,IAAI,IAAI7Q,EAAEA,EAAE+J,OAAO,GAAG,GAAGlJ,EAAE,GAAGlB,EAAE,IAAIijB,WAAW,EAAEpgB,GAAGlC,EAAE,GAAG,IAAIoB,EAAE3B,EAAE,EAAEE,EAAE,EAAE,MAAMsI,EAAE,IAAIvI,EAAE,GAAG+J,OAAO,GAAGvH,EAAE,MAAM,OAAOxC,EAAEif,QAASzf,IAAIc,EAAEd,EAAE,GAAGqB,GAAG0H,EAAE/I,EAAE0kB,MAAM,GAAG1kB,EAAE0kB,MAAM,GAAGkF,OAAO,CAAC,QAAS,CAAC4J,kBAAkB1yB,EAAE0Q,OAAOnQ,EAAEoyB,eAAe1qB,GAAG,GAAG/I,EAAE0zB,gBAAgB,IAAIxxB,EAAE1B,EAAEC,GAAGF,EAAE2B,EAAE,GAAGb,EAAEd,EAAEyC,EAAEzC,IAAIJ,EAAE,EAAEI,GAAG2B,EAAE,GAAG/B,EAAE,EAAEI,EAAE,GAAG2B,EAAE,GAAG/B,EAAE,EAAEI,EAAE,GAAG2B,EAAE,GAAG/B,EAAE,EAAEI,EAAE,GAAGwI,EAAE7G,EAAE,GAAG,IAAI3B,IAAI2B,EAAE,GAAGb,IAAIa,EAAEzB,IAAID,EAAE+J,OAAO,EAAErI,EAAE1B,IAAIC,SAAS,IAAIF,EAAE,EAAEA,EAAEC,EAAE+J,OAAOhK,IAAI2B,EAAE1B,EAAED,GAAGE,EAAE,GAAGyB,EAAE,GAAGb,GAAGlB,EAAEM,GAAGyB,EAAE,GAAG/B,EAAEM,EAAE,GAAGyB,EAAE,GAAG/B,EAAEM,EAAE,GAAGyB,EAAE,GAAG/B,EAAEM,EAAE,GAAGsI,EAAE7G,EAAE,GAAG,IAAI,MAAM,CAACyxB,gBAAgBxzB,EAAEqR,OAAOnQ,EAAEoyB,eAAe1qB,GAAG,SAASjI,EAAEd,EAAEe,GAAG,IAAIM,EAAErB,GAAG,OAAOA,EAAE,IAAIe,IAAIA,EAAE4yB,iBAAiB5yB,EAAEyyB,mBAAmB,OAAOxzB,EAAE,MAAMQ,EAAER,EAAEykB,QAAQzhB,EAAExC,EAAEyiB,OAAO,IAAI9iB,EAAEK,EAAEuiB,KAAK,MAAMjiB,EAAEN,EAAE8B,MAAM9B,EAAE+B,OAAO,GAAG,IAAIS,EAAEuH,OAAO,OAAOvK,EAAE,MAAM2zB,gBAAgBzxB,EAAEsxB,kBAAkBjzB,EAAEiR,OAAO/Q,EAAEgzB,eAAe1qB,GAAGhI,EAAEX,EAAE8B,EAAEqI,OAAO,EAAE,IAAIzH,EAAE,EAAE,MAAMrB,EAAEuB,EAAE,GAAGR,EAAE,IAAI4gB,WAAW3hB,EAAE8I,QAAQ9H,EAAE,IAAI2gB,WAAW3hB,EAAE8I,QAAQtH,EAAE,IAAImgB,WAAW3hB,EAAE8I,QAAQ,IAAI7H,EAAE7B,EAAE,EAAE,GAAGqB,EAAE,GAAG/B,EAAE,IAAI2C,EAAE,EAAEA,EAAEhC,EAAEgC,IAAI3C,EAAE2C,KAAKjC,EAAE,GAAGY,EAAEqB,GAAGrC,GAAGI,EAAEJ,GAAGI,EAAET,EAAED,EAAE2C,GAAG,GAAGN,EAAEM,GAAGZ,EAAErB,GAAG4B,EAAEK,GAAGZ,EAAErB,EAAE,GAAGoC,EAAEH,GAAGZ,EAAErB,EAAE,GAAGV,EAAE2C,GAAGZ,EAAErB,EAAE,SAAS,CAAC,IAAIV,EAAE,IAAIijB,WAAWtiB,GAAGgC,EAAE,EAAEA,EAAEhC,EAAEgC,IAAIjC,EAAE,GAAGY,EAAEqB,GAAGrC,GAAGI,EAAEJ,GAAGI,EAAET,EAAED,EAAE2C,GAAG,GAAGN,EAAEM,GAAGZ,EAAErB,GAAG4B,EAAEK,GAAGZ,EAAErB,EAAE,GAAGoC,EAAEH,GAAGZ,EAAErB,EAAE,GAAGV,EAAE2C,GAAGZ,EAAErB,EAAE,IAAIL,EAAEuiB,KAAK5iB,OAAO,GAAGA,EAAE,IAAI2C,EAAE,EAAEA,EAAEhC,EAAEgC,IAAI3C,EAAE2C,KAAKJ,EAAEnC,EAAEkB,EAAEqB,IAAIN,EAAEM,GAAGJ,EAAE,GAAGD,EAAEK,GAAGJ,EAAE,GAAGO,EAAEH,GAAGJ,EAAE,GAAGvC,EAAE2C,GAAGJ,EAAE,QAAQ,CAAC,IAAIvC,EAAE,IAAIijB,WAAWtiB,GAAGgC,EAAE,EAAEA,EAAEhC,EAAEgC,IAAIJ,EAAEnC,EAAEkB,EAAEqB,IAAIN,EAAEM,GAAGJ,EAAE,GAAGD,EAAEK,GAAGJ,EAAE,GAAGO,EAAEH,GAAGJ,EAAE,GAAGvC,EAAE2C,GAAGJ,EAAE,GAAGlC,EAAEuiB,KAAK5iB,EAAE,OAAOK,EAAEyiB,OAAO,CAACzgB,EAAEC,EAAEQ,GAAGzC,EAAE0iB,WAAW,KAAK1iB,EAAEsiB,UAAU,KAAKtiB,EAAEwiB,YAAYja,EAAEvI,EAAE,SAAS0B,EAAElC,EAAEe,GAAG,IAAIM,EAAErB,GAAG,OAAO,KAAK,MAAMijB,OAAOjgB,EAAE+f,KAAK5iB,GAAGH,EAAEc,EAAEd,EAAEsC,MAAMtC,EAAEuC,OAAOL,EAAEc,EAAEuH,OAAO,IAAIhK,EAAEQ,EAAE2F,IAAI,MAAM8K,OAAO/Q,GAAGM,EAAE,IAAIgI,EAAE3I,EAAEG,GAAG,IAAIA,EAAE,GAAGgK,SAAShK,EAAEyC,EAAEkO,IAAK,IAAI3Q,IAAK,MAAMuC,EAAE,GAAG,IAAIrB,EAAEe,EAAEC,EAAE,GAAGhC,EAAE,GAAG,MAAMN,EAAE,IAAI4I,EAAE,EAAEA,EAAE7G,EAAE6G,IAAI,CAAC,IAAItH,EAAEuB,EAAE+F,GAAGvG,EAAEjC,EAAEwI,GAAGtG,EAAE,IAAI2gB,WAAWtiB,GAAGV,EAAE,EAAEA,EAAEU,EAAEV,IAAIqC,EAAErC,GAAGoC,EAAEf,EAAErB,GAAGK,GAAGqC,EAAE+H,KAAKpI,QAAQ,IAAIsG,EAAE,EAAEA,EAAE7G,EAAE6G,IAAI,CAAC,IAAItH,EAAEuB,EAAE+F,GAAGvG,EAAEjC,EAAEwI,GAAGtG,EAAE,IAAI2gB,WAAWtiB,GAAGV,EAAE,EAAEA,EAAEU,EAAEV,IAAID,EAAEC,KAAKqC,EAAErC,GAAGoC,EAAEf,EAAErB,GAAGK,IAAIqC,EAAE+H,KAAKpI,QAAQ,GAAG,MAAMtC,EAAE,IAAI4I,EAAE,EAAEA,EAAE7G,EAAE6G,IAAI,CAAC,IAAItH,EAAEuB,EAAE+F,GAAGvG,EAAEjC,EAAEwI,GAAGtG,EAAE,IAAI2gB,WAAWtiB,GAAGV,EAAE,EAAEA,EAAEU,EAAEV,IAAIqC,EAAErC,GAAGoC,EAAEf,EAAErB,IAAI0C,EAAE+H,KAAKpI,QAAQ,IAAIsG,EAAE,EAAEA,EAAE7G,EAAE6G,IAAI,CAAC,IAAItH,EAAEuB,EAAE+F,GAAGvG,EAAEjC,EAAEwI,GAAGtG,EAAE,IAAI2gB,WAAWtiB,GAAGV,EAAE,EAAEA,EAAEU,EAAEV,IAAID,EAAEC,KAAKqC,EAAErC,GAAGoC,EAAEf,EAAErB,KAAK0C,EAAE+H,KAAKpI,GAAG,MAAMQ,EAAE,IAAIzC,OAAE,CAAC8B,MAAMtC,EAAEsC,MAAMC,OAAOvC,EAAEuC,OAAO0gB,OAAOngB,EAAEigB,KAAK5iB,EAAE2iB,UAAU,OAAO,OAAO7f,EAAEmhB,mBAAmBnhB,EAAE,SAAS1C,EAAEP,EAAEe,GAAG,IAAIM,EAAErB,GAAG,OAAO,KAAK,MAAMQ,EAAER,EAAEykB,SAASxB,OAAOjgB,GAAGxC,EAAEL,EAAEK,EAAE8B,MAAM9B,EAAE+B,OAAOzB,EAAEC,EAAEwJ,OAAOrI,EAAEjC,KAAK6f,MAAMhf,EAAE,GAAGP,EAAEQ,EAAEd,KAAK6f,MAAM5d,IAAIzB,EAAEuC,EAAE,GAAG,IAAI+F,EAAE3I,EAAE0C,EAAErB,EAAEe,EAAEC,EAAEQ,GAAE,EAAG,MAAMP,EAAE,IAAI0gB,WAAWjjB,GAAGU,EAAE,IAAIuiB,WAAWjjB,GAAGmJ,EAAE,IAAI8Z,WAAWjjB,GAAG,IAAI0a,EAAEra,EAAEuiB,KAAK,MAAMriB,EAAE,IAAIK,EAAE,GAAG6yB,YAAYrpB,OAAO,IAAIsQ,IAAIA,EAAE,IAAIuI,WAAWjjB,GAAG0a,EAAEsF,KAAKzf,EAAE,IAAI,GAAGF,EAAEuiB,KAAKlI,GAAGrY,EAAE,EAAEA,EAAErC,EAAEqC,IAAI,GAAGqY,EAAErY,GAAG,CAAC,IAAIuG,EAAEtI,EAAE+B,GAAGS,GAAE,EAAGR,EAAEP,EAAE9B,EAAEG,EAAEuC,EAAE,EAAErB,EAAEX,EAAE,EAAEW,EAAEqB,EAAE,GAAG,CAAC,GAAGiG,IAAI3I,EAAE0mB,MAAM,CAAC7jB,GAAE,EAAG,MAAM8F,EAAE3I,EAAE0mB,MAAMhkB,EAAEL,EAAEhB,EAAEgB,EAAEA,EAAExC,KAAK6f,OAAOhd,EAAErB,GAAG,GAAGrB,EAAEW,EAAEd,KAAK6f,MAAMrd,IAAIQ,IAAI8F,IAAIhI,EAAE+B,GAAGgkB,OAAO1mB,EAAEW,EAAE+B,GAAGG,GAAE,GAAI8F,IAAIhI,EAAEU,GAAGqlB,OAAO1mB,EAAEW,EAAEU,GAAGwB,GAAE,GAAI8F,EAAEhI,EAAE+B,GAAGgkB,OAAO7jB,GAAE,EAAG7C,EAAE,MAAM2I,EAAEhI,EAAE+B,GAAGgkB,QAAQ/d,EAAEhI,EAAEU,GAAGqlB,OAAO1mB,EAAEW,EAAE+B,GAAGG,GAAE,GAAIxB,IAAIX,EAAE,GAAGmC,GAAE,EAAG7C,EAAE,OAAOA,EAAEW,EAAEU,GAAGwB,GAAE,KAAMA,GAAGP,EAAEF,GAAGpC,EAAEwzB,YAAY,GAAG/yB,EAAE2B,GAAGpC,EAAEwzB,YAAY,GAAGtqB,EAAE9G,GAAGpC,EAAEwzB,YAAY,GAAG/Y,EAAErY,GAAGpC,EAAEwzB,YAAY,IAAIlxB,EAAEF,GAAG3B,EAAE2B,GAAG8G,EAAE9G,GAAGqY,EAAErY,GAAG,EAAE,OAAOhC,EAAEyiB,OAAO,CAACvgB,EAAE7B,EAAEyI,GAAG9I,EAAEuiB,KAAKlI,EAAEra,EAAEsiB,UAAU,KAAKtiB,EAAEwiB,YAAYtiB,EAAEF,EAAE,SAASC,EAAET,EAAEe,EAAEP,EAAEa,EAAE2B,EAAE7C,EAAEW,EAAEoB,GAAG,MAAM,CAACkD,KAAKpC,GAAGxC,EAAER,EAAE,EAAEgD,EAAExC,EAAER,EAAEA,EAAEgD,EAAExC,EAAER,EAAEA,EAAEqF,KAAKlF,GAAGkB,EAAEN,EAAE,EAAEZ,EAAEkB,EAAEN,EAAEA,EAAEZ,EAAEkB,EAAEN,EAAEA,EAAEuE,KAAKtC,EAAElC,GAAGN,EAAER,EAAE,EAAEgD,EAAElC,EAAEN,EAAER,EAAEA,EAAEgD,EAAElC,EAAEN,EAAER,EAAEA,EAAEuF,KAAKpF,EAAE+B,GAAGb,EAAEN,EAAE,EAAEZ,EAAE+B,EAAEb,EAAEN,EAAEA,EAAEZ,EAAE+B,EAAEb,EAAEN,EAAEA,GAAG,SAASgI,EAAE/I,EAAEQ,GAAG,IAAIR,GAAG,IAAIA,EAAEuK,OAAO,OAAO,KAAK,MAAMlJ,EAAErB,EAAE6zB,KAAM7zB,GAAGA,EAAE2oB,YAAa,IAAItnB,GAAGN,eAAEM,EAAEsnB,YAAY,OAAO,KAAK,MAAM3lB,GAAG3B,EAAEgB,OAAOiD,KAAKjE,EAAEgB,OAAO+C,MAAM/D,EAAEsnB,WAAWrmB,MAAMnC,GAAGkB,EAAEgB,OAAOkD,KAAKlE,EAAEgB,OAAOgD,MAAMhE,EAAEsnB,WAAWpmB,OAAOzB,EAAE,IAAIb,KAAK2kB,IAAI5hB,EAAE7C,GAAG+B,EAAElC,EAAEmvB,KAAM,CAACnvB,EAAEe,IAAId,KAAK4f,IAAI7f,EAAEqC,OAAOkD,KAAKxE,EAAEsB,OAAOkD,MAAMzE,EAAEC,EAAEsB,OAAOkD,KAAKvF,EAAEqC,OAAOkD,KAAKtF,KAAK4f,IAAI7f,EAAEqC,OAAO+C,KAAKrE,EAAEsB,OAAO+C,MAAMtE,EAAEd,EAAEqC,OAAO+C,KAAKrE,EAAEsB,OAAO+C,KAAK,GAAI7E,EAAEN,KAAK2kB,IAAIkP,MAAM,KAAK5xB,EAAEgP,IAAKlR,GAAGA,EAAEqC,OAAO+C,OAAQ3E,EAAER,KAAK2kB,IAAIkP,MAAM,KAAK5xB,EAAEgP,IAAKlR,GAAGA,EAAEqC,OAAOgD,OAAQ0D,EAAE9I,KAAKoR,IAAIyiB,MAAM,KAAK5xB,EAAEgP,IAAKlR,GAAGA,EAAEqC,OAAOiD,OAAQlF,EAAEH,KAAKoR,IAAIyiB,MAAM,KAAK5xB,EAAEgP,IAAKlR,GAAGA,EAAEqC,OAAOkD,OAAQ9D,EAAE,CAACe,EAAEvC,KAAKuF,OAAOhF,EAAE4E,KAAK7E,GAAGyC,GAAGN,EAAEzC,KAAKuF,OAAOpF,EAAEI,EAAE+E,MAAMpF,IAAIqC,EAAE,CAACF,MAAMrC,KAAKuF,OAAOuD,EAAExI,GAAGyC,GAAGT,OAAOtC,KAAKuF,OAAOpF,EAAEK,GAAGN,IAAIsC,EAAE,CAACH,MAAMrC,KAAKuF,OAAOhF,EAAE8E,KAAK9E,EAAE4E,MAAMpC,GAAGT,OAAOtC,KAAKuF,OAAOhF,EAAE+E,KAAK/E,EAAE6E,MAAMlF,IAAI,OAAGF,KAAKuF,MAAMhD,EAAEF,MAAMjB,EAAEsnB,WAAWrmB,OAAOrC,KAAKuF,MAAMhD,EAAED,OAAOlB,EAAEsnB,WAAWpmB,UAAUL,EAAEqI,QAAQ9I,EAAEe,EAAE,GAAGf,EAAEiB,EAAE,GAAGF,EAAEF,MAAMG,EAAEH,OAAOE,EAAED,OAAOE,EAAEF,OAAc,KAAW,CAACF,OAAO7B,EAAEmoB,WAAW7lB,EAAEZ,EAAEgP,IAAKlR,GAAGA,EAAE2oB,YAAanmB,EAAE,CAACuxB,WAAWtyB,EAAEuyB,SAASvxB,KAAK,SAASrC,EAAEJ,EAAEe,EAAEP,EAAEa,EAAE2B,EAAE7C,GAAG,MAAMmC,MAAMxB,EAAEyB,OAAOL,GAAG1B,EAAEyzB,OAAOzxB,EAAEjC,EAAEmC,EAAEqG,GAAGvI,EAAEgR,QAAQlP,MAAMlC,EAAEmC,OAAOO,GAAGtC,EAAE0zB,OAAOzyB,EAAEhB,EAAEK,EAAEoB,EAAEb,EAAE2B,EAAEzC,EAAEwI,EAAE3I,EAAE0C,GAAG,IAAIN,EAAE,EAAEC,EAAE,EAAE,GAAGtC,EAAE,CAAC,MAAMH,EAAEG,EAAEg0B,sBAAsB,IAAIh0B,EAAEi0B,eAAerzB,EAAED,EAAEX,EAAEk0B,YAAY7zB,EAAEL,EAAEm0B,OAAOjzB,EAAEN,EAAEiC,EAAExC,EAAEO,EAAEP,EAAER,GAAGgD,EAAEhD,EAAEyC,EAAEtC,EAAEo0B,aAAa/zB,GAAGR,IAAIwC,EAAErC,EAAEq0B,WAAWr0B,EAAEo0B,aAAa9xB,EAAE,GAAG,GAAGhB,EAAE6D,MAAM7C,EAAE,iBAAiB1B,EAAE,IAAI,IAAIN,EAAEgB,EAAE4D,KAAK5E,EAAEgB,EAAE8D,KAAK9E,IAAI,CAAC,MAAMD,GAAGwC,EAAEd,EAAEzB,EAAEsI,GAAG3I,GAAGiB,EAAEP,EAAEP,GAAGiC,EAAErC,EAAEM,EAAEK,EAAE,IAAI,IAAIO,EAAEI,EAAE2D,KAAK/D,EAAEI,EAAE6D,KAAKjE,IAAIrB,EAAEQ,EAAEa,GAAGN,EAAEZ,EAAEkB,QAAQ,IAAI,IAAIZ,EAAEgB,EAAE4D,KAAK5E,EAAEgB,EAAE8D,KAAK9E,IAAI,CAAC,MAAMD,GAAGwC,EAAEd,EAAEzB,EAAEsI,GAAG3I,GAAGiB,EAAEP,EAAEP,GAAGiC,EAAE,IAAI,IAAInB,EAAEI,EAAE2D,KAAK/D,EAAEI,EAAE6D,KAAKjE,IAAIrB,EAAEQ,EAAEa,GAAGN,GAAG,SAAS+B,EAAEE,EAAE7C,EAAEW,EAAE,IAAI,MAAMizB,WAAW7xB,EAAE8xB,SAASzzB,EAAEk0B,cAAch0B,EAAEi0B,YAAY3rB,GAAGjI,EAAE,GAAGiI,EAAE,OAAOtH,EAAEuB,EAAE7C,EAAE,CAACu0B,YAAY3rB,IAAI,MAAMjG,EAAEE,EAAE6wB,KAAM7zB,GAAGqB,EAAErB,IAAK,GAAGe,eAAE+B,GAAG,OAAO,KAAK,MAAMN,EAAEjC,EAAEA,EAAE+B,MAAMnC,EAAEmC,MAAMG,EAAElC,EAAEA,EAAEgC,OAAOpC,EAAEoC,OAAOU,EAAEH,EAAER,MAAMI,EAAEI,EAAEP,OAAO1B,EAAEV,EAAEmC,MAAMW,EAAEqG,EAAEnJ,EAAEoC,OAAOG,EAAEmY,EAAE,CAACrJ,OAAOtP,GAAG,CAACM,EAAE,EAAEE,EAAE,GAAGwxB,OAAO3zB,GAAGJ,EAAE8zB,MAAM,CAAC3xB,MAAMW,EAAEV,OAAOG,IAAIhC,EAAEoC,EAAEggB,UAAUvL,EAAE/W,OAAE2iB,yBAAyBziB,GAAGiJ,EAAE7G,EAAEmgB,OAAO1Y,OAAOwS,EAAE,GAAG,IAAIzK,EAAEjJ,EAAiJgW,EAA/I,IAAI,IAAIrf,EAAE,EAAEA,EAAE2J,EAAE3J,IAAI,CAACqJ,EAAE,IAAIkO,EAAE/U,EAAEC,GAAG,IAAI,IAAI1B,EAAE,EAAEA,EAAEuI,EAAEvI,IAAI,IAAI,IAAIP,EAAE,EAAEA,EAAEK,EAAEL,IAAI,CAAC,MAAML,EAAE6C,EAAEjC,EAAEF,EAAEL,GAAGa,EAAElB,KAAKmS,EAAEnS,EAAE8iB,OAAOjjB,GAAGI,EAAEiJ,EAAEiJ,EAAEuI,EAAEra,EAAEO,EAAEN,IAAIsc,EAAElS,KAAKxB,GAAS,GAAGrG,EAAEkC,KAAMlF,GAAGe,eAAEf,IAAIA,EAAE+iB,MAAM/iB,EAAE+iB,KAAKxY,OAAO,GAAI,CAAC8U,EAAE,IAAI+D,WAAW5gB,EAAEC,GAAG,IAAI,IAAI1B,EAAE,EAAEA,EAAEuI,EAAEvI,IAAI,IAAI,IAAIP,EAAE,EAAEA,EAAEK,EAAEL,IAAI,CAAC,MAAMa,EAAE2B,EAAEjC,EAAEF,EAAEL,GAAGL,EAAEH,eAAEqB,GAAGA,EAAE0hB,KAAK,KAAK3iB,EAAEif,EAAElf,IAAIkB,EAAE,EAAE,GAAGwZ,EAAEra,EAAEO,EAAEN,IAAI,MAAMkO,EAAE,IAAInO,OAAE,CAAC8B,MAAME,EAAED,OAAOE,EAAEwgB,OAAOlG,EAAE+F,UAAUpiB,EAAEqiB,KAAK1D,IAAI,OAAO1Q,EAAEyV,mBAAmBzV,EAAE,SAASlN,EAAEuB,EAAE7C,EAAEW,GAAG,MAAMoB,EAAEc,EAAE6wB,KAAM9yB,GAAGf,eAAEe,IAAK,GAAGA,eAAEmB,GAAG,OAAO,KAAK,MAAM3B,EAAEyC,EAAEkC,KAAMnE,IAAIf,eAAEe,MAAMA,EAAEgiB,OAAQzgB,MAAM7B,EAAE8B,OAAOwG,GAAG5I,EAAEC,EAAEG,EAAE,IAAI6iB,WAAW3iB,EAAEsI,GAAG,MAAM2rB,YAAY5xB,GAAGhC,EAAEW,EAAE,GAAGe,EAAEN,EAAEuhB,gBAAgBhhB,EAAEjC,OAAE2iB,yBAAyBjhB,EAAE4gB,WAAW,GAAGviB,EAAE,IAAI,IAAIP,EAAE,EAAEe,EAAE,EAAEf,EAAEgD,EAAEuH,OAAOxJ,GAAG+B,EAAE9C,GAAGA,IAAI,CAAC,MAAMQ,EAAEwC,EAAEhD,GAAG,IAAIqB,EAAEb,GAAG,SAAS,MAAML,EAAEK,EAAEuiB,KAAK,IAAI,IAAI1hB,EAAE,EAAEA,EAAE0H,EAAE1H,IAAI,IAAI,IAAI2B,EAAE,EAAEA,EAAEF,EAAE9C,GAAGgD,IAAI5C,EAAEiB,EAAEZ,EAAEuC,EAAEjC,GAAG,MAAMZ,EAAE,IAAIA,EAAEkB,EAAEb,EAAE8B,MAAMU,GAAG,IAAI,IAAIhD,EAAE,EAAEA,EAAEwC,EAAExC,IAAI,CAAC,MAAMe,EAAE,IAAI0B,EAAEhC,EAAEsI,GAAG,IAAI,IAAIvI,EAAE,EAAEL,EAAE,EAAEK,EAAEwC,EAAEuH,OAAOpK,GAAG2C,EAAEtC,GAAGA,IAAI,CAAC,MAAMM,EAAEkC,EAAExC,GAAG,IAAIa,EAAEP,GAAG,SAAS,MAAMoB,EAAEpB,EAAEmiB,OAAOjjB,GAAG,GAAG,MAAMkC,EAAE,IAAI,IAAIlC,EAAE,EAAEA,EAAE+I,EAAE/I,IAAI,IAAI,IAAIqB,EAAE,EAAEA,EAAEyB,EAAEtC,GAAGa,IAAIN,EAAEf,EAAES,EAAEY,EAAElB,GAAG+B,EAAElC,EAAEc,EAAEwB,MAAMjB,GAAGI,EAAEoJ,KAAK9J,GAAG,MAAMkC,EAAE,IAAIzC,OAAE,CAAC8B,MAAM7B,EAAE8B,OAAOwG,EAAEga,KAAK3iB,EAAE6iB,OAAOxhB,EAAEqhB,UAAU5gB,EAAE4gB,YAAY,OAAO7f,EAAEmhB,mBAAmBnhB,EAAE,SAAST,EAAExC,EAAEe,EAAEP,GAAG,IAAIa,EAAErB,GAAG,OAAO,KAAK,MAAMsC,MAAMU,EAAET,OAAOpC,GAAGH,EAAEc,EAAEC,EAAEyB,EAAEN,EAAEnB,EAAE2B,EAAEnC,EAAEC,EAAE8B,MAAMxB,EAAEL,EAAED,EAAE+B,OAAOL,EAAE,GAAGpB,EAAE,GAAGoB,EAAE,GAAG3B,EAAEyC,GAAGvC,EAAEN,EAAE,OAAOH,EAAE,GAAG,IAAIc,GAAG,IAAIoB,GAAG3B,IAAIyC,GAAGvC,IAAIN,EAAE,OAAOH,EAAEA,EAAE+iB,OAAO/iB,EAAE+iB,KAAK,IAAIK,WAAWpgB,EAAE7C,IAAI,MAAM4I,EAAE/I,EAAE+iB,KAAK,IAAI,IAAI1hB,EAAE,EAAEA,EAAElB,EAAEkB,IAAI,CAAC,MAAMrB,EAAEqB,EAAE2B,EAAE,IAAI,IAAIjC,EAAE,EAAEA,EAAEiC,EAAEjC,IAAIgI,EAAE/I,EAAEe,GAAGM,EAAEa,GAAGb,GAAGZ,GAAGM,EAAED,GAAGC,GAAGR,EAAE,EAAE,EAAE,OAAOP,EAAEokB,mBAAmBpkB,EAAE,SAASyC,EAAEzC,GAAG,IAAIqB,EAAErB,GAAG,OAAO,KAAK,MAAMe,EAAEf,EAAEykB,SAASniB,MAAM9B,EAAE+B,OAAOS,EAAEigB,OAAO9iB,EAAE4iB,KAAKjiB,GAAGd,EAAEkC,EAAE/B,EAAE,GAAGI,EAAEQ,EAAEkiB,OAAO,GAAG,IAAI,IAAI5hB,EAAE,EAAEA,EAAE2B,EAAE,EAAE3B,IAAI,CAAC,MAAMrB,EAAE,IAAIoB,IAAI,IAAI,IAAI4B,EAAE3B,EAAE,EAAE2B,EAAE3B,EAAE,EAAE2B,IAAI,IAAI,IAAIjC,EAAE,EAAEA,EAAE,EAAEA,IAAI,CAAC,MAAMM,EAAE2B,EAAExC,EAAEO,EAAEF,EAAEb,EAAEkC,EAAEb,GAAGP,EAAEA,EAAEO,GAAG,GAAGd,EAAEc,EAAEb,GAAGyC,EAAEjD,GAAGO,EAAEc,EAAEb,EAAE,GAAGD,EAAEc,EAAEb,EAAE,GAAGD,EAAEc,EAAEb,GAAG,IAAIO,EAAE,EAAE,KAAKA,EAAEP,EAAE,EAAEO,IAAI,CAAC,IAAIiC,GAAG3B,EAAE,GAAGb,EAAEO,EAAE,EAAEF,EAAEb,EAAEkC,EAAEc,GAAGlC,EAAEA,EAAEkC,GAAG,GAAGA,GAAG3B,EAAE,GAAGb,EAAEO,EAAE,EAAEF,EAAEb,EAAEkC,EAAEc,GAAGlC,EAAEA,EAAEkC,GAAG,GAAGA,EAAE3B,EAAEb,EAAEO,EAAE,EAAEF,EAAEb,EAAEkC,EAAEc,GAAGlC,EAAEA,EAAEkC,GAAG,GAAGA,GAAG3B,EAAE,GAAGb,EAAEO,EAAE,EAAEF,EAAEb,EAAEkC,EAAEc,GAAGlC,EAAEA,EAAEkC,GAAG,GAAGA,GAAG3B,EAAE,GAAGb,EAAEO,EAAE,EAAE2B,EAAE1C,EAAEkC,EAAEc,GAAGlC,EAAEA,EAAEkC,GAAG,GAAGA,GAAG3B,EAAE,GAAGb,EAAEO,EAAE,EAAE2B,EAAE1C,EAAEkC,EAAEc,GAAGlC,EAAEA,EAAEkC,GAAG,GAAGA,EAAE3B,EAAEb,EAAEO,EAAE,EAAE2B,EAAE1C,EAAEkC,EAAEc,GAAGlC,EAAEA,EAAEkC,GAAG,GAAGA,GAAG3B,EAAE,GAAGb,EAAEO,EAAE,EAAE2B,EAAE1C,EAAEkC,EAAEc,GAAGlC,EAAEA,EAAEkC,GAAG,GAAGzC,EAAEc,EAAEb,EAAEO,GAAGkC,EAAEjD,GAAGO,EAAEc,EAAEb,EAAEO,EAAE,GAAGR,EAAEc,EAAEb,EAAEO,GAAG,IAAI,IAAIM,EAAE,EAAEA,EAAEb,EAAEa,IAAId,EAAEc,GAAGd,EAAEC,EAAEa,GAAGd,EAAE,EAAEC,EAAEa,GAAGd,GAAGyC,EAAE,GAAGxC,EAAEa,GAAGd,GAAGyC,EAAE,GAAGxC,EAAEa,GAAG,OAAON,EAAEqjB,mBAAmBrjB,EAAE,SAASkC,EAAEjD,GAAG,GAAG,IAAIA,EAAEuN,KAAK,OAAO,EAAE,IAAIxM,EAAE,EAAEP,GAAG,EAAEa,EAAE,EAAE,MAAM2B,EAAEhD,EAAEwwB,OAAO,IAAIrwB,EAAE6C,EAAE6rB,OAAO,MAAM1uB,EAAEw0B,MAAMtzB,EAAErB,EAAE0K,IAAIvK,EAAE2mB,OAAOzlB,EAAEN,IAAIP,EAAEL,EAAE2mB,MAAM/lB,EAAEM,GAAGlB,EAAE6C,EAAE6rB,OAAO,OAAOruB,EAAE,SAASkC,EAAE1C,EAAEe,EAAEP,GAAG,GAAG,IAAIA,EAAE,OAAO,MAAMa,EAAErB,EAAE0K,IAAI3J,GAAG,IAAIM,EAAErB,EAAE40B,OAAO7zB,GAAGf,EAAE2K,IAAI5J,EAAEM,EAAE,GAAG,SAASR,EAAEb,EAAEe,EAAEP,GAAG,IAAIA,GAAGR,EAAE2K,IAAI5J,EAAEf,EAAEyK,IAAI1J,GAAGf,EAAE0K,IAAI3J,GAAG,EAAE,GAAG,SAASuI,EAAEtJ,EAAEe,EAAEiC,GAAG,IAAIR,EAAErC,EAAEuC,EAAE5B,GAAGC,EAAE,MAAMuB,MAAMJ,EAAEK,OAAOhC,GAAGyC,EAAE,GAAG,IAAI7C,GAAG,IAAIW,GAAGP,IAAIP,EAAEuC,QAAQL,IAAIlC,EAAEsC,MAAM,OAAOtC,EAAE,MAAMsC,MAAM7B,EAAE8B,OAAOwG,GAAG/I,EAAEI,EAAEH,KAAKoR,IAAI,EAAEvQ,GAAGgC,EAAE7C,KAAKoR,IAAI,EAAElR,GAAGsB,EAAExB,KAAK2kB,IAAIzkB,EAAE+B,EAAEzB,GAAG+B,EAAEvC,KAAK2kB,IAAI9jB,EAAEP,EAAEwI,GAAG,GAAGtH,EAAE,GAAGe,EAAE,IAAInB,EAAErB,GAAG,OAAO,KAAKG,EAAEF,KAAKoR,IAAI,GAAGlR,GAAGW,EAAEb,KAAKoR,IAAI,GAAGvQ,GAAG,MAAMmiB,OAAOxgB,EAAEsgB,KAAK9f,GAAGjD,EAAE0C,EAAER,EAAE3B,EAAEM,EAAE4B,EAAE8H,OAAOjB,EAAE,GAAG,IAAI,IAAIjI,EAAE,EAAEA,EAAER,EAAEQ,IAAI,CAAC,MAAMN,EAAE0B,EAAEpB,GAAG2B,EAAExC,OAAE+jB,gBAAgBvkB,EAAE8iB,UAAUpgB,GAAG,IAAI,IAAI1C,EAAEI,EAAEJ,EAAEwC,EAAExC,IAAI,CAAC,MAAMQ,EAAER,EAAES,EAAE,IAAIY,GAAGrB,EAAEc,EAAEV,GAAG8B,EAAE/B,EAAE,IAAI,IAAIH,EAAE8C,EAAE9C,EAAEyB,EAAEzB,IAAIgD,EAAE3B,KAAKN,EAAEP,EAAER,GAAGsJ,EAAEuB,KAAK7H,GAAG,MAAM6X,EAAE,IAAIuI,WAAW1gB,GAAG,IAAI,IAAIlC,EAAEJ,EAAEI,EAAEgC,EAAEhC,IAAI,CAAC,MAAMR,EAAEQ,EAAEC,EAAE,IAAIM,GAAGP,EAAEM,EAAEV,GAAG8B,EAAE/B,EAAE,IAAI,IAAIK,EAAEsC,EAAEtC,EAAEiB,EAAEjB,IAAIqa,EAAE9Z,KAAKkC,EAAEA,EAAEjD,EAAEQ,GAAG,EAAE,MAAME,EAAE,IAAIF,OAAE,CAAC8B,MAAMU,EAAEV,MAAMC,OAAOS,EAAET,OAAOugB,UAAU9iB,EAAE8iB,UAAUG,OAAO3Z,EAAEyZ,KAAKlI,IAAI,OAAOna,EAAE0jB,mBAAmB1jB,EAAE,SAASma,EAAE7a,EAAEe,GAAE,GAAI,IAAIM,EAAErB,GAAG,OAAO,KAAK,MAAMijB,OAAOjgB,EAAEV,MAAMnC,EAAEoC,OAAOzB,EAAEiiB,KAAK7gB,EAAE4gB,UAAUviB,GAAGP,EAAES,EAAE,GAAGsI,EAAE9I,KAAKuF,MAAMrF,EAAE,GAAGC,EAAEH,KAAKuF,MAAM1E,EAAE,GAAGgC,EAAEhC,EAAE,EAAEW,EAAEtB,EAAE,EAAE,IAAI,IAAIkB,EAAE,EAAEA,EAAE2B,EAAEuH,OAAOlJ,IAAI,CAAC,MAAMrB,EAAEgD,EAAE3B,GAAGa,EAAE1B,OAAE+jB,gBAAgBhkB,EAAEwI,EAAE3I,GAAG,IAAIoC,EAAE,EAAE,IAAI,IAAIhC,EAAE,EAAEA,EAAEM,EAAEN,GAAG,EAAE,IAAI,IAAIa,EAAE,EAAEA,EAAElB,EAAEkB,GAAG,EAAE,CAAC,MAAM2B,EAAEhD,EAAEQ,EAAEL,EAAEkB,GAAG,GAAGN,EAAE,CAAC,MAAMA,EAAEM,IAAII,EAAEuB,EAAEhD,EAAEQ,EAAEL,EAAEkB,EAAE,GAAGP,EAAEN,IAAIsC,EAAEE,EAAEhD,EAAEQ,EAAEL,EAAEkB,EAAElB,GAAGI,EAAEc,IAAII,EAAEX,EAAEN,IAAIsC,EAAE/B,EAAEf,EAAEQ,EAAEL,EAAEkB,EAAElB,EAAE,GAAG+B,EAAEM,MAAMQ,EAAEjC,EAAED,EAAEP,GAAG,OAAO2B,EAAEM,KAAKQ,EAAEvC,EAAEoK,KAAK3I,GAAG,IAAIM,EAAE,KAAK,GAAGN,EAAE,CAACM,EAAE,IAAI4gB,WAAWra,EAAE3I,GAAG,IAAIJ,EAAE,EAAE,IAAI,IAAIQ,EAAE,EAAEA,EAAEM,EAAEN,GAAG,EAAE,IAAI,IAAIa,EAAE,EAAEA,EAAElB,EAAEkB,GAAG,EAAE,CAAC,MAAM2B,EAAEd,EAAE1B,EAAEL,EAAEkB,GAAG,GAAGN,EAAE,CAAC,MAAMA,EAAEM,IAAII,EAAEuB,EAAEd,EAAE1B,EAAEL,EAAEkB,EAAE,GAAGP,EAAEN,IAAIsC,EAAEE,EAAEd,EAAE1B,EAAEL,EAAEkB,EAAElB,GAAGI,EAAEc,IAAII,EAAEX,EAAEN,IAAIsC,EAAE/B,EAAEmB,EAAE1B,EAAEL,EAAEkB,EAAElB,EAAE,GAAGqC,EAAExC,KAAKgD,EAAEjC,EAAED,EAAEP,EAAE,EAAE,OAAOiC,EAAExC,KAAKgD,GAAG,OAAO,IAAIxC,OAAE,CAAC8B,MAAMyG,EAAExG,OAAOnC,EAAE0iB,UAAUviB,EAAE0iB,OAAOxiB,EAAEsiB,KAAKvgB,IAAI,SAAS9B,EAAEV,EAAEe,EAAEP,GAAG,IAAIa,EAAErB,GAAG,OAAO,KAAK,MAAMsC,MAAMU,EAAET,OAAOpC,GAAGY,EAAE,IAAIuB,MAAMxB,EAAEyB,OAAOL,GAAGlC,EAAE,MAAMO,EAAE,IAAIa,IAAIX,EAAE,CAAC+B,EAAE,EAAEE,EAAE,GAAGqG,EAAE,MAAMvI,EAAE,EAAE,EAAEA,EAAE,IAAIJ,EAAEJ,EAAE,IAAI,IAAIqB,EAAE,EAAEA,EAAE0H,EAAE1H,IAAI,CAAC,MAAMrB,EAAEC,KAAK40B,KAAK/zB,EAAEkC,GAAGxC,EAAEP,KAAK40B,KAAK3yB,EAAE/B,GAAG,IAAI,IAAIW,EAAE,EAAEA,EAAEN,EAAEM,IAAI,CAACL,EAAEiC,EAAE5B,EAAEX,EAAE,IAAI,IAAIK,EAAE,EAAEA,EAAER,EAAEQ,IAAI,CAACC,EAAE+B,EAAEhC,EAAEwC,EAAE,MAAMhD,EAAEsJ,EAAElJ,EAAEK,EAAEM,GAAGR,EAAEoK,IAAK,GAAEtJ,KAAKP,KAAKN,IAAIR,IAAIqB,EAAE0H,EAAE,IAAI3I,EAAEya,EAAEza,IAAIU,EAAEb,KAAKuF,MAAM1E,EAAE,GAAGoB,EAAEjC,KAAKuF,MAAMtD,EAAE,GAAG,OAAO3B,EAAE,SAASgX,EAAEvX,EAAEe,EAAEP,EAAEa,EAAE2B,EAAE,IAAI,MAAMV,MAAMnC,EAAEoC,OAAOzB,GAAGd,GAAGsC,MAAMJ,EAAEK,OAAOhC,GAAGQ,EAAEN,EAAEY,EAAEyzB,KAAK/rB,EAAE1H,EAAE0zB,KAAK30B,EAAEH,KAAK40B,KAAK3yB,EAAEzB,EAAE,GAAGA,GAAGqC,EAAE7C,KAAK40B,KAAKt0B,EAAEwI,EAAE,GAAGA,GAAG,IAAItH,EAAEe,EAAEC,EAAEQ,EAAEP,EAAE7B,EAAEyI,EAAE,MAAMuR,EAAEza,EAAEK,EAAEC,EAAEma,EAAE/X,EAAEiG,EAAEwO,EAAE,IAAIN,aAAavW,GAAGiJ,EAAE,IAAIsN,aAAavW,GAAGqc,EAAE,IAAIxJ,YAAY7S,GAAG4R,EAAE,IAAIiB,YAAY7S,GAAG,IAAI2I,EAAEgW,EAAE1Q,EAAE,EAAE,IAAI,IAAIhO,EAAE,EAAEA,EAAEmC,EAAEnC,IAAI,IAAI,IAAIX,EAAE,EAAEA,EAAEI,EAAEJ,IAAI,CAACyB,EAAE,IAAId,EAAEP,EAAEJ,GAAGwC,EAAEhC,EAAEiB,GAAGgB,EAAEjC,EAAEiB,EAAE,GAAGwB,EAAEzC,EAAEiB,EAAE,GAAGiB,EAAElC,EAAEiB,EAAE,GAAGZ,EAAEL,EAAEiB,EAAE,GAAG6H,EAAE9I,EAAEiB,EAAE,GAAG,IAAI,IAAIV,EAAE,EAAEA,EAAEgI,EAAEhI,IAAI,CAAC4N,GAAGhO,EAAEoI,EAAEhI,GAAG8Z,EAAE7a,EAAES,EAAE4e,GAAGte,EAAE,IAAIgI,EAAE,IAAI,IAAI/I,EAAE,EAAEA,EAAEe,EAAEf,IAAIqJ,GAAGrJ,EAAE,IAAIS,EAAE8W,EAAE5I,EAAE3O,IAAIwC,EAAE6G,EAAE5G,EAAE4c,EAAEpc,GAAG9C,EAAE6C,EAAE2G,EAAEgF,EAAE3O,IAAI0C,EAAE2G,EAAExI,EAAEwe,EAAE/V,GAAGxI,EAAEkC,EAAE+Z,EAAEpO,EAAE3O,GAAGC,KAAKuF,MAAM+R,EAAE5I,EAAE3O,IAAIsS,EAAE3D,EAAE3O,GAAGC,KAAKuF,MAAMmE,EAAEgF,EAAE3O,IAAIyB,GAAG,EAAEe,EAAEhC,EAAEiB,GAAGgB,EAAEjC,EAAEiB,EAAE,GAAGwB,EAAEzC,EAAEiB,EAAE,GAAGiB,EAAElC,EAAEiB,EAAE,GAAGZ,EAAEL,EAAEiB,EAAE,GAAG6H,EAAE9I,EAAEiB,EAAE,GAAG,IAAI,IAAIV,EAAE,EAAEA,EAAEgI,EAAEhI,IAAI,CAAC4N,GAAGhO,EAAEoI,EAAEhI,GAAG8Z,EAAE7a,EAAES,EAAE4e,GAAGte,EAAE,IAAIgI,EAAE,IAAI,IAAI/I,EAAEe,EAAEf,EAAES,EAAET,IAAIqJ,GAAGrJ,EAAE,IAAIS,EAAE8W,EAAE5I,EAAE3O,IAAIwC,EAAE6G,EAAE5G,EAAE4c,EAAEpc,GAAG9C,EAAE6C,EAAE2G,EAAEgF,EAAE3O,IAAI0C,EAAE2G,EAAExI,EAAEwe,EAAE/V,GAAGxI,EAAEkC,EAAE+Z,EAAEpO,EAAE3O,GAAGC,KAAKuF,MAAM+R,EAAE5I,EAAE3O,IAAIsS,EAAE3D,EAAE3O,GAAGC,KAAKuF,MAAMmE,EAAEgF,EAAE3O,KAAK,MAAM,CAACg1B,UAAUzd,EAAE0d,UAAUtrB,EAAEurB,WAAWnY,EAAEoY,WAAW7iB,EAAE8iB,UAAUva,GAAG,SAASlR,EAAE3J,EAAEe,GAAG,MAAMs0B,aAAa70B,EAAEuK,QAAQ1J,GAAGN,GAAGi0B,UAAUhyB,EAAEiyB,UAAU90B,EAAEi1B,UAAUt0B,GAAGyW,EAAEvX,EAAEA,EAAEQ,EAAE,CAACu0B,KAAK1zB,EAAE,GAAGyzB,KAAKzzB,EAAE,IAAI,KAAKiB,MAAMJ,EAAEK,OAAOhC,GAAGP,EAAES,EAAE,IAAIwW,aAAa/U,EAAE3B,GAAGwI,EAAE,IAAI9I,KAAKC,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAEG,EAAEH,IAAI,IAAI,IAAIJ,EAAE,EAAEA,EAAEkC,EAAElC,IAAI,CAAC,MAAMe,EAAEX,EAAEU,EAAEd,EAAEQ,EAAE,IAAIJ,EAAEW,EAAEA,EAAED,EAAEO,EAAEjB,IAAIG,EAAE,EAAEQ,EAAEA,EAAED,EAAEgC,EAAEE,EAAExC,GAAGwC,EAAE3B,GAAGI,EAAEtB,EAAEkB,GAAGlB,EAAEK,GAAG,GAAG80B,MAAMxyB,IAAIwyB,MAAM7zB,GAAGhB,EAAEL,EAAE8B,EAAElC,GAAG,OAAO,CAAC,IAAIe,EAAEd,KAAKs1B,MAAM9zB,EAAEqB,GAAGiG,EAAEhI,GAAG,IAAIA,GAAG,IAAIN,EAAEL,EAAE8B,EAAElC,GAAGe,GAAG,OAAON,EAAE,SAASsc,EAAE/c,EAAEe,EAAEiC,EAAE7C,EAAEW,EAAE,WAAW,IAAIO,EAAErB,GAAG,OAAO,KAAK,aAAac,IAAId,EAAEyC,EAAEzC,IAAI,MAAMijB,OAAO/gB,EAAE6gB,KAAKxiB,EAAEuiB,UAAUriB,GAAGT,EAAE+I,EAAE/I,EAAEsC,MAAMlC,EAAEJ,EAAEuC,OAAOO,EAAEtC,OAAE2iB,yBAAyB1iB,GAAGgB,EAAES,EAAEqI,QAAQjI,MAAME,EAAED,OAAOU,GAAGlC,EAAE,IAAI2B,GAAE,EAAG,IAAI,IAAIlC,EAAE,EAAEA,EAAEwC,EAAEuH,OAAO/J,GAAG,GAAG,IAAIwC,EAAExC,KAAK,IAAIwC,EAAExC,EAAE,KAAK,IAAIwC,EAAExC,EAAE,KAAKkC,GAAE,GAAI,MAAMsyB,UAAUn0B,EAAEo0B,UAAU3rB,EAAE4rB,WAAWra,EAAEsa,WAAWz0B,EAAE00B,UAAUzrB,GAAG4N,EAAE,CAACjV,MAAMyG,EAAExG,OAAOnC,GAAGW,EAAEiC,EAAE7C,EAAE,aAAaW,EAAE,EAAE,IAAI,IAAIic,EAAE,MAAMzK,EAAE,CAACtS,EAAEe,EAAEP,KAAK,MAAMa,EAAErB,aAAaiX,cAAcjX,aAAasjB,aAAa,EAAE,GAAG,IAAI,IAAItgB,EAAE,EAAEA,EAAEC,EAAED,IAAI,CAAC+Z,EAAE/Z,EAAE2G,EAAE,IAAI,IAAIxJ,EAAE,EAAEA,EAAEqC,EAAErC,IAAI,CAAC,GAAGU,EAAEkc,GAAG,GAAGzT,EAAEyT,GAAG,EAAE/c,EAAEgD,EAAER,EAAErC,GAAG,OAAO,GAAGK,EAAER,EAAEgD,EAAER,EAAErC,GAAGY,EAAE8Z,EAAEkC,GAAGrc,EAAEqc,GAAGhU,OAAO,CAAC,MAAMvI,EAAEP,KAAK6f,MAAMjf,EAAEkc,IAAIjc,EAAEb,KAAK6f,MAAMxW,EAAEyT,IAAI7a,EAAEjC,KAAK40B,KAAKh0B,EAAEkc,IAAItc,EAAER,KAAK40B,KAAKvrB,EAAEyT,IAAI3c,EAAES,EAAEkc,GAAGvc,EAAEsC,EAAEwG,EAAEyT,GAAGjc,EAAE,IAAIP,GAAGA,EAAEC,EAAEM,EAAEiI,IAAIxI,EAAEC,EAAEM,EAAEiI,IAAIxI,EAAEC,EAAEC,EAAEsI,IAAIxI,EAAE2B,EAAEzB,EAAEsI,GAAG,CAAC,MAAMxI,GAAG,EAAEH,GAAGW,EAAEP,EAAEM,EAAEiI,GAAG3I,EAAEW,EAAEmB,EAAEpB,EAAEiI,GAAGtH,GAAG,EAAErB,GAAGW,EAAEP,EAAEC,EAAEsI,GAAG3I,EAAEW,EAAEmB,EAAEzB,EAAEsI,GAAG/I,EAAEgD,EAAER,EAAErC,IAAI,EAAE2C,GAAGvC,EAAEuC,EAAErB,EAAEJ,OAAOrB,EAAEgD,EAAER,EAAErC,GAAGY,EAAE8Z,EAAEkC,GAAGrc,EAAEqc,GAAGhU,GAAGgU,OAAO1T,EAAE,GAAG,IAAIgW,EAAE,IAAI,IAAI7e,EAAE,EAAEA,EAAEiB,EAAEjB,IAAI6e,EAAE,IAAIvc,EAAEN,EAAES,GAAGqP,EAAE+M,EAAEnd,EAAE1B,GAAG,YAAYM,GAAG,aAAaA,GAAGuI,EAAEwB,KAAKwU,GAAG,MAAM1Q,EAAE,IAAInO,OAAE,CAAC8B,MAAME,EAAED,OAAOU,EAAE6f,UAAUriB,EAAEwiB,OAAO5Z,IAAI,GAAG9I,EAAEoO,EAAEoU,KAAK,IAAIK,WAAW5gB,EAAES,GAAGqP,EAAE3D,EAAEoU,KAAKxiB,GAAE,QAAS,GAAGmC,EAAE,CAACiM,EAAEoU,KAAK,IAAIK,WAAW5gB,EAAES,GAAG,IAAI,IAAIjD,EAAE,EAAEA,EAAEwC,EAAES,EAAEjD,IAAI2O,EAAEoU,KAAK/iB,GAAGa,EAAEb,GAAG,GAAGsJ,EAAEtJ,GAAG,EAAE,EAAE,EAAE,OAAO2O,EAAEyV,mBAAmBzV,I,kCCJttY,kIAIuZ,MAAMpO,EAAE,CAACi1B,QAAQ,oBAAoB,IAAIxyB,EAAE,cAAcd,eAAEpB,SAAIoC,YAAYnC,GAAGoC,MAAMpC,GAAGQ,KAAKiU,MAAM,EAAW,UAACzU,GAAGQ,KAAKM,KAAK,WAAWd,IAAIQ,KAAKk0B,KAAK,QAAQ10B,GAAGQ,KAAK+C,QAAQI,OAAO,SAAS3D,GAAGQ,KAAK+C,QAAQC,IAAI,CAACxD,EAAE20B,UAAUC,GAAG,SAAU,IAAIp0B,KAAKq0B,aAAa,qBAAsB70B,EAAE40B,GAAG,sBAAuB50B,GAAGQ,KAAKq0B,aAAar1B,EAAEQ,EAAE80B,iBAAkB,UAAoB,aAAG,MAAMC,iBAAiB/0B,GAAGQ,KAAK,OAAOR,EAAE+nB,OAAQ/nB,GAAGA,EAAEiF,MAAOkL,IAAKnQ,GAAGA,EAAEiF,MAAOwE,KAAK,KAAgB,cAAGjJ,KAAKK,eAAe,UAAU,MAAMb,EAAEQ,KAAKG,MAAM,OAAOX,GAAGA,EAAEa,eAAe,sBAAsBL,KAAKM,KAAK,YAAY,GAAG,EAAsB,uBAAG,MAAMH,MAAMX,EAAEyU,MAAM1U,GAAGS,KAAKW,EAAC,MAACnB,OAAD,EAACA,EAAG20B,UAAU11B,EAAE,GAAGG,EAAEY,IAAI,MAAMg1B,SAAS7zB,EAAE8zB,SAASz1B,EAAEm1B,UAAU1yB,EAAEwyB,QAAQn0B,GAAGN,EAAEM,IAAI,IAAIP,IAAI,IAAIoB,GAAGpB,GAAGoB,KAAK,IAAI3B,GAAGO,GAAGP,MAAMyC,EAAEA,EAAEyc,QAAQtf,GAAGH,EAAEi2B,QAAQl1B,KAAK,OAAQ,MAADmB,KAAGud,QAAQtf,GAAGH,EAAEk2B,SAAS,MAAMx0B,MAAMX,EAAEo1B,OAAOr1B,GAAGS,MAAM60B,YAAYl0B,EAAEm0B,kBAAkBr2B,EAAE6wB,QAAQ1wB,GAAGY,EAAE,MAAM,CAACu1B,OAAOp0B,EAAEq0B,QAAQ,SAASC,QAAQ,MAAMC,OAAO,GAAGC,YAAY12B,EAAE,OAAO,QAAQ6wB,QAAQ1wB,EAAEg2B,OAAOr1B,KAAKC,eAAE,CAACf,kBAAKgD,EAAEJ,UAAU,QAAQ,MAAM7B,eAAE,CAACf,eAAE,CAAC6C,UAAS,KAAMG,EAAEJ,UAAU,SAAS,MAAM7B,eAAE,CAACf,eAAE,CAAC4I,KAAK9I,UAAUkD,EAAEJ,UAAU,aAAQ,GAAQ7B,eAAE,CAACf,eAAE,CAAC6C,UAAS,KAAMG,EAAEJ,UAAU,UAAU,MAAM7B,eAAE,CAACf,eAAE,CAAC6C,UAAS,KAAMG,EAAEJ,UAAU,mBAAmB,MAAMI,EAAEjC,eAAE,CAACZ,eAAE,iDAAiD6C,I,oNCAvrD,MAAMhD,EAAEC,KAAKC,GAAG,IAAI,SAASM,EAAEA,GAAG,OAAOA,EAAER,EAAsI,SAASc,EAAEd,EAAEG,GAAG,MAAMW,EAAEN,EAAEL,EAAEyL,UAAU9I,EAAE7C,KAAK4f,IAAI5f,KAAK02B,IAAI71B,IAAIP,EAAEN,KAAK4f,IAAI5f,KAAK22B,IAAI91B,KAAKoB,EAAE9B,GAAGD,EAAEoN,KAAK,OAAOvN,EAAE,GAAGC,KAAKuF,MAAMpF,EAAEG,EAAE2B,EAAEY,GAAG9C,EAAE,GAAGC,KAAKuF,MAAMpF,EAAE0C,EAAEZ,EAAE3B,GAAGP,EAAE,SAAS8C,EAAE9C,EAAEQ,EAAEL,EAAEW,GAAG,MAAMgC,EAAEvC,GAAGC,GAAG0B,EAAE9B,GAAGU,EAAEO,EAAE,GAAGlB,EAAE,OAAOH,EAAE,GAAG8C,EAAEzB,EAAEa,EAAElC,EAAE,GAAGO,EAAEc,EAAEjB,EAAEJ,EAAE,GAAG8C,EAAEzB,EAAEa,EAAElC,EAAE,GAAGO,EAAEc,EAAEjB,EAAEJ,E,wCCAid,MAAM8C,EAAEvC,iBAAIM,EAAE,CAAC,EAAE,GAAGkI,EAAE,IAAI3I,OAAE,EAAE,EAAE,EAAE,GAAGoC,EAAE,CAACa,UAAU,KAAKU,YAAY,KAAKG,cAAc,KAAKJ,cAAc,KAAKD,eAAe,KAAKM,wBAAuB,EAAGC,6BAA4B,EAAGC,OAAM,GAAI,IAAI3B,EAAE,cAAc3B,OAAEmC,YAAYlD,GAAGmD,MAAMnD,GAAGuB,KAAKs1B,cAAc,KAAKt1B,KAAKu1B,QAAQ,GAAGv1B,KAAK8C,MAAM7B,EAAE6B,MAAM9C,KAAKuC,cAActB,EAAEsB,cAAcvC,KAAKsC,eAAerB,EAAEqB,eAAetC,KAAK4C,uBAAuB3B,EAAE2B,uBAAuB5C,KAAK6C,4BAA4B5B,EAAE4B,4BAA4B7C,KAAKiC,OAAOnC,eAAG01B,MAAM/2B,EAAEe,KAAK,IAAIf,EAAEg3B,YAAYz1B,KAAK01B,UAAU,OAAO,KAAK,MAAM51B,EAAErB,EAAE0L,MAAMvL,EAAEsB,eAAEJ,EAAE2D,kBAAkBlE,EAAES,KAAK8C,MAAMrE,EAAE2L,WAAW,EAAEzJ,EAAEX,KAAK6C,6BAA6B/C,EAAE61B,kBAAkB71B,EAAE61B,iBAAiB71B,EAAEkM,KAAK,GAAGrL,GAAGrB,EAAE,GAAGQ,EAAE61B,iBAAiBr2B,EAAE,GAAGQ,EAAEkM,KAAK,IAAIhM,KAAK4C,wBAAwBtD,EAAE,GAAGQ,EAAEkM,KAAK,GAAG1M,EAAE,GAAGQ,EAAEkM,KAAK,IAAI9K,EAAE5B,EAAEQ,GAAG,MAAMd,EAAEN,KAAK6f,MAAMjf,EAAE,GAAGC,GAAGS,KAAKuC,eAAe7D,KAAK6f,MAAMjf,EAAE,GAAGC,GAAGS,KAAKsC,eAAerD,EAAEL,IAAIkB,EAAEgB,OAAO+C,KAAKjF,EAAEg3B,MAAM,IAAI91B,EAAEgB,OAAOiD,KAAKnF,EAAEg3B,MAAM,IAAIn0B,GAAGzB,KAAK6C,6BAA6B5D,EAAEyC,GAAG1C,IAAIyC,EAAEvC,EAAEc,KAAK4C,uBAAuB9C,EAAEuK,SAAS,EAAE,GAAG3I,EAAE,CAAC,MAAMjD,EAAEkC,EAAEb,EAAE+1B,gBAAgBC,OAAOh2B,EAAEg2B,OAAO91B,KAAKs1B,cAAct1B,KAAK+1B,cAAcj2B,EAAER,EAAEb,EAAEqB,EAAE8D,WAAW1E,EAAEK,EAAEC,OAAO,CAAC,IAAIf,EAAEC,KAAK2kB,IAAIrjB,KAAKuC,cAAcvC,KAAKsC,gBAAgBb,IAAIhD,EAAEC,KAAK2kB,IAAIvjB,EAAE61B,iBAAiBl3B,IAAIuB,KAAKs1B,cAAct1B,KAAKg2B,aAAal2B,EAAErB,EAAEc,EAAEC,GAAG,OAAOQ,KAAKs1B,cAAcW,KAAMT,UAAU,GAAGx1B,KAAKs1B,cAAc,MAAMt1B,KAAK01B,UAAU,CAAC11B,KAAKu1B,QAAL,MAAa92B,IAAG,GAAG,IAAI,MAAMe,KAAKQ,KAAK8B,UAAU4B,SAASjF,EAAEoO,SAASrN,IAAIA,EAAE02B,UAAUD,KAAM,KAAKz2B,EAAE2D,WAAY,IAAI,MAAM3D,KAAKf,EAAEuB,KAAK8B,UAAUq0B,SAAS32B,GAAGA,EAAE42B,YAAaj0B,MAAO1D,IAAI,MAAMuB,KAAKs1B,cAAc,KAAK72B,KAAO,KAAK2B,UAAUJ,KAAKu1B,QAAQ,GAAe,eAAG,OAAOv1B,KAAK01B,WAAW,OAAO11B,KAAKs1B,cAAce,cAAc53B,GAAG,IAAI,MAAMe,KAAKQ,KAAK8B,UAAU4B,SAAS,CAAC,IAAIlE,EAAEy0B,UAAUz0B,EAAE4vB,MAAM,OAAO3wB,EAAEe,GAAGA,EAAE82B,oBAAoB92B,EAAEmH,iBAA8B,cAAClI,EAAEe,EAAEM,EAAElB,EAAEW,EAAEoB,GAAG,MAAM3B,QAAQgB,KAAKwC,YAAY/D,EAAEC,KAAK6f,MAAM/e,EAAED,GAAGb,KAAK6f,MAAMze,EAAEP,GAAG,CAAC8K,SAASzL,EAAEwL,WAAW7K,EAAEg3B,OAAO51B,IAAIT,EAAE,IAAIwB,OAAE1C,EAAE,YAAY,OAAOkB,EAAEe,EAAExC,EAAEoF,KAAK3D,EAAEiB,EAAE1C,EAAEuF,KAAK9D,EAAE0D,WAAWnF,EAAEsC,MAAMvB,EAAEU,EAAEmK,SAASzL,EAAEsB,EAAEkK,WAAW7K,EAAEW,EAAqB,oBAACzB,EAAEe,EAAEM,EAAElB,EAAEW,EAAEP,EAAEkB,GAAGuB,EAAEF,EAAEzB,EAAElB,EAAEY,GAAG,MAAMP,EAAE,IAAI0B,OAAEY,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG9C,EAAEgF,kBAAkB,MAAM,OAAOzD,KAAKw2B,QAAQv3B,EAAEO,EAAE,GAAGA,EAAE,GAAGD,EAAEP,EAAEkB,IAAI81B,aAAav3B,EAAEe,EAAEM,EAAElB,GAAG,MAAMW,EAAEN,OAAEqlB,OAAO,CAACtY,KAAKxM,EAAEiE,iBAAiBhF,EAAEgF,iBAAiBgzB,OAAO,CAACh4B,EAAEwV,SAASjV,EAAE,IAAIE,OAAEK,GAAGW,EAAElB,EAAE03B,gBAAgBj4B,GAAG,IAAIyB,EAAE,OAAO,KAAK,MAAMgB,EAAE,GAAG,OAAOhB,EAAEge,QAAS,CAAC3e,EAAEW,EAAEjB,EAAEwC,KAAK+F,EAAE4B,IAAI7J,EAAEW,EAAEjB,EAAEwC,GAAGzC,EAAE23B,cAAcp1B,EAAEiG,GAAG,MAAM9F,EAAE,IAAIf,OAAEY,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAG9C,EAAEgF,kBAAkBvC,EAAEoI,KAAKtJ,KAAKw2B,QAAQ90B,EAAElC,EAAEA,EAAE,EAAEM,EAAElB,MAAO4B,QAAQo2B,IAAI11B,KAAKzC,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,qBAAgB,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,eAAU,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,iBAAY,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,mBAAc,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,aAAQ,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,qBAAgB,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,sBAAiB,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,8BAAyB,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,mCAA8B,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,qBAAgB,GAAQ5C,eAAE,CAACG,kBAAKuC,EAAEE,UAAU,WAAW,MAAMF,EAAE1C,eAAE,CAACc,eAAE,gDAAgD4B,GAAG,MAAM2G,EAAE3G,G,oECA96H,MAAM3B,EAAE,CAACq3B,WAAW,CAAC,kBAAkB,wEAAwE,kBAAkB,oPAAoPC,QAAQ,CAAC,eAAe,4LAA4L,eAAe,uJAAuJC,MAAM,CAAC,aAAa,6vPAA6vP,aAAa,8JAA8JC,IAAI,CAACA,IAAI,CAAC,WAAW,8UAA8U,WAAW,i6BAAi6BC,UAAU,CAAC,eAAe,i2CAAi2C,gBAAgB,o1BAAo1B,WAAW,wpCAAwpCC,GAAG,CAACC,UAAU,CAAC,iBAAiB,83BAA83B,iBAAiB,8KAA8KvX,QAAQ,CAACwX,eAAe,CAAC,sBAAsB,onBAAonB,sBAAsB,8PAA8PC,UAAU,CAAC,YAAY,ikCAAikC,iBAAiB,2tBAA2tB,gBAAgB,uMAAuMC,UAAU,CAAC,iBAAiB,+8BAA+8B,iBAAiB,0PAA0PC,UAAU,CAAC,qBAAqB,42DAA42D,mBAAmB,ohBAAohB,iBAAiB,wyCAAwyC3Y,KAAK,CAAC,cAAc,uyBAAuyB,YAAY,+0FAA+0F,YAAY,08IAA08I,eAAe,svBAAsvB4Y,QAAQ,CAAC,cAAc,m1CAAm1CC,KAAK,CAAC,cAAc,q5CAAq5CC,kBAAkB,CAAC,cAAc,kHAAkH,yBAAyB,mmBAAmmB,yBAAyB,2pCAA2pC,eAAe,owFAAowF,YAAY,6VAA6V,YAAY,w6EAAw6E5Y,MAAM,CAAC,cAAc,yUAAyU,aAAa,sCAAsC,aAAa,y2EAAy2EH,KAAK,CAAC,cAAc,gZAAgZ,eAAe,q0BAAq0B,YAAY,urBAAurB,YAAY,48DAA48DgZ,IAAI,CAAC,WAAW,szIAAszI,WAAW,g2JAAg2JC,OAAO,CAACjZ,KAAK,CAAC,cAAc,+hBAA+hB,YAAY,4rEAA4rE,YAAY,k4EAAk4E,0BAA0B,qTAAqTE,KAAK,CAAC,cAAc,6SAA6S,eAAe,2CAA2C,YAAY,kmBAAkmB,YAAY,w8DAAw8D,aAAa,+wCAA+wC,eAAe,6uFAA6uF,UAAU,y3IAAy3II,QAAQ,CAACA,QAAQ,CAAC,eAAe,sNAAsN,eAAe,kQAAkQ,kBAAkB,CAAC4Y,KAAK,CAAC,YAAY,4IAA4IC,MAAM,CAACC,UAAU,CAAC,iBAAiB,kkCAAkkCC,aAAa,CAAC,oBAAoB,u2BAAu2BC,mBAAmB,CAAC,0BAA0B,miBAAmiBC,KAAK,CAACF,aAAa,CAAC,oBAAoB,o2BAAo2B,cAAc,CAAC,mBAAmB,gxBAAgxBG,IAAI,CAAC,WAAW,2mBAA2mB,UAAU,CAAC,eAAe,kwBAAkwB,cAAc,CAACJ,UAAU,CAAC,iBAAiB,yfAAyf,cAAc,CAAC,YAAY,CAAC,iBAAiB,kkEAAkkEK,MAAM,CAAC,aAAa,u0BAAu0B,eAAe,CAAC,oBAAoB,o1BAAo1BC,aAAa,CAAC,oBAAoB,uUAAuUC,GAAG,CAAC,UAAU,4KAA4KpZ,OAAO,CAACva,OAAO,CAAC,cAAc,2bAA2b,cAAc,mQAAmQ4zB,OAAO,CAAC,cAAc,0hCAA0hC,0BAA0B,w0BAAw0B,kBAAkB,i3CAAi3CnZ,KAAK,CAAC,sBAAsB,oNAAoN,wBAAwB,mRAAmRoZ,QAAQ,CAAC,eAAe,2gBAA2gB,eAAe,mPAAmPC,UAAU,CAAC,iBAAiB,qSAAqS,iBAAiB,sgHAAsgHC,YAAY,CAAC,mBAAmB,ywBAAywB,mBAAmB,84BAA84B,UAAU,+9DAA+9DnzB,UAAU,CAAC,iBAAiB,iuHAAiuH,iBAAiB,mQAAmQJ,IAAI,CAAC,gBAAgB,2cAA2c,WAAW,2bAA2b,WAAW,oVAAoVqb,OAAO,CAAC,cAAc,wIAAwI,cAAc,0mCAA0mCmY,UAAU,CAAC,iBAAiB,gXAAgX,iBAAiB,8LAA8LlY,OAAO,CAAC,cAAc,85BAA85B,cAAc,o3BAAo3Bnb,QAAQ,CAAC,eAAe,s5EAAs5E,eAAe,qVAAqV0Z,QAAQ,CAAC,eAAe,6DAA6D,eAAe,oIAAoIK,SAAS,CAAC,gBAAgB,wKAAwK,gBAAgB,kaAAkauZ,KAAK,CAAC,aAAa,kfAAkf,gBAAgB,8O,gBCA1j+G,SAASh6B,EAAEY,GAAG,IAAIZ,EAAEW,EAAE,OAAOC,EAAEq5B,MAAM,KAAK3a,QAAS3e,IAAIX,IAAIA,EAAEA,EAAEW,MAAOX,EAAE,MAAMH,EAAE,IAAIe,OAAEZ,GAAG,SAASK,EAAEM,GAAG,OAAOd,EAAEilB,gBAAgBnkB,K,kCCJ7O,sbAIwY,SAASmI,EAAElI,EAAE+B,EAAEiG,EAAE,UAAUtG,GAAE,GAAG,MAAC,MAAMrC,IAAIqC,GAAG,OAAOK,EAAEggB,WAAW7Z,EAAE7I,EAAEI,OAAEiN,MAAMjN,OAAEkR,cAAcjQ,EAAE,MAAMqB,EAAEmgB,QAAQ,IAAIngB,EAAEmgB,OAAO1Y,OAAO,KAAKnK,EAAE0C,EAAEohB,iBAAiBphB,EAAE+gB,YAAYzR,EAAC,SAACrR,EAAEqH,aAAaC,mBAAhB,EAAC,EAA6BC,mBAAmBgK,EAAE,CAAChQ,MAAMQ,EAAER,MAAMC,OAAOO,EAAEP,OAAO4D,OAAO5F,OAAEqV,WAAWC,YAAY/U,OAAEgV,KAAKQ,eAAevV,EAAE6H,OAAO5I,OAAEwY,QAAQpY,EAAEiB,OAAEg5B,QAAQv5B,OAAEgV,KAAK5K,cAAckH,GAAG,aAAarJ,GAAG,UAAUA,EAAE5I,OAAEgL,QAAQhL,OAAEmL,OAAOyK,SAAS9M,EAAE+M,SAAS9T,OAAE+T,cAAcqkB,SAAQ,GAAI,OAAO,IAAIt3B,OAAEjC,EAAEuR,EAAE7Q,GAA0U,SAAS2Q,EAAErR,EAAE+B,GAAG,MAAMiI,QAAQhC,EAAEwxB,QAAQ93B,EAAE4yB,aAAaj1B,EAAEmN,MAAMtE,EAAExH,IAAIqB,EAAEsP,EAAErJ,EAAE,GAAG,EAAEuJ,EAAE,CAAChQ,MAAM8P,EAAE,EAAEnJ,EAAEA,EAAE1G,OAAOd,EAAE0E,OAAO5F,OAAEqV,WAAWC,YAAY/U,OAAEgV,KAAKQ,eAAevV,EAAE6H,OAAO5I,OAAEwY,OAAOnX,OAAEg5B,QAAQv5B,OAAEgV,KAAKC,SAASvV,OAAEiN,MAAMvC,aAAa/K,OAAEgL,QAAQ6K,SAAS9T,OAAE+T,cAAcqkB,SAAQ,GAAIz5B,EAAE,IAAIoW,aAAa7E,EAAEnJ,EAAExH,EAAE,GAAG,EAAEgB,EAAE8H,QAAQ,GAAG6H,EAAE,IAAI,IAAIpS,EAAE,EAAEQ,EAAE,EAAER,EAAEI,EAAEmK,OAAOvK,IAAIa,EAAEL,KAAKJ,EAAEJ,GAAGA,EAAE,GAAG,IAAIa,EAAEL,KAAK,QAAQ,IAAI,IAAIR,EAAE,EAAEA,EAAEyB,EAAEzB,IAAI,IAAI,IAAIe,EAAE,EAAEA,EAAEkI,EAAElI,IAAI,CAAC,MAAMP,EAAE,GAAGR,EAAEiJ,EAAElI,GAAGR,EAAE,GAAGQ,EAAEU,EAAEzB,GAAGa,EAAEL,GAAGiC,EAAElC,GAAGM,EAAEL,EAAE,GAAGiC,EAAElC,EAAE,GAAGM,EAAEL,EAAE,IAAI,IAAIiC,EAAElC,GAAG,EAAE,EAAE,OAAO,IAAIyC,OAAEjC,EAAEuR,EAAEzR,GAAG,SAASyR,EAAEvR,EAAEf,GAAG,MAAMqB,EAAE,CAACiB,MAAMtC,EAAEuK,OAAO,EAAEhI,OAAO,EAAE4D,OAAO5F,OAAEqV,WAAWC,YAAY/U,OAAEgV,KAAKQ,eAAexV,OAAEgV,KAAKC,SAASvV,OAAEkR,cAAcxG,aAAa/K,OAAEgL,QAAQ6K,SAAS9T,OAAE+T,cAAcqkB,SAAQ,GAAI,OAAO,IAAIt3B,OAAEjC,EAAEM,EAAErB,GAAG,SAASa,EAAEb,EAAEQ,EAAED,EAAEO,EAAE,EAAEO,GAAE,GAAI,MAAM,CAACm5B,QAAQn5B,EAAEo5B,mBAAmBz6B,EAAE06B,UAAU55B,EAAE65B,mBAAmB36B,EAAEA,EAAE+K,QAAQhK,OAAE65B,oBAAoB56B,EAAEA,EAAEuN,KAAKxM,OAAE85B,kBAAkBr6B,EAAEs6B,eAAev6B,GAAG,SAASgX,EAAExW,EAAEf,GAAG,MAAM,CAAC+6B,iBAAiB/6B,GAAG,EAAEg7B,mBAAmBj6B,EAAEA,EAAEwJ,OAAO,EAAE,EAAE,GAAG,SAAS9J,EAAEM,EAAEf,GAAG,MAAM,CAACi7B,QAAQl6B,EAAEm6B,SAASl7B,GAAG,SAASiD,EAAElC,GAAG,MAAM,CAACo6B,YAAYp6B,EAAEq6B,UAAUC,YAAYt6B,EAAEu6B,OAAOC,YAAYx6B,EAAEy6B,OAAOC,YAAY16B,EAAE26B,UAAUC,YAAY56B,EAAE66B,UAAUC,SAAS96B,EAAE+6B,OAAOC,WAAWh7B,EAAEi7B,SAASC,QAAQl7B,EAAEm7B,MAAMC,kBAAkBp7B,EAAEq7B,iBAAiB,SAASxpB,EAAE7R,GAAG,MAAM,CAACs7B,gBAAgBt7B,EAAEu7B,cAAcC,YAAYx7B,EAAEy7B,UAAUC,YAAY17B,EAAE27B,UAAUC,QAAQ57B,EAAE67B,MAAMC,UAAU97B,EAAE+7B,QAAQjB,SAAS96B,EAAE+6B,OAAOiB,WAAWh8B,EAAE4iB,SAASqZ,WAAWj8B,EAAE6iB,UAAU,SAAS9M,EAAE/V,EAAEf,GAAG,MAAMQ,EAAEO,EAAEsU,GAAG9U,EAAEP,EAAEssB,OAAOxrB,EAAEN,EAAEmrB,oBAAoBprB,EAAEC,EAAEy8B,iBAAiB57B,EAAE,IAAID,IAAI,IAAIjB,EAAE,IAAI,IAAI+B,EAAE,EAAEA,EAAEpB,EAAEoB,IAAI/B,EAAEK,EAAE08B,iBAAiB38B,EAAE2B,GAAG/B,GAAGkB,EAAEsJ,IAAIxK,EAAE6F,KAAK,CAACqG,SAAS7L,EAAEssB,mBAAmBvsB,EAAEJ,EAAE6F,MAAMm3B,KAAKh9B,IAAI,OAAOkB,EAAE,SAAS+R,EAAErS,EAAEf,EAAEQ,GAAGilB,OAAO+K,KAAKhwB,GAAGif,QAASlf,IAAI,MAAMO,EAAEd,EAAE0K,IAAInK,IAAIP,EAAE0K,IAAInK,EAAE,OAAOO,GAAG6R,EAAE5R,EAAER,EAAEC,EAAED,GAAGO,KAAM,SAAS6I,EAAE5I,EAAEf,EAAEQ,EAAED,GAAGC,EAAE+J,SAAShK,EAAEgK,SAAShK,EAAE2E,KAAMnE,GAAG,MAAMA,IAAKP,EAAE0E,KAAMnE,GAAG,MAAMA,IAAKP,EAAEif,QAAS,CAACjf,EAAEM,KAAKd,EAAEkM,aAAa1L,EAAEM,GAAGC,EAAEiN,YAAYzN,EAAEO,GAAGA,MAAO,SAAS6R,EAAE5R,EAAEf,EAAEQ,EAAED,GAAG,GAAG,OAAOA,GAAG,MAAMC,EAAE,OAAM,EAAG,MAAM28B,KAAKr8B,GAAGP,EAAE,OAAOO,EAAE8H,MAAM,KAAKnG,OAAEgL,MAAM3M,EAAEyM,KAAK,EAAExM,EAAEkP,cAAcjQ,EAAEQ,GAAGO,EAAEqL,aAAapM,EAAEQ,GAAG,MAAM,KAAKiC,OAAE26B,WAAWr8B,EAAEoL,cAAcnM,EAAEQ,GAAG,MAAM,KAAKiC,OAAE46B,WAAWt8B,EAAE+sB,cAAc9tB,EAAEQ,GAAG,MAAM,KAAKiC,OAAE66B,WAAWv8B,EAAEmM,cAAclN,EAAEQ,GAAG,MAAM,KAAKiC,OAAE86B,WAAWx8B,EAAEkL,oBAAoBjM,EAAEQ,GAAG,MAAM,KAAKiC,OAAE+6B,WAAWz8B,EAAE0U,oBAAoBzV,EAAEQ,GAAG,MAAM,KAAKiC,OAAEg7B,IAAI38B,EAAEyM,KAAK,EAAExM,EAAE2V,cAAc1W,EAAEQ,GAAGO,EAAEmL,aAAalM,EAAEQ,GAAG,MAAM,KAAKiC,OAAEi7B,KAAK38B,EAAEmL,aAAalM,EAAEQ,EAAE,EAAE,GAAG,MAAM,KAAKiC,OAAEk7B,SAAS,KAAKl7B,OAAEm7B,UAAU78B,EAAEmsB,cAAcltB,EAAEQ,GAAG,MAAM,KAAKiC,OAAEo7B,SAAS,KAAKp7B,OAAEq7B,UAAU/8B,EAAEqsB,cAAcptB,EAAEQ,GAAG,MAAM,KAAKiC,OAAEs7B,SAAS,KAAKt7B,OAAEu7B,UAAUj9B,EAAEusB,cAActtB,EAAEQ,GAAG,MAAM,QAAQ,OAAM,EAAG,OAAM,I,kCCJhwH,sIAI0c,SAASiC,EAAEzC,GAAG,OAAOA,GAAG,WAAWA,EAAE,SAASa,EAAEb,GAAG,OAAOA,KAAK,WAAWA,GAAG,SAASyB,EAAEzB,GAAG,MAAMe,EAAE6mB,SAASC,cAAc,UAAU,OAAO9mB,EAAEuB,MAAMtC,EAAEsC,MAAMvB,EAAEwB,OAAOvC,EAAEuC,OAAOvC,EAAE6oB,OAAO9nB,EAAEgnB,WAAW,OAAOhnB,EAAE,SAASgI,EAAE/I,EAAEe,EAAEM,GAAG,MAAMa,EAAE,CAACiE,OAAOlD,OAAE2S,WAAWC,YAAYzV,OAAE0V,KAAKQ,eAAelW,OAAE0V,KAAKC,SAAS/S,OAAE0O,cAAcsE,SAAS/M,OAAEgN,eAAe,OAAOlV,GAAGM,IAAIa,EAAEI,MAAMvB,EAAEmB,EAAEK,OAAOlB,GAAG,IAAImB,OAAExC,EAAEkC,GAAG,MAAMyM,UAAU7L,OAAEI,YAAYlD,EAAE,KAAKe,EAAEM,GAAE,GAAI8B,QAAQ5B,KAAK08B,oCAAoC58B,EAAEE,KAAK28B,qBAAoB,EAAG38B,KAAKsG,WAAW,EAAEtG,KAAK0I,WAAW,CAAC,EAAE,GAAG1I,KAAK48B,aAAQ,EAAO58B,KAAKoK,WAAW,EAAEpK,KAAK4D,WAAW,EAAE5D,KAAKqK,SAAS,EAAErK,KAAK68B,QAAQ,KAAK78B,KAAK88B,YAAO,EAAO98B,KAAKiB,EAAE,EAAEjB,KAAKmB,EAAE,EAAEnB,KAAKsE,cAAc9E,EAAEQ,KAAKwI,OAAO/J,EAAEuB,KAAK2G,cAAc3G,KAAK2G,cAAcjE,KAAK1C,MAAMI,UAAUJ,KAAK+8B,WAAW/8B,KAAK+8B,SAASt3B,UAAUzF,KAAK+8B,SAAS,MAAwB,qBAAG,OAAO/8B,KAAKe,QAAQf,KAAKg9B,aAAah9B,KAAKgB,SAAShB,KAAKi9B,aAAuB,aAAG,YAAO,IAASj9B,KAAK48B,QAAQ58B,KAAK48B,QAAQ58B,KAAKi9B,aAAuB,WAACx+B,GAAGuB,KAAK48B,QAAQn+B,EAAY,aAAG,OAAOuB,KAAK68B,QAAkB,WAACp+B,GAAGuB,KAAK68B,QAAQp+B,EAAEuB,KAAKs2B,oBAAoC,mBAAG,OAAOt2B,KAAK68B,mBAAmBK,iBAAiBl9B,KAAK68B,QAAQM,cAAcn9B,KAAK68B,QAAQ77B,OAAsB,kBAAG,OAAOhB,KAAK68B,mBAAmBK,iBAAiBl9B,KAAK68B,QAAQO,aAAap9B,KAAK68B,QAAQ97B,MAAe,YAAG,YAAO,IAASf,KAAK88B,OAAO98B,KAAK88B,OAAO98B,KAAKg9B,YAAqB,UAACv+B,GAAGuB,KAAK88B,OAAOr+B,EAAE6yB,aAAa7yB,GAAGmD,MAAM0vB,aAAa7yB,GAAGuB,KAAKgH,cAAcvI,EAAEmH,SAAS0wB,oBAAoBt2B,KAAK28B,sBAAsB38B,KAAK28B,qBAAoB,EAAG38B,KAAK08B,qCAAqC18B,KAAK2G,iBAAiBmpB,oBAAoB,MAAM,CAACjnB,IAAI5J,kBAAK2yB,aAAanzB,GAAG,MAAMQ,EAAEO,eAAEQ,KAAK4I,WAAWC,MAAMtH,EAAEvC,GAAGP,EAAE4+B,mBAAmB,CAAC,EAAE,GAAG,CAACr9B,KAAKiB,EAAEjB,KAAKmB,IAAIO,EAAE1B,KAAK4D,WAAW5D,KAAKoK,WAAW3L,EAAEmF,WAAW/E,EAAE6C,EAAE1B,KAAKe,MAAMU,EAAEC,EAAE1B,KAAKgB,OAAO0G,EAAEhJ,KAAKC,GAAGqB,KAAKqK,SAAS,IAAIvK,eAAEb,EAAEA,EAAEL,eAAE2C,EAAEvC,IAAIc,eAAEb,EAAEA,EAAEL,eAAEC,EAAE,EAAE4C,EAAE,IAAId,eAAE1B,EAAEA,GAAGyI,GAAG5H,eAAEb,EAAEA,EAAEL,gBAAGC,EAAE,GAAG4C,EAAE,IAAIlC,eAAEN,EAAEA,EAAEL,eAAEC,EAAE4C,IAAIvC,eAAEc,KAAK4I,WAAWC,IAAIpK,EAAEwP,gBAAgBhP,GAAGwL,mBAAmBhM,GAAGuB,KAAK+8B,WAAWt+B,EAAEoL,OAAO7J,KAAK+8B,SAAS5W,WAAWmX,WAAWt9B,KAAK+8B,SAASQ,iBAAiBv9B,KAAK+8B,SAASS,gBAAgB/+B,EAAEkL,eAAejH,KAAKjE,EAAEe,GAAGQ,KAAK+8B,UAAUt+B,EAAEgO,YAAYzM,KAAK+8B,SAASv9B,GAAGwH,cAAcxH,GAAE,MAAC,IAAIQ,KAAKovB,MAAM,OAAO,SAAApvB,KAAK+8B,WAAL,EAAet3B,eAAezF,KAAK+8B,SAAS,MAAM,IAAI/8B,KAAK28B,oBAAoB,OAAO38B,KAAK28B,qBAAoB,EAAG38B,KAAK+8B,WAAW/8B,KAAKwI,OAAOxI,KAAK+8B,SAASv1B,EAAEhI,EAAEQ,KAAKg9B,YAAYh9B,KAAKi9B,cAAcj9B,KAAK+8B,SAASv1B,EAAEhI,IAAI,MAAMM,EAAEE,KAAKwI,OAAO,GAAG1I,EAAE,CAAC,GAAGE,KAAK+8B,SAAStlB,OAAOzX,KAAKg9B,YAAYh9B,KAAKi9B,cAAc/7B,EAAEpB,GAAG,GAAGA,aAAad,OAAE,CAAC,MAAMQ,EAAEM,EAAE4nB,0BAA0B1nB,KAAK+8B,SAASrlB,QAAQjZ,eAAEe,GAAGA,EAAEmoB,qBAAqB,WAAW3nB,KAAK+8B,SAASrlB,QAAQxX,EAAEJ,SAASR,EAAEQ,IAAIE,KAAK+8B,SAASrlB,QAAQ5X,GAAGE,KAAKwvB,aAAaxvB,KAAK+8B,SAASrlB,QAAQ,MAAMma,WAAW7xB,KAAKs2B,oBAAoBxE,WAAW9xB,KAAKs2B,uB,kCCJpuG,sFAIuN,MAAMx2B,UAAUd,OAAE2C,cAAcC,SAASC,WAAW7B,KAAKy9B,aAAa,CAACC,KAAK,EAAEpxB,QAAQ3L,iBAAIsN,gBAAgBtN,kBAAK8E,WAAWE,aAAalH,GAAG,MAAMmH,QAAQpG,GAAGf,EAAEe,EAAEyG,cAAa,GAAG,GAAG,GAAG,GAAIzG,EAAE4G,mBAAmB7G,OAAE8G,MAAM,EAAE,KAAKE,KAAK5F,EAAE3B,GAAG,MAAM2H,cAAcpH,GAAGoB,GAAGg9B,YAAY79B,GAAGd,EAAE,GAAGP,eAAEqB,GAAG,OAAO,GAAG,WAAWA,EAAEqK,MAAM1F,MAAM3E,EAAEuC,OAAO1B,GAAG,aAAab,EAAEqK,MAAM1F,KAAK,OAAO,MAAM7F,EAAEkB,EAAEqK,MAAMyzB,UAAUh/B,EAAE4wB,QAAQhwB,eAAED,IAAIS,KAAKy9B,aAAaC,KAAK/8B,EAAE+8B,KAAK,IAAI19B,KAAKy9B,aAAanxB,QAAQtN,EAAE4J,WAAWC,IAAI7I,KAAKy9B,aAAaxvB,gBAAgBtN,EAAEwJ,MAAM8D,gBAAgBnO,EAAE+9B,UAAUvW,OAAO3mB,EAAEX,KAAKy9B,aAAa7+B,GAAGkB,EAAE+9B,UAAUC,UAAUt+B,eAAED,IAAIA,KAAKA,O,kCCJ7zB,wIAIA,MAAMX,GAAE,EAAGH,EAAE,GAAGI,EAAE,IAAIW,EAAE,K,kCCJxB,kJAI8kB,MAAMN,UAAUY,OAAE6B,cAAcC,SAASC,WAAW7B,KAAKiL,OAAOxM,eAAE,EAAE,EAAE,EAAE,GAAGuB,KAAK+9B,cAAa,EAAGt4B,UAAUzF,KAAKg+B,gBAAgBh+B,KAAKg+B,cAAcv4B,UAAUzF,KAAKg+B,cAAc,MAAMh+B,KAAKi+B,0BAA0Bj+B,KAAKi+B,wBAAwBx4B,UAAUzF,KAAKi+B,wBAAwB,MAAMt4B,cAAcC,QAAQrG,GAAGd,GAAGc,EAAE2+B,sBAAqB,GAAI3+B,EAAE4+B,qBAAoB,GAAI5+B,EAAE4G,uBAAsB,GAAI5G,EAAEsG,oBAAmB,GAAItG,EAAE0G,cAAa,GAAG,GAAG,GAAG,GAAI1G,EAAE6L,aAAapM,OAAEqM,KAAKrM,OAAEqM,KAAKrM,OAAEsM,SAAS/L,EAAE2G,oBAAoB,KAAK3G,EAAE6+B,2BAA2B38B,OAAE48B,eAAep/B,OAAEmN,QAAQ3N,EAAE6H,WAAW,KAAKC,KAAK9H,EAAEe,GAAG,MAAMoG,QAAQ9F,EAAE6G,cAAchG,GAAGlC,EAAEuB,KAAK+9B,cAAc/9B,KAAKs+B,YAAYx+B,IAAIP,eAAEoB,IAAIX,KAAKg+B,cAAcv2B,YAAY3H,EAAE+L,QAAQ7L,KAAKi+B,yBAAyBn+B,EAAEkI,WAAWhI,KAAKg+B,eAAeh+B,KAAKg+B,cAActzB,oBAAoB,YAAYlL,EAAEoJ,WAAWC,KAAK7I,KAAKg+B,cAAcpzB,cAAc,gBAAgB,CAACpL,EAAEsa,OAAOta,EAAEwmB,SAAShmB,KAAKg+B,cAAcnzB,aAAa,UAAU,GAAG7K,KAAKg+B,cAAcryB,cAAc,UAAU3L,KAAKiL,QAAQnL,EAAE4M,WAAWhL,OAAEiL,eAAe,EAAE,GAAG7M,EAAE+L,WAAWlL,IAAI29B,YAAY/+B,GAAG,GAAGS,KAAK+9B,aAAa,OAAM,EAAG,MAAMt/B,EAAEiJ,eAAEnI,EAAEoB,QAAG,IAAIlC,EAAE,OAAM,EAAG,MAAMqB,EAAE,IAAIia,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI/a,EAAEJ,OAAEyW,aAAa9V,EAAE2B,OAAEoU,YAAYxV,GAAG2B,EAAE,IAAI5C,OAAEU,EAAEoB,OAAEf,WAAWJ,OAAE,CAACuF,SAAS/F,IAAI,OAAOgB,KAAKg+B,cAAcv/B,EAAEuB,KAAKi+B,wBAAwBx8B,EAAEzB,KAAK+9B,cAAa,GAAG,K,kCCJj5D,wVAIgF/+B,EAAEc,EAAEb,EAAEwC,EAAEF,EAAEL,EAAEtC,EAAEW,EAAEW,EAJhG,aAImG,SAASV,GAAGA,EAAEA,EAAE++B,WAAW,GAAG,aAAa/+B,EAAEA,EAAEiR,KAAK,GAAG,OAAOjR,EAAEA,EAAEgf,KAAK,GAAG,OAAOhf,EAAEA,EAAEg/B,OAAO,GAAG,SAASh/B,EAAEA,EAAEi/B,OAAO,GAAG,SAAtH,CAAgIz/B,IAAIA,EAAE,KAAK,SAASQ,GAAGA,EAAEA,EAAEk/B,QAAQ,GAAG,UAAUl/B,EAAEA,EAAEm/B,KAAK,GAAG,OAAjD,CAAyD7+B,IAAIA,EAAE,KAAK,SAASN,GAAGA,EAAEA,EAAEud,MAAM,GAAG,QAAQvd,EAAEA,EAAEgf,KAAK,GAAG,OAAOhf,EAAEA,EAAEo/B,YAAY,GAAG,cAAvE,CAAsF3/B,IAAIA,EAAE,KAAK,SAASO,GAAGA,EAAEA,EAAEsF,IAAI,GAAG,MAAMtF,EAAEA,EAAE6a,SAAS,GAAG,WAAW7a,EAAEA,EAAEsd,KAAK,GAAG,OAApE,CAA4Erb,IAAIA,EAAE,KAAK,SAASjC,GAAGA,EAAEA,EAAEsd,KAAK,GAAG,OAAOtd,EAAEA,EAAEq/B,KAAK,GAAG,OAAOr/B,EAAEA,EAAEs/B,OAAO,GAAG,SAASt/B,EAAEA,EAAEu/B,MAAM,GAAG,QAAtF,CAA+Fx9B,IAAIA,EAAE,KAAK,SAAS/B,GAAGA,EAAEA,EAAEs/B,OAAO,GAAG,SAASt/B,EAAEA,EAAEq/B,KAAK,GAAG,OAAOr/B,EAAEA,EAAEu/B,MAAM,GAAG,QAAQv/B,EAAEA,EAAEw/B,IAAI,GAAG,MAAMx/B,EAAEA,EAAEy/B,OAAO,GAAG,SAASz/B,EAAEA,EAAE0/B,SAAS,GAAG,WAAW1/B,EAAEA,EAAE2/B,UAAU,GAAG,YAAY3/B,EAAEA,EAAE4/B,YAAY,GAAG,cAAc5/B,EAAEA,EAAE6/B,aAAa,GAAG,eAAhO,CAAgPn+B,IAAIA,EAAE,KAAK,SAAS1B,GAAGA,EAAEA,EAAEm/B,KAAK,GAAG,OAAOn/B,EAAEA,EAAE8/B,UAAU,GAAG,YAAY9/B,EAAEA,EAAE+/B,UAAU,GAAG,YAA7E,CAA0F3gC,IAAIA,EAAE,KAAK,SAASY,GAAGA,EAAEA,EAAEsF,IAAI,GAAG,MAAMtF,EAAEA,EAAE6a,SAAS,GAAG,WAA7C,CAAyD9a,IAAIA,EAAE,KAAK,SAASC,GAAGA,EAAEA,EAAEggC,WAAW,GAAG,aAAahgC,EAAEA,EAAEigC,SAAS,GAAG,WAA3D,CAAuEv/B,IAAIA,EAAE,KAAK,MAAMsH,GAAGA,EAAEk4B,2BAA2B,CAACC,WAAW,CAACt4B,KAAK,OAAOsH,OAAO,CAAC,UAAU,QAAQixB,QAAQ9/B,EAAE4+B,UAAUl3B,EAAEq4B,qBAAqB,CAACF,WAAW,CAACt4B,KAAK,OAAOsH,OAAO,CAAC,UAAU,QAAQixB,QAAQ9/B,EAAE4+B,UAAUl3B,EAAEs4B,qBAAqB,CAACH,WAAW,CAACt4B,KAAK,OAAOsH,OAAO,CAAC,UAAU,QAAQixB,QAAQ9/B,EAAE4+B,SAAS,WAAW,CAACr3B,KAAK,OAAOsH,OAAO,CAAC,OAAO,QAAQ,UAAUixB,QAAQpgC,OAAEugC,MAAM,YAAY,CAAC14B,KAAK,OAAOsH,OAAO,CAAC,QAAQ,QAAQ,SAASixB,QAAQnhC,OAAEuhC,OAAO,mBAAmB,CAAC34B,KAAK,SAASu4B,QAAQ,GAAG,mBAAmB,CAACv4B,KAAK,SAASu4B,QAAQ,OAAOp4B,EAAEy4B,uBAAuB,CAACN,WAAW,CAACt4B,KAAK,OAAOsH,OAAO,CAAC,UAAU,QAAQixB,QAAQ9/B,EAAE4+B,SAAS,qBAAqB,CAACr3B,KAAK,UAAUu4B,SAAQ,GAAI,mBAAmB,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,QAAQ,OAAO,eAAeixB,QAAQ3gC,EAAE8d,OAAO,kBAAkB,CAAC1V,KAAK,SAASu4B,SAAS,GAAG,iBAAiB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,KAAK,qBAAqB,CAACv4B,KAAK,UAAUu4B,SAAQ,GAAI,cAAc,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,SAAS,OAAO,QAAQ,MAAM,SAAS,WAAW,YAAY,cAAc,gBAAgBixB,QAAQ1+B,EAAE49B,QAAQ,wBAAwB,CAACz3B,KAAK,UAAUu4B,SAAQ,GAAI,aAAa,CAACv4B,KAAK,UAAU,oBAAoB,CAACA,KAAK,UAAUu4B,SAAQ,GAAI,cAAc,CAACv4B,KAAK,QAAQke,MAAM,SAASvc,OAAO,EAAE42B,QAAQ,CAAC,EAAE,IAAI,gBAAgB,CAACv4B,KAAK,UAAUu4B,SAAQ,GAAI,eAAe,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,cAAc,CAACv4B,KAAK,SAASu4B,QAAQ,GAAG,0BAA0B,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,MAAM,WAAW,QAAQixB,QAAQn+B,EAAEqb,MAAM,YAAY,CAACzV,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,qBAAqB,CAACv4B,KAAK,UAAUu4B,SAAQ,GAAI,cAAc,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,SAAS,OAAO,QAAQ,MAAM,SAAS,WAAW,YAAY,cAAc,gBAAgBixB,QAAQ1+B,EAAE49B,QAAQ,aAAa,CAACz3B,KAAK,UAAU,YAAY,CAACA,KAAK,QAAQke,MAAM,SAASqa,QAAQ,CAAC,oBAAoB,6BAA6B,wBAAwB,CAACv4B,KAAK,UAAUu4B,SAAQ,GAAI,eAAe,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,OAAO,OAAO,SAAS,SAASixB,QAAQr+B,EAAEu9B,QAAQ,oBAAoB,CAACz3B,KAAK,UAAUu4B,SAAQ,GAAI,sBAAsB,CAACv4B,KAAK,SAASu4B,QAAQ,GAAG,mBAAmB,CAACv4B,KAAK,SAASu4B,QAAQ,KAAK,iBAAiB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,IAAI,iBAAiB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,IAAI,cAAc,CAACv4B,KAAK,QAAQke,MAAM,SAASvc,OAAO,EAAE42B,QAAQ,CAAC,EAAE,IAAI,gBAAgB,CAACv4B,KAAK,UAAUu4B,SAAQ,GAAI,eAAe,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,cAAc,CAACv4B,KAAK,SAASu4B,QAAQ,GAAG,0BAA0B,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,MAAM,WAAW,QAAQixB,QAAQn+B,EAAEqb,MAAM,YAAY,CAACzV,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,IAAI,iBAAiB,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,OAAO,YAAY,aAAaixB,QAAQhhC,EAAE+/B,MAAM,oBAAoB,CAACt3B,KAAK,QAAQke,MAAM,OAAO5W,OAAO,CAAC,aAAa,YAAYixB,QAAQ,CAAC1/B,EAAEs/B,cAAch4B,EAAE24B,uBAAuB,CAACR,WAAW,CAACt4B,KAAK,OAAOsH,OAAO,CAAC,UAAU,QAAQixB,QAAQ9/B,EAAE4+B,UAAUl3B,EAAE44B,0BAA0B,CAAC,mBAAmB,CAAC/4B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,qBAAqB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,qBAAqB,CAACv4B,KAAK,WAAWG,EAAE84B,oBAAoB,CAAC,iBAAiB,CAACj5B,KAAK,UAAUu4B,SAAQ,GAAI,aAAa,CAACv4B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,eAAe,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,qBAAqB,CAACv4B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,eAAe,CAACv4B,KAAK,UAAU,iBAAiB,CAACA,KAAK,QAAQke,MAAM,SAASvc,OAAO,EAAE42B,QAAQ,CAAC,EAAE,IAAI,wBAAwB,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,MAAM,YAAYixB,QAAQrgC,EAAEuF,MAAM0C,EAAE+4B,oBAAoB,CAAC,YAAY,CAACl5B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,aAAa,CAACv4B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,iBAAiB,CAACv4B,KAAK,QAAQke,MAAM,SAASqa,QAAQ,IAAI,iBAAiB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,cAAc,CAACv4B,KAAK,SAASu4B,QAAQ,GAAG,eAAe,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,eAAe,CAACv4B,KAAK,UAAU,iBAAiB,CAACA,KAAK,QAAQke,MAAM,SAASvc,OAAO,EAAE42B,QAAQ,CAAC,EAAE,IAAI,wBAAwB,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,MAAM,YAAYixB,QAAQrgC,EAAEuF,KAAK,aAAa,CAACuC,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,IAAIp4B,EAAEg5B,sBAAsB,CAAC,aAAa,CAACn5B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,iBAAiB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,kBAAkB,CAACv4B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,kBAAkB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,eAAe,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,iBAAiB,CAACv4B,KAAK,QAAQke,MAAM,SAASvc,OAAO,EAAE42B,QAAQ,CAAC,EAAE,IAAI,wBAAwB,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,MAAM,YAAYixB,QAAQrgC,EAAEuF,KAAK,aAAa,CAACuC,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,iBAAiB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,kBAAkB,CAACv4B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,kBAAkB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,eAAe,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,iBAAiB,CAACv4B,KAAK,QAAQke,MAAM,SAASvc,OAAO,EAAE42B,QAAQ,CAAC,EAAE,IAAI,wBAAwB,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,MAAM,YAAYixB,QAAQrgC,EAAEuF,MAAM0C,EAAEi5B,sBAAsB,CAAC,iBAAiB,CAACp5B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,oBAAoB,CAACv4B,KAAK,SAASu4B,QAAQ,GAAG,wBAAwB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,wBAAwB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,oBAAoB,CAACv4B,KAAK,SAAS64B,SAAS,EAAEG,QAAQ,EAAET,QAAQ,GAAG,kBAAkB,CAACv4B,KAAK,SAAS64B,SAAS,EAAEG,QAAQ,EAAET,QAAQ,GAAG,uBAAuB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,MAAMp4B,EAAEk5B,sBAAsB,CAAC,cAAc,CAACr5B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,eAAe,CAACv4B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,iBAAiB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,gBAAgB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,sBAAsB,CAACv4B,KAAK,QAAQu4B,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,wBAAwB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEG,QAAQ,EAAET,QAAQ,GAAG,sBAAsB,CAACv4B,KAAK,SAAS64B,QAAQ,EAAEN,QAAQ,GAAG,mBAAmB,CAACv4B,KAAK,QAAQke,MAAM,SAASvc,OAAO,EAAE42B,QAAQ,CAAC,EAAE,IAAI,0BAA0B,CAACv4B,KAAK,OAAOsH,OAAO,CAAC,MAAM,YAAYixB,QAAQrgC,EAAEuF,O,kCCJ91N,kCAIA,MAAM9F,EAAE2C,cAAc3B,KAAKyE,KAAKzE,KAAK2B,YAAY8C,MAAM,eAAekB,aAAa3G,EAAEO,EAAEd,IAAI8H,KAAKvH,EAAEO,EAAEd,IAAIoa,SAAS7Z,EAAEO,EAAEd,GAAG,IAAI,MAAMkC,KAAKpB,EAAES,KAAKuG,KAAKvH,EAAE2B,EAAElC,M,kCCJvJ,wKAIuiB,MAAMwC,EAAE,CAAC44B,UAAU,EAAEE,OAAO,EAAEE,OAAO,EAAEE,UAAU,CAAC,EAAE,EAAE,GAAGE,UAAU,CAAC,IAAI,IAAI,KAAKE,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAKE,UAAS,EAAGE,MAAM,CAAC,EAAE,EAAE,GAAGE,gBAAgB,CAAC,EAAE,EAAE,GAAG/xB,SAAS,KAAKC,eAAe,KAAK43B,YAAY,OAAOt5B,KAAK,WAAW,MAAMnH,UAAUhB,OAAEyC,YAAYlD,EAAE,KAAKe,EAAE,KAAKD,EAAE,MAAMqC,QAAQ5B,KAAK28B,qBAAoB,EAAG38B,KAAK4gC,6BAA4B,EAAG5gC,KAAK6gC,0BAAyB,EAAG7gC,KAAKsG,WAAW,EAAEtG,KAAK0I,WAAW,CAAC,EAAE,GAAG1I,KAAK8gC,sBAAsB,KAAK9gC,KAAKgB,OAAO,KAAKhB,KAAKuJ,oBAAmB,EAAGvJ,KAAKoK,WAAW,EAAEpK,KAAK4D,WAAW,EAAE5D,KAAKqK,SAAS,EAAErK,KAAK68B,QAAQ,KAAK78B,KAAK+gC,aAAa,KAAK/gC,KAAKghC,YAAW,EAAGhhC,KAAKihC,SAAS,KAAKjhC,KAAKkhC,eAAe,KAAKlhC,KAAKmhC,eAAe,KAAKnhC,KAAKe,MAAM,KAAKf,KAAKiB,EAAE,EAAEjB,KAAKmB,EAAE,EAAEnB,KAAKwI,OAAO/J,EAAEuB,KAAK2H,cAAcnI,EAAEQ,KAAKqJ,cAAc9J,EAAEa,UAAS,MAAC,SAAAJ,KAAKqI,gBAAL,EAAoBF,SAAS+V,QAASzf,GAAGA,EAAEgH,WAAYzF,KAAKohC,eAAe,KAAKphC,KAAKqhC,sBAAsB,KAAKrhC,KAAKshC,iBAAiB,KAA6B,2BAAG,OAAOthC,KAAK8gC,uBAAuB7/B,EAA0B,yBAACxC,GAAGuB,KAAK8gC,wBAAwBriC,IAAIuB,KAAK8gC,sBAAsBriC,EAAEuB,KAAK4gC,6BAA4B,GAAc,aAAG,OAAO5gC,KAAK68B,QAAkB,WAACp+B,GAAGuB,KAAK68B,UAAUp+B,IAAIuB,KAAK68B,QAAQp+B,EAAEuB,KAAKohC,iBAAiBphC,KAAKohC,eAAe37B,UAAUzF,KAAKohC,eAAe,KAAKphC,KAAKuhC,sBAAsB,MAAMvhC,KAAKs2B,qBAAkC,gBAAG,OAAOt2B,KAAKghC,WAAwB,cAACviC,GAAGuB,KAAKghC,aAAaviC,GAAGuB,KAAKovB,QAAQpvB,KAAKwvB,QAAQxvB,KAAK2G,iBAAiB3G,KAAKghC,WAAWviC,EAAa,cAAG,OAAOuB,KAAKihC,SAAoB,YAACxiC,GAAGuB,KAAKihC,SAASxiC,EAAEuB,KAAKwhC,kBAAkB/iC,IAAIuB,KAAKs2B,oBAAqC,oBAAG,OAAOt2B,KAAKkhC,gBAAgB,UAA2B,kBAACziC,GAAGuB,KAAKkhC,eAAeziC,EAAEuB,KAAKohC,gBAAgBphC,KAAKohC,eAAe5D,gBAAgB,aAAax9B,KAAKyhC,0BAA0BhjC,GAAGgD,OAAEsI,OAAOtI,OAAEmI,SAA0B,oBAAG,OAAO5J,KAAKmhC,eAAgC,kBAAC1iC,GAAGuB,KAAKmhC,eAAe1iC,EAAEuB,KAAKqhC,wBAAwBrhC,KAAKqhC,sBAAsB57B,UAAUzF,KAAKqhC,sBAAsB,MAAM/K,oBAAoBt2B,KAAK28B,sBAAsB38B,KAAK28B,qBAAoB,EAAG38B,KAAK2G,iBAAiBmpB,oBAAoB,MAAM,CAACjnB,IAAIjK,kBAAKgzB,aAAanzB,GAAG,MAAMG,EAAEY,eAAEQ,KAAK4I,WAAWC,MAAM5J,EAAEC,GAAGT,EAAE4+B,mBAAmB,CAAC,EAAE,GAAG,CAACr9B,KAAKiB,EAAEjB,KAAKmB,IAAIM,EAAEzB,KAAK4D,WAAW5D,KAAKoK,WAAW3L,EAAEmF,WAAWlC,EAAED,EAAEzB,KAAKe,MAAM2G,EAAEjG,EAAEzB,KAAKgB,OAAOE,EAAExC,KAAKC,GAAGqB,KAAKqK,SAAS,IAAI9K,eAAEX,EAAEA,EAAE2C,eAAEtC,EAAEC,IAAIK,eAAEX,EAAEA,EAAE2C,eAAEG,EAAE,EAAEgG,EAAE,IAAI/G,eAAE/B,EAAEA,GAAGsC,GAAG3B,eAAEX,EAAEA,EAAE2C,gBAAGG,EAAE,GAAGgG,EAAE,IAAI5H,eAAElB,EAAEA,EAAE2C,eAAEG,EAAEgG,IAAI1I,eAAEgB,KAAK4I,WAAWC,IAAIpK,EAAEwP,gBAAgBrP,GAAGyJ,cAAc,IAAIrI,KAAKohC,eAAe,OAAO,KAAK,MAAM3iC,EAAE,GAAGe,EAAE,GAAG,OAAOQ,KAAKqhC,wBAAwB7hC,EAAE8J,KAAKtJ,KAAKqhC,uBAAuB5iC,EAAE6K,KAAK,oBAAoBtJ,KAAKohC,iBAAiB5hC,EAAE8J,KAAKtJ,KAAKohC,gBAAgB3iC,EAAE6K,KAAK,YAAYtJ,KAAKshC,mBAAmB9hC,EAAE8J,KAAKtJ,KAAKshC,kBAAkB7iC,EAAE6K,KAAK,eAAe,CAACpB,MAAMzJ,EAAE0J,SAAS3I,GAAGqyB,WAAW7xB,KAAKs2B,oBAAoBxE,WAAW9xB,KAAKs2B,oBAAoBtvB,eAAepB,QAAQnH,IAAG,UAAC,IAAIuB,KAAKovB,MAAM,OAAO,SAAApvB,KAAKohC,iBAAL,EAAqB37B,UAArB,SAA+BzF,KAAKqhC,wBAAL,EAA4B57B,UAA3D,SAAqEzF,KAAKshC,mBAAL,EAAuB77B,UAAUzF,KAAKohC,eAAe,KAAKphC,KAAKuhC,sBAAsB,KAAKvhC,KAAKqhC,sBAAsB,UAAUrhC,KAAKshC,iBAAiB,MAAM,MAAM9hC,EAAEQ,KAAK0hC,eAAe1hC,KAAKwI,QAAQhJ,GAAGQ,KAAK4gC,8BAA8B5gC,KAAK4gC,6BAA4B,EAAG5gC,KAAK2hC,uBAAuBljC,IAAIuB,KAAK28B,sBAAsB38B,KAAK28B,qBAAoB,EAAG38B,KAAK4hC,8BAA8BnjC,GAAGuB,KAAKohC,iBAAiB5hC,EAAEQ,KAAK2H,gBAAgB3H,KAAKqhC,wBAAwBrhC,KAAKqhC,sBAAsB3/B,eAAEjD,EAAEuB,KAAK2H,gBAAgB3H,KAAKohC,eAAe1pB,QAAQ,OAAO1X,KAAKwG,YAAYxG,KAAKwvB,QAAQxvB,KAAK2G,kBAAkBi7B,8BAA8BpiC,GAAE,QAAC,MAAMD,EAAEd,eAAEuB,KAAKwI,QAAQvJ,eAAEe,KAAKwI,OAAOxI,KAAK6hC,SAAS,KAAK,IAAI7hC,KAAK0hC,eAAeniC,GAAG,YAAYS,KAAKohC,iBAAiBphC,KAAKohC,eAAe37B,UAAUzF,KAAKuhC,sBAAsB,KAAKvhC,KAAKohC,eAAe,OAAO,MAAMzgC,GAAGX,KAAKwhC,kBAAkBxhC,KAAK6hC,SAAS,GAAG7hC,KAAKohC,eAAe,CAAC,GAAGzgC,EAAE,OAAOX,KAAKohC,eAAe37B,UAAUzF,KAAKuhC,sBAAsB,KAAKvhC,KAAKohC,eAAe,KAAKphC,KAAK6gC,yBAAL,SAA8BrhC,EAAEqH,aAAaC,mBAA7C,EAA8B,EAA6BC,mBAAmB,MAAMjH,EAAEE,KAAKyhC,0BAA0BzhC,KAAKqJ,eAAerK,EAAEgB,KAAKuJ,sBAAoB,SAAC/J,EAAEqH,aAAaC,eAAf,EAA6BA,cAAa9G,KAAKohC,eAAe15B,eAAElI,EAAED,EAAEO,EAAEd,GAAGgB,KAAKuhC,sBAAsBvhC,KAAK6hC,QAAQ,IAAI7hC,KAAK6hC,SAAS,KAAKL,kBAAkB/iC,GAAG,MAAMe,EAAEQ,KAAKuhC,sBAAsB,QAAQ,MAAM/hC,GAAG,MAAMf,GAAGe,GAAGf,GAAGe,EAAEyJ,KAAK,MAAMxK,EAAEwK,KAAK,KAAKy4B,eAAeliC,GAAE,MAAC,OAAOf,eAAEe,KAAI,SAAAA,EAAEkiB,aAAF,IAAU1Y,QAAO,EAAEy4B,0BAA0BjiC,GAAG,MAAM6H,KAAK9H,EAAEuJ,SAASnI,GAAGX,KAAKoH,qBAAqBtH,EAAE,QAAQP,GAAG,YAAYA,GAAGd,eAAEkC,GAAG,OAAOX,KAAK6gC,0BAA0B/gC,GAAG,aAAaN,GAAG,UAAUA,EAAE,UAAU,WAAWmiC,uBAAuBljC,GAAG,MAAMe,EAAEQ,KAAK8hC,UAAUviC,EAAES,KAAKoH,qBAAqB0B,SAAS,OAAOvJ,EAAEC,EAAED,EAAEyJ,SAASxJ,EAAEwJ,QAAQzJ,EAAEoE,KAAM,CAAClF,EAAEc,IAAId,IAAIe,EAAED,KAAMS,KAAKshC,mBAAmBthC,KAAKshC,iBAAiB77B,UAAUzF,KAAKshC,iBAAiB,MAAMthC,KAAKshC,iBAAiBpgC,eAAEzC,EAAEc,QAAQS,KAAK8hC,UAAUviC,SAAI,GAAQS,KAAKshC,iBAAiBpgC,eAAEzC,EAAEc,QAAQS,KAAK8hC,UAAUviC,KAAKS,KAAKshC,mBAAmBthC,KAAKshC,iBAAiB77B,UAAUzF,KAAKshC,iBAAiB,WAAWthC,KAAK8hC,UAAU,QAA4D,SAAS/wB,EAAEvR,GAAG,OAAOf,eAAEe,EAAEgJ","file":"js/chunk-3ba8ac6a.b76c2d0b.js","sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/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.24/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:new Map([[\"a_pos\",0]])};export{e as background};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../chunks/tslib.es6.js\";import r from\"../../core/Error.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as o}from\"../../core/accessorSupport/decorators/subclass.js\";import{combinedViewLayerTimeExtentProperty as s}from\"../../layers/support/commonProperties.js\";import{ExportWMSImageParameters as p}from\"../../layers/support/ExportWMSImageParameters.js\";const a=a=>{let i=class extends a{initialize(){this.exportImageParameters=new p({layer:this.layer})}destroy(){this.exportImageParameters.destroy(),this.exportImageParameters=null}get exportImageVersion(){return this.exportImageParameters?.commitProperty(\"version\"),this.commitProperty(\"timeExtent\"),(this._get(\"exportImageVersion\")||0)+1}fetchPopupFeatures(e){const{layer:t}=this;if(!e)return Promise.reject(new r(\"wmslayerview:fetchPopupFeatures\",\"Nothing to fetch without area\",{layer:t}));const{popupEnabled:o}=t;if(!o)return Promise.reject(new r(\"wmslayerview:fetchPopupFeatures\",\"popupEnabled should be true\",{popupEnabled:o}));const s=this.createFetchPopupFeaturesQuery(e);if(!s)return Promise.resolve([]);const{extent:p,width:a,height:i,x:m,y:n}=s;if(!(p&&a&&i))throw new r(\"wmslayerview:fetchPopupFeatures\",\"WMSLayer does not support fetching features.\",{extent:p,width:a,height:i});const c=t.fetchFeatureInfo(p,a,i,m,n);return Promise.resolve(c?[c]:[])}};return e([t()],i.prototype,\"exportImageParameters\",void 0),e([t({readOnly:!0})],i.prototype,\"exportImageVersion\",null),e([t()],i.prototype,\"layer\",void 0),e([t(s)],i.prototype,\"timeExtent\",void 0),i=e([o(\"esri.layers.mixins.WMSLayerView\")],i),i};export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as e}from\"../../../chunks/tslib.es6.js\";import t from\"../../../core/Logger.js\";import{isAbortError as r}from\"../../../core/promiseUtils.js\";import{watch as s}from\"../../../core/reactiveUtils.js\";import{property as i}from\"../../../core/accessorSupport/decorators/property.js\";import\"../../../core/arrayUtils.js\";import\"../../../core/has.js\";import\"../../../core/accessorSupport/ensureType.js\";import{subclass as o}from\"../../../core/accessorSupport/decorators/subclass.js\";import a from\"../../../geometry/Extent.js\";import{BitmapContainer as n}from\"../engine/BitmapContainer.js\";import{LayerView2DMixin as p}from\"./LayerView2D.js\";import m from\"./support/ExportStrategy.js\";import h from\"../../layers/LayerView.js\";import c from\"../../layers/RefreshableLayerView.js\";import d from\"../../layers/WMSLayerView.js\";const u=t.getLogger(\"esri.views.2d.layers.WMSLayerView2D\");let l=class extends(d(c(p(h)))){constructor(){super(...arguments),this.container=new n}supportsSpatialReference(e){return this.layer.serviceSupportsSpatialReference(e)}update(e){this.strategy.update(e).catch((e=>{r(e)||u.error(e)}))}attach(){const{layer:e,container:t}=this,{imageMaxHeight:r,imageMaxWidth:i}=e;this.strategy=new m({container:t,fetchSource:this.fetchImage.bind(this),requestUpdate:this.requestUpdate.bind(this),imageMaxHeight:r,imageMaxWidth:i,imageRotationSupported:!1,imageNormalizationSupported:!1,hidpi:!1}),this.handles.add(s((()=>this.exportImageVersion),(()=>this.requestUpdate())),\"exportImageVersion\")}detach(){this.handles.remove(\"exportImageVersion\"),this.strategy.destroy(),this.strategy=null,this.container.removeAllChildren()}moveStart(){}viewChange(){}moveEnd(){this.requestUpdate()}createFetchPopupFeaturesQuery(e){const{view:t,container:r}=this,{x:s,y:i}=e,{spatialReference:o}=t;let n=null,p=0,m=0;if(r.children.some((e=>{const{width:t,height:r,resolution:h,x:c,y:d}=e,u=c+h*t,l=d-h*r;return s>=c&&s<=u&&i<=d&&i>=l&&(n=new a({xmin:c,ymin:l,xmax:u,ymax:d,spatialReference:o}),p=t,m=r,!0)})),!n)return null;const h=n.width/p,c=Math.round((s-n.xmin)/h),d=Math.round((n.ymax-i)/h);return{extent:n,width:p,height:m,x:c,y:d}}async doRefresh(){this.requestUpdate()}isUpdating(){return this.strategy.updating||this.updateRequested}fetchImage(e,t,r,s){return this.layer.fetchImage(e,t,r,{timeExtent:this.timeExtent,...s})}};e([i()],l.prototype,\"strategy\",void 0),e([i()],l.prototype,\"updating\",void 0),l=e([o(\"esri.views.2d.layers.WMSLayerView2D\")],l);const y=l;export{y as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{brushes as e}from\"./brushes.js\";import{WGLDrawPhase as r}from\"./webgl/enums.js\";import s from\"./webgl/WGLContainer.js\";class t extends s{get requiresDedicatedFBO(){return this.children.some((e=>\"additive\"===e.blendFunction))}prepareRenderPasses(s){const t=s.registerRenderPass({name:\"bitmap\",brushes:[e.bitmap],target:()=>this.children,drawPhase:r.MAP});return[...super.prepareRenderPasses(s),t]}}export{t as BitmapContainer};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{DataType as e}from\"../../../webgl/enums.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";const r={geometry:[new o(\"a_pos\",2,e.BYTE,0,2)]},t={geometry:[new o(\"a_pos\",2,e.BYTE,0,4),new o(\"a_tex\",2,e.BYTE,2,4)]},m={geometry:[new o(\"a_pos\",2,e.UNSIGNED_SHORT,0,4)]};export{r as Pos2b,m as Pos2us,t as PosTex2b};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../core/maybe.js\";import{hasSource as t}from\"./RasterBitmap.js\";import r from\"../webgl/VertexStream.js\";import s from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as a,CompareFunction as i}from\"../../../webgl/enums.js\";import{setTextures as o,getCommonUniforms as n,setUniforms as h,getColormapUniforms as l,getStretchUniforms as c,getShadedReliefUniforms as p,getUniformLocationInfos as d,getBasicGridUniforms as u}from\"../../../webgl/rasterUtils.js\";class m extends s{constructor(){super(...arguments),this._desc={lut:{vsPath:\"raster/lut\",fsPath:\"raster/lut\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},stretch:{vsPath:\"raster/stretch\",fsPath:\"raster/stretch\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])},hillshade:{vsPath:\"raster/hillshade\",fsPath:\"raster/hillshade\",attributes:new Map([[\"a_position\",0],[\"a_texcoord\",1]])}},this._rendererUniformInfos=new Map}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(i.EQUAL,t.stencilRef,255)}draw(e,r){if(!t(r)||r.suspended)return;const{timeline:s,context:a,painter:i,requestRender:o}=e;s.begin(this.name);const n=!a.capabilities.textureFloat?.textureFloatLinear;r.updateTexture(e);const h=this._getShaderVariations(r,n),l=i.materialManager.getProgram(this._desc[r.symbolizerParameters.type],h);this._drawWithProgram(a,l,r,o),s.end(this.name)}_drawWithProgram(t,s,a,i,d=1,m=[0,0],f=!1){if(this._quad||(this._quad=new r(t,[0,0,1,0,0,1,1,1])),e(i)&&!s.isCompiled)return void i();const{symbolizerParameters:_,transformGrid:g,width:b,height:P,opacity:S}=a,w=_.type;t.useProgram(s);const x=this._getShaderVariations(a),y=this._getUniformInfos(w,t,s,x),{names:M,textures:U}=a.getTextures();o(t,s,M,U);const j=u(d,m),I=n(g,[b,P],[a.source.width,a.source.height],S,f);if(h(s,y,{u_coordScale:a.coordScale,u_dvsMat3:a.transforms.dvs,...j,...I}),_.colormap){const{colormap:e,colormapOffset:t}=_,r=l(e,t);h(s,y,r)}if(\"stretch\"===_.type){const e=c(_);h(s,y,e)}else if(\"hillshade\"===_.type){const e=p(_);h(s,y,e)}this._quad.draw()}_getUniformInfos(e,t,r,s){const a=s.length>0?e+\"-\"+s.join(\"-\"):e;if(this._rendererUniformInfos.has(a))return this._rendererUniformInfos.get(a);const i=d(t,r);return this._rendererUniformInfos.set(a,i),i}_getShaderVariations(e,t=!1){const r=[],{interpolation:s}=e,{type:a,colormap:i}=e.symbolizerParameters;return\"cubic\"===s?r.push(\"bicubic\"):\"bilinear\"===s&&\"stretch\"===a&&null!=i?(r.push(\"bilinear\"),r.push(\"nnedge\")):t&&\"bilinear\"===s&&r.push(\"bilinear\"),e.isRendereredSource?r.push(\"noop\"):i&&r.push(\"applyColormap\"),e.transformGrid&&(r.push(\"applyProjection\"),1===e.transformGrid.spacing[0]&&r.push(\"lookupProjection\")),r}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import i from\"../VertexStream.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as n,BlendFactor as r,CompareFunction as a}from\"../../../../webgl/enums.js\";const o={nearest:{defines:[],samplingMode:n.NEAREST,mips:!1},bilinear:{defines:[],samplingMode:n.LINEAR,mips:!1},bicubic:{defines:[\"bicubic\"],samplingMode:n.LINEAR,mips:!1},trilinear:{defines:[],samplingMode:n.LINEAR_MIPMAP_LINEAR,mips:!0}},d=(e,t,i)=>{if(\"dynamic\"===i.samplingMode){const{state:i}=e,s=t.resolution/t.pixelRatio/i.resolution,n=Math.round(e.pixelRatio)!==e.pixelRatio,r=s>1.05||s<.95;return i.rotation||r||n||t.isSourceScaled||t.rotation?o.bilinear:o.nearest}return o[i.samplingMode]};class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"raster/bitmap\",fsPath:\"raster/bitmap\",attributes:new Map([[\"a_pos\",0]])}}dispose(){this._quad&&this._quad.dispose()}prepareState({context:e},t){e.setBlendingEnabled(!0),\"additive\"===t.blendFunction?e.setBlendFunctionSeparate(r.ONE,r.ONE,r.ONE,r.ONE):e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(a.EQUAL,t.stencilRef,255)}draw(s,n){const{context:r,renderingOptions:a,painter:o,requestRender:m}=s;if(!n.source)return;const c=d(s,n,a),l=o.materialManager.getProgram(this._desc,c.defines);if(e(m)&&!l.isCompiled)return void m();s.timeline.begin(this.name),this._quad||(this._quad=new i(r,[0,0,1,0,0,1,1,1]));const{coordScale:p,computedOpacity:u,transforms:f}=n;n.setSamplingProfile(c),n.bind(s.context,t),r.useProgram(l),l.setUniformMatrix3fv(\"u_dvsMat3\",f.dvs),l.setUniform1i(\"u_texture\",t),l.setUniform2fv(\"u_coordScale\",p),l.setUniform1f(\"u_opacity\",u),this._quad.draw(),s.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as r,isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{createProgramDescriptor as s}from\"../Utils.js\";import o from\"./WGLBrush.js\";import{background as i}from\"../shaders/BackgroundPrograms.js\";import{StencilOperation as a,CompareFunction as m,DataType as n,PrimitiveType as p}from\"../../../../webgl/enums.js\";import{createProgram as l}from\"../../../../webgl/ProgramTemplate.js\";const c=()=>s(\"clip\",{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT}]});class f extends o{constructor(){super(...arguments),this._color=e(0,1,0,1)}dispose(){this._program&&this._program.dispose()}prepareState({context:r}){r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setFaceCullingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunction(m.ALWAYS,0,255)}draw(e,s){const{context:o,state:a,requestRender:m}=e,f=c(),d=s.getVAO(o,a,f.attributes,f.bufferLayouts);r(d.indexBuffer)||(this._program||(this._program=l(o,i)),!t(m)||this._program.isCompiled?(o.useProgram(this._program),this._program.setUniform2fv(\"u_coord_range\",[1,1]),this._program.setUniform4fv(\"u_color\",this._color),this._program.setUniformMatrix3fv(\"u_dvsMat3\",a.displayMat3),o.bindVAO(d),o.drawElements(p.TRIANGLES,d.indexBuffer.size,n.UNSIGNED_INT,0),o.bindVAO()):m())}}export{f as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{TEXTURE_BINDING_BITMAP as t}from\"../definitions.js\";import{createProgramDescriptor as r}from\"../Utils.js\";import s from\"./WGLBrush.js\";import{BlendFactor as o,CompareFunction as n,DataType as a,PrimitiveType as i}from\"../../../../webgl/enums.js\";const u=()=>r(\"overlay\",{geometry:[{location:0,name:\"a_pos\",count:2,type:a.FLOAT}],tex:[{location:1,name:\"a_uv\",count:2,type:a.UNSIGNED_SHORT}]});class m extends s{constructor(){super(...arguments),this._desc={vsPath:\"overlay/overlay\",fsPath:\"overlay/overlay\",attributes:new Map([[\"a_pos\",0],[\"a_uv\",1]])}}dispose(){}prepareState({context:e}){e.setBlendingEnabled(!0),e.setColorMask(!0,!0,!0,!0),e.setBlendFunctionSeparate(o.ONE,o.ONE_MINUS_SRC_ALPHA,o.ONE,o.ONE_MINUS_SRC_ALPHA),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilFunction(n.GREATER,255,255)}draw(r,s){const{context:o,painter:n,requestRender:a}=r;if(!s.isReady)return;const{computedOpacity:m,dvsMat3:c,isWrapAround:d,texture:l}=s;r.timeline.begin(this.name);const p=n.materialManager.getProgram(this._desc);if(e(a)&&!p.isCompiled)return void a();const f=u(),_=s.getVAO(o,f.bufferLayouts,f.attributes);if(!_)return;o.bindVAO(_),o.useProgram(p),o.bindTexture(l,t),p.setUniformMatrix3fv(\"u_dvsMat3\",c),p.setUniform1i(\"u_texture\",t),p.setUniform1f(\"u_opacity\",m);const y=d?10:4;o.drawArrays(i.TRIANGLE_STRIP,0,y),o.bindVAO(),r.timeline.end(this.name)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{MIN_MAX_ZOOM_PRECISION_FACTOR as i,TEXTURE_BINDING_ATTRIBUTE_DATA_0 as s,TEXTURE_BINDING_ATTRIBUTE_DATA_1 as o,TEXTURE_BINDING_ATTRIBUTE_DATA_2 as a,TEXTURE_BINDING_ATTRIBUTE_DATA_3 as r,TEXTURE_BINDING_ATTRIBUTE_DATA_4 as n,TEXTURE_BINDING_ATTRIBUTE_DATA_5 as m}from\"../definitions.js\";import u from\"./WGLBrush.js\";import{MaterialKeyBase as v}from\"../materialKey/MaterialKey.js\";import{BlendFactor as f,CompareFunction as l}from\"../../../../webgl/enums.js\";class p extends u{constructor(){super(...arguments),this._computeDesc=new Map}prepareState({context:t},e,i){i&&i.includes(\"hittest\")?t.setBlendFunctionSeparate(f.ONE,f.ONE,f.ONE,f.ONE):t.setBlendFunctionSeparate(f.ONE,f.ONE_MINUS_SRC_ALPHA,f.ONE,f.ONE_MINUS_SRC_ALPHA),t.setBlendingEnabled(!0),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!0),t.setStencilFunction(l.EQUAL,e.stencilRef,255)}draw(e,i,s){const o=this.getGeometryType();i.commit(e);const a=i.getGeometry(o);t(a)||(e.timeline.begin(this.name),e.attributeView.bindTextures(e.context),a.forEachCommand((t=>{const o=v.load(t.materialKey).symbologyType;this.supportsSymbology(o)&&this.drawGeometry(e,i,t,s)})))}_setSharedUniforms(t,u,v){const{displayLevel:f,pixelRatio:l,state:p,passOptions:c}=u;e(c)&&\"hittest\"===c.type&&(t.setUniform2fv(\"u_hittestPos\",c.position),t.setUniform1f(\"u_hittestDist\",c.distance)),t.setUniform1f(\"u_pixelRatio\",l),t.setUniformMatrix3fv(\"u_tileMat3\",v.transforms.tileMat3),t.setUniformMatrix3fv(\"u_viewMat3\",p.viewMat3),t.setUniformMatrix3fv(\"u_dvsMat3\",v.transforms.dvs),t.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),t.setUniform1f(\"u_currentZoom\",Math.round(f*i)),t.setUniform1i(\"u_attributeTextureSize\",u.attributeView.size),t.setUniform1i(\"u_attributeData0\",s),t.setUniform1i(\"u_attributeData1\",o),t.setUniform1i(\"u_attributeData2\",a),t.setUniform1i(\"u_attributeData3\",r),t.setUniform1i(\"u_attributeData4\",n),t.setUniform1i(\"u_attributeData5\",m)}_setSizeVVUniforms(t,e,i,s){if(t.vvSizeMinMaxValue&&e.setUniform4fv(\"u_vvSizeMinMaxValue\",i.vvSizeMinMaxValue),t.vvSizeScaleStops&&e.setUniform1f(\"u_vvSizeScaleStopsValue\",i.vvSizeScaleStopsValue),t.vvSizeFieldStops){const t=i.getSizeVVFieldStops(s.key.level);e.setUniform1fv(\"u_vvSizeFieldStopsValues\",t.values),e.setUniform1fv(\"u_vvSizeFieldStopsSizes\",t.sizes)}t.vvSizeUnitValue&&e.setUniform1f(\"u_vvSizeUnitValueWorldToPixelsRatio\",i.vvSizeUnitValueToPixelsRatio)}_setColorAndOpacityVVUniforms(t,e,i){t.vvColor&&(e.setUniform1fv(\"u_vvColorValues\",i.vvColorValues),e.setUniform4fv(\"u_vvColors\",i.vvColors)),t.vvOpacity&&(e.setUniform1fv(\"u_vvOpacityValues\",i.vvOpacityValues),e.setUniform1fv(\"u_vvOpacities\",i.vvOpacities))}_setRotationVVUniforms(t,e,i){t.vvRotation&&e.setUniform1f(\"u_vvRotationType\",\"geographic\"===i.vvMaterialParameters.vvRotationType?0:1)}_getTriangleDesc(t,e,i=[\"a_pos\"]){const s=e.bufferLayouts.geometry,o=i.map((t=>s.findIndex((e=>e.name===t)))),a=`${t}-${o.join(\"-\")}`;let r=this._computeDesc.get(a);if(!r){const t=e.strides,i=e.strides.geometry,n=new Map(e.attributes),m=s.map((t=>({...t}))),u=Math.max(...e.attributes.values()),v={geometry:m};let f=0;for(const e of o){const t=s[e];v.geometry.push({count:t.count,name:t.name+\"1\",divisor:t.divisor,normalized:t.normalized,offset:i+t.offset,stride:i,type:t.type}),v.geometry.push({count:t.count,name:t.name+\"2\",divisor:t.divisor,normalized:t.normalized,offset:2*i+t.offset,stride:i,type:t.type}),n.set(t.name+\"1\",u+ ++f),n.set(t.name+\"2\",u+ ++f)}r={bufferLayouts:v,attributes:n,strides:t},this._computeDesc.set(a,r)}return r}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,unwrapOr as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as o,WGLSymbologyType as r}from\"../enums.js\";import{createProgramDescriptor as a}from\"../Utils.js\";import i from\"./WGLGeometryBrush.js\";import{FillMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{getTechniqueFromMaterialKey as s}from\"../techniques/utils.js\";import{PrimitiveType as m,DataType as l}from\"../../../../webgl/enums.js\";function u(e){const t={geometry:[{location:0,name:\"a_pos\",count:2,type:l.SHORT},{location:1,name:\"a_id\",count:3,type:l.UNSIGNED_BYTE},{location:2,name:\"a_bitset\",count:1,type:l.UNSIGNED_BYTE},{location:3,name:\"a_color\",count:4,type:l.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_aux1\",count:4,type:l.UNSIGNED_SHORT},{location:5,name:\"a_aux2\",count:4,type:l.SHORT},{location:6,name:\"a_aux3\",count:4,type:l.UNSIGNED_BYTE},{location:7,name:\"a_zoomRange\",count:2,type:l.UNSIGNED_SHORT}]};switch(e.symbologyType){case r.SIMPLE:case r.OUTLINE_FILL_SIMPLE:t.geometry.splice(7,1),t.geometry.splice(4,1)}return{shader:\"materials/fill\",vertexLayout:t}}class c extends i{dispose(){}getGeometryType(){return o.FILL}supportsSymbology(e){return e!==r.DOT_DENSITY}drawGeometry(o,r,i,l){const{context:c,painter:y,rendererInfo:p,requiredLevel:_,passOptions:f,requestRender:d}=o,E=n.load(i.materialKey),S=s(E.data),g=e(f)&&\"hittest\"===f.type,N=y.materialManager,{shader:T,vertexLayout:I,hittestAttributes:U}=t(S.programSpec,u(E));let x=m.TRIANGLES,L=a(E.data,I);g&&(L=this._getTriangleDesc(i.materialKey,L,U),x=m.POINTS);const{attributes:h,bufferLayouts:G}=L,O=N.getMaterialProgram(o,E,T,h,l);if(e(d)&&!g&&!O.isCompiled)return void d();if(c.useProgram(O),this._setSharedUniforms(O,o,r),O.setUniform2f(\"u_tileOffset\",512*r.key.col,512*r.key.row),E.textureBinding){y.textureManager.bindTextures(c,O,E);const e=1/2**(_-r.key.level);O.setUniform1f(\"u_zoomFactor\",e)}const b=1/o.pixelRatio;O.setUniform1f(\"u_blur\",b),O.setUniform1f(\"u_antialiasing\",b),this._setSizeVVUniforms(E,O,p,r),this._setColorAndOpacityVVUniforms(E,O,p);const D=i.target.getVAO(c,G,h,g);let R=i.indexCount,j=i.indexFrom*Uint32Array.BYTES_PER_ELEMENT;g&&(R/=3,j/=3),c.bindVAO(D),this._drawFills(o,r,O,x,R,j)}_drawFills(e,t,o,r,a,i){e.context.drawElements(r,a,l.UNSIGNED_INT,i)}}export{c as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{disposeMaybe as e,isSome as t,isNone as o}from\"../../../../../core/maybe.js\";import r from\"../../../../../core/RandomLCG.js\";import{TEXTURE_BINDING_RENDERER_0 as s,TEXTURE_BINDING_RENDERER_1 as i,TILE_SIZE as n}from\"../definitions.js\";import{WGLGeometryType as d,WGLSymbologyType as a}from\"../enums.js\";import l from\"./WGLGeometryBrushFill.js\";import{assertRendererSchema as _}from\"../techniques/utils.js\";import{BufferObject as u}from\"../../../../webgl/BufferObject.js\";import{DataType as m,PrimitiveType as h,TextureType as c,PixelFormat as f,PixelType as T,TextureSamplingMode as p,TextureWrapMode as x,TargetType as w,DepthStencilTargetType as D,RenderbufferFormat as g,Usage as y}from\"../../../../webgl/enums.js\";import{FramebufferObject as S}from\"../../../../webgl/FramebufferObject.js\";import{Renderbuffer as E}from\"../../../../webgl/Renderbuffer.js\";import{Texture as b}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as F}from\"../../../../webgl/VertexArrayObject.js\";class O extends l{constructor(){super(...arguments),this._dotTextureSize=0,this._dotTextures=null,this._dotSamplers=new Int32Array([s,i]),this._dotVAO=null,this._dotDesc={vsPath:\"dot/dot\",fsPath:\"dot/dot\",attributes:new Map([[\"a_pos\",0]])}}dispose(){super.dispose(),this._disposeTextures(),this._dotFBO=e(this._dotFBO),this._dotVAO=e(this._dotVAO)}getGeometryType(){return d.FILL}supportsSymbology(e){return e===a.DOT_DENSITY}_drawFills(e,o,r,s,i,n){const{passOptions:d}=e;if(t(d)&&\"hittest\"===d.type)super._drawFills(e,o,r,s,i,n);else{const t=this._drawDotLocations(e,o,r,i,n);this._drawDotDensity(e,o,t)}}_drawDotDensity(e,o,r){const{context:s,painter:i,rendererInfo:n,requestRender:d}=e,a=i.materialManager.getProgram(this._dotDesc);if(t(d)&&!a.isCompiled)return void d();const{rendererSchema:l}=n;_(l,\"dot-density\");const u=this._createDotDensityMesh(s,this._dotDesc.attributes,{geometry:[{name:\"a_pos\",count:2,type:m.SHORT,divisor:0,normalized:!1,offset:0,stride:4}]});s.setStencilTestEnabled(!0),s.useProgram(a),a.setUniform1f(\"u_tileZoomFactor\",1),a.setUniform1i(\"u_texture\",this._dotSamplers[0]),a.setUniform1f(\"u_dotSize\",Math.max(l.dotSize,1)),a.setUniform1f(\"u_pixelRatio\",window.devicePixelRatio),this._setSharedUniforms(a,e,o),s.bindTexture(r,this._dotSamplers[0]),s.bindVAO(u),s.drawArrays(h.POINTS,0,262144)}_drawDotLocations(e,t,o,r,s){const{context:i,rendererInfo:d,requiredLevel:a}=e,l=i.getViewport(),{rendererSchema:u}=d;_(u,\"dot-density\");const{dotScale:c,colors:f,activeDots:T,backgroundColor:p,dotValue:x}=u;i.setViewport(0,0,512,512);const w=i.getBoundFramebufferObject(),D=this._createFBO(i);i.bindFramebuffer(D),i.setClearColor(0,0,0,0),i.clear(i.gl.COLOR_BUFFER_BIT|i.gl.STENCIL_BUFFER_BIT),i.setStencilTestEnabled(!1);const g=1/2**(a-t.key.level),y=n,S=y*window.devicePixelRatio*y*window.devicePixelRatio,E=1/g*(1/g),b=c?e.state.scale/c:1;return o.setUniform1f(\"u_tileZoomFactor\",g),o.setUniform1f(\"u_tileDotsOverArea\",S/(n*window.devicePixelRatio*n*window.devicePixelRatio)),o.setUniformMatrix4fv(\"u_dotColors\",f),o.setUniform4fv(\"u_isActive\",T),o.setUniform4fv(\"u_dotBackgroundColor\",p),o.setUniform1f(\"u_dotValue\",Math.max(1,x*b*E)),this._bindDotDensityTextures(i,o,d,y),i.drawElements(h.TRIANGLES,r,m.UNSIGNED_INT,s),i.setViewport(l.x,l.y,l.width,l.height),i.bindFramebuffer(w),D.colorTexture}_createFBO(e){if(o(this._dotFBO)){const t=512,o=512,r={target:c.TEXTURE_2D,pixelFormat:f.RGBA,dataType:T.UNSIGNED_BYTE,samplingMode:p.NEAREST,wrapMode:x.CLAMP_TO_EDGE,width:t,height:o},s={colorTarget:w.TEXTURE,depthStencilTarget:D.DEPTH_STENCIL_RENDER_BUFFER},i=new E(e,{width:t,height:o,internalFormat:g.DEPTH_STENCIL});this._dotFBO=new S(e,s,r,i)}return this._dotFBO}_disposeTextures(){if(this._dotTextures){for(let e=0;es?2:1,I=e.drawPhase===a.HITTEST,R=this._programOptions;R.id=I,R.pattern=x;const k=v.getMaterialProgram(c,g,R);if(!r(_)||I||k.isCompiled){if(c.bindVAO(this._vao),c.useProgram(k),x){const t=L.getMosaicItemPosition(M,!0);if(r(t)){const{tl:e,br:o,page:s}=t;w=o[0]-e[0],A=o[1]-e[1];const a=L.getPageSize(s);r(a)&&(L.bind(c,f.LINEAR,s,i),k.setUniform4f(\"u_tlbr\",e[0],e[1],o[0],o[1]),k.setUniform2fv(\"u_mosaicSize\",a),k.setUniform1i(\"u_texture\",i))}k.setUniform1f(\"u_opacity\",y)}else this._color[0]=j*b[0],this._color[1]=j*b[1],this._color[2]=j*b[2],this._color[3]=j,k.setUniform4fv(\"u_color\",this._color);if(k.setUniform1f(\"u_depth\",h.z||0),I){const t=n(p+1);k.setUniform4fv(\"u_id\",t)}for(const r of o){if(k.setUniform1f(\"u_coord_range\",r.rangeX),k.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),x){const e=Math.max(2**(Math.round(d)-r.key.level),1),o=P*r.width*e,i=o/t(w),s=o/t(A);this._patternMatrix[0]=i,this._patternMatrix[4]=s,k.setUniformMatrix3fv(\"u_pattern_matrix\",this._patternMatrix)}c.setStencilFunction(l.EQUAL,r.stencilRef,255),c.drawArrays(u.TRIANGLE_STRIP,0,4)}}else _()}_loadWGLResources(t){if(this._vao)return;const{context:r,styleLayer:e}=t,o=e.backgroundMaterial,i=new Int8Array([0,0,1,0,0,1,1,1]),s=m.createVertex(r,p.STATIC_DRAW,i),a=new _(r,o.getAttributeLocations(),o.getLayoutInfo(),{geometry:s});this._vao=a}}export{d as WGLBrushVTLBackground};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as r}from\"../../vectorTiles/style/StyleDefinition.js\";import{WGLDrawPhase as i}from\"../enums.js\";import{u32to4Xu8 as n}from\"../number.js\";import a from\"./WGLBrush.js\";import{CompareFunction as s,PrimitiveType as o,DataType as l}from\"../../../../webgl/enums.js\";class c extends a{constructor(){super(...arguments),this._programOptions={id:!1}}dispose(){}drawMany(a,c){const{context:m,displayLevel:f,requiredLevel:u,state:d,drawPhase:p,painter:y,spriteMosaic:g,styleLayerUID:v,requestRender:E}=a;if(!c.some((e=>e.layerData.get(v)?.circleIndexCount??!1)))return;const M=a.styleLayer,T=M.circleMaterial,x=y.vectorTilesMaterialManager,I=1.2,U=M.getPaintValue(\"circle-translate\",f),_=M.getPaintValue(\"circle-translate-anchor\",f),h=p===i.HITTEST,L=this._programOptions;L.id=h;const R=x.getMaterialProgram(m,T,L);if(!h&&e(E)&&!R.isCompiled)return void E();m.useProgram(R),R.setUniformMatrix3fv(\"u_displayMat3\",_===r.VIEWPORT?d.displayMat3:d.displayViewMat3),R.setUniform2fv(\"u_circleTranslation\",U),R.setUniform1f(\"u_depth\",M.z),R.setUniform1f(\"u_antialiasingWidth\",I);let S=-1;if(h){const e=n(v+1);R.setUniform4fv(\"u_id\",e)}for(const e of c){if(!e.layerData.has(v))continue;e.key.level!==S&&(S=e.key.level,T.setDataUniforms(R,f,M,S,g));const r=e.layerData.get(v);if(!r.circleIndexCount)continue;r.prepareForRendering(m);const i=r.circleVertexArrayObject;t(i)||(m.bindVAO(i),R.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),u!==e.key.level?m.setStencilFunction(s.EQUAL,e.stencilRef,255):m.setStencilFunction(s.GREATER,255,255),m.drawElements(o.TRIANGLES,r.circleIndexCount,l.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r.circleIndexStart),e.triangleCount+=r.circleIndexCount/3)}}}export{c as WGLBrushVTLCircle};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as r,VTL_HIGH_RES_CUTOFF as n}from\"../definitions.js\";import{WGLDrawPhase as a}from\"../enums.js\";import{u32to4Xu8 as o}from\"../number.js\";import s from\"./WGLBrush.js\";import{TextureSamplingMode as l,CompareFunction as f,PrimitiveType as u,DataType as d}from\"../../../../webgl/enums.js\";const c=1/65536;class m extends s{constructor(){super(...arguments),this._fillProgramOptions={id:!1,pattern:!1},this._outlineProgramOptions={id:!1}}dispose(){}drawMany(t,e){const{displayLevel:i,drawPhase:r,renderPass:n,spriteMosaic:s,styleLayerUID:l}=t;let f=!1;for(const a of e)if(a.layerData.has(l)){const t=a.layerData.get(l);if(t.fillIndexCount>0||t.outlineIndexCount>0){f=!0;break}}if(!f)return;const u=t.styleLayer,d=u.getPaintProperty(\"fill-pattern\"),c=void 0!==d,m=c&&d.isDataDriven;let p;if(c&&!m){const t=d.getValue(i);p=s.getMosaicItemPosition(t,!0)}const y=!c&&u.getPaintValue(\"fill-antialias\",i);let g=!0,_=1;if(!c){const t=u.getPaintProperty(\"fill-color\"),e=u.getPaintProperty(\"fill-opacity\");if(!t?.isDataDriven&&!e?.isDataDriven){const t=u.getPaintValue(\"fill-color\",i);_=u.getPaintValue(\"fill-opacity\",i)*t[3],_>=1&&(g=!1)}}if(g&&\"opaque\"===n)return;let E;r===a.HITTEST&&(E=o(l+1));const v=u.getPaintValue(\"fill-translate\",i),M=u.getPaintValue(\"fill-translate-anchor\",i);(g||\"translucent\"!==n)&&this._drawFill(t,l,u,e,v,M,c,p,m,E);const P=!u.hasDataDrivenOutlineColor&&u.outlineUsesFillColor&&_<1;y&&\"opaque\"!==n&&!P&&this._drawOutline(t,l,u,e,v,M,E)}_drawFill(o,s,m,p,y,g,_,E,v,M){if(_&&!v&&t(E))return;const{context:P,displayLevel:I,state:T,drawPhase:U,painter:x,pixelRatio:h,spriteMosaic:D,requestRender:S}=o,R=m.fillMaterial,N=x.vectorTilesMaterialManager,w=h>n?2:1,L=U===a.HITTEST,A=this._fillProgramOptions;A.id=L,A.pattern=_;const C=N.getMaterialProgram(P,R,A);if(e(S)&&!L&&!C.isCompiled)return void S();if(P.useProgram(C),e(E)){const{page:t}=E,i=D.getPageSize(t);e(i)&&(D.bind(P,l.LINEAR,t,r),C.setUniform2fv(\"u_mosaicSize\",i),C.setUniform1i(\"u_texture\",r))}C.setUniformMatrix3fv(\"u_displayMat3\",g===i.VIEWPORT?T.displayMat3:T.displayViewMat3),C.setUniform2fv(\"u_fillTranslation\",y),C.setUniform1f(\"u_depth\",m.z+c),L&&C.setUniform4fv(\"u_id\",M);let V=-1;for(const i of p){if(!i.layerData.has(s))continue;i.key.level!==V&&(V=i.key.level,R.setDataUniforms(C,I,m,V,D));const n=i.layerData.get(s);if(!n.fillIndexCount)continue;n.prepareForRendering(P);const a=n.fillVertexArrayObject;if(!t(a)){if(P.bindVAO(a),C.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),P.setStencilFunction(f.EQUAL,i.stencilRef,255),_){const t=Math.max(2**(Math.round(I)-i.key.level),1),e=i.rangeX/(w*i.width*t);C.setUniform1f(\"u_patternFactor\",e)}if(v){const t=n.patternMap;if(!t)continue;for(const[i,n]of t){const t=D.getPageSize(i);e(t)&&(D.bind(P,l.LINEAR,i,r),C.setUniform2fv(\"u_mosaicSize\",t),C.setUniform1i(\"u_texture\",r),P.drawElements(u.TRIANGLES,n[1],d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n[0]))}}else P.drawElements(u.TRIANGLES,n.fillIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*n.fillIndexStart);i.triangleCount+=n.fillIndexCount/3}}}_drawOutline(r,n,o,s,l,m,p){const{context:y,displayLevel:g,state:_,drawPhase:E,painter:v,pixelRatio:M,spriteMosaic:P,requestRender:I}=r,T=o.outlineMaterial,U=v.vectorTilesMaterialManager,x=.75/M,h=E===a.HITTEST,D=this._outlineProgramOptions;D.id=h;const S=U.getMaterialProgram(y,T,D);if(e(I)&&!h&&!S.isCompiled)return void I();y.useProgram(S),S.setUniformMatrix3fv(\"u_displayMat3\",m===i.VIEWPORT?_.displayMat3:_.displayViewMat3),S.setUniform2fv(\"u_fillTranslation\",l),S.setUniform1f(\"u_depth\",o.z+c),S.setUniform1f(\"u_outline_width\",x),h&&S.setUniform4fv(\"u_id\",p);let R=-1;for(const e of s){if(!e.layerData.has(n))continue;e.key.level!==R&&(R=e.key.level,T.setDataUniforms(S,g,o,R,P));const i=e.layerData.get(n);if(i.prepareForRendering(y),!i.outlineIndexCount)continue;const r=i.outlineVertexArrayObject;t(r)||(y.bindVAO(r),S.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),y.setStencilFunction(f.EQUAL,e.stencilRef,255),y.drawElements(u.TRIANGLES,i.outlineIndexCount,d.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i.outlineIndexStart),e.triangleCount+=i.outlineIndexCount/3)}}}export{m as WGLBrushVTLFill};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{TranslateAnchor as i}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as n}from\"../definitions.js\";import{WGLDrawPhase as r}from\"../enums.js\";import{u32to4Xu8 as a}from\"../number.js\";import o from\"./WGLBrush.js\";import{TextureSamplingMode as s,CompareFunction as l,PrimitiveType as f,DataType as m}from\"../../../../webgl/enums.js\";class u extends o{constructor(){super(...arguments),this._programOptions={id:!1,pattern:!1,sdf:!1}}dispose(){}drawMany(o,u){const{context:c,displayLevel:d,state:p,drawPhase:g,painter:y,pixelRatio:E,spriteMosaic:M,styleLayerUID:_,requestRender:v}=o;if(!u.some((e=>e.layerData.get(_)?.lineIndexCount??!1)))return;const U=o.styleLayer,I=U.lineMaterial,P=y.vectorTilesMaterialManager,x=U.getPaintValue(\"line-translate\",d),T=U.getPaintValue(\"line-translate-anchor\",d),S=U.getPaintProperty(\"line-pattern\"),D=void 0!==S,L=D&&S.isDataDriven;let N,R;if(D&&!L){const e=S.getValue(d);N=M.getMosaicItemPosition(e)}let V=!1;if(!D){const e=U.getPaintProperty(\"line-dasharray\");if(R=void 0!==e,V=R&&e.isDataDriven,R&&!V){const t=e.getValue(d),i=U.getDashKey(t,U.getLayoutValue(\"line-cap\",d));N=M.getMosaicItemPosition(i)}}const h=1/E,A=g===r.HITTEST,j=this._programOptions;j.id=A,j.pattern=D,j.sdf=R;const w=P.getMaterialProgram(c,I,j);if(e(v)&&!A&&!w.isCompiled)return void v();if(c.useProgram(w),w.setUniformMatrix3fv(\"u_displayViewMat3\",p.displayViewMat3),w.setUniformMatrix3fv(\"u_displayMat3\",T===i.VIEWPORT?p.displayMat3:p.displayViewMat3),w.setUniform2fv(\"u_lineTranslation\",x),w.setUniform1f(\"u_depth\",U.z),w.setUniform1f(\"u_antialiasing\",h),A){const e=a(_+1);w.setUniform4fv(\"u_id\",e)}if(N&&e(N)){const{page:t}=N,i=M.getPageSize(t);e(i)&&(M.bind(c,s.LINEAR,t,n),w.setUniform2fv(\"u_mosaicSize\",i),w.setUniform1i(\"u_texture\",n))}let b=-1;for(const i of u){if(!i.layerData.has(_))continue;i.key.level!==b&&(b=i.key.level,I.setDataUniforms(w,d,U,b,M));const r=2**(d-b)/E;w.setUniform1f(\"u_zoomFactor\",r);const a=i.layerData.get(_);if(!a.lineIndexCount)continue;a.prepareForRendering(c);const o=a.lineVertexArrayObject;if(!t(o)){if(c.bindVAO(o),w.setUniformMatrix3fv(\"u_dvsMat3\",i.transforms.dvs),c.setStencilFunction(l.EQUAL,i.stencilRef,255),L||V){const t=a.patternMap;if(!t)continue;for(const[i,r]of t){const t=M.getPageSize(i);e(t)&&(M.bind(c,s.LINEAR,i,n),w.setUniform2fv(\"u_mosaicSize\",t),w.setUniform1i(\"u_texture\",n),c.drawElements(f.TRIANGLES,r[1],m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*r[0]))}}else c.drawElements(f.TRIANGLES,a.lineIndexCount,m.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*a.lineIndexStart);i.triangleCount+=a.lineIndexCount/3}}}}export{u as WGLBrushVTLLine};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../../../core/maybe.js\";import{c as i,f as a}from\"../../../../../chunks/vec2f32.js\";import{FADE_DURATION as r}from\"../../vectorTiles/decluttering/config.js\";import{RotationAlignment as s,SymbolPlacement as n,TranslateAnchor as o}from\"../../vectorTiles/style/StyleDefinition.js\";import{VTL_TEXTURE_BINDING_UNIT_SPRITES as l,VTL_TEXTURE_BINDING_UNIT_GLYPHS as f}from\"../definitions.js\";import{WGLDrawPhase as u}from\"../enums.js\";import{degToByte as m}from\"../GeometryUtils.js\";import{u32to4Xu8 as p}from\"../number.js\";import c from\"./WGLBrush.js\";import{TextureSamplingMode as d,CompareFunction as g,PrimitiveType as y,DataType as _}from\"../../../../webgl/enums.js\";const h=1/65536;class M extends c{constructor(){super(...arguments),this._iconProgramOptions={id:!1,sdf:!1},this._sdfProgramOptions={id:!1},this._spritesTextureSize=i()}dispose(){}drawMany(e,t){const{drawPhase:i,styleLayerUID:a}=e,r=e.styleLayer;let s;i===u.HITTEST&&(s=p(a+1)),this._drawIcons(e,r,t,s),this._drawText(e,r,t,s)}_drawIcons(i,a,f,p){const{context:c,displayLevel:d,drawPhase:g,painter:y,spriteMosaic:_,state:h,styleLayerUID:M,requestRender:P}=i,T=a.iconMaterial,U=y.vectorTilesMaterialManager;let E,x=!1;for(const e of f)if(e.layerData.has(M)&&(E=e.layerData.get(M),E.iconPerPageElementsMap.size>0)){x=!0;break}if(!x)return;const v=a.getPaintValue(\"icon-translate\",d),I=a.getPaintValue(\"icon-translate-anchor\",d);let S=a.getLayoutValue(\"icon-rotation-alignment\",d);S===s.AUTO&&(S=a.getLayoutValue(\"symbol-placement\",d)===n.POINT?s.VIEWPORT:s.MAP);const D=S===s.MAP,V=a.getLayoutValue(\"icon-keep-upright\",d)&&D,R=E.isIconSDF,w=g===u.HITTEST,A=this._iconProgramOptions;A.id=w,A.sdf=R;const L=U.getMaterialProgram(c,T,A);if(e(P)&&!w&&!L.isCompiled)return void P();c.useProgram(L),L.setUniformMatrix3fv(\"u_displayViewMat3\",S===s.MAP?h.displayViewMat3:h.displayMat3),L.setUniformMatrix3fv(\"u_displayMat3\",I===o.VIEWPORT?h.displayMat3:h.displayViewMat3),L.setUniform2fv(\"u_iconTranslation\",v),L.setUniform1f(\"u_depth\",a.z),L.setUniform1f(\"u_mapRotation\",m(h.rotation)),L.setUniform1f(\"u_keepUpright\",V?1:0),L.setUniform1f(\"u_level\",10*d),L.setUniform1i(\"u_texture\",l),L.setUniform1f(\"u_fadeDuration\",r/1e3),w&&L.setUniform4fv(\"u_id\",p);let O=-1;for(const e of f){if(!e.layerData.has(M))continue;if(e.key.level!==O&&(O=e.key.level,T.setDataUniforms(L,d,a,O,_)),E=e.layerData.get(M),0===E.iconPerPageElementsMap.size)continue;E.prepareForRendering(c),E.updateOpacityInfo();const r=E.iconVertexArrayObject;if(!t(r)){c.bindVAO(r),L.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),L.setUniform1f(\"u_time\",(performance.now()-E.lastOpacityUpdate)/1e3);for(const[t,a]of E.iconPerPageElementsMap)this._renderIconRange(i,L,a,t,e)}}}_renderIconRange(e,t,i,a,r){const{context:s,spriteMosaic:n}=e;this._spritesTextureSize[0]=n.getWidth(a)/4,this._spritesTextureSize[1]=n.getHeight(a)/4,t.setUniform2fv(\"u_mosaicSize\",this._spritesTextureSize),n.bind(s,d.LINEAR,a,l),s.setStencilTestEnabled(!0),s.setStencilFunction(g.GREATER,255,255),s.setStencilWriteMask(0),s.drawElements(y.TRIANGLES,i[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*i[0]),r.triangleCount+=i[1]/3}_drawText(i,l,p,c){const{context:d,displayLevel:y,drawPhase:_,glyphMosaic:M,painter:P,pixelRatio:T,spriteMosaic:U,state:E,styleLayerUID:x,requestRender:v}=i,I=l.textMaterial,S=P.vectorTilesMaterialManager;let D,V=!1;for(const e of p)if(e.layerData.has(x)&&(D=e.layerData.get(x),D.glyphPerPageElementsMap.size>0)){V=!0;break}if(!V)return;const R=l.getPaintProperty(\"text-opacity\");if(R&&!R.isDataDriven&&0===R.getValue(y))return;const w=l.getPaintProperty(\"text-color\"),A=!w||w.isDataDriven||w.getValue(y)[3]>0,L=l.getPaintProperty(\"text-halo-width\"),O=l.getPaintProperty(\"text-halo-color\"),N=(!L||L.isDataDriven||L.getValue(y)>0)&&(!O||O.isDataDriven||O.getValue(y)[3]>0);if(!A&&!N)return;const b=24/8;let z=l.getLayoutValue(\"text-rotation-alignment\",y);z===s.AUTO&&(z=l.getLayoutValue(\"symbol-placement\",y)===n.POINT?s.VIEWPORT:s.MAP);const k=z===s.MAP,j=l.getLayoutValue(\"text-keep-upright\",y)&&k,G=_===u.HITTEST,W=.8*b/T;this._glyphTextureSize||(this._glyphTextureSize=a(M.width/4,M.height/4));const C=l.getPaintValue(\"text-translate\",y),F=l.getPaintValue(\"text-translate-anchor\",y),B=this._sdfProgramOptions;B.id=G;const H=S.getMaterialProgram(d,I,B);if(e(v)&&!G&&!H.isCompiled)return void v();d.useProgram(H),H.setUniformMatrix3fv(\"u_displayViewMat3\",z===s.MAP?E.displayViewMat3:E.displayMat3),H.setUniformMatrix3fv(\"u_displayMat3\",F===o.VIEWPORT?E.displayMat3:E.displayViewMat3),H.setUniform2fv(\"u_textTranslation\",C),H.setUniform1f(\"u_depth\",l.z+h),H.setUniform2fv(\"u_mosaicSize\",this._glyphTextureSize),H.setUniform1f(\"u_mapRotation\",m(E.rotation)),H.setUniform1f(\"u_keepUpright\",j?1:0),H.setUniform1f(\"u_level\",10*y),H.setUniform1i(\"u_texture\",f),H.setUniform1f(\"u_antialiasingWidth\",W),H.setUniform1f(\"u_fadeDuration\",r/1e3),G&&H.setUniform4fv(\"u_id\",c);let Y=-1;for(const e of p){if(!e.layerData.has(x))continue;if(e.key.level!==Y&&(Y=e.key.level,I.setDataUniforms(H,y,l,Y,U)),D=e.layerData.get(x),0===D.glyphPerPageElementsMap.size)continue;D.prepareForRendering(d),D.updateOpacityInfo();const i=D.textVertexArrayObject;if(t(i))continue;d.bindVAO(i),H.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),d.setStencilTestEnabled(!0),d.setStencilFunction(g.GREATER,255,255),d.setStencilWriteMask(0);const a=(performance.now()-D.lastOpacityUpdate)/1e3;H.setUniform1f(\"u_time\",a),D.glyphPerPageElementsMap.forEach(((t,i)=>{this._renderGlyphRange(d,t,i,M,H,N,A,e)}))}}_renderGlyphRange(e,t,i,a,r,s,n,o){a.bind(e,d.LINEAR,i,f),s&&(r.setUniform1f(\"u_halo\",1),e.drawElements(y.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3),n&&(r.setUniform1f(\"u_halo\",0),e.drawElements(y.TRIANGLES,t[1],_.UNSIGNED_INT,Uint32Array.BYTES_PER_ELEMENT*t[0]),o.triangleCount+=t[1]/3)}}export{M as WGLBrushVTLSymbol};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LabelMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as r,CompareFunction as i,PrimitiveType as s}from\"../../../../webgl/enums.js\";const m=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texAndSize\",count:4,type:r.UNSIGNED_BYTE},{location:5,name:\"a_refSymbolAndPlacementOffset\",count:4,type:r.UNSIGNED_BYTE},{location:6,name:\"a_glyphData\",count:4,type:r.UNSIGNED_BYTE},{location:7,name:\"a_vertexOffset\",count:2,type:r.SHORT},{location:8,name:\"a_texCoords\",count:2,type:r.UNSIGNED_SHORT}]});class l extends a{dispose(){}getGeometryType(){return t.LABEL}supportsSymbology(e){return!0}drawGeometry(t,o,a,l){const{context:u,painter:p,state:c,rendererInfo:d,passOptions:f,requestRender:y}=t,_=n.load(a.materialKey),E=e(f)&&\"hittest\"===f.type,N=_.mapAligned?1:0;if(!N&&Math.abs(o.key.level-Math.round(100*t.displayLevel)/100)>=1)return;const{bufferLayouts:S,attributes:U}=m(_),T=p.materialManager.getMaterialProgram(t,_,\"materials/label\",U,l);if(e(y)&&!E&&!T.isCompiled)return void y();t.context.setStencilFunction(i.EQUAL,0,255),u.useProgram(T),this._setSharedUniforms(T,t,o),p.textureManager.bindTextures(u,T,_);const g=1===N?c.displayViewMat3:c.displayMat3;this._setSizeVVUniforms(_,T,d,o),T.setUniform1f(\"u_mapRotation\",Math.floor(c.rotation/360*254)),T.setUniform1f(\"u_mapAligned\",N),T.setUniformMatrix3fv(\"u_displayMat3\",g),T.setUniform1f(\"u_opacity\",1),T.setUniform2fv(\"u_screenSize\",t.state.size),T.setUniform1f(\"u_isHalo\",1);const G=a.target.getVAO(u,S,U),I=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;u.bindVAO(G),u.drawElements(s.TRIANGLES,a.indexCount,r.UNSIGNED_INT,I),T.setUniform1f(\"u_isHalo\",0),u.drawElements(s.TRIANGLES,a.indexCount,r.UNSIGNED_INT,I),u.setStencilTestEnabled(!0),u.setBlendingEnabled(!0)}}export{l as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e}from\"../../../../../core/maybe.js\";import{WGLGeometryType as t}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{LineMaterialKey as n}from\"../materialKey/MaterialKey.js\";import{DataType as r,PrimitiveType as i}from\"../../../../webgl/enums.js\";const s=e=>o(e.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:r.SHORT},{location:1,name:\"a_id\",count:4,type:r.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:r.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_offsetAndNormal\",count:4,type:r.BYTE},{location:4,name:\"a_accumulatedDistanceAndHalfWidth\",count:2,type:r.UNSIGNED_SHORT},{location:5,name:\"a_tlbr\",count:4,type:r.UNSIGNED_SHORT},{location:6,name:\"a_segmentDirection\",count:4,type:r.BYTE},{location:7,name:\"a_aux\",count:2,type:r.UNSIGNED_SHORT},{location:8,name:\"a_zoomRange\",count:2,type:r.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return t.LINE}supportsSymbology(e){return!0}drawGeometry(t,o,a,m){const{context:l,painter:c,rendererInfo:u,displayLevel:p,passOptions:y,requestRender:d}=t,_=n.load(a.materialKey),f=e(y)&&\"hittest\"===y.type;let E=s(_),N=i.TRIANGLES;f&&(E=this._getTriangleDesc(a.materialKey,E),N=i.POINTS);const{attributes:g,bufferLayouts:S}=E,T=c.materialManager.getMaterialProgram(t,_,\"materials/line\",g,m);if(e(d)&&!f&&!T.isCompiled)return void d();const U=1/t.pixelRatio,G=0;l.useProgram(T),this._setSharedUniforms(T,t,o),_.textureBinding&&c.textureManager.bindTextures(l,T,_);const I=2**(p-o.key.level);T.setUniform1f(\"u_zoomFactor\",I),T.setUniform1f(\"u_blur\",G+U),T.setUniform1f(\"u_antialiasing\",U),this._setSizeVVUniforms(_,T,u,o),this._setColorAndOpacityVVUniforms(_,T,u),l.setFaceCullingEnabled(!1);const b=a.target.getVAO(l,S,g,f);let x=a.indexCount,D=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;f&&(x/=3,D/=3),l.bindVAO(b),l.drawElements(N,x,r.UNSIGNED_INT,D)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{WGLGeometryType as e}from\"../enums.js\";import{createProgramDescriptor as o}from\"../Utils.js\";import a from\"./WGLGeometryBrush.js\";import{TextMaterialKey as r}from\"../materialKey/MaterialKey.js\";import{DataType as n,PrimitiveType as i}from\"../../../../webgl/enums.js\";const s=t=>o(t.data,{geometry:[{location:0,name:\"a_pos\",count:2,type:n.SHORT},{location:1,name:\"a_id\",count:4,type:n.UNSIGNED_BYTE},{location:2,name:\"a_color\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:3,name:\"a_haloColor\",count:4,type:n.UNSIGNED_BYTE,normalized:!0},{location:4,name:\"a_texFontSize\",count:4,type:n.UNSIGNED_BYTE},{location:5,name:\"a_aux\",count:4,type:n.BYTE},{location:6,name:\"a_zoomRange\",count:2,type:n.UNSIGNED_SHORT},{location:7,name:\"a_vertexOffset\",count:2,type:n.SHORT},{location:8,name:\"a_texCoords\",count:2,type:n.UNSIGNED_SHORT}]});class m extends a{dispose(){}getGeometryType(){return e.TEXT}supportsSymbology(t){return!0}drawGeometry(e,o,a,m){const{context:l,painter:p,rendererInfo:u,state:y,passOptions:d,requestRender:_}=e,c=r.load(a.materialKey),f=t(d)&&\"hittest\"===d.type,{bufferLayouts:E,attributes:N}=s(c),S=p.materialManager.getMaterialProgram(e,c,\"materials/text\",N,m);if(t(_)&&!f&&!S.isCompiled)return void _();l.useProgram(S);let T=i.TRIANGLES;f&&(T=i.POINTS),this._setSharedUniforms(S,e,o),p.textureManager.bindTextures(l,S,c),S.setUniformMatrix3fv(\"u_displayMat3\",y.displayMat3),S.setUniformMatrix3fv(\"u_displayViewMat3\",y.displayViewMat3),this._setSizeVVUniforms(c,S,u,o),this._setColorAndOpacityVVUniforms(c,S,u),this._setRotationVVUniforms(c,S,u),S.setUniform1f(\"u_isHalo\",1);const U=a.target.getVAO(l,E,N),x=a.indexFrom*Uint32Array.BYTES_PER_ELEMENT;l.bindVAO(U),l.drawElements(i.TRIANGLES,a.indexCount,n.UNSIGNED_INT,x),S.setUniform1f(\"u_isHalo\",0),l.drawElements(T,a.indexCount,n.UNSIGNED_INT,x)}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport r from\"./flow/BrushFlow.js\";import s from\"./imagery/BrushRasterBitmap.js\";import e from\"./imagery/BrushVectorField.js\";import o from\"./webgl/brushes/BrushBitmap.js\";import l from\"./webgl/brushes/BrushClip.js\";import t from\"./webgl/brushes/BrushOverlay.js\";import m from\"./webgl/brushes/WGLBrushDotDensity.js\";import i from\"./webgl/brushes/WGLBrushHeatmap.js\";import b from\"./webgl/brushes/WGLBrushInfo.js\";import h from\"./webgl/brushes/WGLBrushPieChart.js\";import u from\"./webgl/brushes/WGLBrushStencil.js\";import{WGLBrushVTLBackground as p}from\"./webgl/brushes/WGLBrushVTLBackground.js\";import{WGLBrushVTLCircle as f}from\"./webgl/brushes/WGLBrushVTLCircle.js\";import{WGLBrushVTLFill as B}from\"./webgl/brushes/WGLBrushVTLFill.js\";import{WGLBrushVTLLine as L}from\"./webgl/brushes/WGLBrushVTLLine.js\";import{WGLBrushVTLSymbol as a}from\"./webgl/brushes/WGLBrushVTLSymbol.js\";import g from\"./webgl/brushes/WGLGeometryBrushFill.js\";import j from\"./webgl/brushes/WGLGeometryBrushLabel.js\";import w from\"./webgl/brushes/WGLGeometryBrushLine.js\";import G from\"./webgl/brushes/WGLGeometryBrushMarker.js\";import n from\"./webgl/brushes/WGLGeometryBrushText.js\";const W={marker:G,line:w,fill:g,text:n,label:j,clip:l,stencil:u,bitmap:o,overlay:t,raster:s,rasterVF:e,flow:r,tileInfo:b,vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a,dotDensity:m,heatmap:i,pieChart:h},y={vtlBackground:p,vtlFill:B,vtlLine:L,vtlCircle:f,vtlSymbol:a};export{W as brushes,y as vtlBrushes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as e,isSome as t}from\"../../../../core/maybe.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{BlendFactor as r,StencilOperation as s,CompareFunction as o,PrimitiveType as n,DataType as i}from\"../../../webgl/enums.js\";const l=new Float32Array([.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1]),c={beaufort_ft:l,beaufort_m:l,beaufort_km:l,beaufort_mi:l,beaufort_kn:new Float32Array([.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1]),classified_arrow:new Float32Array([.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1]),ocean_current_m:new Float32Array([.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),ocean_current_kn:new Float32Array([0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),single_arrow:new Float32Array([0,92/255,230/255,1]),wind_speed:new Float32Array([0,0,0,1])};class m extends a{constructor(){super(...arguments),this._desc={magdir:{vsPath:\"raster/magdir\",fsPath:\"raster/magdir\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])},scalar:{vsPath:\"raster/scalar\",fsPath:\"raster/scalar\",attributes:new Map([[\"a_pos\",0],[\"a_offset\",1],[\"a_vv\",2]])}}}dispose(){}prepareState({context:e},t){e.setBlendingEnabled(!0),e.setBlendFunctionSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA),e.setColorMask(!0,!0,!0,!0),e.setStencilWriteMask(0),e.setStencilTestEnabled(!0),e.setStencilOp(s.KEEP,s.KEEP,s.REPLACE),e.setStencilFunction(o.EQUAL,t.stencilRef,255)}draw(t,a){if(e(a.source)||0===a.source.validPixelCount)return;const{timeline:r}=t;if(r.begin(this.name),a.updateVectorFieldVAO(t),\"scalar\"===t.renderPass){const e=a.vaoData.scalar;e&&this._drawScalars(t,a,e.vao,e.elementCount)}else{const e=a.vaoData.magdir;e&&this._drawTriangles(t,a,e.vao,e.elementCount)}r.end(this.name)}_drawTriangles(e,a,r,s){const{context:o,painter:l,requestRender:m}=e,{symbolizerParameters:d}=a,f=d.dataRange?[\"dataRange\"]:[];\"geographic\"===d.rotationType&&f.push(\"rotationGeographic\");const u=l.materialManager.getProgram(this._desc.magdir,f);if(t(m)&&!u.isCompiled)return void m();o.useProgram(u);const{coordScale:_,opacity:g,transforms:p}=a;u.setUniform2fv(\"u_coordScale\",_),u.setUniform1f(\"u_opacity\",g),u.setUniformMatrix3fv(\"u_dvsMat3\",p.dvs);const{style:y,dataRange:v,rotation:b,symbolPercentRange:S}=d;u.setUniform4fv(\"u_colors\",c[y]||c.single_arrow),u.setUniform2fv(\"u_dataRange\",v),u.setUniform1f(\"u_rotation\",b),u.setUniform2fv(\"u_symbolPercentRange\",S);const h=this._getSymbolSize(e,a);u.setUniform2fv(\"u_symbolSize\",h),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_drawScalars(e,a,r,s){const{context:o,painter:l,requestRender:c}=e,{symbolizerParameters:m}=a,d=[];\"wind_speed\"===m.style?d.push(\"innerCircle\"):m.dataRange&&d.push(\"dataRange\"),\"geographic\"===m.rotationType&&d.push(\"rotationGeographic\");const f=l.materialManager.getProgram(this._desc.scalar,d);if(t(c)&&!f.isCompiled)return void c();o.useProgram(f);const{coordScale:u,opacity:_,transforms:g}=a;f.setUniform2fv(\"u_coordScale\",u),f.setUniform1f(\"u_opacity\",_),f.setUniformMatrix3fv(\"u_dvsMat3\",g.dvs);const{dataRange:p,symbolPercentRange:y}=m;f.setUniform2fv(\"u_dataRange\",p),f.setUniform2fv(\"u_symbolPercentRange\",y);const v=this._getSymbolSize(e,a);f.setUniform2fv(\"u_symbolSize\",v),o.bindVAO(r),o.drawElements(n.TRIANGLES,s,i.UNSIGNED_INT,0)}_getSymbolSize(e,t){const a=t.key?2**(e.displayLevel-t.key.level):t.resolution/e.state.resolution,{symbolTileSize:r}=t.symbolizerParameters;return[r/(Math.round((t.width-t.offset[0])/r)*r)/a,r/(Math.round((t.height-t.offset[1])/r)*r)/a]}}export{m as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as t}from\"../../chunks/tslib.es6.js\";import\"../../core/has.js\";import e from\"../../core/Error.js\";import{JSONSupport as s}from\"../../core/JSONSupport.js\";import{clone as i}from\"../../core/lang.js\";import l from\"../../core/Logger.js\";import{isNone as r}from\"../../core/maybe.js\";import{property as a}from\"../../core/accessorSupport/decorators/property.js\";import{cast as o}from\"../../core/accessorSupport/decorators/cast.js\";import{subclass as h}from\"../../core/accessorSupport/decorators/subclass.js\";var n;const p=l.getLogger(\"esri.layers.support.PixelBlock\");let c=n=class extends s{constructor(t){super(t),this.width=null,this.height=null,this.pixelType=\"f32\",this.validPixelCount=null,this.mask=null,this.maskIsAlpha=!1,this.pixels=null,this.statistics=null}static createEmptyBand(t,e){return new(n.getPixelArrayConstructor(t))(e)}static getPixelArrayConstructor(t){let e;switch(t){case\"u1\":case\"u2\":case\"u4\":case\"u8\":e=Uint8Array;break;case\"u16\":e=Uint16Array;break;case\"u32\":e=Uint32Array;break;case\"s8\":e=Int8Array;break;case\"s16\":e=Int16Array;break;case\"s32\":e=Int32Array;break;case\"f32\":case\"c64\":case\"c128\":case\"unknown\":e=Float32Array;break;case\"f64\":e=Float64Array}return e}castPixelType(t){if(!t)return\"f32\";let e=t.toLowerCase();return[\"u1\",\"u2\",\"u4\"].includes(e)?e=\"u8\":[\"unknown\",\"u8\",\"s8\",\"u16\",\"s16\",\"u32\",\"s32\",\"f32\",\"f64\"].includes(e)||(e=\"f32\"),e}getPlaneCount(){return this.pixels&&this.pixels.length}addData(t){if(!t.pixels||t.pixels.length!==this.width*this.height)throw new e(\"pixelblock:invalid-or-missing-pixels\",\"add data requires valid pixels array that has same length defined by pixel block width * height\");this.pixels||(this.pixels=[]),this.statistics||(this.statistics=[]),this.pixels.push(t.pixels),this.statistics.push(t.statistics||{minValue:null,maxValue:null})}getAsRGBA(){const t=new ArrayBuffer(this.width*this.height*4);switch(this.pixelType){case\"s8\":case\"s16\":case\"u16\":case\"s32\":case\"u32\":case\"f32\":case\"f64\":this._fillFromNon8Bit(t);break;default:this._fillFrom8Bit(t)}return new Uint8ClampedArray(t)}getAsRGBAFloat(){const t=new Float32Array(this.width*this.height*4);return this._fillFrom32Bit(t),t}updateStatistics(){this.statistics=this.pixels.map((t=>this._calculateBandStatistics(t,this.mask)));const t=this.mask;let e=0;if(t)for(let s=0;si?i:ht>=this.pixels.length)),i=e===t.length&&!t.some(((t,e)=>t!==e));return s||i?this:new n({pixelType:this.pixelType,width:this.width,height:this.height,mask:this.mask,validPixelCount:this.validPixelCount,maskIsAlpha:this.maskIsAlpha,pixels:t.map((t=>this.pixels[t])),statistics:this.statistics&&t.map((t=>this.statistics[t]))})}clone(){const t=new n({width:this.width,height:this.height,pixelType:this.pixelType,maskIsAlpha:this.maskIsAlpha,validPixelCount:this.validPixelCount});let e;this.mask&&(this.mask instanceof Uint8Array?t.mask=new Uint8Array(this.mask):t.mask=this.mask.slice(0));const s=n.getPixelArrayConstructor(this.pixelType);if(this.pixels&&this.pixels.length>0){t.pixels=[];const i=this.pixels[0].slice;for(e=0;e=3?(r=i[1],a=i[2]):2===i.length&&(r=i[1]);const h=new Uint32Array(t),n=this.width*this.height;if(l.length===n)if(e&&e.length===n)if(s)for(o=0;o0)a=i.map((t=>t.minValue)).reduce(((t,e)=>Math.min(t,e))),o=i.map((t=>t.maxValue-t.minValue)).reduce(((t,e)=>Math.max(t,e))),r=255/o;else{let t=255;\"s8\"===l?(a=-128,t=127):\"u16\"===l?t=65535:\"s16\"===l?(a=-32768,t=32767):\"u32\"===l?t=4294967295:\"s32\"===l?(a=-2147483648,t=2147483647):\"f32\"===l?(a=-34e38,t=34e38):\"f64\"===l&&(a=-Number.MAX_VALUE,t=Number.MAX_VALUE),r=255/(t-a)}const h=new Uint32Array(t),n=this.width*this.height;let c,u,m,x,f;if(c=u=m=e[0],c.length!==n)return p.error(\"getAsRGBA()\",\"Unable to convert to RGBA. The pixelblock is invalid.\");if(e.length>=2)if(u=e[1],e.length>=3&&(m=e[2]),s&&s.length===n)for(x=0;x=3?(l=e[1],r=e[2]):2===e.length&&(l=e[1]);const o=this.width*this.height;if(i.length!==o)return p.error(\"getAsRGBAFloat()\",\"Unable to convert to RGBA. The pixelblock is invalid.\");let h=0;if(s&&s.length===o)for(a=0;ai?a:i);else for(r=0;ri?a:i;return{minValue:s,maxValue:i}}};t([a({json:{write:!0}})],c.prototype,\"width\",void 0),t([a({json:{write:!0}})],c.prototype,\"height\",void 0),t([a({json:{write:!0}})],c.prototype,\"pixelType\",void 0),t([o(\"pixelType\")],c.prototype,\"castPixelType\",null),t([a({json:{write:!0}})],c.prototype,\"validPixelCount\",void 0),t([a({json:{write:!0}})],c.prototype,\"mask\",void 0),t([a({json:{write:!0}})],c.prototype,\"maskIsAlpha\",void 0),t([a({json:{write:!0}})],c.prototype,\"pixels\",void 0),t([a({json:{write:!0}})],c.prototype,\"statistics\",void 0),c=n=t([h(\"esri.layers.support.PixelBlock\")],c);const u=c;export{u as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/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{e as ShaderCompiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nfunction n(){return new Float32Array(4)}function t(n){const t=new Float32Array(4);return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t}function r(n,t,r,e){const a=new Float32Array(4);return a[0]=n,a[1]=t,a[2]=r,a[3]=e,a}function e(n,t){return new Float32Array(n,t,4)}function a(){return n()}function o(){return r(1,1,1,1)}function u(){return r(1,0,0,0)}function s(){return r(0,1,0,0)}function c(){return r(0,0,1,0)}function i(){return r(0,0,0,1)}const f=a(),l=o(),_=u(),y=s(),w=c(),N=i(),O=Object.freeze(Object.defineProperty({__proto__:null,create:n,clone:t,fromValues:r,createView:e,zeros:a,ones:o,unitX:u,unitY:s,unitZ:c,unitW:i,ZEROS:f,ONES:l,UNIT_X:_,UNIT_Y:y,UNIT_Z:w,UNIT_W:N},Symbol.toStringTag,{value:\"Module\"}));export{l as O,_ as U,f as Z,t as a,e as b,n as c,s as d,c as e,r as f,i as g,y as h,w as i,N as j,o,u,O as v,a as z};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{Program as r}from\"./Program.js\";function e(e,t,a=\"\"){return new r(e,a+t.shaders.vertexShader,a+t.shaders.fragmentShader,t.attributes)}export{e as createProgram};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{_ as r}from\"../../chunks/tslib.es6.js\";import e from\"../../core/Logger.js\";import{isAbortError as s}from\"../../core/promiseUtils.js\";import{on as o}from\"../../core/reactiveUtils.js\";import{property as t}from\"../../core/accessorSupport/decorators/property.js\";import\"../../core/arrayUtils.js\";import\"../../core/has.js\";import\"../../core/accessorSupport/ensureType.js\";import{subclass as a}from\"../../core/accessorSupport/decorators/subclass.js\";const i=i=>{let c=class extends i{initialize(){this.handles.add(o((()=>this.layer),\"refresh\",(r=>{this.doRefresh(r.dataChanged).catch((r=>{s(r)||e.getLogger(this.declaredClass).error(r)}))})),\"RefreshableLayerView\")}};return r([t()],c.prototype,\"layer\",void 0),c=r([a(\"esri.layers.mixins.RefreshableLayerView\")],c),c};export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/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:new Map([[\"a_pos\",0]])};export{r as tileInfo};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../../core/maybe.js\";import{f as e}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as r}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as o}from\"../shaders/BackgroundPrograms.js\";import{tileInfo as s}from\"../shaders/TileInfoPrograms.js\";import{BufferObject as n}from\"../../../../webgl/BufferObject.js\";import{BlendFactor as a,PrimitiveType as l,Usage as u,TextureType as m,PixelFormat as _,PixelType as f,TextureSamplingMode as h,TextureWrapMode as c}from\"../../../../webgl/enums.js\";import{createProgram as g}from\"../../../../webgl/ProgramTemplate.js\";import{Texture as d}from\"../../../../webgl/Texture.js\";import{VertexArrayObject as p}from\"../../../../webgl/VertexArrayObject.js\";const A=300,b=32;class x extends i{constructor(){super(...arguments),this._color=e(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(a.ONE,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA),t.setColorMask(!0,!0,!0,!0),t.setStencilWriteMask(0),t.setStencilTestEnabled(!1)}draw(e,r){const{context:i,requestRender:o}=e;if(!r.isReady)return;if(this._loadWGLResources(i),t(o)&&(!this._outlineProgram.isCompiled||!this._tileInfoProgram.isCompiled))return void o();i.bindVAO(this._outlineVertexArrayObject),i.useProgram(this._outlineProgram),this._outlineProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._outlineProgram.setUniform2f(\"u_coord_range\",r.rangeX,r.rangeY),this._outlineProgram.setUniform1f(\"u_depth\",0),this._outlineProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(l.LINE_STRIP,0,4);const s=this._getTexture(i,r);s?(i.bindVAO(this._tileInfoVertexArrayObject),i.useProgram(this._tileInfoProgram),i.bindTexture(s,0),this._tileInfoProgram.setUniformMatrix3fv(\"u_dvsMat3\",r.transforms.dvs),this._tileInfoProgram.setUniform1f(\"u_depth\",0),this._tileInfoProgram.setUniform2f(\"u_coord_ratio\",r.rangeX/r.width,r.rangeY/r.height),this._tileInfoProgram.setUniform2f(\"u_delta\",8,8),this._tileInfoProgram.setUniform2f(\"u_dimensions\",s.descriptor.width,s.descriptor.height),i.drawArrays(l.TRIANGLE_STRIP,0,4),i.bindVAO()):i.bindVAO()}_loadWGLResources(t){if(this._outlineProgram&&this._tileInfoProgram)return;const e=g(t,o),i=g(t,s),a=new Int8Array([0,0,1,0,1,1,0,1]),l=n.createVertex(t,u.STATIC_DRAW,a),m=new p(t,o.attributes,r,{geometry:l}),_=new Int8Array([0,0,1,0,0,1,1,1]),f=n.createVertex(t,u.STATIC_DRAW,_),h=new p(t,s.attributes,r,{geometry:f});this._outlineProgram=e,this._tileInfoProgram=i,this._outlineVertexArrayObject=m,this._tileInfoVertexArrayObject=h}_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\",`${A}`),this._canvas.setAttribute(\"height\",`${b}`),this._canvas.setAttribute(\"style\",\"display:none\"));const r=e.triangleCount;let i=e.key.id;e.triangleCount>0&&(i+=`, ${r}`);const o=this._canvas,s=o.getContext(\"2d\");return s.font=\"24px sans-serif\",s.textAlign=\"left\",s.textBaseline=\"top\",s.clearRect(0,0,A,b),r>1e5?(s.fillStyle=\"red\",s.fillRect(0,0,A,b),s.fillStyle=\"black\"):(s.clearRect(0,0,A,b),s.fillStyle=\"blue\"),s.fillText(i,0,0),e.texture=new d(t,{target:m.TEXTURE_2D,pixelFormat:_.RGBA,dataType:f.UNSIGNED_BYTE,samplingMode:h.NEAREST,wrapMode:c.CLAMP_TO_EDGE},o),e.texture}}export{x as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{BufferObject as t}from\"../../../webgl/BufferObject.js\";import{Usage as e,DataType as r,PrimitiveType as s}from\"../../../webgl/enums.js\";import{VertexArrayObject as i}from\"../../../webgl/VertexArrayObject.js\";import{VertexElementDescriptor as o}from\"../../../webgl/VertexElementDescriptor.js\";class n{constructor(s,n){this.rctx=s,this._vertexBuffer=t.createVertex(s,e.STATIC_DRAW,new Uint16Array(n)),this._vao=new i(s,new Map([[\"a_position\",0]]),{geometry:[new o(\"a_position\",2,r.SHORT,0,4)]},{geometry:this._vertexBuffer}),this._count=n.length/2}bind(){this.rctx.bindVAO(this._vao)}unbind(){this.rctx.bindVAO(null)}dispose(){this._vao.dispose(!1),this._vertexBuffer.dispose()}draw(){this.rctx.bindVAO(this._vao),this.rctx.drawArrays(s.TRIANGLE_STRIP,0,this._count)}}export{n as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as e,isNone as t}from\"../../../core/maybe.js\";class i{constructor(e,t,i){this.pixelBlock=e,this.extent=t,this.originalPixelBlock=i}get width(){return e(this.pixelBlock)?this.pixelBlock.width:0}get height(){return e(this.pixelBlock)?this.pixelBlock.height:0}render(e){const i=this.pixelBlock;if(t(i))return;const l=this.filter({pixelBlock:i});if(t(l.pixelBlock))return;const r=l.pixelBlock.getAsRGBA(),o=e.createImageData(l.pixelBlock.width,l.pixelBlock.height);o.data.set(r),e.putImageData(o,0,0)}getRenderedRasterPixels(){const e=this.filter({pixelBlock:this.pixelBlock});return t(e.pixelBlock)?null:{width:e.pixelBlock.width,height:e.pixelBlock.height,renderedRasterPixels:new Uint8Array(e.pixelBlock.getAsRGBA().buffer)}}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst 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{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e={enableCache:!1};export{e as shaderTranspiler};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../core/has.js\";import{isSome as e}from\"../../core/maybe.js\";import{ShaderType as t}from\"./enums.js\";import r from\"./reservedWordsGLSL3.js\";import{shaderTranspiler as a}from\"./testUtils.js\";var o,n={exports:{}};void 0!==(o=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"])&&(n.exports=o);const i=n.exports;var l,s={exports:{}};l=s,function(e){var t=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"];void 0!==t&&(l.exports=t)}();const c=s.exports;var d={exports:{}};!function(e){!function(t){var r=function(){return[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]}();void 0!==r&&(e.exports=r)}()}(d);const u=d.exports;var g=999,p=9999,f=0,_=1,h=2,x=3,m=4,y=5,w=6,M=7,v=8,T=9,b=10,P=11,E=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"];function C(){var e,t,r,a=0,o=0,n=g,l=[],s=[],d=1,C=0,k=0,j=!1,D=!1,F=\"\";return function(e){return s=[],null!==e?S(e.replace?e.replace(/\\r\\n/g,\"\\n\"):e):R()};function L(e){e.length&&s.push({type:E[n],data:e,position:k,line:d,column:C})}function S(t){var i;for(a=0,r=(F+=t).length;e=F[a],a0)continue;r=e.slice(0,1).join(\"\")}return L(r),k+=r.length,(l=l.slice(r.length)).length}}function q(){return/[^a-fA-F0-9]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function B(){return\".\"===e||/[eE]/.test(e)?(l.push(e),n=y,t=e,a+1):\"x\"===e&&1===l.length&&\"0\"===l[0]?(n=P,l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function H(){return\"f\"===e&&(l.push(e),t=e,a+=1),/[eE]/.test(e)||\"-\"===e&&/[eE]/.test(t)?(l.push(e),t=e,a+1):/[^\\d]/.test(e)?(L(l.join(\"\")),n=g,a):(l.push(e),t=e,a+1)}function N(){if(/[^\\d\\w_]/.test(e)){var r=l.join(\"\");return n=i.indexOf(r)>-1?v:u.indexOf(r)>-1?M:w,L(l.join(\"\")),n=g,a}return l.push(e),t=e,a+1}}function k(e){var t=C(),r=[];return r=(r=r.concat(t(e))).concat(t(null))}function j(e){return k(e)}function D(e){return e.map((e=>\"eof\"!==e.type?e.data:\"\")).join(\"\")}const F=[\"GL_OES_standard_derivatives\",\"GL_EXT_frag_depth\",\"GL_EXT_draw_buffers\",\"GL_EXT_shader_texture_lod\"];function L(e,t=\"100\",r=\"300 es\"){const a=/^\\s*\\#version\\s+([0-9]+(\\s+[a-zA-Z]+)?)\\s*/;for(const o of e)if(\"preprocessor\"===o.type){const e=a.exec(o.data);if(e){const a=e[1].replace(/\\s\\s+/g,\" \");if(a===r)return a;if(a===t)return o.data=\"#version \"+r,t;throw new Error(\"unknown glsl version: \"+a)}}return e.splice(0,0,{type:\"preprocessor\",data:\"#version \"+r},{type:\"whitespace\",data:\"\\n\"}),null}function S(e,t){for(let r=t-1;r>=0;r--){const t=e[r];if(\"whitespace\"!==t.type&&\"block-comment\"!==t.type){if(\"keyword\"!==t.type)break;if(\"attribute\"===t.data||\"in\"===t.data)return!0}}return!1}function R(e,t,r,a){a=a||r;for(const o of e)if(\"ident\"===o.type&&o.data===r){a in t?t[a]++:t[a]=0;return R(e,t,a+\"_\"+t[a],a)}return r}function V(e,t,r=\"afterVersion\"){function a(e,t){for(let r=t;rt=0;--e){const t=i[e];if(\"preprocessor\"===t.type){const r=t.data.match(/\\#extension\\s+(.*)\\:/);if(r&&r[1]&&F.includes(r[1].trim())){const t=i[e+1];i.splice(e,t&&\"whitespace\"===t.type?2:1)}const a=t.data.match(/\\#ifdef\\s+(.*)/);a&&a[1]&&F.includes(a[1].trim())&&(t.data=\"#if 1\");const o=t.data.match(/\\#ifndef\\s+(.*)/);o&&o[1]&&F.includes(o[1].trim())&&(t.data=\"#if 0\")}}return q(a,D(i))}const O=new Map;function U(e){return a.enableCache?O.get(e):null}function q(e,t){return a.enableCache&&O.set(e,t),t}export{I as transpileShader};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{update as t}from\"../../core/arrayUtils.js\";import\"../../core/has.js\";import{isSome as o,isNone as i}from\"../../core/maybe.js\";import{webglValidateShadersEnabled as e}from\"./checkWebGLError.js\";import{ContextType as n}from\"./context-util.js\";import{ShaderType as r,ResourceType as s}from\"./enums.js\";import{transpileShader as m}from\"./ShaderTranspiler.js\";const a=4294967295;class h{constructor(t,o,i,a,h=new Map){this._context=t,this._locations=a,this._uniformBlockBindings=h,this._refCount=1,this._compiled=!1,this._nameToUniformLocation={},this._nameToUniform1={},this._nameToUniform1v=new Map,this._nameToUniform2=new Map,this._nameToUniform3=new Map,this._nameToUniform4=new Map,this._nameToUniformMatrix3=new Map,this._nameToUniformMatrix4=new Map,t||console.error(\"RenderingContext isn't initialized!\"),0===o.length&&console.error(\"Shaders source should not be empty!\"),this._context.type===n.WEBGL2&&(o=m(o,r.VERTEX_SHADER),i=m(i,r.FRAGMENT_SHADER)),this._vShader=f(this._context,r.VERTEX_SHADER,o),this._fShader=f(this._context,r.FRAGMENT_SHADER,i),this._vShader&&this._fShader||console.error(\"Error loading shaders!\"),this._context.instanceCounter.increment(s.Shader,this),e()&&(this.vertexShader=o,this.fragmentShader=i)}get glName(){if(o(this._glName))return this._glName;if(i(this._vShader))return null;const t=this._context.gl,r=t.createProgram();if(t.attachShader(r,this._vShader),t.attachShader(r,this._fShader),this._locations.forEach(((o,i)=>t.bindAttribLocation(r,o,i))),t.linkProgram(r),e()&&!t.getProgramParameter(r,t.LINK_STATUS)&&console.error(`Could not link shader\\nvalidated: ${t.getProgramParameter(r,t.VALIDATE_STATUS)}, gl error ${t.getError()}, vertex: ${t.getShaderParameter(this._vShader,t.COMPILE_STATUS)}, fragment: ${t.getShaderParameter(this._fShader,t.COMPILE_STATUS)}, info log: ${t.getProgramInfoLog(r)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`),this._context.type===n.WEBGL2){const o=t;for(const[t,i]of this._uniformBlockBindings){const e=o.getUniformBlockIndex(r,t);e0)return;const t=this._context.gl;this._vShader&&(t.deleteShader(this._vShader),this._vShader=null,this._context.instanceCounter.decrement(s.Shader,this)),this._fShader&&(t.deleteShader(this._fShader),this._fShader=null),this._glName&&(t.deleteProgram(this._glName),this._glName=null,this._context.instanceCounter.decrement(s.Program,this))}ref(){++this._refCount}_getUniformLocation(t){return void 0===this._nameToUniformLocation[t]&&(++l.numUniforms,this._nameToUniformLocation[t]=this._context.gl.getUniformLocation(this.glName,t)),this._nameToUniformLocation[t]}hasUniform(t){return null!==this._getUniformLocation(t)}setUniform1i(t,o){const i=this._nameToUniform1[t];void 0!==i&&o===i||(this._context.gl.uniform1i(this._getUniformLocation(t),o),this._nameToUniform1[t]=o)}setUniform1iv(t,o){g(this._nameToUniform1v,t,o)&&this._context.gl.uniform1iv(this._getUniformLocation(t),o)}setUniform2iv(t,o){g(this._nameToUniform2,t,o)&&this._context.gl.uniform2iv(this._getUniformLocation(t),o)}setUniform3iv(t,o){g(this._nameToUniform3,t,o)&&this._context.gl.uniform3iv(this._getUniformLocation(t),o)}setUniform4iv(t,o){g(this._nameToUniform4,t,o)&&this._context.gl.uniform4iv(this._getUniformLocation(t),o)}setUniform1f(t,o){const i=this._nameToUniform1[t];void 0!==i&&o===i||(this._context.gl.uniform1f(this._getUniformLocation(t),o),this._nameToUniform1[t]=o)}setUniform1fv(t,o){g(this._nameToUniform1v,t,o)&&this._context.gl.uniform1fv(this._getUniformLocation(t),o)}setUniform2f(t,o,i){const e=this._nameToUniform2.get(t);void 0===e?(this._context.gl.uniform2f(this._getUniformLocation(t),o,i),this._nameToUniform2.set(t,[o,i])):o===e[0]&&i===e[1]||(this._context.gl.uniform2f(this._getUniformLocation(t),o,i),e[0]=o,e[1]=i)}setUniform2fv(t,o){g(this._nameToUniform2,t,o)&&this._context.gl.uniform2fv(this._getUniformLocation(t),o)}setUniform3f(t,o,i,e){const n=this._nameToUniform3.get(t);void 0===n?(this._context.gl.uniform3f(this._getUniformLocation(t),o,i,e),this._nameToUniform3[t]=[o,i,e]):o===n[0]&&i===n[1]&&e===n[2]||(this._context.gl.uniform3f(this._getUniformLocation(t),o,i,e),n[0]=o,n[1]=i,n[2]=e)}setUniform3fv(t,o){g(this._nameToUniform3,t,o)&&this._context.gl.uniform3fv(this._getUniformLocation(t),o)}setUniform4f(t,o,i,e,n){const r=this._nameToUniform4.get(t);void 0===r?(this._context.gl.uniform4f(this._getUniformLocation(t),o,i,e,n),this._nameToUniform4.set(t,[o,i,e,n])):void 0!==r&&o===r[0]&&i===r[1]&&e===r[2]&&n===r[3]||(this._context.gl.uniform4f(this._getUniformLocation(t),o,i,e,n),r[0]=o,r[1]=i,r[2]=e,r[3]=n)}setUniform4fv(t,o){g(this._nameToUniform4,t,o)&&this._context.gl.uniform4fv(this._getUniformLocation(t),o)}setUniformMatrix3fv(t,o,i=!1){g(this._nameToUniformMatrix3,t,o)&&this._context.gl.uniformMatrix3fv(this._getUniformLocation(t),i,o)}setUniformMatrix4fv(t,o,i=!1){g(this._nameToUniformMatrix4,t,o)&&this._context.gl.uniformMatrix4fv(this._getUniformLocation(t),i,o)}stop(){}}function f(t,o,i){const n=t.gl,s=n.createShader(o);return n.shaderSource(s,i),n.compileShader(s),e()&&!n.getShaderParameter(s,n.COMPILE_STATUS)&&(console.error(\"Compile error in \".concat(o===r.VERTEX_SHADER?\"vertex\":\"fragment\",\" shader\")),console.error(n.getShaderInfoLog(s)),console.error(_(i))),l.enabled&&(l.compiledLOC+=i.match(/\\n/g).length+1),s}function _(t){let o=2;return t.replace(/\\n/g,(()=>\"\\n\"+c(o++)+\":\"))}function c(t){return t>=1e3?t.toString():(\" \"+t).slice(-3)}function g(o,i,e){const n=o.get(i);return n?t(n,e):(o.set(i,Array.from(e)),!0)}const l={compiledLOC:0,numUniforms:0,enabled:!1};export{h as Program,l as test};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nvar e,n,t,r={exports:{}};e=r,n=function(){function e(e,t,x){x=x||2;var i,u,v,o,y,p,a,l=t&&t.length,h=l?t[0]*x:e.length,s=n(e,0,h,x,!0),c=[];if(!s||s.next===s.prev)return c;if(l&&(s=f(e,t,s,x)),e.length>80*x){i=v=e[0],u=o=e[1];for(var Z=x;Zv&&(v=y),p>o&&(o=p);a=0!==(a=Math.max(v-i,o-u))?1/a:0}return r(s,c,x,i,u,a),c}function n(e,n,t,r,x){var i,u;if(x===E(e,n,t,r)>0)for(i=n;i=n;i-=r)u=B(i,e[i],e[i+1],u);if(u&&M(u,u.next)){var v=u.next;C(u),u=v}return u}function t(e,n){if(!e)return e;n||(n=e);var t,r=e;do{if(t=!1,r.steiner||!M(r,r.next)&&0!==w(r.prev,r,r.next))r=r.next;else{var x=r.prev;if(C(r),(r=n=x)===r.next)break;t=!0}}while(t||r!==n);return n}function r(e,n,f,o,y,p,a){if(e){!a&&p&&h(e,o,y,p);for(var l,s,c=e;e.prev!==e.next;)if(l=e.prev,s=e.next,p?i(e,o,y,p):x(e))n.push(l.i/f),n.push(e.i/f),n.push(s.i/f),C(e),e=s.next,c=s.next;else if((e=s)===c){a?1===a?r(e=u(t(e),n,f),n,f,o,y,p,2):2===a&&v(e,n,f,o,y,p):r(t(e),n,f,o,y,p,1);break}}}function x(e){var n=e.prev,t=e,r=e.next;if(w(n,t,r)>=0)return!1;for(var x=e.next.next;x!==e.prev;){if(g(n.x,n.y,t.x,t.y,r.x,r.y,x.x,x.y)&&w(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function i(e,n,t,r){var x=e.prev,i=e,u=e.next;if(w(x,i,u)>=0)return!1;for(var v=x.xi.x?x.x>u.x?x.x:u.x:i.x>u.x?i.x:u.x,y=x.y>i.y?x.y>u.y?x.y:u.y:i.y>u.y?i.y:u.y,p=c(v,f,n,t,r),a=c(o,y,n,t,r),l=e.prevZ,h=e.nextZ;l&&l.z>=p&&h&&h.z<=a;){if(l!==e.prev&&l!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;if(l=l.prevZ,h!==e.prev&&h!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.nextZ}for(;l&&l.z>=p;){if(l!==e.prev&&l!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,l.x,l.y)&&w(l.prev,l,l.next)>=0)return!1;l=l.prevZ}for(;h&&h.z<=a;){if(h!==e.prev&&h!==e.next&&g(x.x,x.y,i.x,i.y,u.x,u.y,h.x,h.y)&&w(h.prev,h,h.next)>=0)return!1;h=h.nextZ}return!0}function u(e,n,r){var x=e;do{var i=x.prev,u=x.next.next;!M(i,u)&&z(i,x,x.next,u)&&j(i,u)&&j(u,i)&&(n.push(i.i/r),n.push(x.i/r),n.push(u.i/r),C(x),C(x.next),x=e=u),x=x.next}while(x!==e);return t(x)}function v(e,n,x,i,u,v){var f=e;do{for(var o=f.next.next;o!==f.prev;){if(f.i!==o.i&&d(f,o)){var y=A(f,o);return f=t(f,f.next),y=t(y,y.next),r(f,n,x,i,u,v),void r(y,n,x,i,u,v)}o=o.next}f=f.next}while(f!==e)}function f(e,r,x,i){var u,v,f,y=[];for(u=0,v=r.length;u=r.next.y&&r.next.y!==r.y){var v=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(v<=x&&v>u){if(u=v,v===x){if(i===r.y)return r;if(i===r.next.y)return r.next}t=r.x=r.x&&r.x>=y&&x!==r.x&&g(it.x||r.x===t.x&&l(t,r)))&&(t=r,a=f)),r=r.next}while(r!==o);return t}function l(e,n){return w(e.prev,e,n.prev)<0&&w(n.next,e,e.next)<0}function h(e,n,t,r){var x=e;do{null===x.z&&(x.z=c(x.x,x.y,n,t,r)),x.prevZ=x.prev,x.nextZ=x.next,x=x.next}while(x!==e);x.prevZ.nextZ=null,x.prevZ=null,s(x)}function s(e){var n,t,r,x,i,u,v,f,o=1;do{for(t=e,e=null,i=null,u=0;t;){for(u++,r=t,v=0,n=0;n0||f>0&&r;)0!==v&&(0===f||!r||t.z<=r.z)?(x=t,t=t.nextZ,v--):(x=r,r=r.nextZ,f--),i?i.nextZ=x:e=x,x.prevZ=i,i=x;t=r}i.nextZ=null,o*=2}while(u>1);return e}function c(e,n,t,r,x){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-t)*x)|e<<8))|e<<4))|e<<2))|e<<1))|(n=1431655765&((n=858993459&((n=252645135&((n=16711935&((n=32767*(n-r)*x)|n<<8))|n<<4))|n<<2))|n<<1))<<1}function Z(e){var n=e,t=e;do{(n.x=0&&(e-u)*(r-v)-(t-u)*(n-v)>=0&&(t-u)*(i-v)-(x-u)*(r-v)>=0}function d(e,n){return e.next.i!==n.i&&e.prev.i!==n.i&&!k(e,n)&&(j(e,n)&&j(n,e)&&q(e,n)&&(w(e.prev,e,n.prev)||w(e,n.prev,n))||M(e,n)&&w(e.prev,e,e.next)>0&&w(n.prev,n,n.next)>0)}function w(e,n,t){return(n.y-e.y)*(t.x-n.x)-(n.x-e.x)*(t.y-n.y)}function M(e,n){return e.x===n.x&&e.y===n.y}function z(e,n,t,r){var x=m(w(e,n,t)),i=m(w(e,n,r)),u=m(w(t,r,e)),v=m(w(t,r,n));return x!==i&&u!==v||!(0!==x||!b(e,t,n))||!(0!==i||!b(e,r,n))||!(0!==u||!b(t,e,r))||!(0!==v||!b(t,n,r))}function b(e,n,t){return n.x<=Math.max(e.x,t.x)&&n.x>=Math.min(e.x,t.x)&&n.y<=Math.max(e.y,t.y)&&n.y>=Math.min(e.y,t.y)}function m(e){return e>0?1:e<0?-1:0}function k(e,n){var t=e;do{if(t.i!==e.i&&t.next.i!==e.i&&t.i!==n.i&&t.next.i!==n.i&&z(t,t.next,e,n))return!0;t=t.next}while(t!==e);return!1}function j(e,n){return w(e.prev,e,e.next)<0?w(e,n,e.next)>=0&&w(e,e.prev,n)>=0:w(e,n,e.prev)<0||w(e,e.next,n)<0}function q(e,n){var t=e,r=!1,x=(e.x+n.x)/2,i=(e.y+n.y)/2;do{t.y>i!=t.next.y>i&&t.next.y!==t.y&&x<(t.next.x-t.x)*(i-t.y)/(t.next.y-t.y)+t.x&&(r=!r),t=t.next}while(t!==e);return r}function A(e,n){var t=new D(e.i,e.x,e.y),r=new D(n.i,n.x,n.y),x=e.next,i=n.prev;return e.next=n,n.prev=e,t.next=x,x.prev=t,r.next=t,t.prev=r,i.next=r,r.prev=i,r}function B(e,n,t,r){var x=new D(e,n,t);return r?(x.next=r.next,x.prev=r,r.next.prev=x,r.next=x):(x.prev=x,x.next=x),x}function C(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 D(e,n,t){this.i=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}function E(e,n,t,r){for(var x=0,i=n,u=t-r;i0&&(r+=e[x-1].length,t.holes.push(r))}return t},e},void 0!==(t=n())&&(e.exports=t);const x=r.exports;export{x as e};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport e from\"../../../../core/Error.js\";import t from\"../../../../core/Logger.js\";import{isSome as r}from\"../../../../core/maybe.js\";import{e as o}from\"../../../../chunks/earcut.js\";import{a as s}from\"../../../../chunks/vec2.js\";import{a as n}from\"../../../../chunks/vec2f64.js\";import{convertFromNestedArray as i,convertFromPolygon as c}from\"../../../../layers/graphics/featureConversionUtils.js\";import a from\"../../../../layers/graphics/OptimizedGeometry.js\";import{i1616to32 as f}from\"./number.js\";import{BufferObject as h}from\"../../../webgl/BufferObject.js\";import{PrimitiveType as m,Usage as u,DataType as y}from\"../../../webgl/enums.js\";const x=t.getLogger(\"esri.views.2d.engine.webgl.Mesh2D\"),g=t=>{switch(t.BYTES_PER_ELEMENT){case 1:return y.UNSIGNED_BYTE;case 2:return y.UNSIGNED_SHORT;case 4:return y.UNSIGNED_INT;default:throw new e(\"Cannot get DataType of array\")}},p=(e,t,r,o)=>{let s=0;for(let n=1;n0:s<0},l=({coords:e,lengths:t},r)=>{const s=[];for(let n=0,i=0;n({...r,[o]:h.createVertex(e,t,this.vertices[o])})),{})),this._cache.vertexBuffers}}export{w as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport t from\"../../../../core/Error.js\";import e from\"../../../../core/Logger.js\";import{isSome as r,isNone as s}from\"../../../../core/maybe.js\";import{watch as i}from\"../../../../core/reactiveUtils.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import a from\"./Mesh2D.js\";import{VertexArrayObject as c}from\"../../../webgl/VertexArrayObject.js\";const n=e.getLogger(\"esri.views.2d.engine.webgl.ClippingInfo\"),m=t=>parseFloat(t)/100;class p extends h{constructor(t,e){super(),this._clip=e,this._cache={},this.stage=t,this._handle=i((()=>e.version),(()=>this._invalidate())),this.ready()}static fromClipArea(t,e){return new p(t,e)}_destroyGL(){r(this._cache.mesh)&&(this._cache.mesh.destroy(),this._cache.mesh=null),r(this._cache.vao)&&(this._cache.vao.dispose(),this._cache.vao=null)}destroy(){this._destroyGL(),this._handle.remove()}getVAO(t,e,r,i){const[o,h]=e.size;if(\"geometry\"!==this._clip.type&&this._lastWidth===o&&this._lastHeight===h||(this._lastWidth=o,this._lastHeight=h,this._destroyGL()),s(this._cache.vao)){const s=this._createMesh(e,this._clip),o=s.getIndexBuffer(t),h=s.getVertexBuffers(t);this._cache.mesh=s,this._cache.vao=new c(t,r,i,h,o)}return this._cache.vao}_createTransforms(){return{dvs:o()}}_invalidate(){this._destroyGL(),this.requestRender()}_createScreenRect(t,e){const[r,s]=t.size,i=\"string\"==typeof e.left?m(e.left)*r:e.left,o=\"string\"==typeof e.right?m(e.right)*r:e.right,h=\"string\"==typeof e.top?m(e.top)*s:e.top,a=\"string\"==typeof e.bottom?m(e.bottom)*s:e.bottom,c=i,n=h;return{x:c,y:n,width:Math.max(r-o-c,0),height:Math.max(s-a-n,0)}}_createMesh(e,r){switch(r.type){case\"rect\":return a.fromRect(this._createScreenRect(e,r));case\"path\":return a.fromPath(r);case\"geometry\":return a.fromGeometry(e,r);default:return n.error(new t(\"mapview-bad-type\",\"Unable to create ClippingInfo mesh from clip of type: ${clip.type}\")),a.fromRect({x:0,y:0,width:1,height:1})}}}export{p as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport\"../../../../core/has.js\";import{isNone as e,isSome as r}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import{brushes as t}from\"../brushes.js\";import{Container as i}from\"../Container.js\";import n from\"./ClippingInfo.js\";import{WGLDrawPhase as o}from\"./enums.js\";class a extends i{constructor(){super(...arguments),this.name=this.constructor.name}set clips(e){this._clips=e,this.children.forEach((r=>r.clips=e)),this._updateClippingInfo()}_createTransforms(){return{dvs:s()}}doRender(e){const r=this.createRenderParams(e),{painter:s,globalOpacity:t,profiler:i,drawPhase:n}=r,a=n===o.LABEL||n===o.HIGHLIGHT?1:t*this.computedOpacity;i.recordContainerStart(this.name),s.beforeRenderLayer(r,this._clippingInfos?255:0,a),this.updateTransforms(e.state),this.renderChildren(r),s.compositeLayer(r,a),i.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,e}prepareRenderPasses(e){return[e.registerRenderPass({name:\"clip\",brushes:[t.clip],target:()=>this._clippingInfos,drawPhase:o.MAP|o.LABEL|o.LABEL_ALPHA|o.DEBUG|o.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{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t,isNone as e}from\"../../../core/maybe.js\";import n from\"../PixelBlock.js\";function i(e){return t(e)&&\"esri.layers.support.PixelBlock\"===e.declaredClass&&e.pixels&&e.pixels.length>0}function l(t,e){if(!e?.length||!i(t))return t;const l=t.pixels.length;return e&&e.some((t=>t>=l))||1===l&&1===e.length&&0===e[0]?t:l!==e.length||e.some(((t,e)=>t!==e))?new n({pixelType:t.pixelType,width:t.width,height:t.height,mask:t.mask,validPixelCount:t.validPixelCount,maskIsAlpha:t.maskIsAlpha,pixels:e.map((e=>t.pixels[e])),statistics:t.statistics&&e.map((e=>t.statistics[e]))}):t}function o(t){if(!t)return;const e=t.colormap;if(!e||0===e.length)return;const n=e.sort(((t,e)=>t[0]-e[0]));let i=0;n[0][0]<0&&(i=n[0][0]);const l=Math.max(256,n[n.length-1][0]-i+1),o=new Uint8Array(4*l),r=[];let s,a=0,h=0;const f=5===n[0].length;if(l>65536)return n.forEach((t=>{r[t[0]-i]=f?t.slice(1):t.slice(1).concat([255])})),{indexed2DColormap:r,offset:i,alphaSpecified:f};if(t.fillUnspecified)for(s=n[h],a=s[0]-i;ac?o[u]=0:(x[u]=s[g],m[u]=s[g+1],d[u]=s[g+2],o[u]=s[g+3]));else{for(o=new Uint8Array(r),u=0;uc?o[u]=0:(x[u]=s[g],m[u]=s[g+1],d[u]=s[g+2],o[u]=s[g+3]);n.mask=o}else if(o)for(u=0;ua)));const u=[];let p,x,m;if(h)if(null==o)for(f=0;f1;){if(f===c.value){d=!0;break}f>c.value?u=m:p=m,m=Math.floor((u+p)/2),c=e[Math.floor(m)]}d||(f===e[u].value?(c=e[u],d=!0):f===e[p].value?(c=e[p],d=!0):fe[u].value&&(ft.pixelBlock));if(!i||e(i.pixelBlock))return null;const l=(i.extent.xmax-i.extent.xmin)/i.pixelBlock.width,o=(i.extent.ymax-i.extent.ymin)/i.pixelBlock.height,r=.01*Math.min(l,o),s=t.sort(((t,e)=>Math.abs(t.extent.ymax-e.extent.ymax)>r?e.extent.ymax-t.extent.ymax:Math.abs(t.extent.xmin-e.extent.xmin)>r?t.extent.xmin-e.extent.xmin:0)),a=Math.min.apply(null,s.map((t=>t.extent.xmin))),h=Math.min.apply(null,s.map((t=>t.extent.ymin))),f=Math.max.apply(null,s.map((t=>t.extent.xmax))),c=Math.max.apply(null,s.map((t=>t.extent.ymax))),p={x:Math.round((n.xmin-a)/l),y:Math.round((c-n.ymax)/o)},x={width:Math.round((f-a)/l),height:Math.round((c-h)/o)},m={width:Math.round((n.xmax-n.xmin)/l),height:Math.round((n.ymax-n.ymin)/o)};if(Math.round(x.width/i.pixelBlock.width)*Math.round(x.height/i.pixelBlock.height)!==s.length||p.x<0||p.y<0||x.widtht.pixelBlock)),x,{clipOffset:p,clipSize:m})}}function c(t,e,n,i,l,o){const{width:r,height:s}=n.block,{x:a,y:f}=n.offset,{width:c,height:u}=n.mosaic,p=h(r,s,i,l,a,f,c,u);let x=0,m=0;if(o){const t=o.hasGCSSShiftTransform?360:o.halfWorldWidth,e=r*o.resolutionX,n=o.startX+i*e,l=n+e;nt?m=o.rightPadding:n>=t&&(x=o.leftMargin-o.rightPadding,m=0)}if(p.xmax-=m,\"number\"!=typeof e)for(let h=p.ymin;hi(t)));if(e(u))return null;const x=a?a.width:o.width,m=a?a.height:o.height,d=u.width,y=u.height,g=o.width/d,w=o.height/y,k={offset:s||{x:0,y:0},mosaic:a||o,block:{width:d,height:y}},M=u.pixelType,A=n.getPixelArrayConstructor(M),U=u.pixels.length,C=[];let T,S;for(let t=0;te(t)||t.mask&&t.mask.length>0))){B=new Uint8Array(x*m);for(let e=0;et(e)));if(e(s))return null;const a=l.some((e=>!t(e)||!!e.mask)),{width:h,height:f}=o,c=a?new Uint8Array(h*f):null,{blockWidths:u}=r,p=[],x=s.getPlaneCount(),m=n.getPixelArrayConstructor(s.pixelType);if(a)for(let t=0,e=0;tl||h>o)return t;if(0===r&&0===s&&a===l&&h===o)return t;t.mask||(t.mask=new Uint8Array(l*o));const f=t.mask;for(let i=0;i=h||e=a?0:1}return t.updateStatistics(),t}function m(t){if(!i(t))return null;const e=t.clone(),{width:n,height:l,pixels:o,mask:r}=t,s=o[0],a=e.pixels[0];for(let i=2;ie&&(n=o.value,e=i),o=l.next();return n}function y(t,e,n){if(0===n)return;const i=t.get(e);1===i?t.delete(e):t.set(e,i-1)}function g(t,e,n){0!==n&&t.set(e,t.has(e)?t.get(e)+1:1)}function w(t,e,l){let{x:o,y:r}=e;const{width:s,height:a}=l;if(0===o&&0===r&&a===t.height&&s===t.width)return t;const{width:h,height:f}=t,c=Math.max(0,r),u=Math.max(0,o),p=Math.min(o+s,h),x=Math.min(r+a,f);if(p<0||x<0||!i(t))return null;o=Math.max(0,-o),r=Math.max(0,-r);const{pixels:m,mask:d}=t,y=s*a,g=m.length,w=[];for(let i=0;i{const i=t instanceof Float32Array||t instanceof Float64Array?0:.5;for(let l=0;lthis.notifyChange(\"visibleSublayers\"))),e.on(\"wms-sublayer-update\",(e=>this.notifyChange(a[e.propertyName])))],\"layer\"))}get layers(){const{visibleSublayers:e}=this;return e.filter((e=>e.name)).map((e=>e.name)).join(\",\")}get version(){this.commitProperty(\"layers\");const e=this.layer;return e&&e.commitProperty(\"imageTransparency\"),(this._get(\"version\")||0)+1}get visibleSublayers(){const{layer:e,scale:r}=this,s=e?.sublayers,t=[],o=e=>{const{minScale:s,maxScale:a,sublayers:l,visible:i}=e;i&&(0===r||(0===s||r<=s)&&(0===a||r>=a))&&(l?l.forEach(o):t.unshift(e))};return s?.forEach(o),t}toJSON(){const{layer:e,layers:r}=this,{imageFormat:s,imageTransparency:t,version:o}=e;return{format:s,request:\"GetMap\",service:\"WMS\",styles:\"\",transparent:t?\"TRUE\":\"FALSE\",version:o,layers:r}}};e([t()],l.prototype,\"layer\",null),e([t({readOnly:!0})],l.prototype,\"layers\",null),e([t({type:Number})],l.prototype,\"scale\",void 0),e([t({readOnly:!0})],l.prototype,\"version\",null),e([t({readOnly:!0})],l.prototype,\"visibleSublayers\",null),l=e([o(\"esri.layers.support.ExportWMSImageParameters\")],l);export{l as ExportWMSImageParameters};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst t=Math.PI/180;function n(n){return n*t}function o(t,n,o){const{resolution:r,size:u}=o;return t[0]=r*(Math.round(n[0]/r)+u[0]%2*.5),t[1]=r*(Math.round(n[1]/r)+u[1]%2*.5),t}function r(t,o){const r=n(o.rotation),u=Math.abs(Math.cos(r)),a=Math.abs(Math.sin(r)),[s,c]=o.size;return t[0]=Math.round(c*a+s*u),t[1]=Math.round(c*u+s*a),t}function u(t,n,o,r){const[u,a]=n,[s,c]=r,i=.5*o;return t[0]=u-i*s,t[1]=a-i*c,t[2]=u+i*s,t[3]=a+i*c,t}function a(t,n){const[o,r,u,a]=t,[s,c,i,e]=n;return!(o>i||ue||a{if(!t.stationary||this.destroyed)return null;const i=t.state,o=p(i.spatialReference),r=this.hidpi?t.pixelRatio:1,s=this.imageNormalizationSupported&&i.worldScreenWidth&&i.worldScreenWidththis.imageMaxWidth||Math.floor(g[1]*r)>this.imageMaxHeight,n=o&&(i.extent.xmino.valid[1]),l=!this.imageNormalizationSupported&&n,d=!a&&!l,h=this.imageRotationSupported?i.rotation:0;if(d){const t=s?i.paddedViewState.center:i.center;this._imagePromise=this._singleExport(i,g,t,i.resolution,h,r,e)}else{let t=Math.min(this.imageMaxWidth,this.imageMaxHeight);l&&(t=Math.min(i.worldScreenWidth,t)),this._imagePromise=this._tiledExport(i,t,r,e)}return this._imagePromise.then((async t=>{if(this._imagePromise=null,!this.destroyed){this.bitmaps=t??[];for(const e of this.container.children)t.includes(e)||e.fadeOut().then((()=>{e.remove()}));for(const e of t)this.container.addChild(e),e.fadeIn()}})).catch((t=>{throw this._imagePromise=null,t}))}),5e3)}destroy(){this.bitmaps=[]}get updating(){return!this.destroyed&&null!==this._imagePromise}updateExports(t){for(const e of this.container.children){if(!e.visible||!e.stage)return;t(e),e.invalidateTexture(),e.requestRender()}}async _export(t,e,i,o,r,s){const a=await this.fetchSource(t,Math.floor(e*r),Math.floor(i*r),{rotation:o,pixelRatio:r,signal:s}),p=new d(a,\"additive\");return p.x=t.xmin,p.y=t.ymax,p.resolution=t.width/e,p.rotation=o,p.pixelRatio=r,p}async _singleExport(t,e,i,o,r,a,p){l(u,i,o,e);const n=new s(u[0],u[1],u[2],u[3],t.spatialReference);return[await this._export(n,e[0],e[1],r,a,p)]}_tiledExport(t,e,i,o){const r=n.create({size:e,spatialReference:t.spatialReference,scales:[t.scale]}),a=new h(r),p=a.getTileCoverage(t);if(!p)return null;const m=[];return p.forEach(((r,p,n,l)=>{f.set(r,p,n,l),a.getTileBounds(u,f);const d=new s(u[0],u[1],u[2],u[3],t.spatialReference);m.push(this._export(d,e,e,0,i,o))})),Promise.all(m)}};t([o()],y.prototype,\"_imagePromise\",void 0),t([o()],y.prototype,\"bitmaps\",void 0),t([o()],y.prototype,\"container\",void 0),t([o()],y.prototype,\"fetchSource\",void 0),t([o()],y.prototype,\"hidpi\",void 0),t([o()],y.prototype,\"imageMaxWidth\",void 0),t([o()],y.prototype,\"imageMaxHeight\",void 0),t([o()],y.prototype,\"imageRotationSupported\",void 0),t([o()],y.prototype,\"imageNormalizationSupported\",void 0),t([o()],y.prototype,\"requestUpdate\",void 0),t([o()],y.prototype,\"updating\",null),y=t([r(\"esri.views.2d.layers.support.ExportStrategy\")],y);const S=y;export{S as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nconst e={background:{\"background.frag\":\"uniform lowp vec4 u_color;\\nvoid main() {\\ngl_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() {\\nvec3 v_pos = u_dvsMat3 * vec3(u_coord_range * a_pos, 1.0);\\ngl_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() {\\nlowp vec4 color = texture2D(u_tex, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"bitBlit.vert\":\"attribute vec2 a_pos;\\nattribute vec2 a_tex;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_pos, 0.0, 1.0);\\nv_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) {\\nreturn max(c.x, max(c.y, c.z));\\n}\\nvec3 rgb2hsv(in vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn 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) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);\\n}\\nvec3 tint(in vec3 Cb, in vec3 Cs) {\\nfloat vIn = rgb2v(Cb);\\nvec3 hsvTint = rgb2hsv(Cs);\\nvec3 hsvOut = vec3(hsvTint.x, hsvTint.y, vIn * hsvTint.z);\\nreturn hsv2rgb(hsvOut);\\n}\\nfloat overlay(in float Cb, in float Cs) {\\nreturn (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) {\\nreturn (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) {\\nreturn (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) {\\nreturn (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) {\\nreturn (Cs == 1.0) ? Cs : min(Cb * Cb / (1.0 - Cs), 1.0);\\n}\\nfloat softLight(in float Cb, in float Cs) {\\nif (Cs <= 0.5) {\\nreturn Cb - (1.0 - 2.0 * Cs) * Cb * (1.0 - Cb);\\n}\\nif (Cb <= 0.25) {\\nreturn Cb + (2.0 * Cs - 1.0) * Cb * ((16.0 * Cb - 12.0) * Cb + 3.0);\\n}\\nreturn Cb + (2.0 * Cs - 1.0) * (sqrt(Cb) - Cb);\\n}\\nfloat vividLight(in float Cb, in float Cs) {\\nreturn (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) {\\nreturn min(min(c.r, c.g), c.b);\\n}\\nfloat maxv3(in vec3 c) {\\nreturn max(max(c.r, c.g), c.b);\\n}\\nfloat lumv3(in vec3 c) {\\nreturn dot(c, vec3(0.3, 0.59, 0.11));\\n}\\nfloat satv3(vec3 c) {\\nreturn maxv3(c) - minv3(c);\\n}\\nvec3 clipColor(vec3 color) {\\nfloat lum = lumv3(color);\\nfloat mincol = minv3(color);\\nfloat maxcol = maxv3(color);\\nif (mincol < 0.0) {\\ncolor = lum + ((color - lum) * lum) / (lum - mincol);\\n}\\nif (maxcol > 1.0) {\\ncolor = lum + ((color - lum) * (1.0 - lum)) / (maxcol - lum);\\n}\\nreturn color;\\n}\\nvec3 setLum(vec3 cbase, vec3 clum) {\\nfloat lbase = lumv3(cbase);\\nfloat llum = lumv3(clum);\\nfloat ldiff = llum - lbase;\\nvec3 color = cbase + vec3(ldiff);\\nreturn clipColor(color);\\n}\\nvec3 setLumSat(vec3 cbase, vec3 csat, vec3 clum)\\n{\\nfloat minbase = minv3(cbase);\\nfloat sbase = satv3(cbase);\\nfloat ssat = satv3(csat);\\nvec3 color;\\nif (sbase > 0.0) {\\ncolor = (cbase - minbase) * ssat / sbase;\\n} else {\\ncolor = vec3(0.0);\\n}\\nreturn setLum(color, clum);\\n}\\nvoid main() {\\nvec4 src = texture2D(u_layerTexture, v_uv);\\n#ifdef NORMAL\\ngl_FragColor = src * u_opacity;\\n#else\\nvec4 dst = texture2D(u_backbufferTexture, v_uv);\\nvec3 Cs = src.a == 0.0 ? src.rgb : vec3(src.rgb / src.a);\\nvec3 Cb = dst.a == 0.0 ? dst.rgb : vec3(dst.rgb / dst.a);\\nfloat as = u_opacity * src.a;\\nfloat ab = dst.a;\\n#ifdef DESTINATION_OVER\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb, as + ab - as * ab);\\n#endif\\n#ifdef SOURCE_IN\\nvec4 color = vec4(as * Cs * ab, as * ab);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef DESTINATION_IN\\nvec4 color = vec4(ab * Cb * as, ab * as);\\nvec4 fadeColor = (1.0 - u_opacity) * u_inFadeOpacity * vec4(ab * Cb, ab);\\ngl_FragColor = color + fadeColor;\\n#endif\\n#ifdef SOURCE_OUT\\ngl_FragColor = vec4(as * Cs * (1.0 - ab), as * (1.0 - ab));\\n#endif\\n#ifdef DESTINATION_OUT\\ngl_FragColor = vec4(ab * Cb * (1.0 - as), ab * (1.0 - as));\\n#endif\\n#ifdef SOURCE_ATOP\\ngl_FragColor = vec4(as * Cs * ab + ab * Cb * (1.0 - as), ab);\\n#endif\\n#ifdef DESTINATION_ATOP\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * as, as);\\n#endif\\n#ifdef XOR\\ngl_FragColor = vec4(as * Cs * (1.0 - ab) + ab * Cb * (1.0 - as),\\nas * (1.0 - ab) + ab * (1.0 - as));\\n#endif\\n#ifdef MULTIPLY\\ngl_FragColor = vec4(as * Cs * ab * Cb + (1.0 - ab) * as * Cs + (1.0 - as) * ab * Cb,\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SCREEN\\ngl_FragColor = vec4((Cs + Cb - Cs * Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef OVERLAY\\nvec3 f = vec3(overlay(Cb.r, Cs.r), overlay(Cb.g, Cs.g), overlay(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DARKEN\\ngl_FragColor = vec4(min(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LIGHTER\\ngl_FragColor = vec4(as * Cs + ab * Cb, as + ab);\\n#endif\\n#ifdef LIGHTEN\\ngl_FragColor = vec4(max(Cs, Cb) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_DODGE\\nvec3 f = vec3(colorDodge(Cb.r, Cs.r), colorDodge(Cb.g, Cs.g), colorDodge(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR_BURN\\nvec3 f = vec3(colorBurn(Cb.r, Cs.r), colorBurn(Cb.g, Cs.g), colorBurn(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HARD_LIGHT\\nvec3 f = vec3(hardLight(Cb.r, Cs.r), hardLight(Cb.g, Cs.g), hardLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SOFT_LIGHT\\nvec3 f = vec3(softLight(Cb.r, Cs.r), softLight(Cb.g, Cs.g), softLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef DIFFERENCE\\ngl_FragColor = vec4(abs(Cb - Cs) * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef EXCLUSION\\nvec3 f = Cs + Cb - 2.0 * Cs * Cb;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef INVERT\\ngl_FragColor = vec4((1.0 - Cb) * as * ab + Cb * ab * (1.0 - as), ab);\\n#endif\\n#ifdef VIVID_LIGHT\\nvec3 f = vec3(vividLight(Cb.r, Cs.r),\\nvividLight(Cb.g, Cs.g),\\nvividLight(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef HUE\\nvec3 f = setLumSat(Cs,Cb,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef SATURATION\\nvec3 f = setLumSat(Cb,Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef COLOR\\nvec3 f = setLum(Cs,Cb);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef LUMINOSITY\\nvec3 f = setLum(Cb,Cs);\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef PLUS\\ngl_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\\ngl_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\\nvec3 f = (Cb + Cs) / 2.0;\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#ifdef REFLECT\\nvec3 f = vec3(reflectBlend(Cb.r, Cs.r),\\nreflectBlend(Cb.g, Cs.g),\\nreflectBlend(Cb.b, Cs.b));\\ngl_FragColor = vec4(f * as * ab + Cs * as * (1.0 - ab) + Cb * ab *(1.0 - as),\\nas + ab * (1.0 - as));\\n#endif\\n#endif\\n}\",\"blend.vert\":\"attribute vec2 a_position;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\ngl_Position = vec4(a_position , 0.0, 1.0);\\nv_uv = (a_position + 1.0) / 2.0;\\n}\"},dot:{dot:{\"dot.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nuniform highp float u_tileZoomFactor;\\nvoid main()\\n{\\nfloat dist = length(gl_PointCoord - vec2(.5, .5)) * 2.;\\nfloat alpha = smoothstep(0., 1., v_invEdgeRatio * (dist - v_dotRatio) + 1.);\\ngl_FragColor = v_color * alpha;\\n}\",\"dot.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform sampler2D u_texture;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp float u_tileZoomFactor;\\nuniform highp float u_dotSize;\\nuniform highp float u_pixelRatio;\\nvarying vec2 v_pos;\\nvarying vec4 v_color;\\nvarying float v_dotRatio;\\nvarying float v_invEdgeRatio;\\nconst float EPSILON = 0.000001;\\nvoid main()\\n{\\nmat3 tileToTileTexture = mat3( 1., 0., 0.,\\n0., -1., 0.,\\n0., 1., 1. );\\nvec3 texCoords = tileToTileTexture * vec3(a_pos.xy / 512., 1.);\\nv_color = texture2D(u_texture, texCoords.xy);\\nfloat smoothEdgeWidth = max(u_dotSize / 2., 1.) ;\\nfloat z = 0.;\\nz += 2.0 * step(v_color.a, EPSILON);\\ngl_PointSize = (smoothEdgeWidth + u_dotSize);\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos + .5, 1.)).xy, z, 1.);\\nv_dotRatio = u_dotSize / gl_PointSize;\\nv_invEdgeRatio = -1. / ( smoothEdgeWidth / gl_PointSize );\\ngl_PointSize *= (u_pixelRatio * u_tileZoomFactor);\\n}\"}},filtering:{\"bicubic.glsl\":\"vec4 computeWeights(float v) {\\nfloat b = 1.0 / 6.0;\\nfloat v2 = v * v;\\nfloat v3 = v2 * v;\\nfloat w0 = b * (-v3 + 3.0 * v2 - 3.0 * v + 1.0);\\nfloat w1 = b * (3.0 * v3 - 6.0 * v2 + 4.0);\\nfloat w2 = b * (-3.0 * v3 + 3.0 * v2 + 3.0 * v + 1.0);\\nfloat w3 = b * v3;\\nreturn vec4(w0, w1, w2, w3);\\n}\\nvec4 bicubicOffsetsAndWeights(float v) {\\nvec4 w = computeWeights(v);\\nfloat g0 = w.x + w.y;\\nfloat g1 = w.z + w.w;\\nfloat h0 = 1.0 - (w.y / g0) + v;\\nfloat h1 = 1.0 + (w.w / g1) - v;\\nreturn vec4(h0, h1, g0, g1);\\n}\\nvec4 sampleBicubicBSpline(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 eX = vec2(1.0 / texSize.x, 0.0);\\nvec2 eY = vec2(0.0, 1.0 / texSize.y);\\nvec2 texel = coords * texSize - 0.5;\\nvec3 hgX = bicubicOffsetsAndWeights(fract(texel).x).xyz;\\nvec3 hgY = bicubicOffsetsAndWeights(fract(texel).y).xyz;\\nvec2 coords10 = coords + hgX.x * eX;\\nvec2 coords00 = coords - hgX.y * eX;\\nvec2 coords11 = coords10 + hgY.x * eY;\\nvec2 coords01 = coords00 + hgY.x * eY;\\ncoords10 = coords10 - hgY.y * eY;\\ncoords00 = coords00 - hgY.y * eY;\\nvec4 color00 = texture2D(sampler, coords00);\\nvec4 color10 = texture2D(sampler, coords10);\\nvec4 color01 = texture2D(sampler, coords01);\\nvec4 color11 = texture2D(sampler, coords11);\\ncolor00 = mix(color00, color01, hgY.z);\\ncolor10 = mix(color10, color11, hgY.z);\\ncolor00 = mix(color00, color10, hgX.z);\\nreturn color00;\\n}\",\"bilinear.glsl\":\"vec4 sampleBilinear(sampler2D sampler, vec2 coords, vec2 texSize) {\\nvec2 texelStart = floor(coords * texSize);\\nvec2 coord0 = texelStart / texSize;\\nvec2 coord1 = (texelStart + vec2(1.0, 0.0)) / texSize;\\nvec2 coord2 = (texelStart + vec2(0.0, 1.0)) / texSize;\\nvec2 coord3 = (texelStart + vec2(1.0, 1.0)) / texSize;\\nvec4 color0 = texture2D(sampler, coord0);\\nvec4 color1 = texture2D(sampler, coord1);\\nvec4 color2 = texture2D(sampler, coord2);\\nvec4 color3 = texture2D(sampler, coord3);\\nvec2 blend = fract(coords * texSize);\\nvec4 color01 = mix(color0, color1, blend.x);\\nvec4 color23 = mix(color2, color3, blend.x);\\nvec4 color = mix(color01, color23, blend.y);\\n#ifdef NNEDGE\\nfloat alpha = floor(color0.a * color1.a * color2.a * color3.a + 0.5);\\ncolor = color * alpha + (1.0 - alpha) * texture2D(sampler, coords);\\n#endif\\nreturn color;\\n}\",\"epx.glsl\":\"vec4 sampleEPX(sampler2D sampler, float size, vec2 coords, vec2 texSize) {\\nvec2 invSize = 1.0 / texSize;\\nvec2 texel = coords * texSize;\\nvec2 texel_i = floor(texel);\\nvec2 texel_frac = fract(texel);\\nvec4 colorP = texture2D(sampler, texel_i * invSize);\\nvec4 colorP1 = vec4(colorP);\\nvec4 colorP2 = vec4(colorP);\\nvec4 colorP3 = vec4(colorP);\\nvec4 colorP4 = vec4(colorP);\\nvec4 colorA = texture2D(sampler, (texel_i - vec2(0.0, 1.0)) * invSize);\\nvec4 colorB = texture2D(sampler, (texel_i + vec2(1.0, 0.0)) * invSize);\\nvec4 colorC = texture2D(sampler, (texel_i - vec2(1.0, 0.0)) * invSize);\\nvec4 colorD = texture2D(sampler, (texel_i + vec2(0.0, 1.0)) * invSize);\\nif (colorC == colorA && colorC != colorD && colorA != colorB) {\\ncolorP1 = colorA;\\n}\\nif (colorA == colorB && colorA != colorC && colorB != colorD) {\\ncolorP2 = colorB;\\n}\\nif (colorD == colorC && colorD != colorB && colorC != colorA) {\\ncolorP3 = colorC;\\n}\\nif (colorB == colorD && colorB != colorA && colorD != colorC) {\\ncolorP4 = colorD;\\n}\\nvec4 colorP12 = mix(colorP1, colorP2, texel_frac.x);\\nvec4 colorP34 = mix(colorP1, colorP2, texel_frac.x);\\nreturn 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\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\nvec4 data0 = texture2D(u_maskTexture, v_texcoord);\\nfloat flags = data0.r * 255.0;\\nfloat groupMinZoom = data0.g * 255.0;\\nfloat isVisible = getFilterBit(flags, 0);\\nfloat wouldClip = step(groupMinZoom, u_zoomLevel);\\nfloat direction = wouldClip * 1.0 + (1.0 - wouldClip) * -1.0;\\nfloat dt = u_timeDelta / max(u_animationTime, 0.0001);\\nvec4 nextState = vec4(texel + direction * dt);\\ngl_FragColor = vec4(nextState);\\n#elif defined(UPDATE)\\nvec4 texel = texture2D(u_sourceTexture, v_texcoord);\\ngl_FragColor = texel;\\n#endif\\n}\",\"integrate.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_pos;\\ngl_Position = vec4(a_pos * 2.0 - 1.0, 0.0, 1.0);\\n}\"}},heatmap:{heatmapResolve:{\"heatmapResolve.frag\":\"precision highp float;\\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 4.0\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform sampler2D u_texture;\\nuniform sampler2D u_gradient;\\nuniform vec2 u_densityMinAndInvRange;\\nuniform float u_densityNormalization;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec4 data = texture2D(u_texture, v_uv);\\nfloat density = data.r * COMPRESSION_FACTOR;\\ndensity *= u_densityNormalization;\\ndensity = (density - u_densityMinAndInvRange.x) * u_densityMinAndInvRange.y;\\nvec4 color = texture2D(u_gradient, vec2(density, 0.5));\\ngl_FragColor = vec4(color.rgb * color.a, color.a);\\n}\",\"heatmapResolve.vert\":\"precision highp float;\\nattribute vec2 a_pos;\\nuniform highp mat3 u_dvsMat3;\\nvarying vec2 v_uv;\\nconst float UV_TO_TILE_SPACE = 512.;\\nvoid main() {\\nv_uv = a_pos;\\ngl_Position = vec4((u_dvsMat3 * vec3(a_pos * UV_TO_TILE_SPACE, 1.)).xy, 1., 1.);\\n}\"}},highlight:{\"blur.frag\":\"varying mediump vec2 v_texcoord;\\nuniform mediump vec4 u_direction;\\nuniform mediump mat4 u_channelSelector;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_texture;\\nmediump float gauss1(mediump vec2 dir) {\\nreturn exp(-dot(dir, dir) / (2.0 * u_sigma * u_sigma));\\n}\\nmediump vec4 selectChannel(mediump vec4 sample) {\\nreturn u_channelSelector * sample;\\n}\\nvoid accumGauss1(mediump float i, inout mediump float tot, inout mediump float weight) {\\nmediump float w = gauss1(i * u_direction.xy);\\ntot += selectChannel(texture2D(u_texture, v_texcoord + i * u_direction.zw))[3] * w;\\nweight += w;\\n}\\nvoid main(void) {\\nmediump float tot = 0.0;\\nmediump float weight = 0.0;\\naccumGauss1(-5.0, tot, weight);\\naccumGauss1(-4.0, tot, weight);\\naccumGauss1(-3.0, tot, weight);\\naccumGauss1(-2.0, tot, weight);\\naccumGauss1(-1.0, tot, weight);\\naccumGauss1(0.0, tot, weight);\\naccumGauss1(1.0, tot, weight);\\naccumGauss1(2.0, tot, weight);\\naccumGauss1(3.0, tot, weight);\\naccumGauss1(4.0, tot, weight);\\naccumGauss1(5.0, tot, weight);\\ngl_FragColor = vec4(0.0, 0.0, 0.0, tot / weight);\\n}\",\"highlight.frag\":\"varying mediump vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform mediump float u_sigma;\\nuniform sampler2D u_shade;\\nuniform mediump vec2 u_minMaxDistance;\\nmediump float estimateDistance() {\\nmediump float y = texture2D(u_texture, v_texcoord)[3];\\nconst mediump float y0 = 0.5;\\nmediump float m0 = 1.0 / (sqrt(2.0 * 3.1415) * u_sigma);\\nmediump float d = (y - y0) / m0;\\nreturn d;\\n}\\nmediump vec4 shade(mediump float d) {\\nmediump float mappedDistance = (d - u_minMaxDistance.x) / (u_minMaxDistance.y - u_minMaxDistance.x);\\nmappedDistance = clamp(mappedDistance, 0.0, 1.0);\\nreturn texture2D(u_shade, vec2(mappedDistance, 0.5));\\n}\\nvoid main(void) {\\nmediump float d = estimateDistance();\\ngl_FragColor = shade(d);\\n}\",\"textured.vert\":\"attribute mediump vec2 a_position;\\nattribute mediump vec2 a_texcoord;\\nvarying mediump vec2 v_texcoord;\\nvoid main(void) {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_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) {\\nlowp vec2 uvn = uv * 2.0 - 1.0;\\nif (uvn.x == 0.0 && uvn.y == 0.0) {\\nreturn vec2(0.5, 0.5);\\n}\\nlowp float theta = atan(uvn.y, uvn.x);\\nlowp float r = pow(length(uvn), barrelFactor);\\nreturn r * vec2(cos(theta), sin(theta)) * 0.5 + 0.5;\\n}\\nvoid main(void)\\n{\\nlowp vec4 color = texture2D(u_readbackTexture, barrel(v_texCoord));\\ncolor = (color + (1.0 - color.a) * u_background);\\nlowp float mask = u_maskEnabled ? texture2D(u_maskTexture, v_texCoord).a : 1.0;\\ncolor *= mask;\\nlowp vec4 overlayColor = u_overlayEnabled ? texture2D(u_overlayTexture, v_texCoord) : vec4(0);\\ngl_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{\\nv_texCoord = a_pos;\\ngl_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 sampler2D u_attributeData4;\\nuniform highp sampler2D u_attributeData5;\\nuniform highp int u_attributeTextureSize;\\nhighp vec2 getAttributeDataCoords(in highp vec3 id) {\\nhighp vec3 texel = unpackDisplayIdTexel(id);\\nhighp float size = float(u_attributeTextureSize);\\nhighp float u32 = float(int(texel.r) + int(texel.g) * 256 + int(texel.b) * 256 * 256);\\nhighp float col = mod(u32, size);\\nhighp float row = (u32 - col) / size;\\nhighp float u = col / size;\\nhighp float v = row / size;\\nreturn vec2(u, v);\\n}\\nhighp vec2 getAttributeDataTextureCoords(in highp vec3 id) {\\nreturn (getAttributeDataCoords(id) * 2.0) - 1.0 + (.5 / vec2(u_attributeTextureSize));\\n}\\nhighp vec4 getAttributeData0(in highp vec3 id) {\\nvec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData0, coords);\\n}\\nhighp vec4 getAttributeData1(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData1, coords);\\n}\\nhighp vec4 getAttributeData2(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData2, coords);\\n}\\nhighp vec4 getAttributeData3(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData3, coords);\\n}\\nhighp vec4 getAttributeData4(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData4, coords);\\n}\\nhighp vec4 getAttributeData5(in highp vec3 id) {\\nhighp vec2 coords = getAttributeDataCoords(id);\\nreturn texture2D(u_attributeData5, coords);\\n}\\nfloat u88VVToFloat(in vec2 v) {\\nbool isMagic = v.x == 255.0 && v.y == 255.0;\\nif (isMagic) {\\nreturn NAN_MAGIC_NUMBER;\\n}\\nreturn (v.x + v.y * float(0x100)) - 32768.0;\\n}\",\"barycentric.glsl\":\"float inTriangle(vec3 bary) {\\nvec3 absBary = abs(bary);\\nreturn step((absBary.x + absBary.y + absBary.z), 1.05);\\n}\\nvec3 xyToBarycentric(in vec2 pos, in vec2 v0, in vec2 v1, in vec2 v2) {\\nmat3 xyToBarycentricMat3 = mat3(\\nv1.x * v2.y - v2.x * v1.y, v2.x * v0.y - v0.x * v2.y, v0.x * v1.y - v1.x * v0.y,\\nv1.y - v2.y, v2.y - v0.y, v0.y - v1.y,\\nv2.x - v1.x, v0.x - v2.x, v1.x - v0.x\\n);\\nfloat A2 = v0.x * (v1.y - v2.y) + v1.x * (v2.y - v0.y) + v2.x * (v0.y - v1.y);\\nreturn (1. / A2) * xyToBarycentricMat3 * vec3(1., pos);\\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 C_RAD_TO_DEG = 180.0 / 3.141592654;\\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.00001;\\nconst float EPSILON_HITTEST = 0.05;\\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;\\nconst int BITSET_GENERIC_LOCK_COLOR = 1;\\nconst int BITSET_GENERIC_CONSIDER_ALPHA_ONLY = 4;\\nconst int BITSET_MARKER_ALIGNMENT_MAP = 0;\\nconst int BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE = 2;\\nconst int BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY = 3;\\nconst int BITSET_TYPE_FILL_OUTLINE = 0;\\nconst int BITSET_FILL_RANDOM_PATTERN_OFFSET = 2;\\nconst int BITSET_LINE_SCALE_DASH = 2;\",fill:{\"common.glsl\":\"#include \\n#ifdef PATTERN\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_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 highp vec3 v_id;\\nvarying lowp vec4 v_color;\\nvarying lowp float v_opacity;\\nvarying mediump vec4 v_aux1;\\n#ifdef PATTERN\\nvarying mediump vec2 v_tileTextureCoord;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvarying lowp float v_isOutline;\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_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#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nuniform mediump mat4 u_dotColors[ 2 ];\\nuniform sampler2D u_dotTextures[ 2 ];\\nuniform vec4 u_dotBackgroundColor;\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nlowp vec4 drawLine() {\\nfloat v_lineWidth = v_aux1.x;\\nvec2 v_normal = v_aux1.yz;\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineWidth,\\nv_opacity,\\nv_id\\n);\\nreturn shadeLine(inputs);\\n}\\n#endif\\nlowp vec4 drawFill() {\\nlowp vec4 out_color = vec4(0.);\\n#ifdef HITTEST\\nout_color = v_color;\\n#elif defined(PATTERN)\\nmediump vec4 v_tlbr = v_aux1;\\nmediump vec2 normalizedTextureCoord = mod(v_tileTextureCoord, 1.0);\\nmediump vec2 samplePos = mix(v_tlbr.xy, v_tlbr.zw, normalizedTextureCoord);\\nlowp vec4 color = texture2D(u_texture, samplePos);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nout_color = v_opacity * v_color * color;\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY && !defined(HIGHLIGHT)\\nvec4 textureThresholds0 = texture2D(u_dotTextures[0], v_dotTextureCoords);\\nvec4 textureThresholds1 = texture2D(u_dotTextures[1], v_dotTextureCoords);\\nvec4 difference0 = v_dotThresholds[0] - textureThresholds0;\\nvec4 difference1 = v_dotThresholds[1] - textureThresholds1;\\n#ifdef DD_DOT_BLENDING\\nvec4 isPositive0 = step(0.0, difference0);\\nvec4 isPositive1 = step(0.0, difference1);\\nfloat weightSum = dot(isPositive0, difference0) + dot(isPositive1, difference1);\\nfloat lessThanEqZero = step(weightSum, 0.0);\\nfloat greaterThanZero = 1.0 - lessThanEqZero ;\\nfloat divisor = (weightSum + lessThanEqZero);\\nvec4 weights0 = difference0 * isPositive0 / divisor;\\nvec4 weights1 = difference1 * isPositive1 / divisor;\\nvec4 dotColor = u_dotColors[0] * weights0 + u_dotColors[1] * weights1;\\nvec4 preEffectColor = greaterThanZero * dotColor + lessThanEqZero * u_dotBackgroundColor;\\n#else\\nfloat diffMax = max(max4(difference0), max4(difference1));\\nfloat lessThanZero = step(diffMax, 0.0);\\nfloat greaterOrEqZero = 1.0 - lessThanZero;\\nvec4 isMax0 = step(diffMax, difference0);\\nvec4 isMax1 = step(diffMax, difference1);\\nvec4 dotColor = u_dotColors[0] * isMax0 + u_dotColors[1] * isMax1;\\nvec4 preEffectColor = greaterOrEqZero * dotColor + lessThanZero * u_dotBackgroundColor;\\n#endif\\nout_color = preEffectColor;\\n#else\\nout_color = v_opacity * v_color;\\n#endif\\n#ifdef HIGHLIGHT\\nout_color.a = 1.0;\\n#endif\\nreturn out_color;\\n}\\nvoid main() {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (v_isOutline > 0.5) {\\ngl_FragColor = drawLine();\\n} else {\\ngl_FragColor = drawFill();\\n}\\n#else\\ngl_FragColor = drawFill();\\n#endif\\n}\",\"fill.vert\":\"#include \\n#define PACKED_LINE\\nprecision highp float;\\nattribute float a_bitset;\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nattribute float a_inverseArea;\\nvec4 a_color = vec4(0.0, 0.0, 0.0, 1.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#else\\nattribute vec4 a_color;\\nattribute vec4 a_aux2;\\nattribute vec4 a_aux3;\\n#ifndef SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\nattribute vec4 a_aux1;\\nattribute vec2 a_zoomRange;\\n#else\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\n#endif\\n#endif\\nuniform vec2 u_tileOffset;\\n#include \\n#include \\n#include \\n#include \\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 dotThreshold(vec4 featureAttrOverFeatureArea, float dotValue, float tileDotsOverArea) {\\nreturn featureAttrOverFeatureArea * (1.0 / dotValue) * (1.0 / tileDotsOverArea);\\n}\\n#endif\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#include \\n#include \\nvoid drawLine(out lowp vec4 out_color, out highp vec3 out_pos) {\\nLineData outputs = buildLine(\\nout_pos,\\na_id,\\na_pos,\\na_color,\\n(a_aux3.xy - 128.) / 16.,\\n(a_aux3.zw - 128.) / 16.,\\n0.,\\na_aux2.z / 16.,\\na_bitset,\\nvec4(0.),\\nvec2(0.),\\na_aux2.w / 16.\\n);\\nv_id = outputs.id;\\nv_opacity = outputs.opacity;\\nv_aux1 = vec4(outputs.lineHalfWidth, outputs.normal, 0.);\\nout_color = outputs.color;\\n}\\n#endif\\nvoid drawFill(out lowp vec4 out_color, out highp vec3 out_pos) {\\nfloat a_bitSet = a_bitset;\\nout_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nmat3 tileToTileNormalized = mat3( 2. / 512., 0., 0.,\\n0., -2. / 512., 0.,\\n-1., 1., 1. );\\nout_pos = tileToTileNormalized * vec3((a_pos * FILL_POSITION_PRECISION), 1.);\\n#else\\nout_pos = u_dvsMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\n#endif\\n#ifdef PATTERN\\nvec4 a_tlbr = a_aux1;\\nfloat a_width = a_aux2.x;\\nfloat a_height = a_aux2.y;\\nvec2 a_offset = a_aux2.zw;\\nvec2 a_scale = a_aux3.xy;\\nfloat a_angle = a_aux3.z;\\nvec2 scale = (1.0 / SIGNED_BYTE_TO_UNSIGNED) * a_scale;\\nfloat width = u_zoomFactor * a_width * scale.x;\\nfloat height = u_zoomFactor * a_height * scale.y;\\nfloat angle = C_256_TO_RAD * a_angle;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nfloat dx = 0.0;\\nfloat dy = 0.0;\\nif (getBit(a_bitset, BITSET_FILL_RANDOM_PATTERN_OFFSET) > 0.5) {\\nfloat id = rgba2float(vec4(a_id, 0.0));\\ndx = rand(vec2(id, 0.0));\\ndy = rand(vec2(0.0, id));\\n}\\nmat3 patternMatrix = mat3(cosA / width, sinA / height, 0,\\n-sinA / width, cosA / height, 0,\\ndx, dy, 1);\\nvec2 tileOffset = vec2(u_tileOffset.x * cosA - u_tileOffset.y * sinA, u_tileOffset.x * sinA + u_tileOffset.y * cosA);\\ntileOffset = mod(tileOffset, vec2(a_aux2.x, a_aux2.y));\\nvec2 symbolOffset = (a_offset - tileOffset) / vec2(width, height);\\nv_tileTextureCoord = (patternMatrix * vec3(a_pos * FILL_POSITION_PRECISION, 1.0)).xy - symbolOffset;\\nv_aux1 = a_tlbr / u_mosaicSize.xyxy;\\nv_sampleAlphaOnly = getBit(a_bitset, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#elif SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_DOT_DENSITY\\nvec4 ddAttributeData0 = getAttributeData2(a_id) * u_isActive[0] * a_inverseArea;\\nvec4 ddAttributeData1 = getAttributeData3(a_id) * u_isActive[1] * a_inverseArea;\\nfloat size = u_tileZoomFactor * 512.0 * 1.0 / u_pixelRatio;\\nv_dotThresholds[0] = dotThreshold(ddAttributeData0, u_dotValue, u_tileDotsOverArea);\\nv_dotThresholds[1] = dotThreshold(ddAttributeData1, u_dotValue, u_tileDotsOverArea);\\nv_dotTextureCoords = (a_pos * FILL_POSITION_PRECISION + 0.5) / size;\\n#endif\\n}\\n#ifdef HITTEST\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nif (getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE) > 0.5) {\\nout_pos = vec3(0., 0., 2.);\\nreturn;\\n}\\n#endif\\nhittestFill(out_color, out_pos);\\ngl_PointSize = 1.0;\\n}\\n#elif defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nvoid draw(out lowp vec4 out_color, out highp vec3 out_pos) {\\nv_isOutline = getBit(a_bitset, BITSET_TYPE_FILL_OUTLINE);\\nif (v_isOutline > 0.5) {\\ndrawLine(out_color, out_pos);\\n} else {\\ndrawFill(out_color, out_pos);\\n}\\n}\\n#else\\n#define draw drawFill\\n#endif\\nvoid main()\\n{\\nINIT;\\nhighp vec3 pos = vec3(0.);\\nhighp vec4 color = vec4(0.);\\ndraw(color, pos);\\nv_color = color;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\",\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestFill(\\nout lowp vec4 out_color,\\nout highp vec3 out_pos\\n) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * FILL_POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * FILL_POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * FILL_POSITION_PRECISION, 1.);\\nfloat hittestDist = u_hittestDist;\\nfloat dist = distPointTriangle(u_hittestPos, pos.xy, pos1.xy, pos2.xy);\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist < 0. || dist >= hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist == 0. ? (1. / 255.) : 0.);\\n}\\n#endif\"},hittest:{\"common.glsl\":\"#ifdef HITTEST\\nuniform float u_hittestDist;\\nuniform highp vec2 u_hittestPos;\\nfloat projectScalar(vec2 a, vec2 b) {\\nreturn dot(a, normalize(b));\\n}\\nfloat distPointSegment(vec2 p0, vec2 p1, vec2 p2) {\\nvec2 L = p2 - p1;\\nvec2 A = p0 - p1;\\nfloat projAL = projectScalar(A, L);\\nfloat t = clamp(projAL / length(L), 0., 1.);\\nreturn distance(p0, p1 + t * (p2 - p1));\\n}\\nvoid hittestMarker(out lowp vec4 out_color, out highp vec3 out_pos, in highp vec3 pos, float size) {\\nfloat dist = distance(pos, vec3(u_hittestPos, 1.));\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif ((dist - size) > u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, (dist - size) < 0. ? (1. / 255.) : 0.);\\n}\\nfloat intersectPointTriangleBary(vec2 p, vec2 a, vec2 b, vec2 c) {\\nreturn inTriangle(xyToBarycentric(p, a, b, c));\\n}\\nfloat distPointTriangle(vec2 p, vec2 a, vec2 b, vec2 c) {\\nvec2 ba = b - a;\\nvec2 ca = c - a;\\nfloat crossProduct = ba.x * ca.y - ca.x * ba.y;\\nbool isParallel = crossProduct < EPSILON_HITTEST && crossProduct > -EPSILON_HITTEST;\\nif (isParallel) {\\nreturn -1.;\\n}\\nif (intersectPointTriangleBary(p.xy, a, b, c) == 1.) {\\nreturn 0.;\\n}\\nfloat distAB = distPointSegment(p, a, b);\\nfloat distBC = distPointSegment(p, b, c);\\nfloat distCA = distPointSegment(p, c, a);\\nreturn min(min(distAB, distBC), distCA);\\n}\\n#endif\"},icon:{\"common.glsl\":\"#include \\nuniform lowp vec2 u_mosaicSize;\\nvarying lowp vec4 v_color;\\nvarying highp vec3 v_id;\\nvarying highp vec4 v_sizeTex;\\nvarying mediump vec3 v_pos;\\nvarying lowp float v_opacity;\\nuniform lowp sampler2D u_texture;\\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\\n#ifdef SDF\\nvec4 getColor(vec2 v_size, vec2 v_tex) {\\nlowp vec4 fillPixelColor = v_color;\\nfloat d = 0.5 - rgba2float(texture2D(u_texture, v_tex));\\nfloat size = max(v_size.x, v_size.y);\\nfloat dist = d * size * SOFT_EDGE_RATIO * v_distRatio;\\nfillPixelColor *= clamp(0.5 - dist, 0.0, 1.0);\\nfloat outlineWidth = v_outlineWidth;\\n#ifdef HIGHLIGHT\\noutlineWidth = max(outlineWidth, 4.0 * v_isThin);\\n#endif\\nif (outlineWidth > 0.25) {\\nlowp vec4 outlinePixelColor = v_overridingOutlineColor * v_color + (1.0 - v_overridingOutlineColor) * v_outlineColor;\\nfloat clampedOutlineSize = min(outlineWidth, size);\\noutlinePixelColor *= clamp(0.5 - abs(dist) + clampedOutlineSize * 0.5, 0.0, 1.0);\\nreturn v_opacity * ((1.0 - outlinePixelColor.a) * fillPixelColor + outlinePixelColor);\\n}\\nreturn v_opacity * fillPixelColor;\\n}\\n#else\\nvec4 getColor(vec2 _v_size, vec2 v_tex) {\\nlowp vec4 texColor = texture2D(u_texture, v_tex);\\nreturn v_opacity * texColor * v_color;\\n}\\n#endif\",heatmapAccumulate:{\"common.glsl\":\"varying lowp vec4 v_hittestResult;\\nvarying mediump vec2 v_offsetFromCenter;\\nvarying highp float v_fieldValue;\",\"heatmapAccumulate.frag\":\"precision mediump float;\\n#include \\n#ifdef HEATMAP_PRECISION_HALF_FLOAT\\n#define COMPRESSION_FACTOR 0.25\\n#else\\n#define COMPRESSION_FACTOR 1.0\\n#endif\\nuniform lowp sampler2D u_texture;\\nvoid main() {\\n#ifdef HITTEST\\ngl_FragColor = v_hittestResult;\\n#else\\nfloat radius = length(v_offsetFromCenter);\\nfloat shapeWeight = step(radius, 1.0);\\nfloat oneMinusRadiusSquared = 1.0 - radius * radius;\\nfloat kernelWeight = oneMinusRadiusSquared * oneMinusRadiusSquared;\\ngl_FragColor = vec4(shapeWeight * kernelWeight * v_fieldValue * COMPRESSION_FACTOR);\\n#endif\\n}\",\"heatmapAccumulate.vert\":\"precision highp float;\\nattribute vec2 a_vertexOffset;\\nvec4 a_color = vec4(0.0);\\nvec2 a_zoomRange = vec2(0.0, 10000.0);\\nuniform float u_radius;\\nuniform float u_isFieldActive;\\nconst float TILE_TO_CLIP_SPACE = 2.0 / 512.0;\\n#include \\n#include \\n#include \\nvoid main() {\\nfloat filterFlags = getFilterFlags();\\n#ifdef HITTEST\\nhighp vec4 out_hittestResult = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0);\\nhittestMarker(out_hittestResult, out_pos, pos, u_radius);\\nv_hittestResult = out_hittestResult;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(a_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\nv_offsetFromCenter = sign(a_vertexOffset);\\nv_fieldValue = getAttributeData2(a_id).x * u_isFieldActive + 1.0 - u_isFieldActive;\\nvec3 centerPos = vec3(a_pos * POSITION_PRECISION * TILE_TO_CLIP_SPACE - 1.0, 1.0);\\nvec3 vertexPos = centerPos + vec3(v_offsetFromCenter, 0.0) * u_radius * TILE_TO_CLIP_SPACE;\\ngl_Position = vec4(clip(a_color, vertexPos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},\"hittest.glsl\":\"#ifdef HITTEST\\n#include \\nattribute vec2 a_vertexOffset1;\\nattribute vec2 a_vertexOffset2;\\nattribute vec2 a_texCoords1;\\nattribute vec2 a_texCoords2;\\nvec2 getTextureCoords(in vec3 bary, in vec2 texCoords0, in vec2 texCoords1, in vec2 texCoords2) {\\nreturn texCoords0 * bary.x + texCoords1 * bary.y + texCoords2 * bary.z;\\n}\\nvoid hittestIcon(\\ninout lowp vec4 out_color,\\nout highp vec3 out_pos,\\nin vec3 pos,\\nin vec3 offset,\\nin vec2 size,\\nin float scaleFactor,\\nin float isMapAligned\\n) {\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nvec3 posBase = u_viewMat3 * u_tileMat3 * pos;\\nvec3 offset1 = scaleFactor * vec3(a_vertexOffset1 / 16.0, 0.);\\nvec3 offset2 = scaleFactor * vec3(a_vertexOffset2 / 16.0, 0.);\\nvec2 pos0 = (posBase + getMatrixNoDisplay(isMapAligned) * offset).xy;\\nvec2 pos1 = (posBase + getMatrixNoDisplay(isMapAligned) * offset1).xy;\\nvec2 pos2 = (posBase + getMatrixNoDisplay(isMapAligned) * offset2).xy;\\nvec3 bary0 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary1 = xyToBarycentric(u_hittestPos + vec2(0., -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary2 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, -u_hittestDist), pos0, pos1, pos2);\\nvec3 bary3 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary4 = xyToBarycentric(u_hittestPos, pos0, pos1, pos2);\\nvec3 bary5 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, 0.), pos0, pos1, pos2);\\nvec3 bary6 = xyToBarycentric(u_hittestPos + vec2(-u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec3 bary7 = xyToBarycentric(u_hittestPos + vec2(0., u_hittestDist), pos0, pos1, pos2);\\nvec3 bary8 = xyToBarycentric(u_hittestPos + vec2(u_hittestDist, u_hittestDist), pos0, pos1, pos2);\\nvec2 tex0 = a_texCoords / u_mosaicSize;\\nvec2 tex1 = a_texCoords1 / u_mosaicSize;\\nvec2 tex2 = a_texCoords2 / u_mosaicSize;\\nfloat alphaSum = 0.;\\nalphaSum += inTriangle(bary0) * getColor(size, getTextureCoords(bary0, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary1) * getColor(size, getTextureCoords(bary1, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary2) * getColor(size, getTextureCoords(bary2, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary3) * getColor(size, getTextureCoords(bary3, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary4) * getColor(size, getTextureCoords(bary4, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary5) * getColor(size, getTextureCoords(bary5, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary6) * getColor(size, getTextureCoords(bary6, tex0, tex1, tex2)).a;\\nalphaSum += inTriangle(bary7) * getColor(size, getTextureCoords(bary7, tex0, tex1, tex2)).a;\\nout_pos.z += step(alphaSum, .05) * 2.0;\\nout_color = vec4(1. / 255., 0., 0., alphaSum / 255.);\\n}\\n#endif\",\"icon.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\nvoid main()\\n{\\n#ifdef HITTEST\\nvec4 color = v_color;\\n#else\\nvec4 color = getColor(v_sizeTex.xy, v_sizeTex.zw);\\n#endif\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\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;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\nfloat getMarkerScaleFactor(inout vec2 size, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat f = getSize(size.y) / size.y;\\nfloat sizeFactor = size.y / referenceSize;\\nreturn getSize(referenceSize) / referenceSize;\\n#else\\nreturn 1.;\\n#endif\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nvec2 size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec3 offset = vec3(a_vertexOffset / 16.0, 0.);\\nfloat outlineSize = a_sizeAndOutlineWidth.z * a_sizeAndOutlineWidth.z / 128.0;\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nfloat referenceSize = a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0;\\nfloat scaleSymbolProportionally = getBit(a_bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\nfloat scaleFactor = getMarkerScaleFactor(size, referenceSize);\\nsize.xy *= scaleFactor;\\noffset.xy *= scaleFactor;\\noutlineSize *= scaleSymbolProportionally * (scaleFactor - 1.0) + 1.0;\\nvec2 v_tex = a_texCoords / u_mosaicSize;\\nfloat filterFlags = getFilterFlags();\\nv_color = getColor(a_color, a_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getMatrix(isMapAligned) * getRotation() * offset;\\nv_sizeTex = vec4(size.xy, v_tex.xy);\\n#ifdef SDF\\nv_isThin = getBit(a_bitSet, BITSET_MARKER_OUTLINE_ALLOW_COLOR_OVERRIDE);\\n#ifdef VV_COLOR\\nv_overridingOutlineColor = v_isThin;\\n#else\\nv_overridingOutlineColor = 0.0;\\n#endif\\nv_outlineWidth = min(outlineSize, max(max(size.x, size.y) - 0.99, 0.0));\\nv_outlineColor = a_outlineColor;\\nv_distRatio = a_bitSetAndDistRatio.y / 126.0;\\n#endif\\n#ifdef HITTEST\\nhighp vec4 out_color = vec4(0.);\\nhighp vec3 out_pos = vec3(0.);\\nhittestIcon(out_color, out_pos, pos, offset, size, scaleFactor, isMapAligned);\\nv_color = out_color;\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\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_mapRotation;\\nuniform float u_mapAligned;\\nfloat getZ(in float minZoom, in float maxZoom, in float angle) {\\nfloat glyphAngle = angle * 360.0 / 254.0;\\nfloat mapAngle = u_mapRotation * 360.0 / 254.0;\\nfloat diffAngle = min(360.0 - abs(mapAngle - glyphAngle), abs(mapAngle - glyphAngle));\\nfloat z = 0.0;\\nz += u_mapAligned * (2.0 * (1.0 - step(minZoom, u_currentZoom)));\\nz += u_mapAligned * 2.0 * step(90.0, diffAngle);\\nz += 2.0 * (1.0 - step(u_currentZoom, maxZoom));\\nreturn z;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat groupMinZoom = getMinZoom();\\nfloat glyphMinZoom = a_glyphData.x;\\nfloat glyphMaxZoom = a_glyphData.y;\\nfloat glyphAngle = a_glyphData.z;\\nfloat a_minZoom = max(groupMinZoom, glyphMinZoom);\\nfloat a_placementPadding = a_refSymbolAndPlacementOffset.x * EXTRUDE_SCALE_PLACEMENT_PADDING;\\nvec2 a_placementDir = unpack_u8_nf32(a_refSymbolAndPlacementOffset.zw);\\nfloat a_refSymbolSize = a_refSymbolAndPlacementOffset.y;\\nfloat fontSize = a_texAndSize.z;\\nfloat haloSize = a_texAndSize.w * OUTLINE_SCALE;\\nvec2 vertexOffset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat z = getZ(a_minZoom, glyphMaxZoom, glyphAngle);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nfloat halfSize = getSize(a_refSymbolSize) / 2.0;\\nfloat animation = pow(getAnimationState(), vec4(2.0)).r;\\nv_color = animation * ((1.0 - u_isHalo) * a_color + (u_isHalo * a_haloColor));\\nv_opacity = 1.0;\\nv_tex = a_texCoords / u_mosaicSize;\\nv_edgeDistanceOffset = u_isHalo * haloSize / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\nvec2 placementOffset = a_placementDir * (halfSize + a_placementPadding);\\nvec3 glyphOffset = u_displayMat3 * vec3(vertexOffset + placementOffset, 0.0);\\nvec3 v_pos = vec3((u_dvsMat3 * pos + glyphOffset).xy, z);\\ngl_Position = vec4(v_pos, 1.0);\\n#ifdef DEBUG\\nv_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 vec3 v_id;\\nvarying mediump vec2 v_normal;\\nvarying mediump float v_lineHalfWidth;\\nvarying lowp float v_opacity;\\n#ifdef PATTERN\\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\\n#ifdef SDF\\nvarying mediump float v_lineWidthRatio;\\n#endif\",\"hittest.glsl\":\"#include \\n#ifdef HITTEST\\nattribute vec2 a_pos1;\\nattribute vec2 a_pos2;\\nvoid hittestLine(out lowp vec4 out_color, out highp vec3 out_pos, float halfWidth) {\\nvec3 pos = u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.);\\nvec3 pos1 = u_viewMat3 * u_tileMat3 * vec3(a_pos1 * POSITION_PRECISION, 1.);\\nvec3 pos2 = u_viewMat3 * u_tileMat3 * vec3(a_pos2 * POSITION_PRECISION, 1.);\\nvec3 outTextureCoords = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nfloat dist = min(distPointSegment(u_hittestPos, pos.xy, pos1.xy),\\ndistPointSegment(u_hittestPos, pos.xy, pos2.xy)) - halfWidth;\\nout_pos = vec3(getAttributeDataTextureCoords(a_id), 0.0);\\nif (dist >= u_hittestDist) {\\nout_pos.z += 2.0;\\n}\\nout_color = vec4(1. / 255., 0, 0, dist <= 0. ? (1. / 255.) : 0.);\\n}\\n#endif\",\"line.frag\":\"precision lowp float;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid main() {\\ngl_FragColor = v_color;\\n}\\n#else\\nvoid main() {\\nLineData inputs = LineData(\\nv_color,\\nv_normal,\\nv_lineHalfWidth,\\nv_opacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr,\\nv_patternSize,\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance,\\n#endif\\n#endif\\nv_id\\n);\\ngl_FragColor = shadeLine(inputs);\\n}\\n#endif\",\"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;\\nattribute vec2 a_zoomRange;\\n#include \\n#include \\n#include \\n#include \\n#include \\n#include \\n#ifdef HITTEST\\nvoid draw() {\\nfloat aa = 0.5 * u_antialiasing;\\nfloat a_halfWidth = a_accumulatedDistanceAndHalfWidth.y / 16.;\\nfloat a_cimHalfWidth = a_aux.x / 16. ;\\nvec2 a_offset = a_offsetAndNormal.xy / 16.;\\nfloat baseWidth = getBaseLineHalfWidth(a_halfWidth, a_cimHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nhighp vec3 pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestLine(v_color, pos, halfWidth);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#else\\nvoid draw()\\n{\\nhighp vec3 pos = vec3(0.);\\nLineData outputs = buildLine(\\npos,\\na_id,\\na_pos,\\na_color,\\na_offsetAndNormal.xy / 16.,\\na_offsetAndNormal.zw / 16.,\\na_accumulatedDistanceAndHalfWidth.x,\\na_accumulatedDistanceAndHalfWidth.y / 16.,\\na_segmentDirection.w,\\na_tlbr,\\na_segmentDirection.xy / 16.,\\na_aux.x / 16.\\n);\\nv_id = outputs.id;\\nv_color = outputs.color;\\nv_normal = outputs.normal;\\nv_lineHalfWidth = outputs.lineHalfWidth;\\nv_opacity = outputs.opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nv_tlbr = outputs.tlbr;\\nv_patternSize = outputs.patternSize;\\n#endif\\n#ifdef SDF\\nv_lineWidthRatio = outputs.lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nv_accumulatedDistance = outputs.accumulatedDistance;\\n#endif\\n#endif\\ngl_Position = vec4(clip(outputs.color, pos, getFilterFlags(), a_zoomRange), 1.0);\\n}\\n#endif\\nvoid main() {\\nINIT;\\ndraw();\\n}\"},pie:{\"pie.frag\":\"precision mediump float;\\n#include \\n#include \\n#include \\n#include \\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nuniform lowp vec4 u_colors[NUMBER_OF_FIELDS];\\nuniform lowp vec4 u_defaultColor;\\nuniform lowp vec4 u_othersColor;\\nuniform lowp vec4 u_outlineColor;\\nuniform float u_donutRatio;\\nuniform float u_sectorThreshold;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nlowp vec4 getSectorColor(in int index, in vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\n#if __VERSION__ == 300\\nmediump int colorIndex = int(filteredSectorToColorId[index].y);\\nreturn u_colors[colorIndex];\\n#else\\nmediump int colorIndex;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == index) {\\ncolorIndex = int(filteredSectorToColorId[i].y);\\n}\\n}\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == colorIndex) {\\nreturn u_colors[i];\\n}\\n}\\nreturn u_colors[NUMBER_OF_FIELDS - 1];\\n#endif\\n}\\nconst int OTHER_SECTOR_ID = 255;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor() {\\nfloat angle = 90.0 - C_RAD_TO_DEG * atan2(v_offset.y, v_offset.x);\\nif (angle < 0.0) {\\nangle += 360.0;\\n} else if (angle > 360.0) {\\nangle = mod(angle, 360.0);\\n}\\nint numOfEntries = int(v_numOfEntries);\\nfloat maxSectorAngle = v_maxSectorAngle;\\nlowp vec4 fillColor = (maxSectorAngle > 0.0 || u_sectorThreshold > 0.0) ? u_othersColor : u_defaultColor;\\nlowp vec4 prevColor = vec4(0.0);\\nlowp vec4 nextColor = vec4(0.0);\\nfloat startSectorAngle = 0.0;\\nfloat endSectorAngle = 0.0;\\nif (angle < maxSectorAngle) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nstartSectorAngle = endSectorAngle;\\nendSectorAngle = v_filteredSectorToColorId[index].x;\\nif (endSectorAngle > angle) {\\nfillColor = getSectorColor(index, v_filteredSectorToColorId);\\nprevColor = u_sectorThreshold != 0.0 && index == 0 && abs(360.0 - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index > 0 ? index - 1 : numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = u_sectorThreshold != 0.0 && abs(endSectorAngle - maxSectorAngle) < EPSILON ? u_othersColor :\\ngetSectorColor(index < numOfEntries - 1 ? index + 1 : 0, v_filteredSectorToColorId);\\nbreak;\\n}\\nif (index == numOfEntries - 1) {\\nbreak;\\n}\\n}\\n} else {\\nprevColor = getSectorColor(numOfEntries - 1, v_filteredSectorToColorId);\\nnextColor = getSectorColor(0, v_filteredSectorToColorId);\\nstartSectorAngle = maxSectorAngle;\\nendSectorAngle = 360.0;\\n}\\nlowp vec4 outlineColor = u_outlineColor;\\nfloat offset = length(v_offset);\\nfloat distanceSize = offset * v_size;\\nif (startSectorAngle != 0.0 || endSectorAngle != 360.0) {\\nfloat distanceToStartSector = (angle - startSectorAngle);\\nfloat distanceToEndSector = (endSectorAngle - angle);\\nfloat sectorThreshold = 0.6;\\nfloat beginSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToStartSector * offset);\\nfloat endSectorAlpha = smoothstep(0.0, sectorThreshold, distanceToEndSector * offset);\\nif (endSectorAlpha > 0.0) {\\nfillColor = mix(nextColor, fillColor, endSectorAlpha);\\n} else if (beginSectorAlpha > 0.0) {\\nfillColor = mix(prevColor, fillColor, beginSectorAlpha);\\n}\\n}\\nfloat donutSize = u_donutRatio * (v_size - v_outlineWidth);\\nfloat endOfDonut = donutSize - v_outlineWidth;\\nfloat aaThreshold = 0.75;\\nfloat innerCircleAlpha = endOfDonut - aaThreshold > 0.0 ? smoothstep(endOfDonut - aaThreshold, endOfDonut + aaThreshold, distanceSize) : 1.0;\\nfloat outerCircleAlpha = 1.0 - smoothstep(v_size - aaThreshold, v_size + aaThreshold , distanceSize);\\nfloat circleAlpha = innerCircleAlpha * outerCircleAlpha;\\nfloat startOfOutline = v_size - v_outlineWidth;\\nif (startOfOutline > 0.0 && v_outlineWidth > 0.25) {\\nfloat outlineFactor = smoothstep(startOfOutline - aaThreshold, startOfOutline + aaThreshold, distanceSize);\\nfloat innerLineFactor = donutSize - aaThreshold > 0.0 ? 1.0 - smoothstep(donutSize - aaThreshold, donutSize + aaThreshold , distanceSize) : 0.0;\\nfillColor = mix(fillColor, outlineColor, innerLineFactor + outlineFactor);\\n}\\nreturn v_opacity * circleAlpha * fillColor;\\n}\\n#endif\\nvoid main()\\n{\\nvec4 color = getColor();\\n#ifdef HIGHLIGHT\\ncolor.a = step(1.0 / 255.0, color.a);\\n#endif\\ngl_FragColor = color;\\n}\",\"pie.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;\\nattribute vec2 a_zoomRange;\\nuniform float u_outlineWidth;\\nuniform mediump float u_sectorThreshold;\\nvarying float v_size;\\nvarying vec2 v_offset;\\nvarying vec2 v_filteredSectorToColorId[NUMBER_OF_FIELDS];\\nvarying float v_numOfEntries;\\nvarying float v_maxSectorAngle;\\nstruct FilteredChartInfo {\\nfloat endSectorAngle;\\nint colorId;\\n};\\nint filter(in float sectorAngle,\\nin int currentIndex,\\ninout FilteredChartInfo filteredInfo,\\ninout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS]) {\\nif (sectorAngle > u_sectorThreshold * 360.0) {\\nfilteredInfo.endSectorAngle += sectorAngle;\\n#if __VERSION__ == 300\\nfilteredSectorToColorId[filteredInfo.colorId] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; i++) {\\nif (i == filteredInfo.colorId) {\\nfilteredSectorToColorId[i] = vec2(filteredInfo.endSectorAngle, currentIndex);\\n}\\n}\\n#endif\\n++filteredInfo.colorId;\\n}\\nreturn 0;\\n}\\nint filterValues(inout vec2 filteredSectorToColorId[NUMBER_OF_FIELDS],\\ninout FilteredChartInfo filteredInfo,\\nin float sectorAngles[NUMBER_OF_FIELDS]) {\\nfor (int index = 0; index < NUMBER_OF_FIELDS; ++index) {\\nfloat sectorValue = sectorAngles[index];\\nfilter(sectorValue, index, filteredInfo, filteredSectorToColorId);\\n}\\nreturn filteredInfo.colorId;\\n}\\n#include \\n#include \\n#include \\nvec2 getMarkerSize(inout vec2 offset, inout vec2 baseSize, inout float outlineSize, in float referenceSize, in float bitSet) {\\nvec2 outSize = baseSize;\\n#ifdef VV_SIZE\\nfloat r = 0.5 * getSize(referenceSize) / referenceSize;\\noutSize.xy *= r;\\noffset.xy *= r;\\nfloat scaleSymbolProportionally = getBit(bitSet, BITSET_MARKER_SCALE_SYMBOLS_PROPORTIONALLY);\\noutlineSize *= scaleSymbolProportionally * (r - 1.0) + 1.0;\\n#endif\\nreturn outSize;\\n}\\nvec3 getOffset(in vec2 in_offset, float a_bitSet) {\\nfloat isMapAligned = getBit(a_bitSet, BITSET_MARKER_ALIGNMENT_MAP);\\nvec3 offset = vec3(in_offset, 0.0);\\nreturn getMatrix(isMapAligned) * offset;\\n}\\nfloat filterNaNValues(in float value) {\\nreturn value != NAN_MAGIC_NUMBER ? value : 0.0;\\n}\\nvoid main()\\n{\\nINIT;\\nvec2 a_size = a_sizeAndOutlineWidth.xy * a_sizeAndOutlineWidth.xy / 128.0;\\nvec2 a_offset = a_vertexOffset / 16.0;\\nfloat outlineSize = u_outlineWidth;\\nfloat a_bitSet = a_bitSetAndDistRatio.x;\\nvec2 size = getMarkerSize(a_offset, a_size, outlineSize, a_sizeAndOutlineWidth.w * a_sizeAndOutlineWidth.w / 128.0, a_bitSet);\\nfloat filterFlags = getFilterFlags();\\nvec3 pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_pos = u_dvsMat3 * pos + getOffset(a_offset, a_bitSet);\\nv_offset = sign(a_texCoords - 0.5);\\nv_size = max(size.x, size.y);\\nv_outlineWidth = outlineSize;\\nfloat attributeData[10];\\nvec4 attributeData0 = getAttributeData3(a_id);\\nattributeData[0] = filterNaNValues(attributeData0.x);\\nattributeData[1] = filterNaNValues(attributeData0.y);\\nattributeData[2] = filterNaNValues(attributeData0.z);\\nattributeData[3] = filterNaNValues(attributeData0.w);\\n#if (NUMBER_OF_FIELDS > 4)\\nvec4 attributeData1 = getAttributeData4(a_id);\\nattributeData[4] = filterNaNValues(attributeData1.x);\\nattributeData[5] = filterNaNValues(attributeData1.y);\\nattributeData[6] = filterNaNValues(attributeData1.z);\\nattributeData[7] = filterNaNValues(attributeData1.w);\\n#endif\\n#if (NUMBER_OF_FIELDS > 8)\\nvec4 attributeData2 = getAttributeData5(a_id);\\nattributeData[8] = filterNaNValues(attributeData2.x);\\nattributeData[9] = filterNaNValues(attributeData2.y);\\n#endif\\nfloat sum = 0.0;\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsum += attributeData[i];\\n}\\nfloat sectorAngles[NUMBER_OF_FIELDS];\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nsectorAngles[i] = 360.0 * attributeData[i] / sum;\\n}\\nvec2 filteredSectorToColorId[NUMBER_OF_FIELDS];\\nFilteredChartInfo filteredInfo = FilteredChartInfo(0.0, 0);\\nint numOfEntries = filterValues(filteredSectorToColorId, filteredInfo, sectorAngles);\\nv_numOfEntries = float(numOfEntries);\\nv_maxSectorAngle = filteredInfo.endSectorAngle;\\n#if __VERSION__ == 300\\nv_filteredSectorToColorId = filteredSectorToColorId;\\n#else\\nfor (int i = 0; i < NUMBER_OF_FIELDS; ++i) {\\nif (i == numOfEntries) {\\nbreak;\\n}\\nv_filteredSectorToColorId[i] = filteredSectorToColorId[i];\\n}\\n#endif\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.0);\\nv_color = vec4(0.0);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * pos, v_size);\\ngl_PointSize = 1.0;\\ngl_Position = vec4(clip(v_color, out_pos, filterFlags, a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, filterFlags, a_zoomRange), 1.0);\\n#endif\\n}\"},shared:{line:{\"common.glsl\":\"#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nuniform mediump vec2 u_mosaicSize;\\nvarying mediump float v_sampleAlphaOnly;\\n#endif\\nstruct LineData {\\nlowp vec4 color;\\nmediump vec2 normal;\\nmediump float lineHalfWidth;\\nlowp float opacity;\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nmediump vec4 tlbr;\\nmediump vec2 patternSize;\\n#endif\\n#ifdef SDF\\nmediump float lineWidthRatio;\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nhighp float accumulatedDistance;\\n#endif\\n#endif\\nhighp vec3 id;\\n};\",\"line.frag\":\"uniform lowp float u_blur;\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && !defined(HIGHLIGHT)\\n#if defined(PATTERN) || defined(SDF)\\nuniform sampler2D u_texture;\\nuniform highp float u_pixelRatio;\\n#endif\\n#endif\\n#if defined(SDF) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * line.lineWidthRatio;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.25 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexX, relativeTexY));\\nmediump float d = rgba2float(texture2D(u_texture, texCoord)) - 0.5;\\nfloat dist = d * line.lineHalfWidth;\\nreturn line.opacity * clamp(0.5 - dist, 0.0, 1.0) * line.color;\\n}\\n#elif defined(PATTERN) && !defined(HIGHLIGHT) && !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE)\\nlowp vec4 getLineColor(LineData line) {\\nmediump float lineHalfWidth = line.lineHalfWidth;\\nmediump float adjustedPatternWidth = line.patternSize.x * 2.0 * lineHalfWidth / line.patternSize.y;\\nmediump float relativeTexX = fract(line.accumulatedDistance / adjustedPatternWidth);\\nmediump float relativeTexY = 0.5 + 0.5 * line.normal.y;\\nmediump vec2 texCoord = mix(line.tlbr.xy, line.tlbr.zw, vec2(relativeTexY, relativeTexX));\\nlowp vec4 color = texture2D(u_texture, texCoord);\\n#ifdef VV_COLOR\\nif (v_sampleAlphaOnly > 0.5) {\\ncolor.rgb = vec3(color.a);\\n}\\n#endif\\nreturn line.opacity * line.color * color;\\n}\\n#else\\nlowp vec4 getLineColor(LineData line) {\\nreturn line.opacity * line.color;\\n}\\n#endif\\nvec4 shadeLine(LineData line)\\n{\\nmediump float thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(line.lineHalfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nmediump float fragDist = length(line.normal) * line.lineHalfWidth;\\nlowp float alpha = clamp(thinLineFactor * (line.lineHalfWidth - fragDist) / (u_blur + thinLineFactor - 1.0), 0.0, 1.0);\\nlowp vec4 out_color = getLineColor(line) * alpha;\\n#ifdef HIGHLIGHT\\nout_color.a = step(1.0 / 255.0, out_color.a);\\n#endif\\n#ifdef ID\\nif (out_color.a < 1.0 / 255.0) {\\ndiscard;\\n}\\nout_color = vec4(line.id, 0.0);\\n#endif\\nreturn out_color;\\n}\",\"line.vert\":\"float getBaseLineHalfWidth(in float lineHalfWidth, in float referenceHalfWidth) {\\n#ifdef VV_SIZE\\nfloat refLineWidth = 2.0 * referenceHalfWidth;\\nreturn 0.5 * (lineHalfWidth / max(referenceHalfWidth, EPSILON)) * getSize(refLineWidth);\\n#else\\nreturn lineHalfWidth;\\n#endif\\n}\\nfloat getLineHalfWidth(in float baseWidth, in float aa) {\\nfloat halfWidth = max(baseWidth + aa, 0.45) + 0.1 * aa;\\n#ifdef HIGHLIGHT\\nhalfWidth = max(halfWidth, 2.0);\\n#endif\\nreturn halfWidth;\\n}\\nvec2 getDist(in vec2 offset, in float halfWidth) {\\nfloat thinLineFactor = max(THIN_LINE_WIDTH_FACTOR * step(halfWidth, THIN_LINE_HALF_WIDTH), 1.0);\\nreturn thinLineFactor * halfWidth * offset;\\n}\\nLineData buildLine(\\nout vec3 out_pos,\\nin vec3 in_id,\\nin vec2 in_pos,\\nin vec4 in_color,\\nin vec2 in_offset,\\nin vec2 in_normal,\\nin float in_accumulatedDist,\\nin float in_lineHalfWidth,\\nin float in_bitSet,\\nin vec4 in_tlbr,\\nin vec2 in_segmentDirection,\\nin float in_referenceHalfWidth\\n)\\n{\\nfloat aa = 0.5 * u_antialiasing;\\nfloat baseWidth = getBaseLineHalfWidth(in_lineHalfWidth, in_referenceHalfWidth);\\nfloat halfWidth = getLineHalfWidth(baseWidth, aa);\\nfloat z = 2.0 * step(baseWidth, 0.0);\\nvec2 dist = getDist(in_offset, halfWidth);\\nvec3 offset = u_displayViewMat3 * vec3(dist, 0.0);\\nvec3 pos = u_dvsMat3 * vec3(in_pos * POSITION_PRECISION, 1.0) + offset;\\n#ifdef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\nvec4 color = in_color;\\nfloat opacity = 1.0;\\n#else\\nvec4 color = getColor(in_color, in_bitSet, BITSET_GENERIC_LOCK_COLOR);\\nfloat opacity = getOpacity();\\n#ifdef SDF\\nconst float SDF_PATTERN_HALF_WIDTH = 15.5;\\nfloat scaleDash = getBit(in_bitSet, BITSET_LINE_SCALE_DASH);\\nfloat lineWidthRatio = (scaleDash * max(halfWidth - 0.55 * u_antialiasing, 0.25) + (1.0 - scaleDash)) / SDF_PATTERN_HALF_WIDTH;\\n#endif\\n#endif\\n#if !defined(SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE) && defined(PATTERN)\\nv_sampleAlphaOnly = getBit(in_bitSet, BITSET_GENERIC_CONSIDER_ALPHA_ONLY);\\n#endif\\nout_pos = vec3(pos.xy, z);\\nreturn LineData(\\ncolor,\\nin_normal,\\nhalfWidth,\\nopacity,\\n#ifndef SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#ifdef PATTERN\\nin_tlbr / u_mosaicSize.xyxy,\\nvec2(in_tlbr.z - in_tlbr.x, in_tlbr.w - in_tlbr.y),\\n#endif\\n#ifdef SDF\\nlineWidthRatio,\\n#endif\\n#if defined(PATTERN) || defined(SDF)\\nin_accumulatedDist * u_zoomFactor + dot(in_segmentDirection, dist),\\n#endif\\n#endif\\nnorm(in_id)\\n);\\n}\"}},\"symbologyTypeUtils.glsl\":\"#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_OUTLINE_FILL_LIKE\\n#endif\\n#if SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_SIMPLE || SYMBOLOGY_TYPE == SYMBOLOGY_TYPE_OUTLINE_FILL_SIMPLE\\n#define SYMBOLOGY_TYPE_IS_SIMPLE_LIKE\\n#endif\",text:{\"common.glsl\":\"uniform highp vec2 u_mosaicSize;\\nvarying highp vec3 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;\",\"hittest.glsl\":\"#include \",\"text.frag\":\"precision mediump float;\\n#include \\nuniform lowp sampler2D u_texture;\\n#ifdef HITTEST\\nvec4 getColor() {\\nreturn v_color;\\n}\\n#else\\nvec4 getColor()\\n{\\nfloat SDF_CUTOFF = (2.0 / 8.0);\\nfloat SDF_BASE_EDGE_DIST = 1.0 - SDF_CUTOFF;\\nlowp float dist = texture2D(u_texture, v_tex).a;\\nmediump float edge = SDF_BASE_EDGE_DIST - v_edgeDistanceOffset;\\n#ifdef HIGHLIGHT\\nedge /= 2.0;\\n#endif\\nlowp float aa = v_antialiasingWidth;\\nlowp float alpha = smoothstep(edge - aa, edge + aa, dist);\\nreturn alpha * v_color * v_opacity;\\n}\\n#endif\\nvoid main()\\n{\\ngl_FragColor = getColor();\\n}\",\"text.vert\":\"precision highp float;\\n#include \\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_zoomRange;\\nattribute vec2 a_vertexOffset;\\nattribute vec2 a_texCoords;\\nuniform float u_isHalo;\\nfloat getTextSize(inout vec2 offset, inout float baseSize, in float referenceSize) {\\n#ifdef VV_SIZE\\nfloat r = getSize(referenceSize) / referenceSize;\\nbaseSize *= r;\\noffset.xy *= r;\\nreturn baseSize;\\n#endif\\nreturn baseSize;\\n}\\nvoid main()\\n{\\nINIT;\\nfloat a_referenceSize = a_aux.z * a_aux.z / 256.0;\\nfloat a_bitSet = a_aux.w;\\nfloat a_fontSize = a_texFontSize.z;\\nvec2 a_offset = a_vertexOffset * OFFSET_PRECISION;\\nvec3 in_pos = vec3(a_pos * POSITION_PRECISION, 1.0);\\nfloat fontSize = getTextSize(a_offset, a_fontSize, a_referenceSize);\\nfloat fontScale = fontSize / SDF_FONT_SIZE;\\nvec3 offset = getRotation() * vec3(a_offset, 0.0);\\nmat3 extrudeMatrix = getBit(a_bitSet, 0) == 1.0 ? u_displayViewMat3 : u_displayMat3;\\nv_color = u_isHalo * a_haloColor + (1.0 - u_isHalo) * getColor(a_color, a_bitSet, 1);\\nv_opacity = getOpacity();\\nv_id = norm(a_id);\\nv_tex = a_texCoords / u_mosaicSize;\\nv_pos = u_dvsMat3 * in_pos + extrudeMatrix * offset;\\nv_edgeDistanceOffset = u_isHalo * OUTLINE_SCALE * a_texFontSize.w / fontScale / MAX_SDF_DISTANCE;\\nv_antialiasingWidth = 0.105 * SDF_FONT_SIZE / fontSize / u_pixelRatio;\\n#ifdef HITTEST\\nhighp vec3 out_pos = vec3(0.);\\nv_color = vec4(0.);\\nhittestMarker(v_color, out_pos, u_viewMat3 * u_tileMat3 * vec3(a_pos * POSITION_PRECISION, 1.0)\\n+ u_tileMat3 * offset, fontSize / 2.);\\ngl_PointSize = 1.;\\ngl_Position = vec4(clip(v_color, out_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#else\\ngl_Position = vec4(clip(v_color, v_pos, getFilterFlags(), a_zoomRange), 1.0);\\n#endif\\n}\"},\"utils.glsl\":\"float rshift(in float u32, in int amount) {\\nreturn floor(u32 / pow(2.0, float(amount)));\\n}\\nfloat getBit(in float bitset, in int bitIndex) {\\nfloat offset = pow(2.0, float(bitIndex));\\nreturn mod(floor(bitset / offset), 2.0);\\n}\\nfloat getFilterBit(in float bitset, in int bitIndex) {\\nreturn getBit(bitset, bitIndex + 1);\\n}\\nfloat getHighlightBit(in float bitset) {\\nreturn getBit(bitset, 0);\\n}\\nhighp vec3 unpackDisplayIdTexel(in highp vec3 bitset) {\\nfloat isAggregate = getBit(bitset.b, 7);\\nreturn (1.0 - isAggregate) * bitset + isAggregate * (vec3(bitset.rgb) - vec3(0.0, 0.0, float(0x80)));\\n}\\nvec4 unpack(in float u32) {\\nfloat r = mod(rshift(u32, 0), 255.0);\\nfloat g = mod(rshift(u32, 8), 255.0);\\nfloat b = mod(rshift(u32, 16), 255.0);\\nfloat a = mod(rshift(u32, 24), 255.0);\\nreturn vec4(r, g, b, a);\\n}\\nvec3 norm(in vec3 v) {\\nreturn v /= 255.0;\\n}\\nvec4 norm(in vec4 v) {\\nreturn v /= 255.0;\\n}\\nfloat max4(vec4 target) {\\nreturn max(max(max(target.x, target.y), target.z), target.w);\\n}\\nvec2 unpack_u8_nf32(vec2 bytes) {\\nreturn (bytes - 127.0) / 127.0;\\n}\\nhighp float rand(in vec2 co) {\\nhighp float a = 12.9898;\\nhighp float b = 78.233;\\nhighp float c = 43758.5453;\\nhighp float dt = dot(co, vec2(a,b));\\nhighp float sn = mod(dt, 3.14);\\nreturn fract(sin(sn) * c);\\n}\",\"vcommon.glsl\":\"#include \\n#include \\n#include \\n#include \\n#include \\nattribute vec2 a_pos;\\nattribute highp vec3 a_id;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp mat3 u_displayMat3;\\nuniform highp mat3 u_displayViewMat3;\\nuniform highp mat3 u_tileMat3;\\nuniform highp mat3 u_viewMat3;\\nuniform highp float u_pixelRatio;\\nuniform mediump float u_zoomFactor;\\nuniform mediump float u_antialiasing;\\nuniform mediump float u_currentZoom;\\nvec4 VV_ADATA = vec4(0.0);\\nvoid loadVisualVariableData(inout vec4 target) {\\n#ifdef SUPPORTS_TEXTURE_FLOAT\\ntarget.rgba = getAttributeData2(a_id);\\n#else\\nvec4 data0 = getAttributeData2(a_id);\\nvec4 data1 = getAttributeData3(a_id);\\ntarget.r = u88VVToFloat(data0.rg * 255.0);\\ntarget.g = u88VVToFloat(data0.ba * 255.0);\\ntarget.b = u88VVToFloat(data1.rg * 255.0);\\ntarget.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\\nfloat isColorLocked = getBit(a_bitSet, index);\\nreturn getVVColor(VV_ADATA[ATTR_VV_COLOR], a_color, isColorLocked);\\n#else\\nreturn a_color;\\n#endif\\n}\\nfloat getOpacity() {\\n#ifdef VV_OPACITY\\nreturn getVVOpacity(VV_ADATA[ATTR_VV_OPACITY]);\\n#else\\nreturn 1.0;\\n#endif\\n}\\nfloat getSize(in float in_size) {\\n#ifdef VV_SIZE\\nreturn getVVSize(in_size, VV_ADATA[ATTR_VV_SIZE]);\\n#else\\nreturn in_size;\\n#endif\\n}\\nmat3 getRotation() {\\n#ifdef VV_ROTATION\\nreturn getVVRotationMat3(mod(VV_ADATA[ATTR_VV_ROTATION], 360.0));\\n#else\\nreturn mat3(1.0);\\n#endif\\n}\\nfloat getFilterFlags() {\\n#ifdef IGNORES_SAMPLER_PRECISION\\nreturn ceil(getAttributeData0(a_id).x * 255.0);\\n#else\\nreturn getAttributeData0(a_id).x * 255.0;\\n#endif\\n}\\nvec4 getAnimationState() {\\nreturn getAttributeData1(a_id);\\n}\\nfloat getMinZoom() {\\nvec4 data0 = getAttributeData0(a_id) * 255.0;\\nreturn data0.g;\\n}\\nmat3 getMatrixNoDisplay(float isMapAligned) {\\nreturn isMapAligned * u_viewMat3 * u_tileMat3 + (1.0 - isMapAligned) * u_tileMat3;\\n}\\nmat3 getMatrix(float isMapAligned) {\\nreturn isMapAligned * u_displayViewMat3 + (1.0 - isMapAligned) * u_displayMat3;\\n}\\nvec3 clip(inout vec4 color, inout vec3 pos, in float filterFlags, in vec2 minMaxZoom) {\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 0));\\n#ifdef INSIDE\\npos.z += 2.0 * (1.0 - getFilterBit(filterFlags, 1));\\n#elif defined(OUTSIDE)\\npos.z += 2.0 * getFilterBit(filterFlags, 1);\\n#elif defined(HIGHLIGHT)\\n#if !defined(HIGHLIGHT_ALL)\\npos.z += 2.0 * (1.0 - getHighlightBit(filterFlags));\\n#endif\\n#endif\\npos.z += 2.0 * (step(minMaxZoom.y, u_currentZoom) + (1.0 - step(minMaxZoom.x, u_currentZoom)));\\nreturn 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) {\\nreturn (val == NAN_MAGIC_NUMBER);\\n}\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nfloat getVVMinMaxSize(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nfloat interpolationRatio = (sizeValue - u_vvSizeMinMaxValue.x) / (u_vvSizeMinMaxValue.y - u_vvSizeMinMaxValue.x);\\ninterpolationRatio = clamp(interpolationRatio, 0.0, 1.0);\\nreturn 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) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nif (sizeValue <= u_vvSizeFieldStopsValues[0]) {\\nreturn u_vvSizeFieldStopsSizes[0];\\n}\\nfor (int i = 1; i < VV_SIZE_N; ++i) {\\nif (u_vvSizeFieldStopsValues[i] >= sizeValue) {\\nfloat f = (sizeValue - u_vvSizeFieldStopsValues[i-1]) / (u_vvSizeFieldStopsValues[i] - u_vvSizeFieldStopsValues[i-1]);\\nreturn mix(u_vvSizeFieldStopsSizes[i-1], u_vvSizeFieldStopsSizes[i], f);\\n}\\n}\\nreturn u_vvSizeFieldStopsSizes[VV_SIZE_N - 1];\\n}\\n#endif\\n#ifdef VV_SIZE_UNIT_VALUE\\nfloat getVVUnitValue(float sizeValue, float fallback) {\\nif (isNan(sizeValue)) {\\nreturn fallback;\\n}\\nreturn u_vvSizeUnitValueWorldToPixelsRatio * sizeValue;\\n}\\n#endif\\n#ifdef VV_OPACITY\\nconst int VV_OPACITY_N = 8;\\nfloat getVVOpacity(float opacityValue) {\\nif (isNan(opacityValue)) {\\nreturn 1.0;\\n}\\nif (opacityValue <= u_vvOpacityValues[0]) {\\nreturn u_vvOpacities[0];\\n}\\nfor (int i = 1; i < VV_OPACITY_N; ++i) {\\nif (u_vvOpacityValues[i] >= opacityValue) {\\nfloat f = (opacityValue - u_vvOpacityValues[i-1]) / (u_vvOpacityValues[i] - u_vvOpacityValues[i-1]);\\nreturn mix(u_vvOpacities[i-1], u_vvOpacities[i], f);\\n}\\n}\\nreturn u_vvOpacities[VV_OPACITY_N - 1];\\n}\\n#endif\\n#ifdef VV_ROTATION\\nmat4 getVVRotation(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat4(1, 0, 0, 0,\\n0, 1, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat4(cosA, sinA, 0, 0,\\n-sinA, cosA, 0, 0,\\n0, 0, 1, 0,\\n0, 0, 0, 1);\\n}\\nmat3 getVVRotationMat3(float rotationValue) {\\nif (isNan(rotationValue)) {\\nreturn mat3(1, 0, 0,\\n0, 1, 0,\\n0, 0, 1);\\n}\\nfloat rotation = rotationValue;\\nif (u_vvRotationType == 1.0) {\\nrotation = 90.0 - rotation;\\n}\\nfloat angle = C_DEG_TO_RAD * -rotation;\\nfloat sinA = sin(angle);\\nfloat cosA = cos(angle);\\nreturn mat3(cosA, -sinA, 0,\\nsinA, cosA, 0,\\n0, 0, 1);\\n}\\n#endif\\n#ifdef VV_COLOR\\nconst int VV_COLOR_N = 8;\\nvec4 getVVColor(float colorValue, vec4 fallback, float isColorLocked) {\\nif (isNan(colorValue) || isColorLocked == 1.0) {\\nreturn fallback;\\n}\\nif (colorValue <= u_vvColorValues[0]) {\\nreturn u_vvColors[0];\\n}\\nfor (int i = 1; i < VV_COLOR_N; ++i) {\\nif (u_vvColorValues[i] >= colorValue) {\\nfloat f = (colorValue - u_vvColorValues[i-1]) / (u_vvColorValues[i] - u_vvColorValues[i-1]);\\nreturn mix(u_vvColors[i-1], u_vvColors[i], f);\\n}\\n}\\nreturn u_vvColors[VV_COLOR_N - 1];\\n}\\n#endif\\nfloat getVVSize(in float size, in float vvSize) {\\n#ifdef VV_SIZE_MIN_MAX_VALUE\\nreturn getVVMinMaxSize(vvSize, size);\\n#elif defined(VV_SIZE_SCALE_STOPS)\\nreturn u_vvSizeScaleStopsValue;\\n#elif defined(VV_SIZE_FIELD_STOPS)\\nfloat outSize = getVVStopsSize(vvSize, size);\\nreturn isNan(outSize) ? size : outSize;\\n#elif defined(VV_SIZE_UNIT_VALUE)\\nreturn getVVUnitValue(vvSize, size);\\n#else\\nreturn size;\\n#endif\\n}\"},overlay:{overlay:{\"overlay.frag\":\"precision lowp float;\\nuniform lowp sampler2D u_texture;\\nuniform lowp float u_opacity;\\nvarying mediump vec2 v_uv;\\nvoid main() {\\nvec4 color = texture2D(u_texture, v_uv);\\ngl_FragColor = color * u_opacity;\\n}\",\"overlay.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_uv;\\nuniform highp mat3 u_dvsMat3;\\nvarying mediump vec2 v_uv;\\nvoid main(void) {\\nv_uv = a_uv;\\nmediump vec3 pos = u_dvsMat3 * vec3(a_pos, 1.0);\\ngl_Position = vec4(pos.xy, 0.0, 1.0);\\n}\"}},\"post-processing\":{blit:{\"blit.frag\":\"precision mediump float;\\nuniform sampler2D u_texture;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_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) {\\nfloat mirrorFactor = 1.2 - factor;\\nreturn mix(factor, mirrorFactor, u_bloomRadius);\\n}\\nvoid main() {\\ngl_FragColor = u_bloomStrength * (\\nlerpBloomFactor(u_bloomFactors[0]) * vec4(u_bloomTintColors[0], 1.0) * texture2D(u_blurTexture1, v_uv) +\\nlerpBloomFactor(u_bloomFactors[1]) * vec4(u_bloomTintColors[1], 1.0) * texture2D(u_blurTexture2, v_uv) +\\nlerpBloomFactor(u_bloomFactors[2]) * vec4(u_bloomTintColors[2], 1.0) * texture2D(u_blurTexture3, v_uv) +\\nlerpBloomFactor(u_bloomFactors[3]) * vec4(u_bloomTintColors[3], 1.0) * texture2D(u_blurTexture4, v_uv) +\\nlerpBloomFactor(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) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = float(SIGMA);\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_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() {\\nvec4 texel = texture2D(u_texture, v_uv);\\nvec3 luma = vec3(0.299, 0.587, 0.114);\\nfloat v = dot(texel.xyz, luma);\\nvec4 outputColor = vec4(u_defaultColor.rgb, u_defaultOpacity);\\nfloat alpha = smoothstep(u_luminosityThreshold, u_luminosityThreshold + u_smoothWidth, v);\\ngl_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) {\\nreturn 0.39894 * exp(-0.5 * x * x / ( sigma * sigma)) / sigma;\\n}\\nvoid main() {\\nvec2 invSize = 1.0 / u_texSize;\\nfloat fSigma = u_sigma;\\nfloat weightSum = gaussianPdf(0.0, fSigma);\\nvec4 pixelColorSum = texture2D(u_colorTexture, v_uv) * weightSum;\\nfor (int i = 1; i < KERNEL_RADIUS; i ++) {\\nfloat x = float(i);\\nfloat w = gaussianPdf(x, fSigma);\\nvec2 uvOffset = u_direction * invSize * x;\\nvec4 sample1 = texture2D(u_colorTexture, v_uv + uvOffset);\\nvec4 sample2 = texture2D(u_colorTexture, v_uv - uvOffset);\\npixelColorSum += (sample1 + sample2) * w;\\nweightSum += 2.0 * w;\\n}\\ngl_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) {\\nfloat samples[10];\\nsamples[0] = -0.08;\\nsamples[1] = -0.05;\\nsamples[2] = -0.03;\\nsamples[3] = -0.02;\\nsamples[4] = -0.01;\\nsamples[5] = 0.01;\\nsamples[6] = 0.02;\\nsamples[7] = 0.03;\\nsamples[8] = 0.05;\\nsamples[9] = 0.08;\\nvec2 dir = 0.5 - v_uv;\\nfloat dist = sqrt(dir.x * dir.x + dir.y * dir.y);\\ndir = dir / dist;\\nvec4 color = texture2D(u_colorTexture,v_uv);\\nvec4 sum = color;\\nfor (int i = 0; i < 10; i++) {\\nsum += texture2D(u_colorTexture, v_uv + dir * samples[i] * sampleDist);\\n}\\nsum *= 1.0 / 11.0;\\nfloat t = dist * sampleStrength;\\nt = clamp(t, 0.0, 1.0);\\ngl_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() {\\nvec4 minColor = texture2D(u_minColor, vec2(0.5));\\nvec4 maxColor = texture2D(u_maxColor, vec2(0.5));\\nvec4 color = texture2D(u_texture, v_uv);\\nvec3 minColorUnpremultiply = minColor.rgb / minColor.a;\\nvec3 maxColorUnpremultiply = maxColor.rgb / maxColor.a;\\nvec3 colorUnpremultiply = color.rgb / color.a;\\nvec3 range = maxColorUnpremultiply - minColorUnpremultiply;\\ngl_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() {\\nvec2 srcPixel = floor(gl_FragCoord.xy) * float(CELL_SIZE);\\nvec2 onePixel = vec2(1.0) / u_srcResolution;\\nvec2 uv = (srcPixel + 0.5) / u_srcResolution;\\nvec4 minColor = vec4(1.0);\\nvec4 maxColor = vec4(0.0);\\nfor (int y = 0; y < CELL_SIZE; ++y) {\\nfor (int x = 0; x < CELL_SIZE; ++x) {\\nvec2 offset = uv + vec2(x, y) * onePixel;\\nminColor = min(minColor, texture2D(u_minTexture, offset));\\nmaxColor = max(maxColor, texture2D(u_maxTexture, offset));\\n}\\n}\\ngl_FragData[0] = minColor;\\ngl_FragData[1] = maxColor;\\n}\"}},\"drop-shadow\":{composite:{\"composite.frag\":\"precision mediump float;\\nuniform sampler2D u_layerFBOTexture;\\nuniform sampler2D u_blurTexture;\\nuniform vec4 u_shadowColor;\\nuniform vec2 u_shadowOffset;\\nuniform highp mat3 u_displayViewMat3;\\nvarying vec2 v_uv;\\nvoid main() {\\nvec3 offset = u_displayViewMat3 * vec3(u_shadowOffset, 0.0);\\nvec4 layerColor = texture2D(u_layerFBOTexture, v_uv);\\nvec4 blurColor = texture2D(u_blurTexture, v_uv - offset.xy / 2.0);\\ngl_FragColor = ((1.0 - layerColor.a) * blurColor.a * u_shadowColor + layerColor);\\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() {\\nG[0] = g0,\\nG[1] = g1,\\nG[2] = g2,\\nG[3] = g3,\\nG[4] = g4,\\nG[5] = g5,\\nG[6] = g6,\\nG[7] = g7,\\nG[8] = g8;\\nmat3 I;\\nfloat cnv[9];\\nvec3 sample;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D(u_colorTexture, v_uv + texel * vec2(i - 1.0,j - 1.0)).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 9; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nfloat M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);\\nfloat S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);\\ngl_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() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\ngl_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() {\\nmat3 I;\\nfloat cnv[2];\\nvec3 sample;\\nG[0] = g0;\\nG[1] = g1;\\nfor (float i = 0.0; i < 3.0; i++) {\\nfor (float j = 0.0; j < 3.0; j++) {\\nsample = texture2D( u_colorTexture, v_uv + texel * vec2(i-1.0,j-1.0) ).rgb;\\nI[int(i)][int(j)] = length(sample);\\n}\\n}\\nfor (int i = 0; i < 2; i++) {\\nfloat dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);\\ncnv[i] = dp3 * dp3;\\n}\\nvec4 color = texture2D(u_colorTexture, v_uv);\\ngl_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() {\\nvec4 color = texture2D(u_colorTexture, v_uv);\\nvec4 rgbw = u_coefficients * vec4(color.a > 0.0 ? color.rgb / color.a : vec3(0.0), 1.0);\\nfloat a = color.a;\\ngl_FragColor = vec4(a * rgbw.rgb, a);\\n}\"},pp:{\"pp.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying vec2 v_uv;\\nvoid main() {\\ngl_Position = vec4(a_position, 0.0, 1.0);\\nv_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\\nvec4 color = sampleBicubicBSpline(u_texture, v_texcoord, u_coordScale);\\n#else\\nvec4 color = texture2D(u_texture, v_texcoord);\\n#endif\\nfloat alpha = u_opacity * color.a;\\ngl_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{\\nv_texcoord = a_pos;\\ngl_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_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) {\\nvec2 targetLocation = u_flipY ? vec2(coords.s, 1.0 - coords.t) : coords;\\n#ifdef APPLY_PROJECTION\\ntargetLocation = projectPixelLocation(targetLocation);\\n#endif\\nreturn targetLocation;\\n}\\nbool isOutside(vec2 coords){\\nif (coords.t>1.00001 ||coords.t<-0.00001 || coords.s>1.00001 ||coords.s<-0.00001) {\\nreturn true;\\n} else {\\nreturn false;\\n}\\n}\\nvec4 getPixel(vec2 pixelLocation) {\\n#ifdef BICUBIC\\nvec4 color = sampleBicubicBSpline(u_image, pixelLocation, u_srcImageSize);\\n#elif defined(BILINEAR)\\nvec4 color = sampleBilinear(u_image, pixelLocation, u_srcImageSize);\\n#else\\nvec4 color = texture2D(u_image, pixelLocation);\\n#endif\\nreturn color;\\n}\",\"contrastBrightness.glsl\":\"uniform float u_contrastOffset;\\nuniform float u_brightnessOffset;\\nvec4 adjustContrastBrightness(vec4 currentPixel, bool isFloat) {\\nvec4 pixelValue = isFloat ? currentPixel * 255.0 : currentPixel;\\nfloat maxI = 255.0;\\nfloat mid = 128.0;\\nfloat c = u_contrastOffset;\\nfloat b = u_brightnessOffset;\\nvec4 v;\\nif (c > 0.0 && c < 100.0) {\\nv = (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) {\\nv = (200.0 * pixelValue - 100.0 * maxI + 2.0 * maxI * b) * (100.0 + c) / 20000.0 + mid;\\n} else if (c == 100.0) {\\nv = (200.0 * pixelValue - 100.0 * maxI + (maxI + 1.0) * (100.0 - c) + 2.0 * maxI * b);\\nv = (sign(v) + 1.0) / 2.0;\\n} else if (c == -100.0) {\\nv = vec4(mid, mid, mid, currentPixel.a);\\n}\\nreturn 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#ifdef LOOKUP_PROJECTION\\nvec4 pv = texture2D(u_transformGrid, coords);\\nreturn vec2(pv.r, pv.g);\\n#endif\\nvec2 index_image = floor(coords * u_targetImageSize);\\nvec2 oneTransformPixel = vec2(0.25 / u_transformGridSize.s, 1.0 / u_transformGridSize.t);\\nvec2 index_transform = floor(index_image / u_transformSpacing) / u_transformGridSize;\\nvec2 pos = fract((index_image + vec2(0.5, 0.5)) / u_transformSpacing);\\nvec2 srcLocation;\\nvec2 transform_location = index_transform + oneTransformPixel * 0.5;\\nif (pos.s <= pos.t) {\\nvec4 ll_abc = texture2D(u_transformGrid, vec2(transform_location.s, transform_location.t));\\nvec4 ll_def = texture2D(u_transformGrid, vec2(transform_location.s + oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ll_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ll_def.rgb, vec3(pos, 1.0));\\n} else {\\nvec4 ur_abc = texture2D(u_transformGrid, vec2(transform_location.s + 2.0 * oneTransformPixel.s, transform_location.t));\\nvec4 ur_def = texture2D(u_transformGrid, vec2(transform_location.s + 3.0 * oneTransformPixel.s, transform_location.t));\\nsrcLocation.s = dot(ur_abc.rgb, vec3(pos, 1.0));\\nsrcLocation.t = dot(ur_def.rgb, vec3(pos, 1.0));\\n}\\nreturn srcLocation;\\n}\"},flow:{\"getFadeOpacity.glsl\":\"uniform float u_decayRate;\\nuniform float u_fadeToZero;\\nfloat getFadeOpacity(float x) {\\nfloat cutOff = mix(0.0, exp(-u_decayRate), u_fadeToZero);\\nreturn (exp(-u_decayRate * x) - cutOff) / (1.0 - cutOff);\\n}\",\"getFragmentColor.glsl\":\"vec4 getFragmentColor(vec4 color, float dist, float size, float featheringSize) {\\nfloat featheringStart = clamp(0.5 - featheringSize / size, 0.0, 0.5);\\nif (dist > featheringStart) {\\ncolor *= 1.0 - (dist - featheringStart) / (0.5 - featheringStart);\\n}\\nreturn color;\\n}\",imagery:{\"imagery.frag\":\"precision highp float;\\nvarying vec2 v_texcoord;\\nuniform sampler2D u_texture;\\nuniform float u_Min;\\nuniform float u_Max;\\nuniform float u_featheringSize;\\n#include \\nfloat getIntensity(float v) {\\nreturn u_Min + v * (u_Max - u_Min);\\n}\\nvoid main(void) {\\nvec4 sampled = texture2D(u_texture, v_texcoord);\\nfloat intensity = getIntensity(sampled.r);\\ngl_FragColor = getColor(intensity);\\ngl_FragColor.a *= getOpacity(sampled.r);\\ngl_FragColor.a *= sampled.a;\\ngl_FragColor.rgb *= gl_FragColor.a;\\n}\",\"imagery.vert\":\"attribute vec2 a_position;\\nattribute vec2 a_texcoord;\\nuniform mat3 u_dvsMat3;\\nvarying vec2 v_texcoord;\\nvoid main(void) {\\nvec2 xy = (u_dvsMat3 * vec3(a_position, 1.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_texcoord = a_texcoord;\\n}\"},particles:{\"particles.frag\":\"precision highp float;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\ngl_FragColor = getFragmentColor(v_color, length(v_texcoord - 0.5), v_size, u_featheringSize);\\n}\",\"particles.vert\":\"attribute vec4 a_xyts0;\\nattribute vec4 a_xyts1;\\nattribute vec4 a_typeIdDurationSeed;\\nattribute vec4 a_extrudeInfo;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nvarying vec4 v_color;\\nvarying vec2 v_texcoord;\\nvarying float v_size;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nvec2 position0 = a_xyts0.xy;\\nfloat t0 = a_xyts0.z;\\nfloat speed0 = a_xyts0.w;\\nvec2 position1 = a_xyts1.xy;\\nfloat t1 = a_xyts1.z;\\nfloat speed1 = a_xyts1.w;\\nfloat type = a_typeIdDurationSeed.x;\\nfloat id = a_typeIdDurationSeed.y;\\nfloat duration = a_typeIdDurationSeed.z;\\nfloat seed = a_typeIdDurationSeed.w;\\nvec2 e0 = a_extrudeInfo.xy;\\nvec2 e1 = a_extrudeInfo.zw;\\nfloat animationPeriod = duration + u_trailLength;\\nfloat scaledTime = u_time * u_flowSpeed;\\nfloat randomizedTime = scaledTime + seed * animationPeriod;\\nfloat t = mod(randomizedTime, animationPeriod);\\nfloat fUnclamped = (t - t0) / (t1 - t0);\\nfloat f = clamp(fUnclamped, 0.0, 1.0);\\nfloat clampedTime = mix(t0, t1, f);\\nfloat speed = mix(speed0, speed1, f);\\nvec2 extrude;\\nvec2 position;\\nfloat fadeOpacity;\\nfloat introOpacity;\\nif (type == 2.0) {\\nif (fUnclamped < 0.0 || (fUnclamped > 1.0 && t1 != duration)) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nvec2 ortho = mix(e0, e1, f);\\nvec2 parallel;\\nparallel = normalize(position1 - position0) * 0.5;\\nif (id == 1.0) {\\nextrude = ortho;\\nv_texcoord = vec2(0.5, 0.0);\\n} else if (id == 2.0) {\\nextrude = -ortho;\\nv_texcoord = vec2(0.5, 1.0);\\n} else if (id == 3.0) {\\nextrude = ortho + parallel;\\nv_texcoord = vec2(1.0, 0.0);\\n} else if (id == 4.0) {\\nextrude = -ortho + parallel;\\nv_texcoord = vec2(1.0, 1.0);\\n}\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else {\\nif (fUnclamped < 0.0) {\\ngl_Position = vec4(0.0, 0.0, -2.0, 1.0);\\nreturn;\\n}\\nif (id == 1.0) {\\nextrude = e0;\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 2.0) {\\nextrude = -e0;\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - t0) / u_trailLength);\\nintroOpacity = 1.0 - exp(-t0);\\nv_size = getSize(speed0);\\nv_color = getColor(speed0);\\nv_color.a *= getOpacity(speed0);\\nposition = position0;\\n} else if (id == 3.0) {\\nextrude = mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 0.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n} else if (id == 4.0) {\\nextrude = -mix(e0, e1, f);\\nv_texcoord = vec2(0.5, 1.0);\\nfadeOpacity = getFadeOpacity((t - clampedTime) / u_trailLength);\\nintroOpacity = 1.0 - exp(-clampedTime);\\nv_size = getSize(speed);\\nv_color = getColor(speed);\\nv_color.a *= getOpacity(speed);\\nposition = mix(position0, position1, f);\\n}\\n}\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(extrude * v_size, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_color.a *= fadeOpacity;\\nv_color.a *= mix(1.0, introOpacity, u_introFade);\\nv_color.rgb *= v_color.a;\\n}\"},streamlines:{\"streamlines.frag\":\"precision highp float;\\nvarying float v_side;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_size;\\nuniform float u_time;\\nuniform float u_trailLength;\\nuniform float u_flowSpeed;\\nuniform float u_featheringSize;\\nuniform float u_introFade;\\n#include \\n#include \\nvoid main(void) {\\nfloat t = mod(v_timeSeed * (v_totalTime + u_trailLength) + u_time * u_flowSpeed, v_totalTime + u_trailLength) - v_time;\\nvec4 color = v_color * step(0.0, t) * getFadeOpacity(t / u_trailLength);\\ncolor *= mix(1.0, 1.0 - exp(-v_time), u_introFade);\\ngl_FragColor = getFragmentColor(color, length((v_side + 1.0) / 2.0 - 0.5), v_size, u_featheringSize);\\n}\",\"streamlines.vert\":\"attribute vec3 a_positionAndSide;\\nattribute vec3 a_timeInfo;\\nattribute vec2 a_extrude;\\nattribute float a_speed;\\nuniform mat3 u_dvsMat3;\\nuniform mat3 u_displayViewMat3;\\nvarying float v_time;\\nvarying float v_totalTime;\\nvarying float v_timeSeed;\\nvarying vec4 v_color;\\nvarying float v_side;\\nvarying float v_size;\\nuniform float u_featheringSize;\\n#include \\nvoid main(void) {\\nvec4 lineColor = getColor(a_speed);\\nfloat lineOpacity = getOpacity(a_speed);\\nfloat lineSize = getSize(a_speed);\\nvec2 position = a_positionAndSide.xy;\\nv_side = a_positionAndSide.z;\\nvec2 xy = (u_dvsMat3 * vec3(position, 1.0) + u_displayViewMat3 * vec3(a_extrude * lineSize, 0.0)).xy;\\ngl_Position = vec4(xy, 0.0, 1.0);\\nv_time = a_timeInfo.x;\\nv_totalTime = a_timeInfo.y;\\nv_timeSeed = a_timeInfo.z;\\nv_color = lineColor;\\nv_color.a *= lineOpacity;\\nv_color.rgb *= v_color.a;\\nv_size = lineSize;\\n}\"},\"vv.glsl\":\"#define MAX_STOPS 8\\n#ifdef VV_COLOR\\nuniform float u_color_stops[MAX_STOPS];\\nuniform vec4 u_color_values[MAX_STOPS];\\nuniform int u_color_count;\\n#else\\nuniform vec4 u_color;\\n#endif\\n#ifdef VV_OPACITY\\nuniform float u_opacity_stops[MAX_STOPS];\\nuniform float u_opacity_values[MAX_STOPS];\\nuniform int u_opacity_count;\\n#else\\nuniform float u_opacity;\\n#endif\\n#ifdef VV_SIZE\\nuniform float u_size_stops[MAX_STOPS];\\nuniform float u_size_values[MAX_STOPS];\\nuniform int u_size_count;\\n#else\\nuniform float u_size;\\n#endif\\nuniform float u_featheringOffset;\\nvec4 getColor(float x) {\\n#ifdef VV_COLOR\\nvec4 color = u_color_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_color_count) {\\nbreak;\\n}\\nfloat x1 = u_color_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_color_stops[i];\\nvec4 y2 = u_color_values[i];\\nif (x < x2) {\\nvec4 y1 = u_color_values[i - 1];\\ncolor = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\ncolor = y2;\\n}\\n}\\n}\\n#else\\nvec4 color = u_color;\\n#endif\\nreturn color;\\n}\\nfloat getOpacity(float x) {\\n#ifdef VV_OPACITY\\nfloat opacity = u_opacity_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_opacity_count) {\\nbreak;\\n}\\nfloat x1 = u_opacity_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_opacity_stops[i];\\nfloat y2 = u_opacity_values[i];\\nif (x < x2) {\\nfloat y1 = u_opacity_values[i - 1];\\nopacity = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nopacity = y2;\\n}\\n}\\n}\\n#else\\nfloat opacity = u_opacity;\\n#endif\\nreturn opacity;\\n}\\nfloat getSize(float x) {\\n#ifdef VV_SIZE\\nfloat size = u_size_values[0];\\n{\\nfor (int i = 1; i < MAX_STOPS; i++) {\\nif (i >= u_size_count) {\\nbreak;\\n}\\nfloat x1 = u_size_stops[i - 1];\\nif (x < x1) {\\nbreak;\\n}\\nfloat x2 = u_size_stops[i];\\nfloat y2 = u_size_values[i];\\nif (x < x2) {\\nfloat y1 = u_size_values[i - 1];\\nsize = y1 + (y2 - y1) * (x - x1) / (x2 - x1);\\n} else {\\nsize = y2;\\n}\\n}\\n}\\n#else\\nfloat size = u_size;\\n#endif\\nreturn size + 2.0 * u_featheringSize * u_featheringOffset;\\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){\\nif (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) {\\nreturn 0.0;\\n}\\nelse {\\nreturn e;\\n}\\n}\\nvec3 rgb2hsv(vec3 c) {\\nvec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\\nvec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);\\nvec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);\\nfloat d = q.x - min(q.w, q.y);\\nfloat e = 1.0e-10;\\nreturn 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) {\\nvec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\\nvec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);\\nreturn 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) {\\nval = clamp((val - minValue) / (maxValue - minValue), 0.0, 1.0);\\nvec4 rgb = colorize(vec4(val, val, val, 1.0), 255.0);\\nvec3 hsv = rgb2hsv(rgb.xyz);\\nhsv.z = hillshade;\\nreturn vec4(hsv2rgb(hsv), 1.0) * rgb.a;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nif (currentPixel.a == 0.0) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec2 axy = vec2(-1.0, -1.0);\\nvec2 bxy = vec2(0.0, -1.0);\\nvec2 cxy = vec2(1.0, -1.0);\\nvec2 dxy = vec2(-1.0, 0.0);\\nvec2 fxy = vec2(1.0, 0.0);\\nvec2 gxy = vec2(-1.0, 1.0);\\nvec2 hxy = vec2(0.0, 1.0);\\nvec2 ixy = vec2(1.0, 1.0);\\nvec2 onePixel = 1.0 / u_srcImageSize;\\nif (pixelLocation.s < onePixel.s) {\\naxy[0] = 1.0;\\ndxy[0] = 1.0;\\ngxy[0] = 1.0;\\n}\\nif (pixelLocation.t < onePixel.t) {\\naxy[1] = 1.0;\\nbxy[1] = 1.0;\\ncxy[1] = 1.0;\\n}\\nif (pixelLocation.s > 1.0 - onePixel.s) {\\ncxy[0] = -1.0;\\nfxy[0] = -1.0;\\nixy[0] = -1.0;\\n}\\nif (pixelLocation.t > 1.0 - onePixel.t) {\\ngxy[1] = -1.0;\\nhxy[1] = -1.0;\\nixy[1] = -1.0;\\n}\\nvec4 va = texture2D(u_image, pixelLocation + onePixel * axy);\\nvec4 vb = texture2D(u_image, pixelLocation + onePixel * bxy);\\nvec4 vc = texture2D(u_image, pixelLocation + onePixel * cxy);\\nvec4 vd = texture2D(u_image, pixelLocation + onePixel * dxy);\\nvec4 ve = texture2D(u_image, pixelLocation);\\nvec4 vf = texture2D(u_image, pixelLocation + onePixel * fxy);\\nvec4 vg = texture2D(u_image, pixelLocation + onePixel * gxy);\\nvec4 vh = texture2D(u_image, pixelLocation + onePixel * hxy);\\nvec4 vi = texture2D(u_image, pixelLocation + onePixel * ixy);\\nfloat dzx = (vc + 2.0 * vf + vi - va - 2.0 * vd - vg).r * u_factor.s;\\nfloat dzy = (vg + 2.0 * vh + vi - va - 2.0 * vb - vc).r * u_factor.t;\\nfloat dzd = sqrt(1.0 + dzx * dzx + dzy * dzy);\\nfloat hillshade = 0.0;\\nif (u_hillshadeType == 0){\\nfloat cosDelta = u_sinZsinAs[0] * dzy - u_sinZcosAs[0] * dzx;\\nfloat z = (u_cosZs[0] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = z;\\n} else {\\nfor (int k = 0; k < 6; k++) {\\nfloat cosDelta = u_sinZsinAs[k] * dzy - u_sinZcosAs[k] * dzx;\\nfloat z = (u_cosZs[k] + cosDelta) / dzd;\\nif (z < 0.0) z = 0.0;\\nhillshade = hillshade + z * u_weights[k];\\nif (k == 5) break;\\n}\\n}\\nfloat alpha = getNeighborHoodAlpha(va.a, vb.a, vc.a, vd.a, ve.a, vf.a, vg.a, vh.a, vi.a);\\n#ifdef APPLY_COLORMAP\\ngl_FragColor = overlay(ve.r, u_minValue, u_maxValue, hillshade) * alpha * u_opacity;\\n#else\\ngl_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{\\nv_texcoord = a_pos;\\ngl_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) {\\nfloat clrIndex = clamp(currentPixel.r * scaleFactor - u_colormapOffset, 0.0, u_colormapMaxIndex);\\nvec2 clrPosition = vec2((clrIndex + 0.5) / (u_colormapMaxIndex + 1.0), 0.0);\\nvec4 color = texture2D(u_colormap, clrPosition);\\nvec4 result = vec4(color.rgb, color.a * currentPixel.a);\\nreturn result;\\n}\",\"lut.frag\":\"precision mediump float;\\nvarying highp vec2 v_texcoord;\\n#include \\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\nvec4 result = colorize(currentPixel, 1.0);\\ngl_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{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"},magdir:{\"magdir.frag\":\"precision mediump float;\\nvarying vec4 v_color;\\nuniform lowp float u_opacity;\\nvoid main() {\\ngl_FragColor = v_color * u_opacity;\\n}\",\"magdir.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nuniform float u_rotation;\\nuniform vec4 u_colors[12];\\nvarying vec4 v_color;\\nvoid main()\\n{\\nfloat angle = a_offset.y + u_rotation;\\n#ifndef ROTATION_GEOGRAPHIC\\nangle = 3.14159265359 * 2.0 - angle - 3.14159265359 / 2.0;\\n#endif\\nvec2 offset = vec2(cos(angle), sin(angle)) * a_offset.x;\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 pos = a_pos + offset * sizePercentage * u_symbolSize;\\nv_color = u_colors[int(a_vv.x)];\\ngl_Position = vec4(u_dvsMat3 * vec3(pos * u_coordScale, 1.0), 1.0);\\n}\"},reproject:{\"reproject.frag\":\"precision mediump float;\\nvarying vec2 v_texcoord;\\n#include \\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\n}\",\"reproject.vert\":\"precision mediump float;\\nattribute vec2 a_position;\\nvarying highp vec2 v_texcoord;\\nvoid main()\\n{\\nv_texcoord = a_position;\\ngl_Position = vec4(2.0 * (a_position - 0.5), 0.0, 1.0);\\n}\"},scalar:{\"scalar.frag\":\"precision mediump float;\\nuniform lowp float u_opacity;\\nvarying vec2 v_pos;\\nconst vec4 outlineColor = vec4(0.2, 0.2, 0.2, 1.0);\\nconst float outlineSize = 0.02;\\nconst float innerRadius = 0.25;\\nconst float outerRadius = 0.42;\\nconst float innerSquareLength = 0.15;\\nvoid main() {\\nmediump float dist = length(v_pos);\\nmediump float fillalpha1 = smoothstep(outerRadius, outerRadius + outlineSize, dist);\\nfillalpha1 *= (1.0-smoothstep(outerRadius + outlineSize, outerRadius + 0.1 + outlineSize, dist));\\n#ifdef INNER_CIRCLE\\nmediump float fillalpha2 = smoothstep(innerRadius, innerRadius + outlineSize, dist);\\nfillalpha2 *= (1.0-smoothstep(innerRadius + outlineSize, innerRadius + 0.1 + outlineSize, dist));\\n#else\\nmediump float fillalpha2 = (abs(v_pos.x) < innerSquareLength ? 1.0 : 0.0) * (abs(v_pos.y) < innerSquareLength ? 1.0 : 0.0);\\n#endif\\ngl_FragColor = (fillalpha2 + fillalpha1) * outlineColor * u_opacity;\\n}\",\"scalar.vert\":\"precision mediump float;\\nattribute vec2 a_pos;\\nattribute vec2 a_offset;\\nattribute vec2 a_vv;\\nuniform highp mat3 u_dvsMat3;\\nuniform highp vec2 u_coordScale;\\nuniform vec2 u_symbolSize;\\nuniform vec2 u_symbolPercentRange;\\nuniform vec2 u_dataRange;\\nvarying vec2 v_pos;\\nvoid main()\\n{\\n#ifdef DATA_RANGE\\nfloat valuePercentage = clamp((a_vv.y - u_dataRange.x) / (u_dataRange.y - u_dataRange.x), 0.0, 1.0);\\nfloat sizeRatio = u_symbolPercentRange.x + valuePercentage * (u_symbolPercentRange.y - u_symbolPercentRange.x);\\nfloat sizePercentage = clamp(sizeRatio, u_symbolPercentRange.x, u_symbolPercentRange.y);\\n#else\\nfloat sizePercentage = (u_symbolPercentRange.x + u_symbolPercentRange.y) / 2.0;\\n#endif\\nvec2 size = u_symbolSize * sizePercentage;\\nvec2 pos = a_pos + a_offset * size;\\nv_pos = a_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(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) {\\nif (val >= maxCutOff) {\\nreturn maxOutput;\\n} else if (val <= minCutOff) {\\nreturn minOutput;\\n}\\nfloat stretchedVal;\\nif (useGamma) {\\nfloat tempf = 1.0;\\nfloat outRange = maxOutput - minOutput;\\nfloat relativeVal = (val - minCutOff) / (maxCutOff - minCutOff);\\nif (gamma > 1.0) {\\ntempf -= pow(1.0 / outRange, relativeVal * gammaCorrection);\\n}\\nstretchedVal = (tempf * outRange * pow(relativeVal, 1.0 / gamma) + minOutput) / 255.0;\\n} else {\\nstretchedVal = minOutput + (val - minCutOff) * factor;\\n}\\nreturn stretchedVal;\\n}\\nvoid main() {\\nvec2 pixelLocation = getPixelLocation(v_texcoord);\\nif (isOutside(pixelLocation)) {\\ngl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\\nreturn;\\n}\\nvec4 currentPixel = getPixel(pixelLocation);\\n#ifdef NOOP\\ngl_FragColor = vec4(currentPixel.rgb, 1.0) * currentPixel.a * u_opacity;\\nreturn;\\n#endif\\nif (u_bandCount == 1) {\\nfloat 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\\nvec4 result = colorize(vec4(grayVal, grayVal, grayVal, 1.0), u_useGamma ? 255.0 : 1.0);\\ngl_FragColor = vec4(result.xyz, 1.0) * result.a * currentPixel.a * u_opacity;\\n#else\\ngl_FragColor = vec4(grayVal, grayVal, grayVal, 1.0) * currentPixel.a * u_opacity;\\n#endif\\n} else {\\nfloat 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]);\\nfloat 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]);\\nfloat 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]);\\ngl_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{\\nv_texcoord = a_pos * u_scale + u_offset;\\ngl_Position = vec4(u_dvsMat3 * vec3(a_pos * u_coordScale, 1.0), 1.0);\\n}\"}},stencil:{\"stencil.frag\":\"void main() {\\ngl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\\n}\",\"stencil.vert\":\"attribute vec2 a_pos;\\nuniform mat3 u_worldExtent;\\nvoid main() {\\ngl_Position = vec4(u_worldExtent * vec3(a_pos, 1.0), 1.0);\\n}\"},tileInfo:{\"tileInfo.frag\":\"uniform mediump sampler2D u_texture;\\nvarying mediump vec2 v_tex;\\nvoid main(void) {\\nlowp vec4 color = texture2D(u_texture, v_tex);\\ngl_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() {\\nmediump vec2 offset = u_coord_ratio * vec2(u_delta + a_pos * u_dimensions);\\nvec3 v_pos = u_dvsMat3 * vec3(offset, 1.0);\\ngl_Position = vec4(v_pos.xy, 0.0, 1.0);\\nv_tex = a_pos;\\n}\"},util:{\"atan2.glsl\":\"float atan2(in float y, in float x) {\\nfloat t0, t1, t2, t3, t4;\\nt3 = abs(x);\\nt1 = abs(y);\\nt0 = max(t3, t1);\\nt1 = min(t3, t1);\\nt3 = 1.0 / t0;\\nt3 = t1 * t3;\\nt4 = t3 * t3;\\nt0 = - 0.013480470;\\nt0 = t0 * t4 + 0.057477314;\\nt0 = t0 * t4 - 0.121239071;\\nt0 = t0 * t4 + 0.195635925;\\nt0 = t0 * t4 - 0.332994597;\\nt0 = t0 * t4 + 0.999995630;\\nt3 = t0 * t3;\\nt3 = (abs(y) > abs(x)) ? 1.570796327 - t3 : t3;\\nt3 = x < 0.0 ? 3.141592654 - t3 : t3;\\nt3 = y < 0.0 ? -t3 : t3;\\nreturn t3;\\n}\",\"encoding.glsl\":\"const vec4 rgba2float_factors = vec4(\\n255.0 / (256.0),\\n255.0 / (256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0),\\n255.0 / (256.0 * 256.0 * 256.0 * 256.0)\\n);\\nfloat rgba2float(vec4 rgba) {\\nreturn dot(rgba, rgba2float_factors);\\n}\"}};export{e as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport r from\"./shaderRepository.js\";import{ShaderCompiler as e}from\"../../../../../webgl/ShaderCompiler.js\";function o(e){let o=r;return e.split(\"/\").forEach((r=>{o&&(o=o[r])})),o}const t=new e(o);function n(r){return t.resolveIncludes(r)}export{n as resolveIncludes};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{Z as e}from\"../../chunks/vec2f64.js\";import{ContextType as t}from\"./context-util.js\";import{PixelType as n,TextureType as a,PixelFormat as r,SizedPixelFormat as i,TextureSamplingMode as o,TextureWrapMode as s,TargetType as u,DepthStencilTargetType as f,UniformType as m}from\"./enums.js\";import{FramebufferObject as c}from\"./FramebufferObject.js\";import{Texture as l}from\"./Texture.js\";function _(e,u,f=\"nearest\",m=!1){const c=!(m&&\"u8\"===u.pixelType),_=c?n.FLOAT:n.UNSIGNED_BYTE,p=null==u.pixels||0===u.pixels.length?null:c?u.getAsRGBAFloat():u.getAsRGBA(),E=e.capabilities.textureFloat?.textureFloatLinear,T={width:u.width,height:u.height,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2&&c?i.RGBA32F:r.RGBA,samplingMode:!E||\"bilinear\"!==f&&\"cubic\"!==f?o.NEAREST:o.LINEAR,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1};return new l(e,T,p)}function p(e,t,i,m){const _=m?n.UNSIGNED_BYTE:n.FLOAT,p={width:t,height:i,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:r.RGBA,samplingMode:o.NEAREST,dataType:_,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},E=new l(e,p);return new c(e,{colorTarget:u.TEXTURE,depthStencilTarget:f.DEPTH_STENCIL_RENDER_BUFFER,width:t,height:i},E)}function E(e,u){const{spacing:f,offsets:m,coefficients:c,size:[_,p]}=u,E=f[0]>1,T={width:E?4*_:_,height:p,target:a.TEXTURE_2D,pixelFormat:r.RGBA,internalFormat:e.type===t.WEBGL2?i.RGBA32F:r.RGBA,dataType:n.FLOAT,samplingMode:o.NEAREST,wrapMode:s.CLAMP_TO_EDGE,flipped:!1},g=new Float32Array(E?_*p*16:2*m.length);if(E)for(let t=0,n=0;t{const r=t.get(a)||t.get(a+\"[0]\");r&&G(e,a,n[a],r)}))}function U(e,t,n,a){n.length===a.length&&(a.some((e=>null==e))||n.some((e=>null==e))||n.forEach(((n,r)=>{t.setUniform1i(n,r),e.bindTexture(a[r],r)})))}function G(e,t,n,a){if(null===a||null==n)return!1;const{info:r}=a;switch(r.type){case m.FLOAT:r.size>1?e.setUniform1fv(t,n):e.setUniform1f(t,n);break;case m.FLOAT_VEC2:e.setUniform2fv(t,n);break;case m.FLOAT_VEC3:e.setUniform3fv(t,n);break;case m.FLOAT_VEC4:e.setUniform4fv(t,n);break;case m.FLOAT_MAT3:e.setUniformMatrix3fv(t,n);break;case m.FLOAT_MAT4:e.setUniformMatrix4fv(t,n);break;case m.INT:r.size>1?e.setUniform1iv(t,n):e.setUniform1i(t,n);break;case m.BOOL:e.setUniform1i(t,n?1:0);break;case m.INT_VEC2:case m.BOOL_VEC2:e.setUniform2iv(t,n);break;case m.INT_VEC3:case m.BOOL_VEC3:e.setUniform3iv(t,n);break;case m.INT_VEC4:case m.BOOL_VEC4:e.setUniform4iv(t,n);break;default:return!1}return!0}export{T as createColormapTexture,p as createFrameBuffer,_ as createRasterTexture,E as createTransformTexture,h as getBasicGridUniforms,A as getColormapUniforms,g as getCommonUniforms,O as getShadedReliefUniforms,d as getStretchUniforms,F as getUniformLocationInfos,U as setTextures,R as setUniforms};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../core/maybe.js\";import{b as e,c as i,r as s,j as r,m as h}from\"../../../chunks/mat3.js\";import{c as n}from\"../../../chunks/mat3f32.js\";import{f as o}from\"../../../chunks/vec2f32.js\";import{DisplayObject as u}from\"./DisplayObject.js\";import a from\"./ImageryBitmapSource.js\";import{TextureType as d,PixelFormat as c,PixelType as l,TextureWrapMode as _}from\"../../webgl/enums.js\";import{Texture as x}from\"../../webgl/Texture.js\";function m(t){return t&&\"render\"in t}function g(t){return t&&!(\"render\"in t)}function p(t){const e=document.createElement(\"canvas\");return e.width=t.width,e.height=t.height,t.render(e.getContext(\"2d\")),e}function f(t,e,i){const s={target:d.TEXTURE_2D,pixelFormat:c.RGBA,internalFormat:c.RGBA,dataType:l.UNSIGNED_BYTE,wrapMode:_.CLAMP_TO_EDGE};return e&&i&&(s.width=e,s.height=i),new x(t,s)}class v extends u{constructor(t=null,e,i=!0){super(),this.requestRenderOnSourceChangedEnabled=i,this._textureInvalidated=!0,this.stencilRef=0,this.coordScale=[1,1],this._height=void 0,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this._width=void 0,this.x=0,this.y=0,this.blendFunction=e,this.source=t,this.requestRender=this.requestRender.bind(this)}destroy(){this._texture&&(this._texture.dispose(),this._texture=null)}get isSourceScaled(){return this.width!==this.sourceWidth||this.height!==this.sourceHeight}get height(){return void 0!==this._height?this._height:this.sourceHeight}set height(t){this._height=t}get source(){return this._source}set source(t){this._source=t,this.invalidateTexture()}get sourceHeight(){return this._source instanceof HTMLImageElement?this._source.naturalHeight:this._source.height}get sourceWidth(){return this._source instanceof HTMLImageElement?this._source.naturalWidth:this._source.width}get width(){return void 0!==this._width?this._width:this.sourceWidth}set width(t){this._width=t}beforeRender(t){super.beforeRender(t),this.updateTexture(t.context)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRenderOnSourceChangedEnabled&&this.requestRender())}_createTransforms(){return{dvs:n()}}setTransform(t){const n=e(this.transforms.dvs),[u,a]=t.toScreenNoRotation([0,0],[this.x,this.y]),d=this.resolution/this.pixelRatio/t.resolution,c=d*this.width,l=d*this.height,_=Math.PI*this.rotation/180;i(n,n,o(u,a)),i(n,n,o(c/2,l/2)),s(n,n,-_),i(n,n,o(-c/2,-l/2)),r(n,n,o(c,l)),h(this.transforms.dvs,t.displayViewMat3,n)}setSamplingProfile(t){this._texture&&(t.mips&&!this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._texture.setSamplingMode(t.samplingMode))}bind(t,e){this._texture&&t.bindTexture(this._texture,e)}updateTexture(e){if(!this.stage)return this._texture?.dispose(),void(this._texture=null);if(!this._textureInvalidated)return;this._textureInvalidated=!1,this._texture||(this.source?this._texture=f(e,this.sourceWidth,this.sourceHeight):this._texture=f(e));const i=this.source;if(i){if(this._texture.resize(this.sourceWidth,this.sourceHeight),m(i))if(i instanceof a){const e=i.getRenderedRasterPixels();this._texture.setData(t(e)?e.renderedRasterPixels:null)}else this._texture.setData(p(i));else g(i)&&this._texture.setData(i);this.ready()}else this._texture.setData(null)}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}}export{v as Bitmap,m as isImageSource,p as rasterize};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isNone as t,isSome as e}from\"../../../../core/maybe.js\";import{c as s}from\"../../../../chunks/mat3f32.js\";import a from\"../webgl/brushes/WGLBrush.js\";import{CompareFunction as r}from\"../../../webgl/enums.js\";class i extends a{constructor(){super(...arguments),this._visualState={time:0,dvsMat3:s(),displayViewMat3:s()}}dispose(){}prepareState(t){const{context:e}=t;e.setColorMask(!0,!0,!0,!0),e.setStencilFunction(r.EQUAL,0,255)}draw(s,a){const{requestRender:r}=s,{displayData:i}=a;if(t(i))return;if(\"loaded\"===i.state.name&&i.attach(s),\"attached\"!==i.state.name)return;const o=i.state.resources;o.ready||!e(r)?(this._visualState.time=s.time/1e3,this._visualState.dvsMat3=a.transforms.dvs,this._visualState.displayViewMat3=s.state.displayViewMat3,i.flowStyle.render(s,this._visualState,o),i.flowStyle.animated&&e(r)&&r()):r()}}export{i as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/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.24/esri/copyright.txt for details.\n*/\nimport{isSome as r}from\"../../../../../core/maybe.js\";import{f as t}from\"../../../../../chunks/vec4f32.js\";import{Pos2b as e}from\"../DefaultVertexAttributeLayouts.js\";import i from\"./WGLBrush.js\";import{background as s}from\"../shaders/BackgroundPrograms.js\";import{BufferObject as o}from\"../../../../webgl/BufferObject.js\";import{StencilOperation as a,Face as l,CompareFunction as n,PrimitiveType as d,Usage as m}from\"../../../../webgl/enums.js\";import{createProgram as _}from\"../../../../webgl/ProgramTemplate.js\";import{VertexArrayObject as c}from\"../../../../webgl/VertexArrayObject.js\";class h extends i{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:r},t){r.setDepthWriteEnabled(!1),r.setDepthTestEnabled(!1),r.setStencilTestEnabled(!0),r.setBlendingEnabled(!1),r.setColorMask(!1,!1,!1,!1),r.setStencilOp(a.KEEP,a.KEEP,a.REPLACE),r.setStencilWriteMask(255),r.setStencilFunctionSeparate(l.FRONT_AND_BACK,n.GREATER,t.stencilRef,255)}draw(t,e){const{context:i,requestRender:s}=t;this._initialized||this._initialize(i),!r(s)||this._solidProgram.isCompiled?(i.bindVAO(this._solidVertexArrayObject),i.useProgram(this._solidProgram),this._solidProgram.setUniformMatrix3fv(\"u_dvsMat3\",e.transforms.dvs),this._solidProgram.setUniform2fv(\"u_coord_range\",[e.rangeX,e.rangeY]),this._solidProgram.setUniform1f(\"u_depth\",0),this._solidProgram.setUniform4fv(\"u_color\",this._color),i.drawArrays(d.TRIANGLE_STRIP,0,4),i.bindVAO()):s()}_initialize(r){if(this._initialized)return!0;const t=_(r,s);if(!t)return!1;const i=new Int8Array([0,0,1,0,0,1,1,1]),a=o.createVertex(r,m.STATIC_DRAW,i),l=new c(r,s.attributes,e,{geometry:a});return this._solidProgram=t,this._solidVertexArrayObject=l,this._initialized=!0,!0}}export{h as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{CapType as e,JoinType as t}from\"../../../../../symbols/cim/enums.js\";var a,i,n,l,u,m,o,r,p;!function(e){e[e.BACKGROUND=0]=\"BACKGROUND\",e[e.FILL=1]=\"FILL\",e[e.LINE=2]=\"LINE\",e[e.SYMBOL=3]=\"SYMBOL\",e[e.CIRCLE=4]=\"CIRCLE\"}(a||(a={})),function(e){e[e.VISIBLE=0]=\"VISIBLE\",e[e.NONE=1]=\"NONE\"}(i||(i={})),function(e){e[e.POINT=0]=\"POINT\",e[e.LINE=1]=\"LINE\",e[e.LINE_CENTER=2]=\"LINE_CENTER\"}(n||(n={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\",e[e.AUTO=2]=\"AUTO\"}(l||(l={})),function(e){e[e.AUTO=0]=\"AUTO\",e[e.LEFT=1]=\"LEFT\",e[e.CENTER=2]=\"CENTER\",e[e.RIGHT=3]=\"RIGHT\"}(u||(u={})),function(e){e[e.CENTER=0]=\"CENTER\",e[e.LEFT=1]=\"LEFT\",e[e.RIGHT=2]=\"RIGHT\",e[e.TOP=3]=\"TOP\",e[e.BOTTOM=4]=\"BOTTOM\",e[e.TOP_LEFT=5]=\"TOP_LEFT\",e[e.TOP_RIGHT=6]=\"TOP_RIGHT\",e[e.BOTTOM_LEFT=7]=\"BOTTOM_LEFT\",e[e.BOTTOM_RIGHT=8]=\"BOTTOM_RIGHT\"}(m||(m={})),function(e){e[e.NONE=0]=\"NONE\",e[e.UPPERCASE=1]=\"UPPERCASE\",e[e.LOWERCASE=2]=\"LOWERCASE\"}(o||(o={})),function(e){e[e.MAP=0]=\"MAP\",e[e.VIEWPORT=1]=\"VIEWPORT\"}(r||(r={})),function(e){e[e.HORIZONTAL=0]=\"HORIZONTAL\",e[e.VERTICAL=1]=\"VERTICAL\"}(p||(p={}));class f{}f.backgroundLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.fillLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.lineLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"line-cap\":{type:\"enum\",values:[\"butt\",\"round\",\"square\"],default:e.BUTT},\"line-join\":{type:\"enum\",values:[\"bevel\",\"round\",\"miter\"],default:t.MITER},\"line-miter-limit\":{type:\"number\",default:2},\"line-round-limit\":{type:\"number\",default:1.05}},f.symbolLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE},\"symbol-avoid-edges\":{type:\"boolean\",default:!1},\"symbol-placement\":{type:\"enum\",values:[\"point\",\"line\",\"line-center\"],default:n.POINT},\"symbol-sort-key\":{type:\"number\",default:-1},\"symbol-spacing\":{type:\"number\",minimum:1,default:250},\"icon-allow-overlap\":{type:\"boolean\",default:!1},\"icon-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"icon-ignore-placement\":{type:\"boolean\",default:!1},\"icon-image\":{type:\"string\"},\"icon-keep-upright\":{type:\"boolean\",default:!1},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-optional\":{type:\"boolean\",default:!1},\"icon-padding\":{type:\"number\",minimum:0,default:2},\"icon-rotate\":{type:\"number\",default:0},\"icon-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"icon-size\":{type:\"number\",minimum:0,default:1},\"text-allow-overlap\":{type:\"boolean\",default:!1},\"text-anchor\":{type:\"enum\",values:[\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"],default:m.CENTER},\"text-field\":{type:\"string\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"]},\"text-ignore-placement\":{type:\"boolean\",default:!1},\"text-justify\":{type:\"enum\",values:[\"auto\",\"left\",\"center\",\"right\"],default:u.CENTER},\"text-keep-upright\":{type:\"boolean\",default:!0},\"text-letter-spacing\":{type:\"number\",default:0},\"text-line-height\":{type:\"number\",default:1.2},\"text-max-angle\":{type:\"number\",minimum:0,default:45},\"text-max-width\":{type:\"number\",minimum:0,default:10},\"text-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-optional\":{type:\"boolean\",default:!1},\"text-padding\":{type:\"number\",minimum:0,default:2},\"text-rotate\":{type:\"number\",default:0},\"text-rotation-alignment\":{type:\"enum\",values:[\"map\",\"viewport\",\"auto\"],default:l.AUTO},\"text-size\":{type:\"number\",minimum:0,default:16},\"text-transform\":{type:\"enum\",values:[\"none\",\"uppercase\",\"lowercase\"],default:o.NONE},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:[\"horizontal\",\"vertical\"],default:[p.HORIZONTAL]}},f.circleLayoutDefinition={visibility:{type:\"enum\",values:[\"visible\",\"none\"],default:i.VISIBLE}},f.backgroundPaintDefinition={\"background-color\":{type:\"color\",default:[0,0,0,1]},\"background-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"background-pattern\":{type:\"string\"}},f.fillPaintDefinition={\"fill-antialias\":{type:\"boolean\",default:!0},\"fill-color\":{type:\"color\",default:[0,0,0,1]},\"fill-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"fill-outline-color\":{type:\"color\",default:[0,0,0,0]},\"fill-pattern\":{type:\"string\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"fill-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.linePaintDefinition={\"line-blur\":{type:\"number\",minimum:0,default:0},\"line-color\":{type:\"color\",default:[0,0,0,1]},\"line-dasharray\":{type:\"array\",value:\"number\",default:[]},\"line-gap-width\":{type:\"number\",minimum:0,default:0},\"line-offset\":{type:\"number\",default:0},\"line-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"line-pattern\":{type:\"string\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"line-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"line-width\":{type:\"number\",minimum:0,default:1}},f.symbolPaintDefinition={\"icon-color\":{type:\"color\",default:[0,0,0,1]},\"icon-halo-blur\":{type:\"number\",minimum:0,default:0},\"icon-halo-color\":{type:\"color\",default:[0,0,0,0]},\"icon-halo-width\":{type:\"number\",minimum:0,default:0},\"icon-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"icon-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP},\"text-color\":{type:\"color\",default:[0,0,0,1]},\"text-halo-blur\":{type:\"number\",minimum:0,default:0},\"text-halo-color\":{type:\"color\",default:[0,0,0,0]},\"text-halo-width\":{type:\"number\",minimum:0,default:0},\"text-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"text-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}},f.rasterPaintDefinition={\"raster-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-hue-rotate\":{type:\"number\",default:0},\"raster-brightness-min\":{type:\"number\",minimum:0,maximum:1,default:0},\"raster-brightness-max\":{type:\"number\",minimum:0,maximum:1,default:1},\"raster-saturation\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-contrast\":{type:\"number\",minimum:-1,maximum:1,default:0},\"raster-fade-duration\":{type:\"number\",minimum:0,default:300}},f.circlePaintDefinition={\"circle-blur\":{type:\"number\",minimum:0,default:0},\"circle-color\":{type:\"color\",default:[0,0,0,1]},\"circle-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-radius\":{type:\"number\",minimum:0,default:5},\"circle-stroke-color\":{type:\"color\",default:[0,0,0,1]},\"circle-stroke-opacity\":{type:\"number\",minimum:0,maximum:1,default:1},\"circle-stroke-width\":{type:\"number\",minimum:0,default:0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0]},\"circle-translate-anchor\":{type:\"enum\",values:[\"map\",\"viewport\"],default:r.MAP}};export{l as RotationAlignment,f as StyleDefinition,a as StyleLayerType,m as SymbolAnchor,n as SymbolPlacement,u as TextJustification,o as TextTransform,p as TextWritingMode,r as TranslateAnchor,i as Visibility};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nclass a{constructor(){this.name=this.constructor.name||\"UnnamedBrush\"}prepareState(a,r,t){}draw(a,r,t){}drawMany(a,r,t){for(const s of r)this.draw(a,s,t)}}export{a as default};\n","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.24/esri/copyright.txt for details.\n*/\nimport{isSome as t}from\"../../../../core/maybe.js\";import{b as e,c as r,r as s,j as i,m as a}from\"../../../../chunks/mat3.js\";import{c as o}from\"../../../../chunks/mat3f32.js\";import{f as u}from\"../../../../chunks/vec2f32.js\";import{extractBands as n}from\"../../../../layers/support/rasterFunctions/pixelUtils.js\";import{DisplayObject as h}from\"../DisplayObject.js\";import{TextureSamplingMode as l}from\"../../../webgl/enums.js\";import{createTransformTexture as d,createRasterTexture as _,createColormapTexture as m}from\"../../../webgl/rasterUtils.js\";const x={bandCount:3,outMin:0,outMax:1,minCutOff:[0,0,0],maxCutOff:[255,255,255],factor:[1/255,1/255,1/255],useGamma:!1,gamma:[1,1,1],gammaCorrection:[1,1,1],colormap:null,colormapOffset:null,stretchType:\"none\",type:\"stretch\"};class p extends h{constructor(t=null,e=null,r=null){super(),this._textureInvalidated=!0,this._colormapTextureInvalidated=!0,this._supportsBilinearTexture=!0,this.stencilRef=0,this.coordScale=[1,1],this._symbolizerParameters=null,this.height=null,this.isRendereredSource=!1,this.pixelRatio=1,this.resolution=0,this.rotation=0,this._source=null,this.rawPixelData=null,this._suspended=!1,this._bandIds=null,this._interpolation=null,this._transformGrid=null,this.width=null,this.x=0,this.y=0,this.source=t,this.transformGrid=e,this.interpolation=r}destroy(){this.getTextures()?.textures.forEach((t=>t.dispose())),this._rasterTexture=null,this._transformGridTexture=null,this._colormapTexture=null}get symbolizerParameters(){return this._symbolizerParameters||x}set symbolizerParameters(t){this._symbolizerParameters!==t&&(this._symbolizerParameters=t,this._colormapTextureInvalidated=!0)}get source(){return this._source}set source(t){this._source!==t&&(this._source=t,this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null),this.invalidateTexture())}get suspended(){return this._suspended}set suspended(t){this._suspended&&!t&&this.stage&&(this.ready(),this.requestRender()),this._suspended=t}get bandIds(){return this._bandIds}set bandIds(t){this._bandIds=t,this._isBandIdschanged(t)&&this.invalidateTexture()}get interpolation(){return this._interpolation||\"nearest\"}set interpolation(t){this._interpolation=t,this._rasterTexture&&this._rasterTexture.setSamplingMode(\"bilinear\"===this._getTextureSamplingMethod(t)?l.LINEAR:l.NEAREST)}get transformGrid(){return this._transformGrid}set transformGrid(t){this._transformGrid=t,this._transformGridTexture&&(this._transformGridTexture.dispose(),this._transformGridTexture=null)}invalidateTexture(){this._textureInvalidated||(this._textureInvalidated=!0,this.requestRender())}_createTransforms(){return{dvs:o()}}setTransform(t){const o=e(this.transforms.dvs),[n,h]=t.toScreenNoRotation([0,0],[this.x,this.y]),l=this.resolution/this.pixelRatio/t.resolution,d=l*this.width,_=l*this.height,m=Math.PI*this.rotation/180;r(o,o,u(n,h)),r(o,o,u(d/2,_/2)),s(o,o,-m),r(o,o,u(-d/2,-_/2)),i(o,o,u(d,_)),a(this.transforms.dvs,t.displayViewMat3,o)}getTextures(){if(!this._rasterTexture)return null;const t=[],e=[];return this._transformGridTexture&&(e.push(this._transformGridTexture),t.push(\"u_transformGrid\")),this._rasterTexture&&(e.push(this._rasterTexture),t.push(\"u_image\")),this._colormapTexture&&(e.push(this._colormapTexture),t.push(\"u_colormap\")),{names:t,textures:e}}onAttach(){this.invalidateTexture()}onDetach(){this.invalidateTexture()}updateTexture({context:t}){if(!this.stage)return this._rasterTexture?.dispose(),this._transformGridTexture?.dispose(),this._colormapTexture?.dispose(),this._rasterTexture=null,this._rasterTextureBandIds=null,this._transformGridTexture=null,void(this._colormapTexture=null);const e=this._isValidSource(this.source);e&&this._colormapTextureInvalidated&&(this._colormapTextureInvalidated=!1,this._updateColormapTexture(t)),this._textureInvalidated&&(this._textureInvalidated=!1,this._createOrDestroyRasterTexture(t),this._rasterTexture&&(e?this.transformGrid&&!this._transformGridTexture&&(this._transformGridTexture=d(t,this.transformGrid)):this._rasterTexture.setData(null)),this.suspended||(this.ready(),this.requestRender()))}_createOrDestroyRasterTexture(e){const r=t(this.source)?n(this.source,this.bandIds):null;if(!this._isValidSource(r))return void(this._rasterTexture&&(this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null));const s=!this._isBandIdschanged(this.bandIds);if(this._rasterTexture){if(s)return;this._rasterTexture.dispose(),this._rasterTextureBandIds=null,this._rasterTexture=null}this._supportsBilinearTexture=e.capabilities.textureFloat?.textureFloatLinear;const i=this._getTextureSamplingMethod(this.interpolation),a=this.isRendereredSource||!e.capabilities.textureFloat?.textureFloat;this._rasterTexture=_(e,r,i,a),this._rasterTextureBandIds=this.bandIds?[...this.bandIds]:null}_isBandIdschanged(t){const e=this._rasterTextureBandIds;return!(null==e&&null==t||e&&t&&e.join(\"\")===t.join(\"\"))}_isValidSource(e){return t(e)&&e.pixels?.length>0}_getTextureSamplingMethod(e){const{type:r,colormap:s}=this.symbolizerParameters,i=\"lut\"===r||\"stretch\"===r&&t(s);return!this._supportsBilinearTexture||i||\"bilinear\"!==e&&\"cubic\"!==e?\"nearest\":\"bilinear\"}_updateColormapTexture(t){const e=this._colormap,r=this.symbolizerParameters.colormap;return r?e?r.length!==e.length||r.some(((t,r)=>t!==e[r]))?(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),this._colormapTexture=m(t,r),void(this._colormap=r)):void 0:(this._colormapTexture=m(t,r),void(this._colormap=r)):(this._colormapTexture&&(this._colormapTexture.dispose(),this._colormapTexture=null),void(this._colormap=null))}}class c extends p{get source(){return this._source}}function T(e){return t(e.source)}export{p as RasterBitmap,c as RasterBitmapWithSource,T as hasSource};\n"],"sourceRoot":""}