mars3d-wind.js 90 KB

1
  1. function a0_0xfea6(_0x48221f,_0x3066e1){var _0x14b9b1=a0_0x14b9();return a0_0xfea6=function(_0xfea698,_0x2e7ac2){_0xfea698=_0xfea698-0xd2;var _0x4a4281=_0x14b9b1[_0xfea698];return _0x4a4281;},a0_0xfea6(_0x48221f,_0x3066e1);}function a0_0x14b9(){var _0x198c22=['ZERO','getDefaultRenderState','createTexture','updateViewerParameters','toDegrees','lineTo','exports','west','_onMap_preRenderEvent','106994HcyreF','58865SUgnDQ','fixedHeight','scene','canvasResize','1470994FxYwTp','attributeLocations','geometry','_maxAge','forEach','fillStyle','attribute\x20vec3\x20position;\x0d\x0aattribute\x20vec2\x20st;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20textureCoordinate\x20=\x20st;\x0d\x0a\x20\x20\x20\x20gl_Position\x20=\x20vec4(position,\x201.0);\x0d\x0a}','min','particlesRendering','windField','addEventListener','defineProperty','EllipsoidalOccluder','uniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0a\x0auniform\x20float\x20randomCoefficient;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0auniform\x20float\x20dropRate;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0auniform\x20float\x20dropRateBump;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898,\x2078.233,\x204375.85453);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0,\x201.0);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0);\x0a\x20\x20\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20lev);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20\x20\x20return\x20particle.y\x20<\x20-90.0\x20||\x20particle.y\x20>\x2090.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20texture2D(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20nextSpeed.a;\x0a\x0a\x20\x20\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20\x20\x20if\x20(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(randomParticle,\x201.0);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a\x20\x20\x20\x20}\x0a}','commandType','uniform\x20sampler2D\x20segmentsColorTexture;\x0d\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0d\x0a\x0d\x0auniform\x20sampler2D\x20currentTrailsColor;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0auniform\x20float\x20fadeOpacity;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20pointsColor\x20=\x20texture2D(segmentsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(currentTrailsColor,\x20textureCoordinate);\x0d\x0a\x0d\x0a\x20\x20\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0\x20*\x20trailsColor)\x20/\x20255.0;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0d\x0a\x0d\x0a\x20\x20\x20\x20float\x20pointsDepth\x20=\x20texture2D(segmentsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20if\x20(pointsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20pointsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20gl_FragColor\x20+\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x0d\x0a\x20\x20\x20\x20gl_FragDepthEXT\x20=\x20min(pointsDepth,\x20trailsDepth);\x0d\x0a}','tlat','26253MDFeYF','length','defaultValue','ComponentDatatype','currentTrails','function','blending','isInExtent','max','windTextures','amd','position','positionWC','removeAll','cols','framebuffers','auto','createParticlesTextures','globalAlpha','appendChild','depthTest','updateDate','context','push','particlesComputing','fadeOpacity','pointerEvents','getRandomLatLng','drawingBufferHeight','canvasContext','canvasHeight','south','OPAQUE','mars3d','prototype','ShaderProgram','createRenderingPrimitives','primitiveType','textures','_onMapWhellEvent','enumerable','RGBA','value','globalCompositeOperation','getWind','valueOf','resize','NEAREST','wgs84ToWindowCoordinates','createCommand','0px','canvasWidth','lev','now','constructor','pow','speedRate','colorTable','clear','TextureMagnificationFilter','randomBetween','primitives','Cartesian2','createRawRenderState','off','createRenderingFramebuffers','calc_speedRate','defined','_calcStep','_removedHook','PixelDatatype','clientWidth','335952FGGAUN','PrimitiveType','_createCanvas','globe','apply','getColorTexture','refreshParticles','getUVByXY','drawingBufferWidth','fromCache','nextParticlesSpeed','keys','getUVByPoint','camera','fromDegrees','currentTrailsColor','DISABLE_GL_POSITION_LOG_DEPTH','visibility','getPixelSize','nextTrailsDepth','BufferUsage','userInput','removeEventListener','key','width','uniform\x20sampler2D\x20trailsColorTexture;\x0d\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0d\x0a\x0d\x0avarying\x20vec2\x20textureCoordinate;\x0d\x0a\x0d\x0avoid\x20main()\x20{\x0d\x0a\x20\x20\x20\x20vec4\x20trailsColor\x20=\x20texture2D(trailsColorTexture,\x20textureCoordinate);\x0d\x0a\x20\x20\x20\x20float\x20trailsDepth\x20=\x20texture2D(trailsDepthTexture,\x20textureCoordinate).r;\x0d\x0a\x20\x20\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture2D(czm_globeDepthTexture,\x20textureCoordinate));\x0d\x0a\x0d\x0a\x20\x20\x20\x20if\x20(trailsDepth\x20<\x20globeDepth)\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20trailsColor;\x0d\x0a\x20\x20\x20\x20}\x20else\x20{\x0d\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0d\x0a\x20\x20\x20\x20}\x0d\x0a}','updatePosition','currentParticlesPosition','none','fill','string','all','udata','createComputingPrimitives','screen','mouseMove','particles','getUserInput','left','createFramebuffer','preRender','viewport','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','refreshTimer','update','isPointVisible','_onMouseUpEvent','VertexArray','age','SceneTransforms','viewerParameters','computeViewRectangle','log','writable','WMS_URL','ymin','show','style','hasOwnProperty','setData','ALWAYS','fragmentShaderSource','createRenderingTextures','particlesNumber','canvas','ComputeCommand','options','_drawLines','animateFrame','Cartesian3','DepthFunction','mars3d-cesium','wheel','PixelFormat','ellipsoid','sqrt','segmentsColor','destroy','ymax','nextTrailsColor','Framebuffer','random','latRange','source','_pointerEvents','648438NfXOzm','_particlesNumber','//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x20\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0a\x0auniform\x20vec3\x20dimension;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20vec3\x20minimum;\x20//\x20minimum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20maximum;\x20//\x20maximum\x20of\x20each\x20dimension\x0auniform\x20vec3\x20interval;\x20//\x20interval\x20of\x20each\x20dimension\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x,\x20360.0);\x0a\x20\x20\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20-90.0,\x2090.0);\x0a\x0a\x20\x20\x20\x20vec3\x20index3D\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20index3D.z\x20=\x20(lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z;\x0a\x0a\x20\x20\x20\x20//\x20the\x20st\x20texture\x20coordinate\x20corresponding\x20to\x20(col,\x20row)\x20index\x0a\x20\x20\x20\x20//\x20example\x0a\x20\x20\x20\x20//\x20data\x20array\x20is\x20[0,\x201,\x202,\x203,\x204,\x205],\x20width\x20=\x203,\x20height\x20=\x202\x0a\x20\x20\x20\x20//\x20the\x20content\x20of\x20texture\x20will\x20be\x0a\x20\x20\x20\x20//\x20t\x201.0\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x203\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x202\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWind(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20\x20\x20float\x20result\x20=\x20texture2D(windTexture,\x20normalizedIndex2D).r;\x0a\x20\x20\x20\x20return\x20result;\x0a}\x0a\x0aconst\x20mat4\x20kernelMatrix\x20=\x20mat4(\x0a\x20\x20\x20\x200.0,\x20-1.0,\x202.0,\x20-1.0,\x20//\x20first\x20column\x0a\x20\x20\x20\x202.0,\x200.0,\x20-5.0,\x203.0,\x20//\x20second\x20column\x0a\x20\x20\x20\x200.0,\x201.0,\x204.0,\x20-3.0,\x20//\x20third\x20column\x0a\x20\x20\x20\x200.0,\x200.0,\x20-1.0,\x201.0\x20//\x20fourth\x20column\x0a);\x0afloat\x20oneDimensionInterpolation(float\x20t,\x20float\x20p0,\x20float\x20p1,\x20float\x20p2,\x20float\x20p3)\x20{\x0a\x20\x20\x20\x20vec4\x20tVec4\x20=\x20vec4(1.0,\x20t,\x20t\x20*\x20t,\x20t\x20*\x20t\x20*\x20t);\x0a\x20\x20\x20\x20tVec4\x20=\x20tVec4\x20/\x202.0;\x0a\x20\x20\x20\x20vec4\x20pVec4\x20=\x20vec4(p0,\x20p1,\x20p2,\x20p3);\x0a\x20\x20\x20\x20return\x20dot((tVec4\x20*\x20kernelMatrix),\x20pVec4);\x0a}\x0a\x0afloat\x20calculateB(sampler2D\x20windTexture,\x20float\x20t,\x20float\x20lon,\x20float\x20lat,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20float\x20lon0\x20=\x20floor(lon)\x20-\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon1\x20=\x20floor(lon);\x0a\x20\x20\x20\x20float\x20lon2\x20=\x20floor(lon)\x20+\x201.0\x20*\x20interval.x;\x0a\x20\x20\x20\x20float\x20lon3\x20=\x20floor(lon)\x20+\x202.0\x20*\x20interval.x;\x0a\x0a\x20\x20\x20\x20float\x20p0\x20=\x20getWind(windTexture,\x20vec3(lon0,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p1\x20=\x20getWind(windTexture,\x20vec3(lon1,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p2\x20=\x20getWind(windTexture,\x20vec3(lon2,\x20lat,\x20lev));\x0a\x20\x20\x20\x20float\x20p3\x20=\x20getWind(windTexture,\x20vec3(lon3,\x20lat,\x20lev));\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(t,\x20p0,\x20p1,\x20p2,\x20p3);\x0a}\x0a\x0afloat\x20interpolateOneTexture(sampler2D\x20windTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20\x20\x20float\x20lat0\x20=\x20floor(lat)\x20-\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat1\x20=\x20floor(lat);\x0a\x20\x20\x20\x20float\x20lat2\x20=\x20floor(lat)\x20+\x201.0\x20*\x20interval.y;\x0a\x20\x20\x20\x20float\x20lat3\x20=\x20floor(lat)\x20+\x202.0\x20*\x20interval.y;\x0a\x0a\x20\x20\x20\x20vec2\x20coefficient\x20=\x20lonLatLev.xy\x20-\x20floor(lonLatLev.xy);\x0a\x20\x20\x20\x20float\x20b0\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat0,\x20lev);\x0a\x20\x20\x20\x20float\x20b1\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat1,\x20lev);\x0a\x20\x20\x20\x20float\x20b2\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat2,\x20lev);\x0a\x20\x20\x20\x20float\x20b3\x20=\x20calculateB(windTexture,\x20coefficient.x,\x20lon,\x20lat3,\x20lev);\x0a\x0a\x20\x20\x20\x20return\x20oneDimensionInterpolation(coefficient.y,\x20b0,\x20b1,\x20b2,\x20b3);\x0a}\x0a\x0avec3\x20bicubic(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bicubic_interpolation#Bicubic_convolution_algorithm\x0a\x20\x20\x20\x20float\x20u\x20=\x20interpolateOneTexture(U,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20v\x20=\x20interpolateOneTexture(V,\x20lonLatLev);\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20bicubic(lonLatLev);\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(windVector,\x200.0);\x0a}','EventType','lon','height','xmin','addPrimitives','clampToLatitudeRange','LINEAR','autoClear','execute','CanvasWindLayer','TWO_PI','depthTexture','zIndex','GeometryAttribute','construct','remove','particleSystem','commandToExecute','getU','PI_OVER_THREE','uniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0auniform\x20sampler2D\x20particlesWind;\x0a\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20speedFactor;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec3\x20percent\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20\x20\x20float\x20normalization\x20=\x20length(percent);\x0a\x0a\x20\x20\x20\x20return\x20normalization;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20currentSpeed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20windVector\x20=\x20texture2D(particlesWind,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20vec4\x20nextSpeed\x20=\x20vec4(speedFactor\x20*\x20pixelSize\x20*\x20windVector,\x20calculateWindNorm(windVector));\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20nextSpeed;\x0a}','createWindTextures','particleHeight','maxParticles','hidden','toGridXY','call','postProcessingPosition','outputTexture','PI_OVER_TWO','LUMINANCE','clientHeight','_map','unbindEvent','clearFramebuffers','cancelAnimationFrame','IDENTITY','_showHook','getFullscreenQuad','color','vertexShaderSource','getPrototypeOf','bindEvent','object','100%','particlesTextures','moveTo','atan2','pointer-events','Sampler','354612XBBHCY','mouseUp','fromGeometry','uniformMap','wind','segmentsDepth','SCENE3D','currentTrailsDepth','nextTrails','lighter','updateSpeed','shaderProgram','add','lng','frameRate','lat','rows','DrawCommand','abs','BaseLayer','_tomap','Geometry','data','GeometryAttributes','mouse_down','depthMask','Pass','lineWidth','floor','STATIC_DRAW','applyViewerParameters','reverseY','getV','segments','lonRange','_calcUV','ShaderSource','mouseDown','speedFactor','symbol','undefined','container','setOptions','frameTime','_onMouseMoveEvent','colorNum','clearCommand','mouse_move','mode','framebuffer','windData','Math','bind','Compute','FLOAT','getExtent','__esModule','uniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20nextParticlesSpeed;\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec4\x20randomParticle\x20=\x20texture2D(postProcessingPosition,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20vec4\x20particleSpeed\x20=\x20texture2D(nextParticlesSpeed,\x20v_textureCoordinates);\x0a\x0a\x20\x20\x20\x20if\x20(randomParticle.a\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20\x20\x20}\x0a}','__proto__','applyUserInput','getContext','pixelSize','_bilinearInterpolation','destroyParticlesTextures','WindLayer','BoundingSphere','72xokVLh','toRadians','canrefresh','viewRectangleToLonLatRange','grid','Appearance','uniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20currentParticlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20normalization)\x0a\x0avarying\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20lengthOfLonLat(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20unit\x20conversion:\x20meters\x20->\x20longitude\x20latitude\x20degrees\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_system#Length_of_a_degree\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20Calculate\x20the\x20length\x20of\x20a\x20degree\x20of\x20latitude\x20and\x20longitude\x20in\x20meters\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20\x20\x20float\x20term1\x20=\x20111132.92;\x0a\x20\x20\x20\x20float\x20term2\x20=\x20559.82\x20*\x20cos(2.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term3\x20=\x201.175\x20*\x20cos(4.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term4\x20=\x200.0023\x20*\x20cos(6.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20\x20\x20float\x20term5\x20=\x20111412.84\x20*\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20term6\x20=\x2093.5\x20*\x20cos(3.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20term7\x20=\x200.118\x20*\x20cos(5.0\x20*\x20latitude);\x0a\x20\x20\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avoid\x20updatePosition(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20\x20\x20float\x20w\x20=\x200.0;\x0a\x20\x20\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20windVectorInLonLatLev;\x0a\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(nextParticle,\x200.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20\x20\x20vec3\x20lonLatLev\x20=\x20texture2D(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20\x20\x20vec3\x20speed\x20=\x20texture2D(currentParticlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x0a\x20\x20\x20\x20updatePosition(lonLatLev,\x20speed);\x0a}','particlesWind','default','dimensions','LayerUtil','createSegmentsGeometry','_mountedHook','maxAge','TextureMinificationFilter','visible','PrimitiveCollection','toStringTag','layer','Module','drawWind','nextParticlesPosition','canvasWindy','globeBoundingSphere','stroke','setPrototypeOf','create','xmax','dropRate','vertexArray','array','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','rgba(0,\x200,\x200,\x200.97)','commandList','redraw','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','_addedHook','_speedRate','top','WindUtil','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','randomizeParticles','RGB','Color','Cesium','TRIANGLES','trails','SceneMode','8TasNuC','preExecute','_onMouseDownEvent','postProcessingSpeed','Draw','randomParticle','fillRect','configurable','register','particlesTextureSize','mars3dWind','sham','cos','tlng','isDestroyed'];a0_0x14b9=function(){return _0x198c22;};return a0_0x14b9();}(function(_0x3fc88f,_0x50de62){var _0x31be64=a0_0xfea6,_0xe187fb=_0x3fc88f();while(!![]){try{var _0x216922=-parseInt(_0x31be64(0x11d))/0x1+parseInt(_0x31be64(0x205))/0x2+-parseInt(_0x31be64(0x133))/0x3+-parseInt(_0x31be64(0xd5))/0x4*(parseInt(_0x31be64(0x11e))/0x5)+parseInt(_0x31be64(0x1d0))/0x6+parseInt(_0x31be64(0x122))/0x7*(parseInt(_0x31be64(0x105))/0x8)+-parseInt(_0x31be64(0x17b))/0x9;if(_0x216922===_0x50de62)break;else _0xe187fb['push'](_0xe187fb['shift']());}catch(_0x50931e){_0xe187fb['push'](_0xe187fb['shift']());}}}(a0_0x14b9,0x1fde6),!function(_0x3876ac,_0x2f155b){var _0x23a724=a0_0xfea6;_0x23a724(0x1fe)==typeof exports&&'object'==typeof module?module[_0x23a724(0x11a)]=_0x2f155b(require('mars3d-cesium'),require(_0x23a724(0x154))):_0x23a724(0x138)==typeof define&&define[_0x23a724(0x13d)]?define(_0x23a724(0x10f),[_0x23a724(0x1c2),'mars3d'],_0x2f155b):_0x23a724(0x1fe)==typeof exports?exports[_0x23a724(0x10f)]=_0x2f155b(require(_0x23a724(0x1c2)),require(_0x23a724(0x154))):_0x3876ac[_0x23a724(0x10f)]=_0x2f155b(_0x3876ac[_0x23a724(0x101)],_0x3876ac['mars3d']);}(window,function(_0x15c04a,_0x2eff8c){return function(_0x475e70){var _0x3847b5={};function _0x31e293(_0x5beeee){var _0x4ffda7=a0_0xfea6;if(_0x3847b5[_0x5beeee])return _0x3847b5[_0x5beeee][_0x4ffda7(0x11a)];var _0x394212=_0x3847b5[_0x5beeee]={'i':_0x5beeee,'l':!0x1,'exports':{}};return _0x475e70[_0x5beeee][_0x4ffda7(0x1ed)](_0x394212[_0x4ffda7(0x11a)],_0x394212,_0x394212[_0x4ffda7(0x11a)],_0x31e293),_0x394212['l']=!0x0,_0x394212[_0x4ffda7(0x11a)];}return _0x31e293['m']=_0x475e70,_0x31e293['c']=_0x3847b5,_0x31e293['d']=function(_0x5efc14,_0x57017e,_0x3ae810){var _0x22ab62=a0_0xfea6;_0x31e293['o'](_0x5efc14,_0x57017e)||Object[_0x22ab62(0x12d)](_0x5efc14,_0x57017e,{'enumerable':!0x0,'get':_0x3ae810});},_0x31e293['r']=function(_0x30089e){var _0x57ec83=a0_0xfea6;_0x57ec83(0x22d)!=typeof Symbol&&Symbol[_0x57ec83(0xe6)]&&Object[_0x57ec83(0x12d)](_0x30089e,Symbol[_0x57ec83(0xe6)],{'value':_0x57ec83(0xe8)}),Object[_0x57ec83(0x12d)](_0x30089e,_0x57ec83(0x23d),{'value':!0x0});},_0x31e293['t']=function(_0x1482ae,_0x4558a5){var _0xa698e8=a0_0xfea6;if(0x1&_0x4558a5&&(_0x1482ae=_0x31e293(_0x1482ae)),0x8&_0x4558a5)return _0x1482ae;if(0x4&_0x4558a5&&_0xa698e8(0x1fe)==typeof _0x1482ae&&_0x1482ae&&_0x1482ae[_0xa698e8(0x23d)])return _0x1482ae;var _0x22862a=Object[_0xa698e8(0xef)](null);if(_0x31e293['r'](_0x22862a),Object[_0xa698e8(0x12d)](_0x22862a,_0xa698e8(0xdd),{'enumerable':!0x0,'value':_0x1482ae}),0x2&_0x4558a5&&_0xa698e8(0x199)!=typeof _0x1482ae){for(var _0x539b2c in _0x1482ae)_0x31e293['d'](_0x22862a,_0x539b2c,function(_0x1b264f){return _0x1482ae[_0x1b264f];}[_0xa698e8(0x239)](null,_0x539b2c));}return _0x22862a;},_0x31e293['n']=function(_0x1cc901){var _0x146c83=_0x1cc901&&_0x1cc901['__esModule']?function(){return _0x1cc901['default'];}:function(){return _0x1cc901;};return _0x31e293['d'](_0x146c83,'a',_0x146c83),_0x146c83;},_0x31e293['o']=function(_0x47b68e,_0x1b614b){var _0x9386d5=a0_0xfea6;return Object[_0x9386d5(0x155)][_0x9386d5(0x1b5)]['call'](_0x47b68e,_0x1b614b);},_0x31e293['p']='',_0x31e293(_0x31e293['s']=0x14);}([function(_0x28c3c8,_0x28c112){var _0x560c54=a0_0xfea6;_0x28c3c8[_0x560c54(0x11a)]=_0x15c04a;},function(_0x5b33cb,_0xfb3c96){var _0x2aafdf=a0_0xfea6;_0x5b33cb[_0x2aafdf(0x11a)]=_0x2eff8c;},function(_0x1df8de,_0x421306){var _0x1db5bd=a0_0xfea6;_0x1df8de['exports']=function(_0xb899fc,_0x28b114){var _0xe94801=a0_0xfea6;if(!(_0xb899fc instanceof _0x28b114))throw new TypeError(_0xe94801(0x1a5));},_0x1df8de['exports'][_0x1db5bd(0xdd)]=_0x1df8de[_0x1db5bd(0x11a)],_0x1df8de[_0x1db5bd(0x11a)][_0x1db5bd(0x23d)]=!0x0;},function(_0x3ab843,_0x241c52){var _0x17b039=a0_0xfea6;function _0x287158(_0x2e4c2e,_0x1aba6b){var _0x315d86=a0_0xfea6;for(var _0x405904=0x0;_0x405904<_0x1aba6b[_0x315d86(0x134)];_0x405904++){var _0x53f492=_0x1aba6b[_0x405904];_0x53f492['enumerable']=_0x53f492[_0x315d86(0x15b)]||!0x1,_0x53f492[_0x315d86(0x10c)]=!0x0,_0x315d86(0x15d)in _0x53f492&&(_0x53f492[_0x315d86(0x1b0)]=!0x0),Object[_0x315d86(0x12d)](_0x2e4c2e,_0x53f492[_0x315d86(0x192)],_0x53f492);}}_0x3ab843[_0x17b039(0x11a)]=function(_0x2846a6,_0x505536,_0xb52bf0){var _0x37592f=_0x17b039;return _0x505536&&_0x287158(_0x2846a6[_0x37592f(0x155)],_0x505536),_0xb52bf0&&_0x287158(_0x2846a6,_0xb52bf0),_0x2846a6;},_0x3ab843[_0x17b039(0x11a)]['default']=_0x3ab843[_0x17b039(0x11a)],_0x3ab843[_0x17b039(0x11a)][_0x17b039(0x23d)]=!0x0;},function(_0xbe21c6,_0x4f0420){var _0x30da42=a0_0xfea6;function _0x4e1661(_0x1b570a){var _0x4c1942=a0_0xfea6;return _0xbe21c6[_0x4c1942(0x11a)]=_0x4e1661=Object[_0x4c1942(0xee)]?Object['getPrototypeOf']:function(_0xb056ad){var _0x2ff6a6=_0x4c1942;return _0xb056ad[_0x2ff6a6(0x23f)]||Object[_0x2ff6a6(0x1fc)](_0xb056ad);},_0xbe21c6['exports']['default']=_0xbe21c6['exports'],_0xbe21c6['exports']['__esModule']=!0x0,_0x4e1661(_0x1b570a);}_0xbe21c6[_0x30da42(0x11a)]=_0x4e1661,_0xbe21c6['exports'][_0x30da42(0xdd)]=_0xbe21c6[_0x30da42(0x11a)],_0xbe21c6[_0x30da42(0x11a)][_0x30da42(0x23d)]=!0x0;},function(_0x211d2e,_0x363cb2,_0x14f3c){var _0x5f519b=a0_0xfea6,_0x4782d7=_0x14f3c(0x11);_0x211d2e[_0x5f519b(0x11a)]=function(_0x11881c,_0x37d96d){var _0xa8e4e7=_0x5f519b;if(_0xa8e4e7(0x138)!=typeof _0x37d96d&&null!==_0x37d96d)throw new TypeError('Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function');_0x11881c[_0xa8e4e7(0x155)]=Object[_0xa8e4e7(0xef)](_0x37d96d&&_0x37d96d[_0xa8e4e7(0x155)],{'constructor':{'value':_0x11881c,'writable':!0x0,'configurable':!0x0}}),_0x37d96d&&_0x4782d7(_0x11881c,_0x37d96d);},_0x211d2e[_0x5f519b(0x11a)][_0x5f519b(0xdd)]=_0x211d2e[_0x5f519b(0x11a)],_0x211d2e[_0x5f519b(0x11a)]['__esModule']=!0x0;},function(_0x40c234,_0x5272dc,_0x31d04a){var _0x2cece4=a0_0xfea6,_0x5838ed=_0x31d04a(0x12)[_0x2cece4(0xdd)],_0x1f67f3=_0x31d04a(0x13);_0x40c234[_0x2cece4(0x11a)]=function(_0x4d211e,_0x4a73bb){var _0x5a08d4=_0x2cece4;if(_0x4a73bb&&('object'===_0x5838ed(_0x4a73bb)||_0x5a08d4(0x138)==typeof _0x4a73bb))return _0x4a73bb;if(void 0x0!==_0x4a73bb)throw new TypeError(_0x5a08d4(0xfd));return _0x1f67f3(_0x4d211e);},_0x40c234[_0x2cece4(0x11a)][_0x2cece4(0xdd)]=_0x40c234[_0x2cece4(0x11a)],_0x40c234['exports']['__esModule']=!0x0;},function(_0x53b46a,_0x59bd26){var _0x350c18=a0_0xfea6;_0x53b46a['exports']=_0x350c18(0x128);},function(_0x3c77c1,_0x1f61f7){var _0x29be2c=a0_0xfea6;_0x3c77c1[_0x29be2c(0x11a)]='attribute\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20normal\x0aattribute\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20postProcessingSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avec3\x20convertCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20WGS84\x20(lon,\x20lat,\x20lev)\x20->\x20ECEF\x20(x,\x20y,\x20z)\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Geographic_coordinate_conversion#From_geodetic_to_ECEF_coordinates\x20for\x20detail\x0a\x0a\x20\x20\x20\x20//\x20WGS\x2084\x20geometric\x20constants\x20\x0a\x20\x20\x20\x20float\x20a\x20=\x206378137.0;\x20//\x20Semi-major\x20axis\x20\x0a\x20\x20\x20\x20float\x20b\x20=\x206356752.3142;\x20//\x20Semi-minor\x20axis\x20\x0a\x20\x20\x20\x20float\x20e2\x20=\x206.69437999014e-3;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20\x20\x20float\x20h\x20=\x20particleHeight;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x0a\x20\x20\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0);\x0a\x20\x20\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calcProjectedCoordinate(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20the\x20range\x20of\x20longitude\x20in\x20Cesium\x20is\x20[-180,\x20180]\x20but\x20the\x20range\x20of\x20longitude\x20in\x20the\x20NetCDF\x20file\x20is\x20[0,\x20360]\x0a\x20\x20\x20\x20//\x20[0,\x20180]\x20is\x20corresponding\x20to\x20[0,\x20180]\x20and\x20[180,\x20360]\x20is\x20corresponding\x20to\x20[-180,\x200]\x0a\x20\x20\x20\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0,\x20360.0)\x20-\x20180.0;\x0a\x20\x20\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0);\x0a\x20\x20\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calcOffset(vec4\x20currentProjectedCoordinate,\x20vec4\x20nextProjectedCoordinate,\x20float\x20offsetSign)\x20{\x0a\x20\x20\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0);\x0a\x20\x20\x20\x20vec2\x20currentXY\x20=\x20(currentProjectedCoordinate.xy\x20/\x20currentProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x20\x20\x20\x20vec2\x20nextXY\x20=\x20(nextProjectedCoordinate.xy\x20/\x20nextProjectedCoordinate.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0;\x0a\x20\x20\x20\x20vec2\x20direction\x20=\x20normalize(nextXY\x20-\x20currentXY);\x0a\x20\x20\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0,\x200.0);\x0a\x20\x20\x20\x20return\x20offset;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20\x20\x20vec3\x20currentPosition\x20=\x20texture2D(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20\x20\x20vec4\x20nextPosition\x20=\x20texture2D(postProcessingPosition,\x20particleIndex);\x0a\x0a\x20\x20\x20\x20vec4\x20currentProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20nextProjectedCoordinate\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20if\x20(nextPosition.w\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20currentProjectedCoordinate\x20=\x20calcProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20\x20\x20\x20\x20nextProjectedCoordinate\x20=\x20calcProjectedCoordinate(nextPosition.xyz);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20pointToUse\x20=\x20normal.x;\x20//\x20-1\x20is\x20currentProjectedCoordinate\x20and\x20+1\x20is\x20nextProjectedCoordinate\x0a\x20\x20\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x0a\x20\x20\x20\x20vec4\x20offset\x20=\x20pixelSize\x20*\x20calcOffset(currentProjectedCoordinate,\x20nextProjectedCoordinate,\x20offsetSign);\x0a\x20\x20\x20\x20if\x20(pointToUse\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20currentProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20nextProjectedCoordinate\x20+\x20offset;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20speedNormalization\x20=\x20texture2D(postProcessingSpeed,\x20particleIndex).a;\x0a}';},function(_0x51a3bb,_0x19802f){_0x51a3bb['exports']='uniform\x20sampler2D\x20colorTable;\x0a\x0avarying\x20float\x20speedNormalization;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(colorTable,\x20vec2(speedNormalization,\x200.0));\x0a}';},function(_0x3f8c60,_0x8f6701){var _0x19af92=a0_0xfea6;_0x3f8c60[_0x19af92(0x11a)]=_0x19af92(0x131);},function(_0x4a97c0,_0x3c7d23){var _0x2e6357=a0_0xfea6;_0x4a97c0[_0x2e6357(0x11a)]=_0x2e6357(0x194);},function(_0x20bfeb,_0x5aa52c){var _0x1b0578=a0_0xfea6;_0x20bfeb['exports']=_0x1b0578(0x1d2);},function(_0x300036,_0x579da3){var _0x744800=a0_0xfea6;_0x300036['exports']=_0x744800(0x1e7);},function(_0x4c4935,_0x378bac){var _0x3ccf15=a0_0xfea6;_0x4c4935[_0x3ccf15(0x11a)]=_0x3ccf15(0xdb);},function(_0x3fbb24,_0x2db65c){var _0x1339c2=a0_0xfea6;_0x3fbb24[_0x1339c2(0x11a)]=_0x1339c2(0x12f);},function(_0x543e74,_0x195ff9){var _0x464554=a0_0xfea6;_0x543e74[_0x464554(0x11a)]=_0x464554(0x23e);},function(_0x5a33cd,_0x7843ba){var _0x5cbc7e=a0_0xfea6;function _0x27281b(_0x3ef8d6,_0x14c633){var _0x353310=a0_0xfea6;return _0x5a33cd['exports']=_0x27281b=Object[_0x353310(0xee)]||function(_0x203f00,_0x26137c){return _0x203f00['__proto__']=_0x26137c,_0x203f00;},_0x5a33cd['exports'][_0x353310(0xdd)]=_0x5a33cd['exports'],_0x5a33cd[_0x353310(0x11a)]['__esModule']=!0x0,_0x27281b(_0x3ef8d6,_0x14c633);}_0x5a33cd[_0x5cbc7e(0x11a)]=_0x27281b,_0x5a33cd[_0x5cbc7e(0x11a)][_0x5cbc7e(0xdd)]=_0x5a33cd[_0x5cbc7e(0x11a)],_0x5a33cd[_0x5cbc7e(0x11a)][_0x5cbc7e(0x23d)]=!0x0;},function(_0xe62774,_0x4434b9){var _0x2577b9=a0_0xfea6;function _0x1e2309(_0x1d9738){var _0x455021=a0_0xfea6;return _0x455021(0x138)==typeof Symbol&&'symbol'==typeof Symbol['iterator']?(_0xe62774[_0x455021(0x11a)]=_0x1e2309=function(_0x2b5ecc){return typeof _0x2b5ecc;},_0xe62774[_0x455021(0x11a)][_0x455021(0xdd)]=_0xe62774[_0x455021(0x11a)],_0xe62774['exports'][_0x455021(0x23d)]=!0x0):(_0xe62774[_0x455021(0x11a)]=_0x1e2309=function(_0x4fb028){var _0x346f6e=_0x455021;return _0x4fb028&&_0x346f6e(0x138)==typeof Symbol&&_0x4fb028[_0x346f6e(0x169)]===Symbol&&_0x4fb028!==Symbol[_0x346f6e(0x155)]?_0x346f6e(0x22c):typeof _0x4fb028;},_0xe62774[_0x455021(0x11a)][_0x455021(0xdd)]=_0xe62774[_0x455021(0x11a)],_0xe62774[_0x455021(0x11a)][_0x455021(0x23d)]=!0x0),_0x1e2309(_0x1d9738);}_0xe62774[_0x2577b9(0x11a)]=_0x1e2309,_0xe62774['exports'][_0x2577b9(0xdd)]=_0xe62774['exports'],_0xe62774[_0x2577b9(0x11a)][_0x2577b9(0x23d)]=!0x0;},function(_0xf2e362,_0x59fdcb){var _0x3b0a58=a0_0xfea6;_0xf2e362[_0x3b0a58(0x11a)]=function(_0x53d246){var _0x45c39c=_0x3b0a58;if(void 0x0===_0x53d246)throw new ReferenceError(_0x45c39c(0xf4));return _0x53d246;},_0xf2e362[_0x3b0a58(0x11a)]['default']=_0xf2e362['exports'],_0xf2e362[_0x3b0a58(0x11a)][_0x3b0a58(0x23d)]=!0x0;},function(_0x382b8d,_0x5cca99,_0x2d87a4){'use strict';var _0x22a97a=a0_0xfea6;_0x2d87a4['r'](_0x5cca99),_0x2d87a4['d'](_0x5cca99,_0x22a97a(0xd3),function(){return _0x39eda1;}),_0x2d87a4['d'](_0x5cca99,_0x22a97a(0x1dc),function(){return _0x28bda3;}),_0x2d87a4['d'](_0x5cca99,_0x22a97a(0xfc),function(){return _0x1f8f83;});var _0x1f8f83={};_0x2d87a4['r'](_0x1f8f83),_0x2d87a4['d'](_0x1f8f83,_0x22a97a(0x1e5),function(){return _0x2cf656;}),_0x2d87a4['d'](_0x1f8f83,_0x22a97a(0x225),function(){return _0x37f50e;}),_0x2d87a4['d'](_0x1f8f83,'getSpeed',function(){return _0x4427ad;}),_0x2d87a4['d'](_0x1f8f83,'getDirection',function(){return _0x1fbdd4;});var _0x3fe3e4=_0x2d87a4(0x1),_0x1d1f70=_0x2d87a4(0x2),_0x476993=_0x2d87a4['n'](_0x1d1f70),_0x25fc7a=_0x2d87a4(0x3),_0x2c4ac8=_0x2d87a4['n'](_0x25fc7a),_0x1f0820=_0x2d87a4(0x5),_0xb6b8a8=_0x2d87a4['n'](_0x1f0820),_0x1b0cae=_0x2d87a4(0x6),_0x45128a=_0x2d87a4['n'](_0x1b0cae),_0x593179=_0x2d87a4(0x4),_0x5894ae=_0x2d87a4['n'](_0x593179),_0xf992b7=_0x2d87a4(0x0),_0x377f2f=function(){var _0x2cc65=_0x22a97a;function _0x3f578b(_0x59fe16){var _0x16cbe3=a0_0xfea6;_0x476993()(this,_0x3f578b),this[_0x16cbe3(0x130)]=_0x59fe16[_0x16cbe3(0x130)],this[_0x16cbe3(0x124)]=_0x59fe16[_0x16cbe3(0x124)],this[_0x16cbe3(0x123)]=_0x59fe16[_0x16cbe3(0x123)],this[_0x16cbe3(0x158)]=_0x59fe16[_0x16cbe3(0x158)],this[_0x16cbe3(0x208)]=_0x59fe16['uniformMap'],this[_0x16cbe3(0x1fb)]=_0x59fe16[_0x16cbe3(0x1fb)],this['fragmentShaderSource']=_0x59fe16[_0x16cbe3(0x1b8)],this['rawRenderState']=_0x59fe16['rawRenderState'],this[_0x16cbe3(0x236)]=_0x59fe16[_0x16cbe3(0x236)],this['outputTexture']=_0x59fe16[_0x16cbe3(0x1ef)],this['autoClear']=_0xf992b7[_0x16cbe3(0x135)](_0x59fe16[_0x16cbe3(0x1da)],!0x1),this['preExecute']=_0x59fe16[_0x16cbe3(0x106)],this[_0x16cbe3(0x1b3)]=!0x0,this[_0x16cbe3(0x1e4)]=void 0x0,this['clearCommand']=void 0x0,this[_0x16cbe3(0x1da)]&&(this['clearCommand']=new _0xf992b7['ClearCommand']({'color':new _0xf992b7[(_0x16cbe3(0x100))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x16cbe3(0x236)],'pass':_0xf992b7[_0x16cbe3(0x21f)][_0x16cbe3(0x153)]}));}return _0x2c4ac8()(_0x3f578b,[{'key':_0x2cc65(0x164),'value':function(_0x356340){var _0x19c698=_0x2cc65;switch(this[_0x19c698(0x130)]){case _0x19c698(0x109):var _0x231780=_0xf992b7[_0x19c698(0x1aa)]['fromGeometry']({'context':_0x356340,'geometry':this[_0x19c698(0x124)],'attributeLocations':this[_0x19c698(0x123)],'bufferUsage':_0xf992b7[_0x19c698(0x18f)][_0x19c698(0x222)]}),_0xf3cbf1=_0xf992b7[_0x19c698(0x156)][_0x19c698(0x184)]({'context':_0x356340,'attributeLocations':this[_0x19c698(0x123)],'vertexShaderSource':this[_0x19c698(0x1fb)],'fragmentShaderSource':this[_0x19c698(0x1b8)]}),_0x4f1d65=_0xf992b7['RenderState'][_0x19c698(0x184)](this['rawRenderState']);return new _0xf992b7[(_0x19c698(0x216))]({'owner':this,'vertexArray':_0x231780,'primitiveType':this[_0x19c698(0x158)],'uniformMap':this[_0x19c698(0x208)],'modelMatrix':_0xf992b7['Matrix4'][_0x19c698(0x1f7)],'shaderProgram':_0xf3cbf1,'framebuffer':this[_0x19c698(0x236)],'renderState':_0x4f1d65,'pass':_0xf992b7[_0x19c698(0x21f)][_0x19c698(0x153)]});case _0x19c698(0x23a):return new _0xf992b7[(_0x19c698(0x1bc))]({'owner':this,'fragmentShaderSource':this[_0x19c698(0x1b8)],'uniformMap':this[_0x19c698(0x208)],'outputTexture':this[_0x19c698(0x1ef)],'persists':!0x0});}}},{'key':'setGeometry','value':function(_0x2a1fbb,_0x207056){var _0x43ac96=_0x2cc65;this[_0x43ac96(0x124)]=_0x207056;var _0x170192=_0xf992b7[_0x43ac96(0x1aa)][_0x43ac96(0x207)]({'context':_0x2a1fbb,'geometry':this[_0x43ac96(0x124)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0xf992b7[_0x43ac96(0x18f)][_0x43ac96(0x222)]});this[_0x43ac96(0x1e4)][_0x43ac96(0xf2)]=_0x170192;}},{'key':_0x2cc65(0x1a7),'value':function(_0x2ab085){var _0x2f9db4=_0x2cc65;this[_0x2f9db4(0x1b3)]&&_0x2ab085['mode']==_0xf992b7[_0x2f9db4(0x104)][_0x2f9db4(0x20b)]&&(_0xf992b7[_0x2f9db4(0x176)](this[_0x2f9db4(0x1e4)])||(this['commandToExecute']=this[_0x2f9db4(0x164)](_0x2ab085[_0x2f9db4(0x149)])),_0xf992b7['defined'](this[_0x2f9db4(0x106)])&&this['preExecute'](),_0xf992b7[_0x2f9db4(0x176)](this[_0x2f9db4(0x233)])&&_0x2ab085[_0x2f9db4(0xf6)][_0x2f9db4(0x14a)](this['clearCommand']),_0x2ab085[_0x2f9db4(0xf6)][_0x2f9db4(0x14a)](this[_0x2f9db4(0x1e4)]));}},{'key':_0x2cc65(0x113),'value':function(){return!0x1;}},{'key':_0x2cc65(0x1c8),'value':function(){var _0xc8db7f=_0x2cc65;return _0xf992b7[_0xc8db7f(0x176)](this[_0xc8db7f(0x1e4)])&&(this[_0xc8db7f(0x1e4)]['shaderProgram']=this['commandToExecute'][_0xc8db7f(0x210)]&&this[_0xc8db7f(0x1e4)]['shaderProgram'][_0xc8db7f(0x1c8)]()),_0xf992b7['destroyObject'](this);}}]),_0x3f578b;}(),_0x11fbaf={'getFullscreenQuad':function(){var _0x2e8138=_0x22a97a;return new _0xf992b7[(_0x2e8138(0x21a))]({'attributes':new _0xf992b7[(_0x2e8138(0x21c))]({'position':new _0xf992b7[(_0x2e8138(0x1e0))]({'componentDatatype':_0xf992b7[_0x2e8138(0x136)][_0x2e8138(0x23b)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0xf992b7[(_0x2e8138(0x1e0))]({'componentDatatype':_0xf992b7['ComponentDatatype'][_0x2e8138(0x23b)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x4af874,_0x58a2c6){var _0x3bff14=_0x22a97a;if(_0xf992b7[_0x3bff14(0x176)](_0x58a2c6)){var _0x3482a4={};_0x3482a4['arrayBufferView']=_0x58a2c6,_0x4af874[_0x3bff14(0x1ce)]=_0x3482a4;}return new _0xf992b7['Texture'](_0x4af874);},'createFramebuffer':function(_0xa30eb6,_0x48d0e1,_0x28a36b){var _0xfd5cea=_0x22a97a;return new _0xf992b7[(_0xfd5cea(0x1cb))]({'context':_0xa30eb6,'colorTextures':[_0x48d0e1],'depthTexture':_0x28a36b});},'createRawRenderState':function(_0x2a4d65){var _0x3fc621=_0x22a97a,_0x374be4={'viewport':_0x2a4d65[_0x3fc621(0x1a4)],'depthTest':_0x2a4d65[_0x3fc621(0x147)],'depthMask':_0x2a4d65[_0x3fc621(0x21e)],'blending':_0x2a4d65[_0x3fc621(0x139)]};return _0xf992b7[_0x3fc621(0xda)][_0x3fc621(0x115)](!0x0,!0x1,_0x374be4);},'viewRectangleToLonLatRange':function(_0x180a38){var _0x47d46f=_0x22a97a,_0xc27d4b,_0x11aa36,_0x5f11e0={},_0x1e6f83=_0xf992b7[_0x47d46f(0x238)]['mod'](_0x180a38[_0x47d46f(0x11b)],_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x1dd)]),_0x215440=_0xf992b7['Math']['mod'](_0x180a38['east'],_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x1dd)]),_0x20a96c=_0x180a38['width'];_0x20a96c>_0xf992b7[_0x47d46f(0x238)]['THREE_PI_OVER_TWO']?(_0xc27d4b=0x0,_0x11aa36=_0xf992b7[_0x47d46f(0x238)]['TWO_PI']):_0x215440-_0x1e6f83<_0x20a96c?(_0xc27d4b=_0x1e6f83,_0x11aa36=_0x1e6f83+_0x20a96c):(_0xc27d4b=_0x1e6f83,_0x11aa36=_0x215440),_0x5f11e0[_0x47d46f(0x1d4)]={'min':_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x118)](_0xc27d4b),'max':_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x118)](_0x11aa36)};var _0x4f3ad3=_0x180a38[_0x47d46f(0x152)],_0x9dc1cd=_0x180a38['north'],_0x30eaaf=_0x180a38[_0x47d46f(0x1d5)],_0x2cba1d=_0x30eaaf>_0xf992b7[_0x47d46f(0x238)]['PI']/0xc?_0x30eaaf/0x2:0x0,_0x189115=_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x1d8)](_0x4f3ad3-_0x2cba1d),_0x1b691a=_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x1d8)](_0x9dc1cd+_0x2cba1d);return _0x189115<-_0xf992b7['Math']['PI_OVER_THREE']&&(_0x189115=-_0xf992b7[_0x47d46f(0x238)]['PI_OVER_TWO']),_0x1b691a>_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x1e6)]&&(_0x1b691a=_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x1f0)]),_0x5f11e0[_0x47d46f(0x214)]={'min':_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x118)](_0x189115),'max':_0xf992b7[_0x47d46f(0x238)][_0x47d46f(0x118)](_0x1b691a)},_0x5f11e0;}},_0x7bc16b=_0x2d87a4(0x8),_0x1ddf53=_0x2d87a4['n'](_0x7bc16b),_0x135c78=_0x2d87a4(0x9),_0x579f25=_0x2d87a4['n'](_0x135c78),_0x30e396=_0x2d87a4(0x7),_0x348a22=_0x2d87a4['n'](_0x30e396),_0x20d5eb=_0x2d87a4(0xa),_0x370e4e=_0x2d87a4['n'](_0x20d5eb),_0x5c36a7=_0x2d87a4(0xb),_0x23984b=_0x2d87a4['n'](_0x5c36a7),_0x236d5b=function(){var _0x20a75f=_0x22a97a;function _0x494314(_0x23ef90,_0x46072d,_0x251f97,_0x2037bf,_0x4f5c23){var _0x57033a=a0_0xfea6;_0x476993()(this,_0x494314),this[_0x57033a(0x1b9)](_0x23ef90,_0x46072d),this['createRenderingFramebuffers'](_0x23ef90),this[_0x57033a(0x157)](_0x23ef90,_0x251f97,_0x2037bf,_0x4f5c23);}return _0x2c4ac8()(_0x494314,[{'key':'createRenderingTextures','value':function(_0x315ceb,_0x187442){var _0x36df32=a0_0xfea6,_0x4ce15d={'context':_0x315ceb,'width':_0x315ceb[_0x36df32(0x183)],'height':_0x315ceb[_0x36df32(0x14f)],'pixelFormat':_0xf992b7[_0x36df32(0x1c4)][_0x36df32(0x15c)],'pixelDatatype':_0xf992b7[_0x36df32(0x179)]['UNSIGNED_BYTE']},_0x8342a0={'context':_0x315ceb,'width':_0x315ceb[_0x36df32(0x183)],'height':_0x315ceb['drawingBufferHeight'],'pixelFormat':_0xf992b7[_0x36df32(0x1c4)]['DEPTH_COMPONENT'],'pixelDatatype':_0xf992b7[_0x36df32(0x179)]['UNSIGNED_INT']},_0x2f67c6={'context':_0x315ceb,'width':_0x187442[_0x36df32(0x16c)][_0x36df32(0x232)],'height':0x1,'pixelFormat':_0xf992b7[_0x36df32(0x1c4)][_0x36df32(0xff)],'pixelDatatype':_0xf992b7['PixelDatatype'][_0x36df32(0x23b)],'sampler':new _0xf992b7[(_0x36df32(0x204))]({'minificationFilter':_0xf992b7['TextureMinificationFilter'][_0x36df32(0x1d9)],'magnificationFilter':_0xf992b7[_0x36df32(0x16e)][_0x36df32(0x1d9)]})};this[_0x36df32(0x159)]={'segmentsColor':_0x11fbaf[_0x36df32(0x116)](_0x4ce15d),'segmentsDepth':_0x11fbaf['createTexture'](_0x8342a0),'currentTrailsColor':_0x11fbaf[_0x36df32(0x116)](_0x4ce15d),'currentTrailsDepth':_0x11fbaf[_0x36df32(0x116)](_0x8342a0),'nextTrailsColor':_0x11fbaf[_0x36df32(0x116)](_0x4ce15d),'nextTrailsDepth':_0x11fbaf[_0x36df32(0x116)](_0x8342a0),'colorTable':_0x11fbaf[_0x36df32(0x116)](_0x2f67c6,_0x187442[_0x36df32(0x16c)][_0x36df32(0xf3)])};}},{'key':_0x20a75f(0x174),'value':function(_0x1a53d2){var _0x42ff32=_0x20a75f;this['framebuffers']={'segments':_0x11fbaf[_0x42ff32(0x1a2)](_0x1a53d2,this[_0x42ff32(0x159)][_0x42ff32(0x1c7)],this['textures']['segmentsDepth']),'currentTrails':_0x11fbaf[_0x42ff32(0x1a2)](_0x1a53d2,this[_0x42ff32(0x159)][_0x42ff32(0x18a)],this['textures'][_0x42ff32(0x20c)]),'nextTrails':_0x11fbaf[_0x42ff32(0x1a2)](_0x1a53d2,this[_0x42ff32(0x159)][_0x42ff32(0x1ca)],this['textures'][_0x42ff32(0x18e)])};}},{'key':'createSegmentsGeometry','value':function(_0x2595f8){var _0x4c41a9=_0x20a75f;for(var _0x555149=[],_0x29e22d=0x0;_0x29e22d<_0x2595f8[_0x4c41a9(0x10e)];_0x29e22d++)for(var _0x39fc3e=0x0;_0x39fc3e<_0x2595f8[_0x4c41a9(0x10e)];_0x39fc3e++)for(var _0x29f1e2=0x0;_0x29f1e2<0x4;_0x29f1e2++)_0x555149[_0x4c41a9(0x14a)](_0x29e22d/_0x2595f8[_0x4c41a9(0x10e)]),_0x555149[_0x4c41a9(0x14a)](_0x39fc3e/_0x2595f8[_0x4c41a9(0x10e)]);_0x555149=new Float32Array(_0x555149);for(var _0x1d781f=[],_0x13e132=[-0x1,0x1],_0x2b5c5e=[-0x1,0x1],_0x3261bc=0x0;_0x3261bc<_0x2595f8[_0x4c41a9(0x1ea)];_0x3261bc++)for(var _0x106f1a=0x0;_0x106f1a<0x2;_0x106f1a++)for(var _0x1358d5=0x0;_0x1358d5<0x2;_0x1358d5++)_0x1d781f[_0x4c41a9(0x14a)](_0x13e132[_0x106f1a]),_0x1d781f[_0x4c41a9(0x14a)](_0x2b5c5e[_0x1358d5]),_0x1d781f[_0x4c41a9(0x14a)](0x0);_0x1d781f=new Float32Array(_0x1d781f);for(var _0x3b3d2c=0x6*_0x2595f8['maxParticles'],_0x2ec6cc=new Uint32Array(_0x3b3d2c),_0x15ccb0=0x0,_0xd22a34=0x0,_0x54addb=0x0;_0x15ccb0<_0x2595f8[_0x4c41a9(0x1ea)];_0x15ccb0++)_0x2ec6cc[_0xd22a34++]=_0x54addb+0x0,_0x2ec6cc[_0xd22a34++]=_0x54addb+0x1,_0x2ec6cc[_0xd22a34++]=_0x54addb+0x2,_0x2ec6cc[_0xd22a34++]=_0x54addb+0x2,_0x2ec6cc[_0xd22a34++]=_0x54addb+0x1,_0x2ec6cc[_0xd22a34++]=_0x54addb+0x3,_0x54addb+=0x4;return new _0xf992b7['Geometry']({'attributes':new _0xf992b7[(_0x4c41a9(0x21c))]({'st':new _0xf992b7[(_0x4c41a9(0x1e0))]({'componentDatatype':_0xf992b7[_0x4c41a9(0x136)][_0x4c41a9(0x23b)],'componentsPerAttribute':0x2,'values':_0x555149}),'normal':new _0xf992b7[(_0x4c41a9(0x1e0))]({'componentDatatype':_0xf992b7[_0x4c41a9(0x136)][_0x4c41a9(0x23b)],'componentsPerAttribute':0x3,'values':_0x1d781f})}),'indices':_0x2ec6cc});}},{'key':_0x20a75f(0x157),'value':function(_0x545eec,_0x3ea562,_0x3a854d,_0x6c3623){var _0x8a3556=_0x20a75f,_0xe5600e=this;this['primitives']={'segments':new _0x377f2f({'commandType':_0x8a3556(0x109),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x8a3556(0xe0)](_0x3ea562),'primitiveType':_0xf992b7['PrimitiveType'][_0x8a3556(0x102)],'uniformMap':{'currentParticlesPosition':function(){var _0x24e027=_0x8a3556;return _0x6c3623[_0x24e027(0x200)][_0x24e027(0x196)];},'postProcessingPosition':function(){var _0x404ae1=_0x8a3556;return _0x6c3623[_0x404ae1(0x200)][_0x404ae1(0x1ee)];},'postProcessingSpeed':function(){var _0x34dff0=_0x8a3556;return _0x6c3623[_0x34dff0(0x200)][_0x34dff0(0x108)];},'colorTable':function(){var _0x1f69a2=_0x8a3556;return _0xe5600e['textures'][_0x1f69a2(0x16c)];},'aspect':function(){var _0x58c7b1=_0x8a3556;return _0x545eec[_0x58c7b1(0x183)]/_0x545eec[_0x58c7b1(0x14f)];},'pixelSize':function(){return _0x3a854d['pixelSize'];},'lineWidth':function(){var _0x5ecb83=_0x8a3556;return _0x3ea562[_0x5ecb83(0x220)];},'particleHeight':function(){var _0x441289=_0x8a3556;return _0x3ea562[_0x441289(0x1e9)];}},'vertexShaderSource':new _0xf992b7[(_0x8a3556(0x229))]({'sources':[_0x1ddf53['a']]}),'fragmentShaderSource':new _0xf992b7['ShaderSource']({'sources':[_0x579f25['a']]}),'rawRenderState':_0x11fbaf[_0x8a3556(0x172)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x8a3556(0x142)]['segments'],'autoClear':!0x0}),'trails':new _0x377f2f({'commandType':_0x8a3556(0x109),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x11fbaf['getFullscreenQuad'](),'primitiveType':_0xf992b7['PrimitiveType'][_0x8a3556(0x102)],'uniformMap':{'segmentsColorTexture':function(){var _0x241115=_0x8a3556;return _0xe5600e['textures'][_0x241115(0x1c7)];},'segmentsDepthTexture':function(){var _0x5051dc=_0x8a3556;return _0xe5600e['textures'][_0x5051dc(0x20a)];},'currentTrailsColor':function(){var _0x41bdf9=_0x8a3556;return _0xe5600e[_0x41bdf9(0x142)][_0x41bdf9(0x137)][_0x41bdf9(0x180)](0x0);},'trailsDepthTexture':function(){var _0x129450=_0x8a3556;return _0xe5600e[_0x129450(0x142)][_0x129450(0x137)]['depthTexture'];},'fadeOpacity':function(){var _0x4e24a2=_0x8a3556;return _0x3ea562[_0x4e24a2(0x14c)];}},'vertexShaderSource':new _0xf992b7['ShaderSource']({'defines':[_0x8a3556(0x18b)],'sources':[_0x348a22['a']]}),'fragmentShaderSource':new _0xf992b7[(_0x8a3556(0x229))]({'defines':[_0x8a3556(0xf8)],'sources':[_0x370e4e['a']]}),'rawRenderState':_0x11fbaf['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0xf992b7[_0x8a3556(0x1c1)][_0x8a3556(0x1b7)]},'depthMask':!0x0}),'framebuffer':this[_0x8a3556(0x142)][_0x8a3556(0x20d)],'autoClear':!0x0,'preExecute':function(){var _0x559507=_0x8a3556,_0x5b58bd;_0x5b58bd=_0xe5600e[_0x559507(0x142)][_0x559507(0x137)],_0xe5600e[_0x559507(0x142)][_0x559507(0x137)]=_0xe5600e[_0x559507(0x142)][_0x559507(0x20d)],_0xe5600e[_0x559507(0x142)][_0x559507(0x20d)]=_0x5b58bd,_0xe5600e['primitives'][_0x559507(0x103)][_0x559507(0x1e4)][_0x559507(0x236)]=_0xe5600e[_0x559507(0x142)][_0x559507(0x20d)],_0xe5600e['primitives'][_0x559507(0x103)][_0x559507(0x233)][_0x559507(0x236)]=_0xe5600e['framebuffers'][_0x559507(0x20d)];}}),'screen':new _0x377f2f({'commandType':_0x8a3556(0x109),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x11fbaf[_0x8a3556(0x1f9)](),'primitiveType':_0xf992b7[_0x8a3556(0x17c)][_0x8a3556(0x102)],'uniformMap':{'trailsColorTexture':function(){var _0x108c7b=_0x8a3556;return _0xe5600e[_0x108c7b(0x142)][_0x108c7b(0x20d)][_0x108c7b(0x180)](0x0);},'trailsDepthTexture':function(){var _0x428a3d=_0x8a3556;return _0xe5600e['framebuffers'][_0x428a3d(0x20d)][_0x428a3d(0x1de)];}},'vertexShaderSource':new _0xf992b7[(_0x8a3556(0x229))]({'defines':[_0x8a3556(0x18b)],'sources':[_0x348a22['a']]}),'fragmentShaderSource':new _0xf992b7[(_0x8a3556(0x229))]({'defines':[_0x8a3556(0xf8)],'sources':[_0x23984b['a']]}),'rawRenderState':_0x11fbaf['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x494314;}(),_0x2fdf4e=_0x2d87a4(0xc),_0x17bf63=_0x2d87a4['n'](_0x2fdf4e),_0x5b14c5=_0x2d87a4(0xd),_0x209385=_0x2d87a4['n'](_0x5b14c5),_0x2b7a1d=_0x2d87a4(0xe),_0x15d024=_0x2d87a4['n'](_0x2b7a1d),_0x477e70=_0x2d87a4(0xf),_0x173150=_0x2d87a4['n'](_0x477e70),_0x3c3d98=_0x2d87a4(0x10),_0x26e29c=_0x2d87a4['n'](_0x3c3d98),_0x503e64=function(){var _0x2e3cb6=_0x22a97a;function _0x3c7dd4(_0x42a83f,_0x58597d,_0x105ad7,_0x42a8b8){var _0x57b5f5=a0_0xfea6;_0x476993()(this,_0x3c7dd4),this['data']=_0x58597d,this['createWindTextures'](_0x42a83f,_0x58597d),this[_0x57b5f5(0x144)](_0x42a83f,_0x105ad7,_0x42a8b8),this[_0x57b5f5(0x19c)](_0x58597d,_0x105ad7,_0x42a8b8);}return _0x2c4ac8()(_0x3c7dd4,[{'key':_0x2e3cb6(0x1e8),'value':function(_0x54e111,_0x2c886e){var _0x24275d=_0x2e3cb6,_0x16cf5a={'context':_0x54e111,'width':_0x2c886e[_0x24275d(0xde)]['lon'],'height':_0x2c886e[_0x24275d(0xde)][_0x24275d(0x214)]*_0x2c886e['dimensions'][_0x24275d(0x167)],'pixelFormat':_0xf992b7[_0x24275d(0x1c4)][_0x24275d(0x1f1)],'pixelDatatype':_0xf992b7['PixelDatatype'][_0x24275d(0x23b)],'flipY':!0x1,'sampler':new _0xf992b7[(_0x24275d(0x204))]({'minificationFilter':_0xf992b7[_0x24275d(0xe3)][_0x24275d(0x162)],'magnificationFilter':_0xf992b7['TextureMagnificationFilter'][_0x24275d(0x162)]})};this[_0x24275d(0x13c)]={'U':_0x11fbaf[_0x24275d(0x116)](_0x16cf5a,_0x2c886e['U'][_0x24275d(0xf3)]),'V':_0x11fbaf[_0x24275d(0x116)](_0x16cf5a,_0x2c886e['V'][_0x24275d(0xf3)])};}},{'key':_0x2e3cb6(0x144),'value':function(_0x5122cf,_0x85427,_0x4035fa){var _0x2fa5eb=_0x2e3cb6,_0x33e3cc={'context':_0x5122cf,'width':_0x85427[_0x2fa5eb(0x10e)],'height':_0x85427[_0x2fa5eb(0x10e)],'pixelFormat':_0xf992b7[_0x2fa5eb(0x1c4)]['RGBA'],'pixelDatatype':_0xf992b7[_0x2fa5eb(0x179)]['FLOAT'],'flipY':!0x1,'sampler':new _0xf992b7[(_0x2fa5eb(0x204))]({'minificationFilter':_0xf992b7['TextureMinificationFilter'][_0x2fa5eb(0x162)],'magnificationFilter':_0xf992b7['TextureMagnificationFilter']['NEAREST']})},_0x44a98e=this['randomizeParticles'](_0x85427['maxParticles'],_0x4035fa),_0xbe8c5=new Float32Array(0x4*_0x85427['maxParticles'])[_0x2fa5eb(0x198)](0x0);this[_0x2fa5eb(0x200)]={'particlesWind':_0x11fbaf[_0x2fa5eb(0x116)](_0x33e3cc),'currentParticlesPosition':_0x11fbaf[_0x2fa5eb(0x116)](_0x33e3cc,_0x44a98e),'nextParticlesPosition':_0x11fbaf[_0x2fa5eb(0x116)](_0x33e3cc,_0x44a98e),'currentParticlesSpeed':_0x11fbaf[_0x2fa5eb(0x116)](_0x33e3cc,_0xbe8c5),'nextParticlesSpeed':_0x11fbaf[_0x2fa5eb(0x116)](_0x33e3cc,_0xbe8c5),'postProcessingPosition':_0x11fbaf[_0x2fa5eb(0x116)](_0x33e3cc,_0x44a98e),'postProcessingSpeed':_0x11fbaf[_0x2fa5eb(0x116)](_0x33e3cc,_0xbe8c5)};}},{'key':_0x2e3cb6(0xfe),'value':function(_0xbea52,_0x4eb11b){var _0xa7e72a=_0x2e3cb6;for(var _0x3b13f5=new Float32Array(0x4*_0xbea52),_0x4ef6cb=0x0;_0x4ef6cb<_0xbea52;_0x4ef6cb++)_0x3b13f5[0x4*_0x4ef6cb]=_0xf992b7[_0xa7e72a(0x238)][_0xa7e72a(0x16f)](_0x4eb11b['lonRange']['x'],_0x4eb11b[_0xa7e72a(0x227)]['y']),_0x3b13f5[0x4*_0x4ef6cb+0x1]=_0xf992b7[_0xa7e72a(0x238)][_0xa7e72a(0x16f)](_0x4eb11b[_0xa7e72a(0x1cd)]['x'],_0x4eb11b['latRange']['y']),_0x3b13f5[0x4*_0x4ef6cb+0x2]=_0xf992b7[_0xa7e72a(0x238)][_0xa7e72a(0x16f)](this[_0xa7e72a(0x21b)][_0xa7e72a(0x167)][_0xa7e72a(0x129)],this['data'][_0xa7e72a(0x167)][_0xa7e72a(0x13b)]),_0x3b13f5[0x4*_0x4ef6cb+0x3]=0x0;return _0x3b13f5;}},{'key':_0x2e3cb6(0xd2),'value':function(){var _0x11251c=_0x2e3cb6,_0xc4259e=this;Object[_0x11251c(0x186)](this[_0x11251c(0x200)])[_0x11251c(0x126)](function(_0x499c59){var _0x3b622e=_0x11251c;_0xc4259e[_0x3b622e(0x200)][_0x499c59]['destroy']();});}},{'key':_0x2e3cb6(0x19c),'value':function(_0x50a37f,_0x166abf,_0x2fe933){var _0x3af781=_0x2e3cb6,_0x566f4d=new _0xf992b7[(_0x3af781(0x1c0))](_0x50a37f[_0x3af781(0xde)][_0x3af781(0x1d4)],_0x50a37f['dimensions'][_0x3af781(0x214)],_0x50a37f[_0x3af781(0xde)]['lev']),_0x4d72c9=new _0xf992b7[(_0x3af781(0x1c0))](_0x50a37f['lon'][_0x3af781(0x129)],_0x50a37f['lat'][_0x3af781(0x129)],_0x50a37f[_0x3af781(0x167)]['min']),_0x58bc32=new _0xf992b7[(_0x3af781(0x1c0))](_0x50a37f[_0x3af781(0x1d4)][_0x3af781(0x13b)],_0x50a37f[_0x3af781(0x214)][_0x3af781(0x13b)],_0x50a37f['lev']['max']),_0x5d4b94=new _0xf992b7[(_0x3af781(0x1c0))]((_0x58bc32['x']-_0x4d72c9['x'])/(_0x566f4d['x']-0x1),(_0x58bc32['y']-_0x4d72c9['y'])/(_0x566f4d['y']-0x1),_0x566f4d['z']>0x1?(_0x58bc32['z']-_0x4d72c9['z'])/(_0x566f4d['z']-0x1):0x1),_0x18929e=new _0xf992b7['Cartesian2'](_0x50a37f['U'][_0x3af781(0x129)],_0x50a37f['U'][_0x3af781(0x13b)]),_0x1b3d09=new _0xf992b7[(_0x3af781(0x171))](_0x50a37f['V'][_0x3af781(0x129)],_0x50a37f['V'][_0x3af781(0x13b)]),_0x108dd2=this;this[_0x3af781(0x170)]={'getWind':new _0x377f2f({'commandType':'Compute','uniformMap':{'U':function(){var _0x28a864=_0x3af781;return _0x108dd2[_0x28a864(0x13c)]['U'];},'V':function(){var _0x25c871=_0x3af781;return _0x108dd2[_0x25c871(0x13c)]['V'];},'currentParticlesPosition':function(){var _0x4e149f=_0x3af781;return _0x108dd2[_0x4e149f(0x200)][_0x4e149f(0x196)];},'dimension':function(){return _0x566f4d;},'minimum':function(){return _0x4d72c9;},'maximum':function(){return _0x58bc32;},'interval':function(){return _0x5d4b94;}},'fragmentShaderSource':new _0xf992b7['ShaderSource']({'sources':[_0x17bf63['a']]}),'outputTexture':this[_0x3af781(0x200)][_0x3af781(0xdc)],'preExecute':function(){var _0x541852=_0x3af781;_0x108dd2[_0x541852(0x170)][_0x541852(0x15f)][_0x541852(0x1e4)][_0x541852(0x1ef)]=_0x108dd2['particlesTextures'][_0x541852(0xdc)];}}),'updateSpeed':new _0x377f2f({'commandType':'Compute','uniformMap':{'currentParticlesSpeed':function(){return _0x108dd2['particlesTextures']['currentParticlesSpeed'];},'particlesWind':function(){var _0x2c245d=_0x3af781;return _0x108dd2[_0x2c245d(0x200)][_0x2c245d(0xdc)];},'uSpeedRange':function(){return _0x18929e;},'vSpeedRange':function(){return _0x1b3d09;},'pixelSize':function(){var _0x1a163f=_0x3af781;return _0x2fe933[_0x1a163f(0x242)];},'speedFactor':function(){var _0x535947=_0x3af781;return _0x166abf[_0x535947(0x22b)];}},'fragmentShaderSource':new _0xf992b7[(_0x3af781(0x229))]({'sources':[_0x209385['a']]}),'outputTexture':this['particlesTextures']['nextParticlesSpeed'],'preExecute':function(){var _0x1b6ac0=_0x3af781,_0x49b06f;_0x49b06f=_0x108dd2[_0x1b6ac0(0x200)]['currentParticlesSpeed'],_0x108dd2[_0x1b6ac0(0x200)]['currentParticlesSpeed']=_0x108dd2[_0x1b6ac0(0x200)]['postProcessingSpeed'],_0x108dd2[_0x1b6ac0(0x200)]['postProcessingSpeed']=_0x49b06f,_0x108dd2[_0x1b6ac0(0x170)][_0x1b6ac0(0x20f)]['commandToExecute'][_0x1b6ac0(0x1ef)]=_0x108dd2[_0x1b6ac0(0x200)][_0x1b6ac0(0x185)];}}),'updatePosition':new _0x377f2f({'commandType':_0x3af781(0x23a),'uniformMap':{'currentParticlesPosition':function(){var _0x4da967=_0x3af781;return _0x108dd2[_0x4da967(0x200)][_0x4da967(0x196)];},'currentParticlesSpeed':function(){var _0x271b52=_0x3af781;return _0x108dd2[_0x271b52(0x200)]['currentParticlesSpeed'];}},'fragmentShaderSource':new _0xf992b7[(_0x3af781(0x229))]({'sources':[_0x15d024['a']]}),'outputTexture':this['particlesTextures'][_0x3af781(0xea)],'preExecute':function(){var _0x32fa15=_0x3af781,_0x1f80e7;_0x1f80e7=_0x108dd2[_0x32fa15(0x200)][_0x32fa15(0x196)],_0x108dd2[_0x32fa15(0x200)][_0x32fa15(0x196)]=_0x108dd2[_0x32fa15(0x200)][_0x32fa15(0x1ee)],_0x108dd2['particlesTextures'][_0x32fa15(0x1ee)]=_0x1f80e7,_0x108dd2[_0x32fa15(0x170)][_0x32fa15(0x195)][_0x32fa15(0x1e4)][_0x32fa15(0x1ef)]=_0x108dd2['particlesTextures'][_0x32fa15(0xea)];}}),'postProcessingPosition':new _0x377f2f({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x2e36df=_0x3af781;return _0x108dd2[_0x2e36df(0x200)][_0x2e36df(0xea)];},'nextParticlesSpeed':function(){var _0x16b8d7=_0x3af781;return _0x108dd2[_0x16b8d7(0x200)][_0x16b8d7(0x185)];},'lonRange':function(){var _0x3f71d2=_0x3af781;return _0x2fe933[_0x3f71d2(0x227)];},'latRange':function(){return _0x2fe933['latRange'];},'randomCoefficient':function(){var _0x2fd5be=_0x3af781,_0x5c0780=Math[_0x2fd5be(0x1cc)]();return _0x5c0780;},'dropRate':function(){var _0x5e1310=_0x3af781;return _0x166abf[_0x5e1310(0xf1)];},'dropRateBump':function(){return _0x166abf['dropRateBump'];}},'fragmentShaderSource':new _0xf992b7[(_0x3af781(0x229))]({'sources':[_0x173150['a']]}),'outputTexture':this[_0x3af781(0x200)][_0x3af781(0x1ee)],'preExecute':function(){var _0x39c3e9=_0x3af781;_0x108dd2[_0x39c3e9(0x170)][_0x39c3e9(0x1ee)]['commandToExecute'][_0x39c3e9(0x1ef)]=_0x108dd2[_0x39c3e9(0x200)]['postProcessingPosition'];}}),'postProcessingSpeed':new _0x377f2f({'commandType':_0x3af781(0x23a),'uniformMap':{'postProcessingPosition':function(){var _0x10a6d6=_0x3af781;return _0x108dd2[_0x10a6d6(0x200)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x20da00=_0x3af781;return _0x108dd2[_0x20da00(0x200)]['nextParticlesSpeed'];}},'fragmentShaderSource':new _0xf992b7[(_0x3af781(0x229))]({'sources':[_0x26e29c['a']]}),'outputTexture':this[_0x3af781(0x200)]['postProcessingSpeed'],'preExecute':function(){var _0x40e75f=_0x3af781;_0x108dd2[_0x40e75f(0x170)][_0x40e75f(0x108)][_0x40e75f(0x1e4)]['outputTexture']=_0x108dd2[_0x40e75f(0x200)][_0x40e75f(0x108)];}})};}}]),_0x3c7dd4;}(),_0x3239b9=function(){var _0x40c32c=_0x22a97a;function _0x143306(_0x3e2fb3,_0x703650,_0x3cbb1a,_0x54dfe8){var _0xd1c685=a0_0xfea6;_0x476993()(this,_0x143306),this[_0xd1c685(0x149)]=_0x3e2fb3,this[_0xd1c685(0x21b)]=_0x703650,this[_0xd1c685(0x190)]=_0x3cbb1a,this[_0xd1c685(0x1ad)]=_0x54dfe8,this[_0xd1c685(0x14b)]=new _0x503e64(this['context'],this[_0xd1c685(0x21b)],this[_0xd1c685(0x190)],this['viewerParameters']),this['particlesRendering']=new _0x236d5b(this[_0xd1c685(0x149)],this[_0xd1c685(0x21b)],this['userInput'],this[_0xd1c685(0x1ad)],this[_0xd1c685(0x14b)]);}return _0x2c4ac8()(_0x143306,[{'key':_0x40c32c(0x121),'value':function(_0x59affe){var _0x376e9c=_0x40c32c,_0x2c02d2=this;this[_0x376e9c(0x14b)]['destroyParticlesTextures'](),Object[_0x376e9c(0x186)](this[_0x376e9c(0x14b)]['windTextures'])['forEach'](function(_0x2e9454){var _0x4e3b25=_0x376e9c;_0x2c02d2[_0x4e3b25(0x14b)][_0x4e3b25(0x13c)][_0x2e9454][_0x4e3b25(0x1c8)]();}),this['particlesRendering']['textures'][_0x376e9c(0x16c)][_0x376e9c(0x1c8)](),Object['keys'](this[_0x376e9c(0x12a)][_0x376e9c(0x142)])[_0x376e9c(0x126)](function(_0x30d1d2){_0x2c02d2['particlesRendering']['framebuffers'][_0x30d1d2]['destroy']();}),this[_0x376e9c(0x149)]=_0x59affe,this['particlesComputing']=new _0x503e64(this[_0x376e9c(0x149)],this[_0x376e9c(0x21b)],this[_0x376e9c(0x190)],this[_0x376e9c(0x1ad)]),this['particlesRendering']=new _0x236d5b(this[_0x376e9c(0x149)],this['data'],this[_0x376e9c(0x190)],this[_0x376e9c(0x1ad)],this['particlesComputing']);}},{'key':_0x40c32c(0x1f5),'value':function(){var _0x2c0952=_0x40c32c,_0xd98d76=this,_0x35ec0e=new _0xf992b7['ClearCommand']({'color':new _0xf992b7['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0xf992b7[_0x2c0952(0x21f)][_0x2c0952(0x153)]});Object[_0x2c0952(0x186)](this[_0x2c0952(0x12a)][_0x2c0952(0x142)])[_0x2c0952(0x126)](function(_0x3b5eb3){var _0x154069=_0x2c0952;_0x35ec0e['framebuffer']=_0xd98d76[_0x154069(0x12a)][_0x154069(0x142)][_0x3b5eb3],_0x35ec0e[_0x154069(0x1db)](_0xd98d76[_0x154069(0x149)]);});}},{'key':_0x40c32c(0x181),'value':function(_0xe18d23){var _0x192770=_0x40c32c;if(this['clearFramebuffers'](),this[_0x192770(0x14b)][_0x192770(0xd2)](),this[_0x192770(0x14b)][_0x192770(0x144)](this[_0x192770(0x149)],this[_0x192770(0x190)],this[_0x192770(0x1ad)]),_0xe18d23){var _0x5399a8=this[_0x192770(0x12a)][_0x192770(0xe0)](this[_0x192770(0x190)]);this[_0x192770(0x12a)][_0x192770(0x170)][_0x192770(0x226)][_0x192770(0x124)]=_0x5399a8;var _0x28e6a0=_0xf992b7[_0x192770(0x1aa)][_0x192770(0x207)]({'context':this['context'],'geometry':_0x5399a8,'attributeLocations':this[_0x192770(0x12a)]['primitives'][_0x192770(0x226)][_0x192770(0x123)],'bufferUsage':_0xf992b7['BufferUsage'][_0x192770(0x222)]});this[_0x192770(0x12a)][_0x192770(0x170)][_0x192770(0x226)][_0x192770(0x1e4)][_0x192770(0xf2)]=_0x28e6a0;}}},{'key':'applyUserInput','value':function(_0x5b4380){var _0x3d84a4=_0x40c32c,_0x30edfc=this,_0x3551b3=!0x1;this[_0x3d84a4(0x190)][_0x3d84a4(0x1ea)]!=_0x5b4380[_0x3d84a4(0x1ea)]&&(_0x3551b3=!0x0),Object[_0x3d84a4(0x186)](_0x5b4380)[_0x3d84a4(0x126)](function(_0x3b5120){var _0x3f819a=_0x3d84a4;_0x30edfc[_0x3f819a(0x190)][_0x3b5120]=_0x5b4380[_0x3b5120];}),this[_0x3d84a4(0x181)](_0x3551b3);}},{'key':_0x40c32c(0x223),'value':function(_0x5d6751){var _0x306b24=_0x40c32c,_0x542347=this;Object[_0x306b24(0x186)](_0x5d6751)[_0x306b24(0x126)](function(_0x16ae86){var _0x14ab5c=_0x306b24;_0x542347[_0x14ab5c(0x1ad)][_0x16ae86]=_0x5d6751[_0x16ae86];}),this[_0x306b24(0x181)](!0x1);}}]),_0x143306;}();function _0x2a51f4(_0x532d95){var _0x34612f=function(){var _0xa54b2d=a0_0xfea6;if(_0xa54b2d(0x22d)==typeof Reflect||!Reflect[_0xa54b2d(0x1e1)])return!0x1;if(Reflect['construct'][_0xa54b2d(0x110)])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0xa54b2d(0x155)][_0xa54b2d(0x160)][_0xa54b2d(0x1ed)](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x5ed0d8){return!0x1;}}();return function(){var _0x3bb1c0=a0_0xfea6,_0xe36502,_0xe2973=_0x5894ae()(_0x532d95);if(_0x34612f){var _0x4cbc71=_0x5894ae()(this)[_0x3bb1c0(0x169)];_0xe36502=Reflect['construct'](_0xe2973,arguments,_0x4cbc71);}else _0xe36502=_0xe2973[_0x3bb1c0(0x17f)](this,arguments);return _0x45128a()(this,_0xe36502);};}var _0x2bd0be=_0x3fe3e4['layer'][_0x22a97a(0x218)],_0x36b4c=0x1000,_0x4a0e77=0x64,_0x1fa2c1=0.996,_0x1bb6e7=0.003,_0x53d27a=0.01,_0x209277=0.5,_0x1e65a9=0x2,_0x39eda1=function(_0x16f080){var _0x2c641b=_0x22a97a;_0xb6b8a8()(_0x4bb377,_0x16f080);var _0x3c228a=_0x2a51f4(_0x4bb377);function _0x4bb377(){var _0x4dcd5b=a0_0xfea6,_0x5dddd8,_0x486e61=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x476993()(this,_0x4bb377),(_0x5dddd8=_0x3c228a[_0x4dcd5b(0x1ed)](this,_0x486e61))[_0x4dcd5b(0x1ea)]=_0x36b4c,_0x5dddd8[_0x4dcd5b(0x1e9)]=_0x4a0e77,_0x5dddd8['fadeOpacity']=_0x1fa2c1,_0x5dddd8[_0x4dcd5b(0xf1)]=_0x1bb6e7,_0x5dddd8['dropRateBump']=_0x53d27a,_0x5dddd8[_0x4dcd5b(0x22b)]=_0x209277,_0x5dddd8[_0x4dcd5b(0x220)]=_0x1e65a9,_0x486e61){for(var _0x2b9805 in _0x486e61)_0x5dddd8[_0x2b9805]=_0x486e61[_0x2b9805];}return _0x5dddd8;}return _0x2c4ac8()(_0x4bb377,[{'key':_0x2c641b(0xe7),'get':function(){var _0x3b7803=_0x2c641b;return this[_0x3b7803(0x170)];}},{'key':_0x2c641b(0xe1),'value':function(){}},{'key':_0x2c641b(0xf9),'value':function(){var _0x12691e=_0x2c641b;this['scene']=this['_map'][_0x12691e(0x120)],this[_0x12691e(0x188)]=this[_0x12691e(0x1f3)][_0x12691e(0x188)],this[_0x12691e(0x170)]=new _0xf992b7[(_0x12691e(0xe5))](),this[_0x12691e(0x1f3)][_0x12691e(0x120)][_0x12691e(0x170)]['add'](this[_0x12691e(0x170)]),this[_0x12691e(0x1ad)]={'lonRange':new _0xf992b7['Cartesian2'](),'latRange':new _0xf992b7[(_0x12691e(0x171))](),'pixelSize':0x0},this[_0x12691e(0xec)]=new _0xf992b7[(_0x12691e(0xd4))](_0xf992b7[_0x12691e(0x1c0)][_0x12691e(0x114)],6314355.63),this[_0x12691e(0x117)](),window[_0x12691e(0x12c)](_0x12691e(0x161),this[_0x12691e(0x161)][_0x12691e(0x239)](this),!0x1),this[_0x12691e(0x21d)]=!0x1,this['mouse_move']=!0x1,this[_0x12691e(0x1f3)]['on'](_0x3fe3e4[_0x12691e(0x1d3)][_0x12691e(0x1c3)],this[_0x12691e(0x15a)],this),this[_0x12691e(0x1f3)]['on'](_0x3fe3e4[_0x12691e(0x1d3)]['mouseDown'],this[_0x12691e(0x107)],this),this[_0x12691e(0x1f3)]['on'](_0x3fe3e4['EventType']['mouseUp'],this['_onMouseUpEvent'],this),this['_map']['on'](_0x3fe3e4[_0x12691e(0x1d3)][_0x12691e(0x19e)],this['_onMouseMoveEvent'],this);}},{'key':_0x2c641b(0x178),'value':function(){var _0x2edb0c=_0x2c641b;window[_0x2edb0c(0x191)](_0x2edb0c(0x161),this[_0x2edb0c(0x161)]),this[_0x2edb0c(0x1f3)][_0x2edb0c(0x173)](_0x3fe3e4[_0x2edb0c(0x1d3)][_0x2edb0c(0x1a3)],this[_0x2edb0c(0x11c)],this),this[_0x2edb0c(0x1f3)][_0x2edb0c(0x173)](_0x3fe3e4[_0x2edb0c(0x1d3)][_0x2edb0c(0x1c3)],this[_0x2edb0c(0x15a)],this),this[_0x2edb0c(0x1f3)][_0x2edb0c(0x173)](_0x3fe3e4['EventType']['mouseDown'],this[_0x2edb0c(0x107)],this),this['_map']['off'](_0x3fe3e4[_0x2edb0c(0x1d3)][_0x2edb0c(0x206)],this['_onMouseUpEvent'],this),this[_0x2edb0c(0x1f3)]['off'](_0x3fe3e4[_0x2edb0c(0x1d3)][_0x2edb0c(0x19e)],this[_0x2edb0c(0x231)],this),this[_0x2edb0c(0x170)][_0x2edb0c(0x140)](),this['_map']['scene'][_0x2edb0c(0x170)][_0x2edb0c(0x1e2)](this[_0x2edb0c(0x170)]);}},{'key':'resize','value':function(){var _0x3394c8=_0x2c641b;this[_0x3394c8(0x1b3)]&&this['particleSystem']&&(this[_0x3394c8(0x170)][_0x3394c8(0x1b3)]=!0x1,this[_0x3394c8(0x170)][_0x3394c8(0x140)](),this['_map']['once'](_0x3fe3e4['EventType'][_0x3394c8(0x1a3)],this[_0x3394c8(0x11c)],this));}},{'key':'_onMap_preRenderEvent','value':function(_0x380155){var _0x254e58=_0x2c641b;this[_0x254e58(0x1e3)][_0x254e58(0x121)](this[_0x254e58(0x120)]['context']),this[_0x254e58(0x1d7)](),this[_0x254e58(0x170)][_0x254e58(0x1b3)]=!0x0;}},{'key':_0x2c641b(0x15a),'value':function(_0x268867){var _0xb04156=_0x2c641b,_0x52372f=this;clearTimeout(this[_0xb04156(0x1a6)]),this[_0xb04156(0x1b3)]&&this[_0xb04156(0x1e3)]&&(this[_0xb04156(0x170)][_0xb04156(0x1b3)]=!0x1,this[_0xb04156(0x1a6)]=setTimeout(function(){var _0x5cc03f=_0xb04156;_0x52372f[_0x5cc03f(0x1b3)]&&_0x52372f[_0x5cc03f(0xf7)]();},0xc8));}},{'key':_0x2c641b(0x107),'value':function(_0x3752c4){var _0x1e87f1=_0x2c641b;this[_0x1e87f1(0x21d)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x15f740){var _0x36ae79=_0x2c641b;this[_0x36ae79(0x1b3)]&&this[_0x36ae79(0x1e3)]&&this[_0x36ae79(0x21d)]&&(this[_0x36ae79(0x170)][_0x36ae79(0x1b3)]=!0x1,this[_0x36ae79(0x234)]=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x192a2d){var _0x1fe68f=_0x2c641b;this[_0x1fe68f(0x1b3)]&&this[_0x1fe68f(0x1e3)]&&(this[_0x1fe68f(0x21d)]&&this[_0x1fe68f(0x234)]&&this[_0x1fe68f(0xf7)](),this['primitives']['show']=!0x0,this[_0x1fe68f(0x21d)]=!0x1,this[_0x1fe68f(0x234)]=!0x1);}},{'key':'redraw','value':function(){var _0x254566=_0x2c641b;this['_map']&&this['show']&&(this[_0x254566(0x117)](),this[_0x254566(0x1e3)][_0x254566(0x223)](this[_0x254566(0x1ad)]),this[_0x254566(0x170)][_0x254566(0x1b3)]=!0x0);}},{'key':_0x2c641b(0x1b6),'value':function(_0x1556b8){var _0xa865ce=_0x2c641b;this['particleSystem']=new _0x3239b9(this[_0xa865ce(0x120)][_0xa865ce(0x149)],_0x1556b8,this[_0xa865ce(0x1a0)](),this[_0xa865ce(0x1ad)]),this[_0xa865ce(0x1d7)]();}},{'key':_0x2c641b(0x22f),'value':function(_0x543a6f){var _0x37933b=_0x2c641b;if(_0x543a6f){for(var _0x3e51fb in _0x543a6f)this[_0x3e51fb]=_0x543a6f[_0x3e51fb];}return this['particleSystem']&&this['particleSystem'][_0x37933b(0x240)](this[_0x37933b(0x1a0)]()),this;}},{'key':_0x2c641b(0x1a0),'value':function(){var _0x4a8f3e=_0x2c641b,_0x32f23a=Math['ceil'](Math[_0x4a8f3e(0x1c6)](this[_0x4a8f3e(0x1ea)]));return this[_0x4a8f3e(0x1ea)]=_0x32f23a*_0x32f23a,{'particlesTextureSize':_0x32f23a,'maxParticles':this[_0x4a8f3e(0x1ea)],'particleHeight':this['particleHeight'],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x4a8f3e(0xf1)],'dropRateBump':this['dropRateBump'],'speedFactor':this['speedFactor'],'lineWidth':this[_0x4a8f3e(0x220)],'globeLayer':this['globeLayer'],'WMS_URL':this[_0x4a8f3e(0x1b1)]};}},{'key':'addPrimitives','value':function(){var _0x25a4bd=_0x2c641b;this[_0x25a4bd(0x170)][_0x25a4bd(0x211)](this['particleSystem'][_0x25a4bd(0x14b)][_0x25a4bd(0x170)][_0x25a4bd(0x15f)]),this[_0x25a4bd(0x170)]['add'](this[_0x25a4bd(0x1e3)]['particlesComputing'][_0x25a4bd(0x170)][_0x25a4bd(0x20f)]),this['primitives'][_0x25a4bd(0x211)](this[_0x25a4bd(0x1e3)]['particlesComputing']['primitives']['updatePosition']),this[_0x25a4bd(0x170)][_0x25a4bd(0x211)](this[_0x25a4bd(0x1e3)][_0x25a4bd(0x14b)][_0x25a4bd(0x170)][_0x25a4bd(0x1ee)]),this['primitives'][_0x25a4bd(0x211)](this['particleSystem']['particlesComputing'][_0x25a4bd(0x170)][_0x25a4bd(0x108)]),this['primitives'][_0x25a4bd(0x211)](this[_0x25a4bd(0x1e3)][_0x25a4bd(0x12a)][_0x25a4bd(0x170)]['segments']),this['primitives']['add'](this['particleSystem'][_0x25a4bd(0x12a)][_0x25a4bd(0x170)][_0x25a4bd(0x103)]),this[_0x25a4bd(0x170)][_0x25a4bd(0x211)](this[_0x25a4bd(0x1e3)][_0x25a4bd(0x12a)][_0x25a4bd(0x170)][_0x25a4bd(0x19d)]);}},{'key':_0x2c641b(0x117),'value':function(){var _0x4b7575=_0x2c641b,_0x79e067=this['camera'][_0x4b7575(0x1ae)](this['scene'][_0x4b7575(0x17e)][_0x4b7575(0x1c5)]);if(!_0x79e067){var _0x2b9b21=this['_map'][_0x4b7575(0x23c)]();_0x79e067=_0xf992b7['Rectangle'][_0x4b7575(0x189)](_0x2b9b21[_0x4b7575(0x1d6)],_0x2b9b21['ymin'],_0x2b9b21[_0x4b7575(0xf0)],_0x2b9b21[_0x4b7575(0x1c9)]);}var _0x46985a=_0x11fbaf[_0x4b7575(0xd8)](_0x79e067);this[_0x4b7575(0x1ad)]['lonRange']['x']=_0x46985a['lon'][_0x4b7575(0x129)],this[_0x4b7575(0x1ad)][_0x4b7575(0x227)]['y']=_0x46985a[_0x4b7575(0x1d4)][_0x4b7575(0x13b)],this[_0x4b7575(0x1ad)]['latRange']['x']=_0x46985a[_0x4b7575(0x214)]['min'],this[_0x4b7575(0x1ad)][_0x4b7575(0x1cd)]['y']=_0x46985a['lat']['max'];var _0xf2b90=this[_0x4b7575(0x188)][_0x4b7575(0x18d)](this[_0x4b7575(0xec)],this[_0x4b7575(0x120)][_0x4b7575(0x183)],this[_0x4b7575(0x120)][_0x4b7575(0x14f)]);_0xf2b90>0x0&&(this[_0x4b7575(0x1ad)]['pixelSize']=_0xf2b90);}}]),_0x4bb377;}(_0x2bd0be);_0x3fe3e4[_0x22a97a(0xdf)][_0x22a97a(0x10d)](_0x22a97a(0x209),_0x39eda1),_0x3fe3e4['layer']['WindLayer']=_0x39eda1;var _0x14820a=function _0x183fb2(){var _0x5e340e=_0x22a97a;_0x476993()(this,_0x183fb2),this['lng']=null,this[_0x5e340e(0x214)]=null,this[_0x5e340e(0x112)]=null,this[_0x5e340e(0x132)]=null,this[_0x5e340e(0x1ab)]=null;},_0x2ead20=function(){var _0x287b25=_0x22a97a;function _0x46cfc7(_0x22a51e,_0x585fca){var _0x543255=a0_0xfea6;_0x476993()(this,_0x46cfc7),this[_0x543255(0x215)]=_0x22a51e['rows'],this['cols']=_0x22a51e['cols'],this[_0x543255(0x1d6)]=_0x22a51e['xmin'],this[_0x543255(0xf0)]=_0x22a51e['xmax'],this[_0x543255(0x1b2)]=_0x22a51e['ymin'],this['ymax']=_0x22a51e[_0x543255(0x1c9)],this['grid']=[];var _0x665803=_0x22a51e[_0x543255(0x19b)],_0x72894e=_0x22a51e['vdata'],_0x329ebf=!0x1;_0x665803[_0x543255(0x134)]===this[_0x543255(0x215)]&&_0x665803[0x0][_0x543255(0x134)]===this[_0x543255(0x141)]&&(_0x329ebf=!0x0);for(var _0x1a2c9a=0x0,_0x4153d9=null,_0x389122=null,_0x229c99=0x0;_0x229c99<this[_0x543255(0x215)];_0x229c99++){_0x4153d9=[];for(var _0x31b133=0x0;_0x31b133<this[_0x543255(0x141)];_0x31b133++,_0x1a2c9a++)_0x389122=_0x329ebf?this['_calcUV'](_0x665803[_0x229c99][_0x31b133],_0x72894e[_0x229c99][_0x31b133]):this[_0x543255(0x228)](_0x665803[_0x1a2c9a],_0x72894e[_0x1a2c9a]),_0x4153d9[_0x543255(0x14a)](_0x389122);this[_0x543255(0xd9)][_0x543255(0x14a)](_0x4153d9);}_0x585fca&&this['grid']['reverse']();}return _0x2c4ac8()(_0x46cfc7,[{'key':_0x287b25(0x1ec),'value':function(_0xcd7ce7,_0x30b281){var _0x2b2011=_0x287b25;return{'x':(_0xcd7ce7-this['xmin'])/(this['xmax']-this[_0x2b2011(0x1d6)])*(this[_0x2b2011(0x141)]-0x1),'y':(this[_0x2b2011(0x1c9)]-_0x30b281)/(this[_0x2b2011(0x1c9)]-this[_0x2b2011(0x1b2)])*(this['rows']-0x1)};}},{'key':'getUVByXY','value':function(_0x2328fa,_0x1451a0){var _0x3b41ee=_0x287b25;if(_0x2328fa<0x0||_0x2328fa>=this[_0x3b41ee(0x141)]||_0x1451a0>=this[_0x3b41ee(0x215)])return[0x0,0x0,0x0];var _0x1ce142,_0xdae5da,_0x53e406=Math[_0x3b41ee(0x221)](_0x2328fa),_0x54234d=Math[_0x3b41ee(0x221)](_0x1451a0);if(_0x53e406===_0x2328fa&&_0x54234d===_0x1451a0)return this[_0x3b41ee(0xd9)][_0x1451a0][_0x2328fa];_0x1ce142=_0x53e406+0x1,_0xdae5da=_0x54234d+0x1;var _0x2a999f=this['getUVByXY'](_0x53e406,_0x54234d),_0x3278e0=this[_0x3b41ee(0x182)](_0x1ce142,_0x54234d),_0x1c8d07=this[_0x3b41ee(0x182)](_0x53e406,_0xdae5da),_0x467732=this[_0x3b41ee(0x182)](_0x1ce142,_0xdae5da),_0x3a3660=null;try{_0x3a3660=this[_0x3b41ee(0x243)](_0x2328fa-_0x53e406,_0x1451a0-_0x54234d,_0x2a999f,_0x3278e0,_0x1c8d07,_0x467732);}catch(_0x260863){console[_0x3b41ee(0x1af)](_0x2328fa,_0x1451a0);}return _0x3a3660;}},{'key':_0x287b25(0x243),'value':function(_0x282b73,_0x511879,_0x40d486,_0x4ed378,_0x274554,_0x511ade){var _0x32a748=_0x287b25,_0x17ee46=0x1-_0x282b73,_0x29c776=0x1-_0x511879,_0x482480=_0x17ee46*_0x29c776,_0x24559f=_0x282b73*_0x29c776,_0x31ca74=_0x17ee46*_0x511879,_0x288483=_0x282b73*_0x511879,_0x5735f1=_0x40d486[0x0]*_0x482480+_0x4ed378[0x0]*_0x24559f+_0x274554[0x0]*_0x31ca74+_0x511ade[0x0]*_0x288483,_0xbf01f8=_0x40d486[0x1]*_0x482480+_0x4ed378[0x1]*_0x24559f+_0x274554[0x1]*_0x31ca74+_0x511ade[0x1]*_0x288483;return this[_0x32a748(0x228)](_0x5735f1,_0xbf01f8);}},{'key':_0x287b25(0x228),'value':function(_0x4bdc89,_0x5e8529){var _0x4667bf=_0x287b25;return[+_0x4bdc89,+_0x5e8529,Math[_0x4667bf(0x1c6)](_0x4bdc89*_0x4bdc89+_0x5e8529*_0x5e8529)];}},{'key':_0x287b25(0x187),'value':function(_0x28286c,_0x45900b){var _0x4f4923=_0x287b25;if(!this[_0x4f4923(0x13a)](_0x28286c,_0x45900b))return null;var _0x2b9142=this[_0x4f4923(0x1ec)](_0x28286c,_0x45900b);return this['getUVByXY'](_0x2b9142['x'],_0x2b9142['y']);}},{'key':'isInExtent','value':function(_0x498b27,_0x51e6f7){var _0x38ac16=_0x287b25;return _0x498b27>=this['xmin']&&_0x498b27<=this[_0x38ac16(0xf0)]&&_0x51e6f7>=this[_0x38ac16(0x1b2)]&&_0x51e6f7<=this['ymax'];}},{'key':'getRandomLatLng','value':function(){var _0x658fd=_0x287b25,_0x3f4222=_0x5dc42d(this[_0x658fd(0x1d6)],this[_0x658fd(0xf0)]);return{'lat':_0x5dc42d(this[_0x658fd(0x1b2)],this[_0x658fd(0x1c9)]),'lng':_0x3f4222};}}]),_0x46cfc7;}();function _0x5dc42d(_0x20cba0,_0x103cdc){return _0x20cba0+Math['random']()*(_0x103cdc-_0x20cba0);}function _0x13b475(_0x3a13f1){var _0x3de1b3=function(){var _0x39f1b5=a0_0xfea6;if(_0x39f1b5(0x22d)==typeof Reflect||!Reflect[_0x39f1b5(0x1e1)])return!0x1;if(Reflect[_0x39f1b5(0x1e1)][_0x39f1b5(0x110)])return!0x1;if(_0x39f1b5(0x138)==typeof Proxy)return!0x0;try{return Boolean[_0x39f1b5(0x155)]['valueOf'][_0x39f1b5(0x1ed)](Reflect[_0x39f1b5(0x1e1)](Boolean,[],function(){})),!0x0;}catch(_0x5410fb){return!0x1;}}();return function(){var _0x127277=a0_0xfea6,_0x464cb5,_0x56b32f=_0x5894ae()(_0x3a13f1);if(_0x3de1b3){var _0x63ec12=_0x5894ae()(this)[_0x127277(0x169)];_0x464cb5=Reflect['construct'](_0x56b32f,arguments,_0x63ec12);}else _0x464cb5=_0x56b32f[_0x127277(0x17f)](this,arguments);return _0x45128a()(this,_0x464cb5);};}var _0x28bda3=function(_0x4ec314){var _0x109e38=_0x22a97a;_0xb6b8a8()(_0x49d274,_0x4ec314);var _0x25ce17=_0x13b475(_0x49d274);function _0x49d274(){var _0x5d32b9=a0_0xfea6,_0x2e06ac,_0x282152=arguments[_0x5d32b9(0x134)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x476993()(this,_0x49d274),(_0x2e06ac=_0x25ce17[_0x5d32b9(0x1ed)](this,_0x282152))[_0x5d32b9(0x175)]=[0x0,0x0],_0x2e06ac[_0x5d32b9(0x19f)]=[],_0x2e06ac[_0x5d32b9(0x16b)]=_0x282152[_0x5d32b9(0x16b)]||0x32,_0x2e06ac[_0x5d32b9(0x1d1)]=_0x282152['particlesNumber']||0x4e20,_0x2e06ac[_0x5d32b9(0x125)]=_0x282152[_0x5d32b9(0xe2)]||0x78,_0x2e06ac[_0x5d32b9(0x230)]=0x3e8/(_0x282152[_0x5d32b9(0x213)]||0xa),_0x2e06ac[_0x5d32b9(0x1cf)]=_0xf992b7[_0x5d32b9(0x135)](_0x2e06ac['options']['pointerEvents'],!0x1),_0x2e06ac[_0x5d32b9(0x1fa)]=_0x282152[_0x5d32b9(0x1fa)]||'#ffffff',_0x2e06ac[_0x5d32b9(0x220)]=_0x282152[_0x5d32b9(0x220)]||0x1,_0x2e06ac[_0x5d32b9(0x11f)]=_0xf992b7['defaultValue'](_0x282152[_0x5d32b9(0x11f)],0x0),_0x2e06ac['reverseY']=_0xf992b7[_0x5d32b9(0x135)](_0x282152[_0x5d32b9(0x224)],!0x1),_0x2e06ac['canvas']=null,_0x2e06ac;}return _0x2c4ac8()(_0x49d274,[{'key':_0x109e38(0xe7),'get':function(){var _0x1a77e1=_0x109e38;return this[_0x1a77e1(0x1bb)];}},{'key':_0x109e38(0x166),'get':function(){var _0x33a727=_0x109e38;return this[_0x33a727(0x1f3)][_0x33a727(0x120)][_0x33a727(0x1bb)][_0x33a727(0x17a)];}},{'key':_0x109e38(0x151),'get':function(){var _0x419561=_0x109e38;return this['_map'][_0x419561(0x120)]['canvas'][_0x419561(0x1f2)];}},{'key':_0x109e38(0x14d),'get':function(){var _0x3f8bc4=_0x109e38;return this[_0x3f8bc4(0x1cf)];},'set':function(_0xcb9ffb){var _0x47d07=_0x109e38;this[_0x47d07(0x1cf)]=_0xcb9ffb,this[_0x47d07(0x1bb)]&&(this[_0x47d07(0x1bb)][_0x47d07(0x1b4)][_0x47d07(0x203)]=_0xcb9ffb?_0x47d07(0x19a):_0x47d07(0x197));}},{'key':_0x109e38(0x16b),'get':function(){var _0x225338=_0x109e38;return this[_0x225338(0xfa)];},'set':function(_0x32c317){var _0x53453a=_0x109e38;this[_0x53453a(0xfa)]=0x64*(0x64-(_0x32c317>0x63?0x63:_0x32c317)),this[_0x53453a(0x177)]();}},{'key':'particlesNumber','get':function(){var _0x3c36d1=_0x109e38;return this[_0x3c36d1(0x1d1)];},'set':function(_0x5d5cdc){var _0x25878a=_0x109e38,_0x28da3e=this;this[_0x25878a(0x1d1)]=_0x5d5cdc,clearTimeout(this[_0x25878a(0xd7)]),this['canrefresh']=setTimeout(function(){var _0x11ba3c=_0x25878a;_0x28da3e[_0x11ba3c(0xf7)]();},0x1f4);}},{'key':_0x109e38(0xe2),'get':function(){var _0x5f27a9=_0x109e38;return this[_0x5f27a9(0x125)];},'set':function(_0x4c22e9){var _0x1984f5=_0x109e38,_0x2371cb=this;this['_maxAge']=_0x4c22e9,clearTimeout(this[_0x1984f5(0xd7)]),this[_0x1984f5(0xd7)]=setTimeout(function(){_0x2371cb['redraw']();},0x1f4);}},{'key':'data','get':function(){var _0x48fc0b=_0x109e38;return this[_0x48fc0b(0x237)];},'set':function(_0x85d3fc){this['updateDate'](_0x85d3fc);}},{'key':_0x109e38(0x1f8),'value':function(_0x4ad6a2){var _0x304049=_0x109e38;_0x4ad6a2?this['_addedHook']():(this[_0x304049(0x237)]&&(this[_0x304049(0x1bd)][_0x304049(0x21b)]=this['windData']),this['_removedHook']());}},{'key':_0x109e38(0xe1),'value':function(){}},{'key':'_addedHook','value':function(){var _0x1858c1=_0x109e38;this[_0x1858c1(0x1bb)]=this[_0x1858c1(0x17d)](),this[_0x1858c1(0x150)]=this['canvas'][_0x1858c1(0x241)]('2d'),this[_0x1858c1(0x1fd)](),this[_0x1858c1(0x1bd)]['data']&&this['updateDate'](this[_0x1858c1(0x1bd)][_0x1858c1(0x21b)]);}},{'key':_0x109e38(0x178),'value':function(){var _0xb59495=_0x109e38;this[_0xb59495(0x16d)](),this[_0xb59495(0x1f4)](),this[_0xb59495(0x1bb)]&&(this['_map']['container']['removeChild'](this['canvas']),delete this[_0xb59495(0x1bb)]);}},{'key':_0x109e38(0x17d),'value':function(){var _0x305ec8=_0x109e38,_0x350dbe=document['createElement'](_0x305ec8(0x1bb));_0x350dbe[_0x305ec8(0x1b4)][_0x305ec8(0x13e)]='absolute',_0x350dbe[_0x305ec8(0x1b4)][_0x305ec8(0xfb)]='0px',_0x350dbe['style'][_0x305ec8(0x1a1)]=_0x305ec8(0x165),_0x350dbe['style'][_0x305ec8(0x193)]=_0x305ec8(0x1ff),_0x350dbe[_0x305ec8(0x1b4)]['height']=_0x305ec8(0x1ff),_0x350dbe[_0x305ec8(0x1b4)][_0x305ec8(0x14d)]=this[_0x305ec8(0x1cf)]?_0x305ec8(0x143):_0x305ec8(0x197),_0x350dbe['style'][_0x305ec8(0x1df)]=0xa,_0x350dbe['setAttribute']('id',_0x305ec8(0xeb)),_0x350dbe['setAttribute']('class',_0x305ec8(0xeb)),this[_0x305ec8(0x1f3)][_0x305ec8(0x22e)][_0x305ec8(0x146)](_0x350dbe);var _0x372dc8=this['_map'][_0x305ec8(0x120)];return _0x350dbe[_0x305ec8(0x193)]=_0x372dc8[_0x305ec8(0x1bb)][_0x305ec8(0x17a)],_0x350dbe[_0x305ec8(0x1d5)]=_0x372dc8[_0x305ec8(0x1bb)]['clientHeight'],_0x350dbe;}},{'key':'resize','value':function(){var _0x60eab4=_0x109e38;this[_0x60eab4(0x1bb)]&&(this['canvas'][_0x60eab4(0x193)]=this[_0x60eab4(0x166)],this[_0x60eab4(0x1bb)][_0x60eab4(0x1d5)]=this[_0x60eab4(0x151)]);}},{'key':'bindEvent','value':function(){var _0x31542e=_0x109e38,_0x3a0a9a=this,_0x26fecb=Date['now']();!function _0x57cd20(){var _0x5206cd=a0_0xfea6;_0x3a0a9a[_0x5206cd(0x1bf)]=window['requestAnimationFrame'](_0x57cd20);var _0x58fc07=Date[_0x5206cd(0x168)](),_0x1f4126=_0x58fc07-_0x26fecb;_0x1f4126>_0x3a0a9a[_0x5206cd(0x230)]&&(_0x26fecb=_0x58fc07-_0x1f4126%_0x3a0a9a[_0x5206cd(0x230)],_0x3a0a9a[_0x5206cd(0x1a7)]());}(),window['addEventListener'](_0x31542e(0x161),this['resize']['bind'](this),!0x1),this[_0x31542e(0x21d)]=!0x1,this[_0x31542e(0x234)]=!0x1,this['_map']['on'](_0x3fe3e4['EventType'][_0x31542e(0x1c3)],this[_0x31542e(0x15a)],this),this[_0x31542e(0x1f3)]['on'](_0x3fe3e4[_0x31542e(0x1d3)][_0x31542e(0x22a)],this['_onMouseDownEvent'],this),this[_0x31542e(0x1f3)]['on'](_0x3fe3e4[_0x31542e(0x1d3)]['mouseUp'],this[_0x31542e(0x1a9)],this),this[_0x31542e(0x1f3)]['on'](_0x3fe3e4[_0x31542e(0x1d3)][_0x31542e(0x19e)],this['_onMouseMoveEvent'],this);}},{'key':_0x109e38(0x1f4),'value':function(){var _0x1ae95d=_0x109e38;window[_0x1ae95d(0x1f6)](this['animateFrame']),delete this[_0x1ae95d(0x1bf)],window['removeEventListener']('resize',this[_0x1ae95d(0x161)]),this[_0x1ae95d(0x1f3)][_0x1ae95d(0x173)](_0x3fe3e4[_0x1ae95d(0x1d3)][_0x1ae95d(0x1c3)],this['_onMapWhellEvent'],this),this[_0x1ae95d(0x1f3)][_0x1ae95d(0x173)](_0x3fe3e4[_0x1ae95d(0x1d3)][_0x1ae95d(0x22a)],this['_onMouseDownEvent'],this),this[_0x1ae95d(0x1f3)]['off'](_0x3fe3e4['EventType'][_0x1ae95d(0x206)],this[_0x1ae95d(0x1a9)],this),this[_0x1ae95d(0x1f3)][_0x1ae95d(0x173)](_0x3fe3e4[_0x1ae95d(0x1d3)]['mouseMove'],this[_0x1ae95d(0x231)],this);}},{'key':'_onMapWhellEvent','value':function(_0xce4e0){var _0x827811=_0x109e38,_0x59f09e=this;clearTimeout(this[_0x827811(0x1a6)]),this[_0x827811(0x1b3)]&&this[_0x827811(0x1bb)]&&(this[_0x827811(0x1bb)][_0x827811(0x1b4)]['visibility']=_0x827811(0x1eb),this['refreshTimer']=setTimeout(function(){var _0x5d6cf2=_0x827811;_0x59f09e[_0x5d6cf2(0x1b3)]&&(_0x59f09e[_0x5d6cf2(0xf7)](),_0x59f09e['canvas']['style'][_0x5d6cf2(0x18c)]=_0x5d6cf2(0xe4));},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x45a8ac){var _0x5692e1=_0x109e38;this[_0x5692e1(0x21d)]=!0x0;}},{'key':_0x109e38(0x231),'value':function(_0xbd7694){var _0x3859b4=_0x109e38;this['show']&&this[_0x3859b4(0x1bb)]&&this[_0x3859b4(0x21d)]&&(this[_0x3859b4(0x1bb)][_0x3859b4(0x1b4)][_0x3859b4(0x18c)]='hidden',this[_0x3859b4(0x234)]=!0x0);}},{'key':'_onMouseUpEvent','value':function(_0x357852){var _0x3b92cd=_0x109e38;this[_0x3b92cd(0x1b3)]&&this['canvas']&&(this[_0x3b92cd(0x21d)]&&this[_0x3b92cd(0x234)]&&this[_0x3b92cd(0xf7)](),this['canvas'][_0x3b92cd(0x1b4)]['visibility']=_0x3b92cd(0xe4),this['mouse_down']=!0x1,this[_0x3b92cd(0x234)]=!0x1);}},{'key':_0x109e38(0xf7),'value':function(){var _0x2d1093=_0x109e38;this[_0x2d1093(0x1b3)]&&this[_0x2d1093(0x12b)]&&(this[_0x2d1093(0x19f)]=[],this[_0x2d1093(0xe9)]());}},{'key':_0x109e38(0x148),'value':function(_0x1d6d0f){var _0x5b8144=_0x109e38;this['clear'](),this[_0x5b8144(0x237)]=_0x1d6d0f,this[_0x5b8144(0x12b)]=new _0x2ead20(this[_0x5b8144(0x237)],this[_0x5b8144(0x224)]),this['drawWind']();}},{'key':_0x109e38(0xe9),'value':function(){var _0x156d72=_0x109e38;this[_0x156d72(0x177)]();for(var _0x445791=0x0;_0x445791<this[_0x156d72(0x1ba)];_0x445791++){var _0x273967=this['randomParticle'](new _0x14820a());this[_0x156d72(0x19f)][_0x156d72(0x14a)](_0x273967);}this[_0x156d72(0x150)][_0x156d72(0x127)]=_0x156d72(0xf5),this[_0x156d72(0x150)][_0x156d72(0x145)]=0.6,this[_0x156d72(0x1a7)]();}},{'key':'_calcStep','value':function(){var _0x4a411b=_0x109e38;this[_0x4a411b(0x12b)]&&(this[_0x4a411b(0x175)]=[(this[_0x4a411b(0x12b)][_0x4a411b(0xf0)]-this[_0x4a411b(0x12b)][_0x4a411b(0x1d6)])/this[_0x4a411b(0x16b)],(this[_0x4a411b(0x12b)][_0x4a411b(0x1c9)]-this[_0x4a411b(0x12b)][_0x4a411b(0x1b2)])/this[_0x4a411b(0x16b)]]);}},{'key':'update','value':function(){var _0x5325db=_0x109e38,_0x5798ed=this;if(this[_0x5325db(0x1b3)]&&!(this['particles'][_0x5325db(0x134)]<=0x0)){var _0x4e824b=null,_0x47698a=null,_0x2c6448=null;this[_0x5325db(0x19f)][_0x5325db(0x126)](function(_0x4bf969){var _0x4cfe40=_0x5325db;if(_0x4bf969[_0x4cfe40(0x1ab)]<=0x0&&_0x5798ed[_0x4cfe40(0x10a)](_0x4bf969),_0x4bf969[_0x4cfe40(0x1ab)]>0x0){var _0x3ed4ef=_0x4bf969[_0x4cfe40(0x112)],_0x44f730=_0x4bf969[_0x4cfe40(0x132)];(_0x2c6448=_0x5798ed[_0x4cfe40(0x12b)][_0x4cfe40(0x187)](_0x3ed4ef,_0x44f730))?(_0x4e824b=_0x3ed4ef+_0x5798ed[_0x4cfe40(0x175)][0x0]*_0x2c6448[0x0],_0x47698a=_0x44f730+_0x5798ed[_0x4cfe40(0x175)][0x1]*_0x2c6448[0x1],_0x4bf969[_0x4cfe40(0x212)]=_0x3ed4ef,_0x4bf969['lat']=_0x44f730,_0x4bf969['tlng']=_0x4e824b,_0x4bf969[_0x4cfe40(0x132)]=_0x47698a,_0x4bf969[_0x4cfe40(0x1ab)]--):_0x4bf969[_0x4cfe40(0x1ab)]=0x0;}}),this[_0x5325db(0x1be)]();}}},{'key':_0x109e38(0x219),'value':function(_0x2a8b09,_0x39f132,_0x259b71){var _0x35153d=_0x109e38,_0x2f3304=_0xf992b7['Cartesian3'][_0x35153d(0x189)](_0x2a8b09,_0x39f132,this[_0x35153d(0x11f)]),_0x424d2c=this['_map'][_0x35153d(0x120)];if(_0x424d2c[_0x35153d(0x235)]===_0xf992b7['SceneMode'][_0x35153d(0x20b)]&&!new _0xf992b7[(_0x35153d(0x12e))](_0x424d2c[_0x35153d(0x17e)]['ellipsoid'],_0x424d2c['camera'][_0x35153d(0x13f)])[_0x35153d(0x1a8)](_0x2f3304))return _0x259b71['age']=0x0,null;var _0x1ce796=_0xf992b7[_0x35153d(0x1ac)][_0x35153d(0x163)](this[_0x35153d(0x1f3)][_0x35153d(0x120)],_0x2f3304);return _0x1ce796?[_0x1ce796['x'],_0x1ce796['y']]:null;}},{'key':_0x109e38(0x1be),'value':function(){var _0x5dadcb=_0x109e38,_0x56bd9f=this,_0x3c4a49=this[_0x5dadcb(0x19f)];this[_0x5dadcb(0x150)][_0x5dadcb(0x220)]=_0x56bd9f[_0x5dadcb(0x220)],this[_0x5dadcb(0x150)]['globalCompositeOperation']='destination-in',this[_0x5dadcb(0x150)][_0x5dadcb(0x10b)](0x0,0x0,this[_0x5dadcb(0x166)],this[_0x5dadcb(0x151)]),this[_0x5dadcb(0x150)][_0x5dadcb(0x15e)]=_0x5dadcb(0x20e),this['canvasContext'][_0x5dadcb(0x145)]=0.9,this[_0x5dadcb(0x150)]['beginPath'](),this['canvasContext']['strokeStyle']=this['color'];var _0x4f90ee=this[_0x5dadcb(0x1f3)]['scene']['mode']!==_0xf992b7['SceneMode'][_0x5dadcb(0x20b)];_0x3c4a49[_0x5dadcb(0x126)](function(_0x3dccdc){var _0x2926d0=_0x5dadcb,_0x2fb9d7=_0x56bd9f['_tomap'](_0x3dccdc[_0x2926d0(0x212)],_0x3dccdc[_0x2926d0(0x214)],_0x3dccdc),_0x557aa4=_0x56bd9f[_0x2926d0(0x219)](_0x3dccdc['tlng'],_0x3dccdc[_0x2926d0(0x132)],_0x3dccdc);if(null!=_0x2fb9d7&&null!=_0x557aa4){var _0xba85b2=Math[_0x2926d0(0x217)](_0x2fb9d7[0x0]-_0x557aa4[0x0]);_0x4f90ee&&_0xba85b2>=_0x56bd9f['canvasWidth']||(_0x56bd9f[_0x2926d0(0x150)][_0x2926d0(0x201)](_0x2fb9d7[0x0],_0x2fb9d7[0x1]),_0x56bd9f[_0x2926d0(0x150)][_0x2926d0(0x119)](_0x557aa4[0x0],_0x557aa4[0x1]));}}),this[_0x5dadcb(0x150)][_0x5dadcb(0xed)]();}},{'key':_0x109e38(0x10a),'value':function(_0x14357e){var _0x442dd5=_0x109e38;for(var _0x2dfa94,_0x237597,_0x322c78=0x0;_0x322c78<0x1e&&(_0x2dfa94=this['windField'][_0x442dd5(0x14e)](),!((_0x237597=this['windField']['getUVByPoint'](_0x2dfa94[_0x442dd5(0x212)],_0x2dfa94[_0x442dd5(0x214)]))&&_0x237597[0x2]>0x0));_0x322c78++);if(!_0x237597)return _0x14357e;var _0x402f16=_0x2dfa94[_0x442dd5(0x212)]+this[_0x442dd5(0x175)][0x0]*_0x237597[0x0],_0x92be1b=_0x2dfa94[_0x442dd5(0x214)]+this[_0x442dd5(0x175)][0x1]*_0x237597[0x1];return _0x14357e[_0x442dd5(0x212)]=_0x2dfa94[_0x442dd5(0x212)],_0x14357e[_0x442dd5(0x214)]=_0x2dfa94['lat'],_0x14357e['tlng']=_0x402f16,_0x14357e[_0x442dd5(0x132)]=_0x92be1b,_0x14357e[_0x442dd5(0x1ab)]=Math['round'](Math['random']()*this[_0x442dd5(0xe2)]),_0x14357e;}},{'key':'clear','value':function(){var _0x270f38=_0x109e38;this[_0x270f38(0x19f)]=[],delete this[_0x270f38(0x12b)],delete this['windData'];}}]),_0x49d274;}(_0x3fe3e4['layer'][_0x22a97a(0x218)]);function _0x2cf656(_0x949f37,_0x4979ad){var _0x34e6b3=_0x22a97a;return _0x949f37*Math[_0x34e6b3(0x111)](_0xf992b7[_0x34e6b3(0x238)][_0x34e6b3(0xd6)](_0x4979ad));}function _0x37f50e(_0x1e2c22,_0x2639e5){var _0x2ee649=_0x22a97a;return _0x1e2c22*Math['sin'](_0xf992b7['Math'][_0x2ee649(0xd6)](_0x2639e5));}function _0x4427ad(_0x3672e3,_0xd2b92){var _0x27304e=_0x22a97a;return Math[_0x27304e(0x1c6)](Math[_0x27304e(0x16a)](_0x3672e3,0x2)+Math[_0x27304e(0x16a)](_0xd2b92,0x2));}function _0x1fbdd4(_0x57dc04,_0x4cfa74){var _0x42d144=_0x22a97a,_0x5751a1=_0xf992b7['Math'][_0x42d144(0x118)](Math[_0x42d144(0x202)](_0x4cfa74,_0x57dc04));return _0x5751a1+=_0x5751a1<0x0?0x168:0x0;}_0x3fe3e4[_0x22a97a(0xdf)][_0x22a97a(0x10d)]('canvasWind',_0x28bda3),_0x3fe3e4['layer'][_0x22a97a(0x1dc)]=_0x28bda3,_0x3fe3e4[_0x22a97a(0xfc)]=_0x1f8f83;}]);}));