mars3d-wind 3.1.10 → 3.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mars3d-wind.js +3 -3
- package/package.json +3 -3
package/dist/mars3d-wind.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Mars3D平台插件,支持气象 风向图 功能插件
|
|
3
|
-
* 版本信息:v3.1.
|
|
4
|
-
* 编译日期:2021-
|
|
3
|
+
* 版本信息:v3.1.14
|
|
4
|
+
* 编译日期:2021-11-29 09:36:41
|
|
5
5
|
* 版权所有:Copyright by 火星科技 http://mars3d.cn
|
|
6
6
|
*/
|
|
7
7
|
(function webpackUniversalModuleDefinition(window) {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
var a0_0x427274=a0_0x4a13;function a0_0x4e3c(){var _0xc548c5=['mouse_down','currentParticlesSpeed','getPixelSize','globe','symbol','maxAge','calc_speedRate','preExecute','fadeOpacity','iterator','ClearCommand','destination-in','fragmentShaderSource','RenderState','5BMCaTE','grid','depthMask','animateFrame','LayerUtil','toRadians','particlesNumber','DEPTH_COMPONENT','PrimitiveType','drawingBufferHeight','drawWind','viewRectangleToLonLatRange','getUVByXY','Rectangle','xmin','east','getPrototypeOf','auto','_onMouseDownEvent','segments','log','ShaderSource','call','random','createFramebuffer','context','globeBoundingSphere','100%','_calcUV','height','globalCompositeOperation','blending','_drawLines','Sampler','createSegmentsGeometry','setPrototypeOf','viewport','abs','vdata','randomParticle','apply','latRange','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}','Cartesian2','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','vertexArray','_showHook','updatePosition','style','pixelSize','min','__esModule','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}','addEventListener','fromDegrees','segmentsColor','uniformMap','Framebuffer','destroyObject','mouseMove','Math','bind','canvasContext','globalAlpha','DISABLE_GL_POSITION_LOG_DEPTH','CanvasWindLayer','SceneTransforms','wheel','mouseDown','setAttribute','windData','canrefresh','isInExtent','speedFactor','__proto__','layer','_calcStep','canvasWidth','defaultValue','refreshTimer','wind','BaseLayer','currentTrailsDepth','BufferUsage','clientWidth','NEAREST','commandList','sin','stroke','width','ellipsoid','attributeLocations','ComponentDatatype','prototype','clampToLatitudeRange','Compute','geometry','undefined','autoClear','mod','WindLayer','UNSIGNED_INT','fromCache','randomizeParticles','key','defined','speedRate','toStringTag','canvasResize','Cesium','ComputeCommand','lat','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}','dimensions','VertexArray','22077387zxJvmX','isPointVisible','48aALcrb','RGBA','createRenderingTextures','push','createTexture','particlesComputing','pow','color','addPrimitives','getUserInput','particlesTextureSize','WMS_URL','clear','_onMap_preRenderEvent','fixedHeight','canvasHeight','tlng','_bilinearInterpolation','exports','destroy','getUVByPoint','lon','value','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','4034712hAdzHG','tlat','scene','Draw','maxParticles','lighter','_onMouseUpEvent','particles','lev','SceneMode','_onMapWhellEvent','STATIC_DRAW','reverseY','Appearance','canvas','shaderProgram','update','nextTrailsDepth','currentTrails','container','_tomap','fromGeometry','nextParticlesSpeed','function','lng','createElement','colorTable','fillStyle','particleHeight','none','nextTrailsColor','screen','resize','EventType','visible','getV','framebuffers','createParticlesTextures','udata','PixelDatatype','getWind','vertexShaderSource','getDefaultRenderState','strokeStyle','particleSystem','LINEAR','once','object','234126QiguKl','forEach','getFullscreenQuad','register','primitives','rows','582161gUozEL','unbindEvent','outputTexture','1786196qHjJqQ','canvasWind','position','_onMouseMoveEvent','nextTrails','getDirection','mode','north','requestAnimationFrame','PI_OVER_TWO','framebuffer','GeometryAttribute','createComputingPrimitives','createRawRenderState','sham','_createCanvas','applyUserInput','userInput','visibility','getSpeed','RGB','add','canvasWindy','556262BBDOsH','_removedHook','hasOwnProperty','defineProperty','string','removeAll','rawRenderState','writable','UNSIGNED_BYTE','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}','windField','hidden','randomBetween','computeViewRectangle','pointer-events','Module','segmentsDepth','length','WindUtil','getContext','reverse','updateSpeed','OPAQUE','postProcessingPosition','fill','clearFramebuffers','toDegrees','dropRate','moveTo','options','ymax','updateViewerParameters','particlesWind','_maxAge','Matrix4','constructor','FLOAT','particlesRendering','absolute','currentParticlesPosition','TWO_PI','xmax','atan2','off','age','floor','getU','updateDate','TextureMinificationFilter','Pass','commandToExecute','GeometryAttributes','valueOf','3013164SUIrJC','_addedHook','Cartesian3','Geometry','setOptions','removeEventListener','DrawCommand','construct','mars3dWind','ShaderProgram','SCENE3D','ymin','PI_OVER_THREE','_pointerEvents','PixelFormat','windTextures','getRandomLatLng','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}','colorNum','array','globeLayer','Texture','viewerParameters','postProcessingSpeed','dropRateBump','mouseUp','zIndex','lonRange','frameTime','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','configurable','remove','trails','beginPath','cols','_mountedHook','sqrt','primitiveType','destroyParticlesTextures','textures','drawingBufferWidth','now','getColorTexture','default','createRenderingFramebuffers','pointerEvents','camera','mars3d','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','lineWidth','commandType','TRIANGLES','preRender','data','applyViewerParameters','execute','_particlesNumber','rgba(0,\x200,\x200,\x200.97)','nextParticlesPosition','refreshParticles','mouse_move','getExtent','max','keys','particlesTextures','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}','createWindTextures','clientHeight','redraw','left','removeChild','clearCommand','createCommand','show','_map','EllipsoidalOccluder'];a0_0x4e3c=function(){return _0xc548c5;};return a0_0x4e3c();}function a0_0x4a13(_0x281fe8,_0x4fb4b2){var _0x4e3c7d=a0_0x4e3c();return a0_0x4a13=function(_0x4a1395,_0x420c81){_0x4a1395=_0x4a1395-0x192;var _0x3729cb=_0x4e3c7d[_0x4a1395];return _0x3729cb;},a0_0x4a13(_0x281fe8,_0x4fb4b2);}(function(_0x49aa07,_0x45ab9e){var _0x96bb72=a0_0x4a13,_0x590d10=_0x49aa07();while(!![]){try{var _0x4a7504=parseInt(_0x96bb72(0x2d7))/0x1+parseInt(_0x96bb72(0x1ba))/0x2+parseInt(_0x96bb72(0x2a1))/0x3+-parseInt(_0x96bb72(0x2da))/0x4*(-parseInt(_0x96bb72(0x214))/0x5)+-parseInt(_0x96bb72(0x2d1))/0x6+-parseInt(_0x96bb72(0x2f1))/0x7*(parseInt(_0x96bb72(0x289))/0x8)+-parseInt(_0x96bb72(0x287))/0x9;if(_0x4a7504===_0x45ab9e)break;else _0x590d10['push'](_0x590d10['shift']());}catch(_0x5dd600){_0x590d10['push'](_0x590d10['shift']());}}}(a0_0x4e3c,0xde7e8),window[a0_0x427274(0x1c2)]=function(_0x149aa6){var _0x2cb5ab={};function _0x648ad(_0x2a492e){var _0xcc1b28=a0_0x4a13;if(_0x2cb5ab[_0x2a492e])return _0x2cb5ab[_0x2a492e][_0xcc1b28(0x29b)];var _0x15aae4=_0x2cb5ab[_0x2a492e]={'i':_0x2a492e,'l':!0x1,'exports':{}};return _0x149aa6[_0x2a492e]['call'](_0x15aae4[_0xcc1b28(0x29b)],_0x15aae4,_0x15aae4[_0xcc1b28(0x29b)],_0x648ad),_0x15aae4['l']=!0x0,_0x15aae4[_0xcc1b28(0x29b)];}return _0x648ad['m']=_0x149aa6,_0x648ad['c']=_0x2cb5ab,_0x648ad['d']=function(_0x445c41,_0x12aa20,_0x42586c){_0x648ad['o'](_0x445c41,_0x12aa20)||Object['defineProperty'](_0x445c41,_0x12aa20,{'enumerable':!0x0,'get':_0x42586c});},_0x648ad['r']=function(_0x4070c6){var _0x4c4b55=a0_0x4a13;'undefined'!=typeof Symbol&&Symbol[_0x4c4b55(0x27f)]&&Object[_0x4c4b55(0x2f4)](_0x4070c6,Symbol[_0x4c4b55(0x27f)],{'value':_0x4c4b55(0x194)}),Object[_0x4c4b55(0x2f4)](_0x4070c6,_0x4c4b55(0x247),{'value':!0x0});},_0x648ad['t']=function(_0x1832bf,_0x48f3c6){var _0x18df26=a0_0x4a13;if(0x1&_0x48f3c6&&(_0x1832bf=_0x648ad(_0x1832bf)),0x8&_0x48f3c6)return _0x1832bf;if(0x4&_0x48f3c6&&_0x18df26(0x2d0)==typeof _0x1832bf&&_0x1832bf&&_0x1832bf['__esModule'])return _0x1832bf;var _0x4df7f2=Object['create'](null);if(_0x648ad['r'](_0x4df7f2),Object['defineProperty'](_0x4df7f2,_0x18df26(0x1e5),{'enumerable':!0x0,'value':_0x1832bf}),0x2&_0x48f3c6&&_0x18df26(0x2f5)!=typeof _0x1832bf){for(var _0xb92a1f in _0x1832bf)_0x648ad['d'](_0x4df7f2,_0xb92a1f,function(_0x5ee389){return _0x1832bf[_0x5ee389];}[_0x18df26(0x251)](null,_0xb92a1f));}return _0x4df7f2;},_0x648ad['n']=function(_0x26c408){var _0x1893ac=a0_0x4a13,_0x3f7f3b=_0x26c408&&_0x26c408[_0x1893ac(0x247)]?function(){var _0xb53b96=_0x1893ac;return _0x26c408[_0xb53b96(0x1e5)];}:function(){return _0x26c408;};return _0x648ad['d'](_0x3f7f3b,'a',_0x3f7f3b),_0x3f7f3b;},_0x648ad['o']=function(_0x59e148,_0xa33355){var _0x433ca6=a0_0x4a13;return Object['prototype'][_0x433ca6(0x2f3)]['call'](_0x59e148,_0xa33355);},_0x648ad['p']='',_0x648ad(_0x648ad['s']=0x14);}([function(_0x45faab,_0x35f3a0){var _0x5ea268=a0_0x427274;_0x45faab[_0x5ea268(0x29b)]=window[_0x5ea268(0x281)];},function(_0x14a38d,_0x3357f8){var _0x583078=a0_0x427274;_0x14a38d[_0x583078(0x29b)]=window[_0x583078(0x1e9)];},function(_0x1ec94c,_0x3fb544){var _0x1f0422=a0_0x427274;_0x1ec94c['exports']=function(_0x5eb14d,_0x50ff9d){var _0x215337=a0_0x4a13;if(!(_0x5eb14d instanceof _0x50ff9d))throw new TypeError(_0x215337(0x1d7));},_0x1ec94c[_0x1f0422(0x29b)][_0x1f0422(0x1e5)]=_0x1ec94c['exports'],_0x1ec94c[_0x1f0422(0x29b)][_0x1f0422(0x247)]=!0x0;},function(_0x2a306a,_0x481b4b){var _0x5136cc=a0_0x427274;function _0x1095ab(_0x28d182,_0x503fb5){var _0x4f0da5=a0_0x4a13;for(var _0x56508c=0x0;_0x56508c<_0x503fb5['length'];_0x56508c++){var _0x65ea48=_0x503fb5[_0x56508c];_0x65ea48['enumerable']=_0x65ea48['enumerable']||!0x1,_0x65ea48[_0x4f0da5(0x1d8)]=!0x0,_0x4f0da5(0x29f)in _0x65ea48&&(_0x65ea48[_0x4f0da5(0x2f8)]=!0x0),Object[_0x4f0da5(0x2f4)](_0x28d182,_0x65ea48[_0x4f0da5(0x27c)],_0x65ea48);}}_0x2a306a[_0x5136cc(0x29b)]=function(_0x513276,_0x1d9ad6,_0x47fcbf){var _0x113e64=_0x5136cc;return _0x1d9ad6&&_0x1095ab(_0x513276[_0x113e64(0x271)],_0x1d9ad6),_0x47fcbf&&_0x1095ab(_0x513276,_0x47fcbf),_0x513276;},_0x2a306a[_0x5136cc(0x29b)][_0x5136cc(0x1e5)]=_0x2a306a[_0x5136cc(0x29b)],_0x2a306a[_0x5136cc(0x29b)]['__esModule']=!0x0;},function(_0x4054fa,_0x3528a2){var _0x1c1007=a0_0x427274;function _0x1ea816(_0x506aa2){var _0x2e750d=a0_0x4a13;return _0x4054fa['exports']=_0x1ea816=Object[_0x2e750d(0x237)]?Object[_0x2e750d(0x224)]:function(_0x5c9e0c){var _0x181395=_0x2e750d;return _0x5c9e0c[_0x181395(0x25e)]||Object[_0x181395(0x224)](_0x5c9e0c);},_0x4054fa[_0x2e750d(0x29b)][_0x2e750d(0x1e5)]=_0x4054fa['exports'],_0x4054fa[_0x2e750d(0x29b)][_0x2e750d(0x247)]=!0x0,_0x1ea816(_0x506aa2);}_0x4054fa[_0x1c1007(0x29b)]=_0x1ea816,_0x4054fa['exports'][_0x1c1007(0x1e5)]=_0x4054fa[_0x1c1007(0x29b)],_0x4054fa[_0x1c1007(0x29b)][_0x1c1007(0x247)]=!0x0;},function(_0x549a11,_0xc0db90,_0x4b3ff9){var _0x2bb186=a0_0x427274,_0xef5e90=_0x4b3ff9(0x11);_0x549a11[_0x2bb186(0x29b)]=function(_0x5914df,_0x36bad6){var _0x399949=_0x2bb186;if(_0x399949(0x2b8)!=typeof _0x36bad6&&null!==_0x36bad6)throw new TypeError(_0x399949(0x1ea));_0x5914df[_0x399949(0x271)]=Object['create'](_0x36bad6&&_0x36bad6[_0x399949(0x271)],{'constructor':{'value':_0x5914df,'writable':!0x0,'configurable':!0x0}}),_0x36bad6&&_0xef5e90(_0x5914df,_0x36bad6);},_0x549a11[_0x2bb186(0x29b)]['default']=_0x549a11[_0x2bb186(0x29b)],_0x549a11[_0x2bb186(0x29b)][_0x2bb186(0x247)]=!0x0;},function(_0x1d91d0,_0x3cbd26,_0x47d5a3){var _0xb5283d=a0_0x427274,_0x33b87d=_0x47d5a3(0x12)[_0xb5283d(0x1e5)],_0xe3a487=_0x47d5a3(0x13);_0x1d91d0['exports']=function(_0x6de8ba,_0x59e047){var _0x40066a=_0xb5283d;if(_0x59e047&&(_0x40066a(0x2d0)===_0x33b87d(_0x59e047)||'function'==typeof _0x59e047))return _0x59e047;if(void 0x0!==_0x59e047)throw new TypeError('Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined');return _0xe3a487(_0x6de8ba);},_0x1d91d0[_0xb5283d(0x29b)]['default']=_0x1d91d0['exports'],_0x1d91d0['exports']['__esModule']=!0x0;},function(_0x1f8ec0,_0x1626aa){var _0x32cfcf=a0_0x427274;_0x1f8ec0[_0x32cfcf(0x29b)]=_0x32cfcf(0x248);},function(_0x428e8d,_0x26644d){var _0x1ee6f1=a0_0x427274;_0x428e8d[_0x1ee6f1(0x29b)]=_0x1ee6f1(0x284);},function(_0x3d7a2c,_0x553115){var _0x197ad2=a0_0x427274;_0x3d7a2c[_0x197ad2(0x29b)]='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(_0x31025c,_0x5346ee){var _0x9e5b7b=a0_0x427274;_0x31025c[_0x9e5b7b(0x29b)]='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}';},function(_0x54981b,_0x5238ff){var _0x146f3c=a0_0x427274;_0x54981b[_0x146f3c(0x29b)]=_0x146f3c(0x23e);},function(_0x1bf48d,_0x251f1d){var _0x4e9106=a0_0x427274;_0x1bf48d[_0x4e9106(0x29b)]='//\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}';},function(_0x55a555,_0x4262b9){var _0x1ca2ae=a0_0x427274;_0x55a555[_0x1ca2ae(0x29b)]=_0x1ca2ae(0x1cb);},function(_0x141da0,_0x555901){var _0x414f96=a0_0x427274;_0x141da0[_0x414f96(0x29b)]='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}';},function(_0x24fc87,_0x17d710){var _0x35c4ad=a0_0x427274;_0x24fc87['exports']=_0x35c4ad(0x1fb);},function(_0x597798,_0x4c90d2){var _0x5cc932=a0_0x427274;_0x597798[_0x5cc932(0x29b)]=_0x5cc932(0x2fa);},function(_0x1812f9,_0x3d88c5){var _0x486cb4=a0_0x427274;function _0x3a6c9f(_0x1ea33e,_0x1e8d8e){var _0x218823=a0_0x4a13;return _0x1812f9[_0x218823(0x29b)]=_0x3a6c9f=Object[_0x218823(0x237)]||function(_0x12a441,_0xd3d49a){var _0x19f588=_0x218823;return _0x12a441[_0x19f588(0x25e)]=_0xd3d49a,_0x12a441;},_0x1812f9[_0x218823(0x29b)]['default']=_0x1812f9[_0x218823(0x29b)],_0x1812f9[_0x218823(0x29b)][_0x218823(0x247)]=!0x0,_0x3a6c9f(_0x1ea33e,_0x1e8d8e);}_0x1812f9[_0x486cb4(0x29b)]=_0x3a6c9f,_0x1812f9['exports'][_0x486cb4(0x1e5)]=_0x1812f9[_0x486cb4(0x29b)],_0x1812f9[_0x486cb4(0x29b)][_0x486cb4(0x247)]=!0x0;},function(_0x5e5f9a,_0xc1f93f){var _0x8ca8a9=a0_0x427274;function _0x56af3f(_0x543ca0){var _0x1e9588=a0_0x4a13;return'function'==typeof Symbol&&'symbol'==typeof Symbol[_0x1e9588(0x20f)]?(_0x5e5f9a[_0x1e9588(0x29b)]=_0x56af3f=function(_0x10f655){return typeof _0x10f655;},_0x5e5f9a[_0x1e9588(0x29b)][_0x1e9588(0x1e5)]=_0x5e5f9a['exports'],_0x5e5f9a[_0x1e9588(0x29b)]['__esModule']=!0x0):(_0x5e5f9a[_0x1e9588(0x29b)]=_0x56af3f=function(_0x579744){var _0x4b0646=_0x1e9588;return _0x579744&&_0x4b0646(0x2b8)==typeof Symbol&&_0x579744[_0x4b0646(0x1a8)]===Symbol&&_0x579744!==Symbol[_0x4b0646(0x271)]?_0x4b0646(0x20a):typeof _0x579744;},_0x5e5f9a[_0x1e9588(0x29b)]['default']=_0x5e5f9a['exports'],_0x5e5f9a[_0x1e9588(0x29b)][_0x1e9588(0x247)]=!0x0),_0x56af3f(_0x543ca0);}_0x5e5f9a[_0x8ca8a9(0x29b)]=_0x56af3f,_0x5e5f9a['exports'][_0x8ca8a9(0x1e5)]=_0x5e5f9a['exports'],_0x5e5f9a[_0x8ca8a9(0x29b)][_0x8ca8a9(0x247)]=!0x0;},function(_0x2c8ef0,_0x5388c4){var _0x218a3d=a0_0x427274;_0x2c8ef0[_0x218a3d(0x29b)]=function(_0x221f01){var _0xc263f3=_0x218a3d;if(void 0x0===_0x221f01)throw new ReferenceError(_0xc263f3(0x2a0));return _0x221f01;},_0x2c8ef0[_0x218a3d(0x29b)][_0x218a3d(0x1e5)]=_0x2c8ef0[_0x218a3d(0x29b)],_0x2c8ef0[_0x218a3d(0x29b)]['__esModule']=!0x0;},function(_0x52b7d6,_0x53665b,_0x3c0d1b){'use strict';var _0x20ac8b=a0_0x427274;_0x3c0d1b['r'](_0x53665b),_0x3c0d1b['d'](_0x53665b,_0x20ac8b(0x278),function(){return _0x441644;}),_0x3c0d1b['d'](_0x53665b,_0x20ac8b(0x255),function(){return _0x370c2f;}),_0x3c0d1b['d'](_0x53665b,_0x20ac8b(0x197),function(){return _0x8b710b;});var _0x8b710b={};_0x3c0d1b['r'](_0x8b710b),_0x3c0d1b['d'](_0x8b710b,_0x20ac8b(0x1b3),function(){return _0x4ab0a0;}),_0x3c0d1b['d'](_0x8b710b,_0x20ac8b(0x2c4),function(){return _0x7c44a;}),_0x3c0d1b['d'](_0x8b710b,_0x20ac8b(0x2ed),function(){return _0xb5f403;}),_0x3c0d1b['d'](_0x8b710b,_0x20ac8b(0x2df),function(){return _0x303754;});var _0x4c2a34=_0x3c0d1b(0x1),_0x58930d=_0x3c0d1b(0x2),_0x415de3=_0x3c0d1b['n'](_0x58930d),_0x103cbc=_0x3c0d1b(0x3),_0x32a78c=_0x3c0d1b['n'](_0x103cbc),_0x36b3df=_0x3c0d1b(0x5),_0x423861=_0x3c0d1b['n'](_0x36b3df),_0x1ea219=_0x3c0d1b(0x6),_0x1cbcc7=_0x3c0d1b['n'](_0x1ea219),_0x56164d=_0x3c0d1b(0x4),_0x20ccf7=_0x3c0d1b['n'](_0x56164d),_0x304681=_0x3c0d1b(0x0),_0x111ffc=function(){var _0xef9f72=_0x20ac8b;function _0x45da6c(_0x56e603){var _0x13e768=a0_0x4a13;_0x415de3()(this,_0x45da6c),this[_0x13e768(0x1ec)]=_0x56e603['commandType'],this[_0x13e768(0x274)]=_0x56e603[_0x13e768(0x274)],this[_0x13e768(0x26f)]=_0x56e603[_0x13e768(0x26f)],this[_0x13e768(0x1df)]=_0x56e603[_0x13e768(0x1df)],this[_0x13e768(0x24c)]=_0x56e603[_0x13e768(0x24c)],this['vertexShaderSource']=_0x56e603['vertexShaderSource'],this[_0x13e768(0x212)]=_0x56e603['fragmentShaderSource'],this[_0x13e768(0x2f7)]=_0x56e603[_0x13e768(0x2f7)],this[_0x13e768(0x2e4)]=_0x56e603[_0x13e768(0x2e4)],this['outputTexture']=_0x56e603[_0x13e768(0x2d9)],this[_0x13e768(0x276)]=_0x304681[_0x13e768(0x262)](_0x56e603[_0x13e768(0x276)],!0x1),this[_0x13e768(0x20d)]=_0x56e603[_0x13e768(0x20d)],this[_0x13e768(0x203)]=!0x0,this[_0x13e768(0x1b7)]=void 0x0,this[_0x13e768(0x201)]=void 0x0,this[_0x13e768(0x276)]&&(this[_0x13e768(0x201)]=new _0x304681['ClearCommand']({'color':new _0x304681['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':_0x304681[_0x13e768(0x1b6)]['OPAQUE']}));}return _0x32a78c()(_0x45da6c,[{'key':_0xef9f72(0x202),'value':function(_0x5c8ad7){var _0x5b13d6=_0xef9f72;switch(this[_0x5b13d6(0x1ec)]){case _0x5b13d6(0x2a4):var _0x2e2113=_0x304681[_0x5b13d6(0x286)][_0x5b13d6(0x2b6)]({'context':_0x5c8ad7,'geometry':this[_0x5b13d6(0x274)],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x304681['BufferUsage'][_0x5b13d6(0x2ac)]}),_0x54f05d=_0x304681[_0x5b13d6(0x1c3)][_0x5b13d6(0x27a)]({'context':_0x5c8ad7,'attributeLocations':this[_0x5b13d6(0x26f)],'vertexShaderSource':this[_0x5b13d6(0x2ca)],'fragmentShaderSource':this[_0x5b13d6(0x212)]}),_0x351acd=_0x304681[_0x5b13d6(0x213)][_0x5b13d6(0x27a)](this[_0x5b13d6(0x2f7)]);return new _0x304681[(_0x5b13d6(0x1c0))]({'owner':this,'vertexArray':_0x2e2113,'primitiveType':this[_0x5b13d6(0x1df)],'uniformMap':this[_0x5b13d6(0x24c)],'modelMatrix':_0x304681[_0x5b13d6(0x1a7)]['IDENTITY'],'shaderProgram':_0x54f05d,'framebuffer':this[_0x5b13d6(0x2e4)],'renderState':_0x351acd,'pass':_0x304681['Pass'][_0x5b13d6(0x19b)]});case _0x5b13d6(0x273):return new _0x304681[(_0x5b13d6(0x282))]({'owner':this,'fragmentShaderSource':this[_0x5b13d6(0x212)],'uniformMap':this['uniformMap'],'outputTexture':this[_0x5b13d6(0x2d9)],'persists':!0x0});}}},{'key':'setGeometry','value':function(_0x41ec87,_0x247664){var _0x44c5c0=_0xef9f72;this[_0x44c5c0(0x274)]=_0x247664;var _0x25a462=_0x304681[_0x44c5c0(0x286)][_0x44c5c0(0x2b6)]({'context':_0x41ec87,'geometry':this['geometry'],'attributeLocations':this[_0x44c5c0(0x26f)],'bufferUsage':_0x304681[_0x44c5c0(0x267)][_0x44c5c0(0x2ac)]});this[_0x44c5c0(0x1b7)][_0x44c5c0(0x241)]=_0x25a462;}},{'key':_0xef9f72(0x2b1),'value':function(_0x484708){var _0x18eb24=_0xef9f72;this[_0x18eb24(0x203)]&&_0x484708[_0x18eb24(0x2e0)]==_0x304681[_0x18eb24(0x2aa)]['SCENE3D']&&(_0x304681[_0x18eb24(0x27d)](this[_0x18eb24(0x1b7)])||(this[_0x18eb24(0x1b7)]=this['createCommand'](_0x484708[_0x18eb24(0x22d)])),_0x304681[_0x18eb24(0x27d)](this[_0x18eb24(0x20d)])&&this[_0x18eb24(0x20d)](),_0x304681[_0x18eb24(0x27d)](this['clearCommand'])&&_0x484708[_0x18eb24(0x26a)][_0x18eb24(0x28c)](this[_0x18eb24(0x201)]),_0x484708[_0x18eb24(0x26a)][_0x18eb24(0x28c)](this[_0x18eb24(0x1b7)]));}},{'key':'isDestroyed','value':function(){return!0x1;}},{'key':_0xef9f72(0x29c),'value':function(){var _0x5e4bfb=_0xef9f72;return _0x304681['defined'](this[_0x5e4bfb(0x1b7)])&&(this[_0x5e4bfb(0x1b7)][_0x5e4bfb(0x2b0)]=this[_0x5e4bfb(0x1b7)][_0x5e4bfb(0x2b0)]&&this[_0x5e4bfb(0x1b7)][_0x5e4bfb(0x2b0)][_0x5e4bfb(0x29c)]()),_0x304681[_0x5e4bfb(0x24e)](this);}}]),_0x45da6c;}(),_0x8683c2={'getFullscreenQuad':function(){var _0x37c813=_0x20ac8b;return new _0x304681[(_0x37c813(0x1bd))]({'attributes':new _0x304681[(_0x37c813(0x1b8))]({'position':new _0x304681['GeometryAttribute']({'componentDatatype':_0x304681[_0x37c813(0x270)][_0x37c813(0x1a9)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x304681[(_0x37c813(0x2e5))]({'componentDatatype':_0x304681[_0x37c813(0x270)][_0x37c813(0x1a9)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x4a5b2e,_0x5ea26d){var _0x42c7e3=_0x20ac8b;if(_0x304681[_0x42c7e3(0x27d)](_0x5ea26d)){var _0x2b24e5={};_0x2b24e5['arrayBufferView']=_0x5ea26d,_0x4a5b2e['source']=_0x2b24e5;}return new _0x304681[(_0x42c7e3(0x1cf))](_0x4a5b2e);},'createFramebuffer':function(_0x3f3a3b,_0x14e413,_0x52e93e){var _0x5a5cba=_0x20ac8b;return new _0x304681[(_0x5a5cba(0x24d))]({'context':_0x3f3a3b,'colorTextures':[_0x14e413],'depthTexture':_0x52e93e});},'createRawRenderState':function(_0x485082){var _0x4448e4=_0x20ac8b,_0x5eab7d={'viewport':_0x485082[_0x4448e4(0x238)],'depthTest':_0x485082['depthTest'],'depthMask':_0x485082[_0x4448e4(0x216)],'blending':_0x485082[_0x4448e4(0x233)]};return _0x304681[_0x4448e4(0x2ae)][_0x4448e4(0x2cb)](!0x0,!0x1,_0x5eab7d);},'viewRectangleToLonLatRange':function(_0x9d3de3){var _0x631f2b=_0x20ac8b,_0x3c40d6,_0x3301b4,_0x14a152={},_0x51eb5f=_0x304681[_0x631f2b(0x250)][_0x631f2b(0x277)](_0x9d3de3['west'],_0x304681[_0x631f2b(0x250)][_0x631f2b(0x1ad)]),_0x3424ae=_0x304681['Math'][_0x631f2b(0x277)](_0x9d3de3[_0x631f2b(0x223)],_0x304681[_0x631f2b(0x250)][_0x631f2b(0x1ad)]),_0x57a1a0=_0x9d3de3[_0x631f2b(0x26d)];_0x57a1a0>_0x304681[_0x631f2b(0x250)]['THREE_PI_OVER_TWO']?(_0x3c40d6=0x0,_0x3301b4=_0x304681['Math']['TWO_PI']):_0x3424ae-_0x51eb5f<_0x57a1a0?(_0x3c40d6=_0x51eb5f,_0x3301b4=_0x51eb5f+_0x57a1a0):(_0x3c40d6=_0x51eb5f,_0x3301b4=_0x3424ae),_0x14a152[_0x631f2b(0x29e)]={'min':_0x304681[_0x631f2b(0x250)]['toDegrees'](_0x3c40d6),'max':_0x304681[_0x631f2b(0x250)][_0x631f2b(0x19f)](_0x3301b4)};var _0x1d9079=_0x9d3de3['south'],_0x2d4958=_0x9d3de3[_0x631f2b(0x2e1)],_0x13eb66=_0x9d3de3[_0x631f2b(0x231)],_0x5c9554=_0x13eb66>_0x304681[_0x631f2b(0x250)]['PI']/0xc?_0x13eb66/0x2:0x0,_0x297d90=_0x304681[_0x631f2b(0x250)][_0x631f2b(0x272)](_0x1d9079-_0x5c9554),_0x1be6ef=_0x304681[_0x631f2b(0x250)][_0x631f2b(0x272)](_0x2d4958+_0x5c9554);return _0x297d90<-_0x304681[_0x631f2b(0x250)][_0x631f2b(0x1c6)]&&(_0x297d90=-_0x304681[_0x631f2b(0x250)][_0x631f2b(0x2e3)]),_0x1be6ef>_0x304681['Math']['PI_OVER_THREE']&&(_0x1be6ef=_0x304681[_0x631f2b(0x250)]['PI_OVER_TWO']),_0x14a152[_0x631f2b(0x283)]={'min':_0x304681['Math'][_0x631f2b(0x19f)](_0x297d90),'max':_0x304681['Math'][_0x631f2b(0x19f)](_0x1be6ef)},_0x14a152;}},_0x1af4a6=_0x3c0d1b(0x8),_0x9a2721=_0x3c0d1b['n'](_0x1af4a6),_0x3ad714=_0x3c0d1b(0x9),_0x13d0b8=_0x3c0d1b['n'](_0x3ad714),_0x327ab3=_0x3c0d1b(0x7),_0x508a6b=_0x3c0d1b['n'](_0x327ab3),_0x10aff6=_0x3c0d1b(0xa),_0x26552d=_0x3c0d1b['n'](_0x10aff6),_0x438e63=_0x3c0d1b(0xb),_0x7b66b5=_0x3c0d1b['n'](_0x438e63),_0x422bf6=function(){var _0x55a2e7=_0x20ac8b;function _0x5f0fa2(_0x10b4eb,_0x2e808a,_0x49c21a,_0x228cc5,_0x17d0da){var _0x2b3c75=a0_0x4a13;_0x415de3()(this,_0x5f0fa2),this[_0x2b3c75(0x28b)](_0x10b4eb,_0x2e808a),this['createRenderingFramebuffers'](_0x10b4eb),this['createRenderingPrimitives'](_0x10b4eb,_0x49c21a,_0x228cc5,_0x17d0da);}return _0x32a78c()(_0x5f0fa2,[{'key':'createRenderingTextures','value':function(_0x686c78,_0x1fe558){var _0x312e93=a0_0x4a13,_0x538987={'context':_0x686c78,'width':_0x686c78[_0x312e93(0x1e2)],'height':_0x686c78[_0x312e93(0x21d)],'pixelFormat':_0x304681[_0x312e93(0x1c8)]['RGBA'],'pixelDatatype':_0x304681[_0x312e93(0x2c8)][_0x312e93(0x2f9)]},_0x4ef018={'context':_0x686c78,'width':_0x686c78[_0x312e93(0x1e2)],'height':_0x686c78[_0x312e93(0x21d)],'pixelFormat':_0x304681[_0x312e93(0x1c8)][_0x312e93(0x21b)],'pixelDatatype':_0x304681[_0x312e93(0x2c8)][_0x312e93(0x279)]},_0x548a89={'context':_0x686c78,'width':_0x1fe558[_0x312e93(0x2bb)][_0x312e93(0x1cc)],'height':0x1,'pixelFormat':_0x304681[_0x312e93(0x1c8)][_0x312e93(0x2ee)],'pixelDatatype':_0x304681[_0x312e93(0x2c8)][_0x312e93(0x1a9)],'sampler':new _0x304681['Sampler']({'minificationFilter':_0x304681['TextureMinificationFilter'][_0x312e93(0x2ce)],'magnificationFilter':_0x304681['TextureMagnificationFilter']['LINEAR']})};this[_0x312e93(0x1e1)]={'segmentsColor':_0x8683c2[_0x312e93(0x28d)](_0x538987),'segmentsDepth':_0x8683c2[_0x312e93(0x28d)](_0x4ef018),'currentTrailsColor':_0x8683c2[_0x312e93(0x28d)](_0x538987),'currentTrailsDepth':_0x8683c2[_0x312e93(0x28d)](_0x4ef018),'nextTrailsColor':_0x8683c2[_0x312e93(0x28d)](_0x538987),'nextTrailsDepth':_0x8683c2['createTexture'](_0x4ef018),'colorTable':_0x8683c2[_0x312e93(0x28d)](_0x548a89,_0x1fe558[_0x312e93(0x2bb)]['array'])};}},{'key':_0x55a2e7(0x1e6),'value':function(_0x14fec5){var _0x18c478=_0x55a2e7;this[_0x18c478(0x2c5)]={'segments':_0x8683c2[_0x18c478(0x22c)](_0x14fec5,this[_0x18c478(0x1e1)][_0x18c478(0x24b)],this['textures'][_0x18c478(0x195)]),'currentTrails':_0x8683c2['createFramebuffer'](_0x14fec5,this[_0x18c478(0x1e1)]['currentTrailsColor'],this[_0x18c478(0x1e1)][_0x18c478(0x266)]),'nextTrails':_0x8683c2[_0x18c478(0x22c)](_0x14fec5,this[_0x18c478(0x1e1)][_0x18c478(0x2bf)],this['textures'][_0x18c478(0x2b2)])};}},{'key':'createSegmentsGeometry','value':function(_0xec5eab){var _0x2d5ee6=_0x55a2e7;for(var _0x224697=[],_0x479f65=0x0;_0x479f65<_0xec5eab[_0x2d5ee6(0x293)];_0x479f65++)for(var _0x3cf2f5=0x0;_0x3cf2f5<_0xec5eab[_0x2d5ee6(0x293)];_0x3cf2f5++)for(var _0x445d6b=0x0;_0x445d6b<0x4;_0x445d6b++)_0x224697[_0x2d5ee6(0x28c)](_0x479f65/_0xec5eab[_0x2d5ee6(0x293)]),_0x224697[_0x2d5ee6(0x28c)](_0x3cf2f5/_0xec5eab[_0x2d5ee6(0x293)]);_0x224697=new Float32Array(_0x224697);for(var _0x49d223=[],_0x2b040b=[-0x1,0x1],_0x3d7b00=[-0x1,0x1],_0x1ef31e=0x0;_0x1ef31e<_0xec5eab[_0x2d5ee6(0x2a5)];_0x1ef31e++)for(var _0x3ceef2=0x0;_0x3ceef2<0x2;_0x3ceef2++)for(var _0x4158a9=0x0;_0x4158a9<0x2;_0x4158a9++)_0x49d223[_0x2d5ee6(0x28c)](_0x2b040b[_0x3ceef2]),_0x49d223[_0x2d5ee6(0x28c)](_0x3d7b00[_0x4158a9]),_0x49d223[_0x2d5ee6(0x28c)](0x0);_0x49d223=new Float32Array(_0x49d223);for(var _0x5806f6=0x6*_0xec5eab[_0x2d5ee6(0x2a5)],_0x5477b3=new Uint32Array(_0x5806f6),_0xd62e71=0x0,_0x3aa5d8=0x0,_0x2a09d8=0x0;_0xd62e71<_0xec5eab[_0x2d5ee6(0x2a5)];_0xd62e71++)_0x5477b3[_0x3aa5d8++]=_0x2a09d8+0x0,_0x5477b3[_0x3aa5d8++]=_0x2a09d8+0x1,_0x5477b3[_0x3aa5d8++]=_0x2a09d8+0x2,_0x5477b3[_0x3aa5d8++]=_0x2a09d8+0x2,_0x5477b3[_0x3aa5d8++]=_0x2a09d8+0x1,_0x5477b3[_0x3aa5d8++]=_0x2a09d8+0x3,_0x2a09d8+=0x4;return new _0x304681[(_0x2d5ee6(0x1bd))]({'attributes':new _0x304681[(_0x2d5ee6(0x1b8))]({'st':new _0x304681[(_0x2d5ee6(0x2e5))]({'componentDatatype':_0x304681[_0x2d5ee6(0x270)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x224697}),'normal':new _0x304681['GeometryAttribute']({'componentDatatype':_0x304681[_0x2d5ee6(0x270)][_0x2d5ee6(0x1a9)],'componentsPerAttribute':0x3,'values':_0x49d223})}),'indices':_0x5477b3});}},{'key':'createRenderingPrimitives','value':function(_0x48860c,_0x10a367,_0x46f6a7,_0x5991cf){var _0x31dfa5=_0x55a2e7,_0x34823a=this;this['primitives']={'segments':new _0x111ffc({'commandType':'Draw','attributeLocations':{'st':0x0,'normal':0x1},'geometry':this[_0x31dfa5(0x236)](_0x10a367),'primitiveType':_0x304681[_0x31dfa5(0x21c)][_0x31dfa5(0x1ed)],'uniformMap':{'currentParticlesPosition':function(){var _0x44a61f=_0x31dfa5;return _0x5991cf['particlesTextures'][_0x44a61f(0x1ac)];},'postProcessingPosition':function(){var _0x25b48c=_0x31dfa5;return _0x5991cf[_0x25b48c(0x1fa)][_0x25b48c(0x19c)];},'postProcessingSpeed':function(){var _0x57f28c=_0x31dfa5;return _0x5991cf[_0x57f28c(0x1fa)][_0x57f28c(0x1d1)];},'colorTable':function(){return _0x34823a['textures']['colorTable'];},'aspect':function(){var _0x4a6f01=_0x31dfa5;return _0x48860c[_0x4a6f01(0x1e2)]/_0x48860c[_0x4a6f01(0x21d)];},'pixelSize':function(){var _0x477bac=_0x31dfa5;return _0x46f6a7[_0x477bac(0x245)];},'lineWidth':function(){var _0x25ebad=_0x31dfa5;return _0x10a367[_0x25ebad(0x1eb)];},'particleHeight':function(){var _0x4f7315=_0x31dfa5;return _0x10a367[_0x4f7315(0x2bd)];}},'vertexShaderSource':new _0x304681[(_0x31dfa5(0x229))]({'sources':[_0x9a2721['a']]}),'fragmentShaderSource':new _0x304681['ShaderSource']({'sources':[_0x13d0b8['a']]}),'rawRenderState':_0x8683c2['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x31dfa5(0x2c5)][_0x31dfa5(0x227)],'autoClear':!0x0}),'trails':new _0x111ffc({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x8683c2[_0x31dfa5(0x2d3)](),'primitiveType':_0x304681[_0x31dfa5(0x21c)][_0x31dfa5(0x1ed)],'uniformMap':{'segmentsColorTexture':function(){var _0x5f0187=_0x31dfa5;return _0x34823a['textures'][_0x5f0187(0x24b)];},'segmentsDepthTexture':function(){return _0x34823a['textures']['segmentsDepth'];},'currentTrailsColor':function(){var _0x3df925=_0x31dfa5;return _0x34823a['framebuffers'][_0x3df925(0x2b3)][_0x3df925(0x1e4)](0x0);},'trailsDepthTexture':function(){var _0xe409b7=_0x31dfa5;return _0x34823a[_0xe409b7(0x2c5)]['currentTrails']['depthTexture'];},'fadeOpacity':function(){var _0x19853c=_0x31dfa5;return _0x10a367[_0x19853c(0x20e)];}},'vertexShaderSource':new _0x304681[(_0x31dfa5(0x229))]({'defines':[_0x31dfa5(0x254)],'sources':[_0x508a6b['a']]}),'fragmentShaderSource':new _0x304681[(_0x31dfa5(0x229))]({'defines':['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],'sources':[_0x26552d['a']]}),'rawRenderState':_0x8683c2[_0x31dfa5(0x2e7)]({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x304681['DepthFunction']['ALWAYS']},'depthMask':!0x0}),'framebuffer':this[_0x31dfa5(0x2c5)][_0x31dfa5(0x2de)],'autoClear':!0x0,'preExecute':function(){var _0x7700a7=_0x31dfa5,_0x45b378;_0x45b378=_0x34823a[_0x7700a7(0x2c5)][_0x7700a7(0x2b3)],_0x34823a[_0x7700a7(0x2c5)][_0x7700a7(0x2b3)]=_0x34823a[_0x7700a7(0x2c5)][_0x7700a7(0x2de)],_0x34823a[_0x7700a7(0x2c5)][_0x7700a7(0x2de)]=_0x45b378,_0x34823a[_0x7700a7(0x2d5)][_0x7700a7(0x1da)]['commandToExecute'][_0x7700a7(0x2e4)]=_0x34823a[_0x7700a7(0x2c5)][_0x7700a7(0x2de)],_0x34823a[_0x7700a7(0x2d5)][_0x7700a7(0x1da)][_0x7700a7(0x201)]['framebuffer']=_0x34823a[_0x7700a7(0x2c5)][_0x7700a7(0x2de)];}}),'screen':new _0x111ffc({'commandType':_0x31dfa5(0x2a4),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x8683c2[_0x31dfa5(0x2d3)](),'primitiveType':_0x304681[_0x31dfa5(0x21c)][_0x31dfa5(0x1ed)],'uniformMap':{'trailsColorTexture':function(){var _0x23ac50=_0x31dfa5;return _0x34823a[_0x23ac50(0x2c5)][_0x23ac50(0x2de)][_0x23ac50(0x1e4)](0x0);},'trailsDepthTexture':function(){var _0x4f3dde=_0x31dfa5;return _0x34823a[_0x4f3dde(0x2c5)]['nextTrails']['depthTexture'];}},'vertexShaderSource':new _0x304681[(_0x31dfa5(0x229))]({'defines':[_0x31dfa5(0x254)],'sources':[_0x508a6b['a']]}),'fragmentShaderSource':new _0x304681[(_0x31dfa5(0x229))]({'defines':[_0x31dfa5(0x240)],'sources':[_0x7b66b5['a']]}),'rawRenderState':_0x8683c2['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x5f0fa2;}(),_0x5d8b98=_0x3c0d1b(0xc),_0x37b90d=_0x3c0d1b['n'](_0x5d8b98),_0x35b426=_0x3c0d1b(0xd),_0x250a19=_0x3c0d1b['n'](_0x35b426),_0x17e164=_0x3c0d1b(0xe),_0x3f7a82=_0x3c0d1b['n'](_0x17e164),_0x37a921=_0x3c0d1b(0xf),_0xf16862=_0x3c0d1b['n'](_0x37a921),_0x2f787d=_0x3c0d1b(0x10),_0x3a8288=_0x3c0d1b['n'](_0x2f787d),_0x5abb57=function(){var _0x35261e=_0x20ac8b;function _0x35cde0(_0x327644,_0x5a59fc,_0x306ad8,_0x48af61){var _0x270b36=a0_0x4a13;_0x415de3()(this,_0x35cde0),this['data']=_0x5a59fc,this[_0x270b36(0x1fc)](_0x327644,_0x5a59fc),this['createParticlesTextures'](_0x327644,_0x306ad8,_0x48af61),this[_0x270b36(0x2e6)](_0x5a59fc,_0x306ad8,_0x48af61);}return _0x32a78c()(_0x35cde0,[{'key':'createWindTextures','value':function(_0x35bd90,_0x4c166d){var _0x47d4f1=a0_0x4a13,_0x151d11={'context':_0x35bd90,'width':_0x4c166d[_0x47d4f1(0x285)][_0x47d4f1(0x29e)],'height':_0x4c166d[_0x47d4f1(0x285)][_0x47d4f1(0x283)]*_0x4c166d[_0x47d4f1(0x285)][_0x47d4f1(0x2a9)],'pixelFormat':_0x304681['PixelFormat']['LUMINANCE'],'pixelDatatype':_0x304681[_0x47d4f1(0x2c8)][_0x47d4f1(0x1a9)],'flipY':!0x1,'sampler':new _0x304681[(_0x47d4f1(0x235))]({'minificationFilter':_0x304681[_0x47d4f1(0x1b5)][_0x47d4f1(0x269)],'magnificationFilter':_0x304681['TextureMagnificationFilter'][_0x47d4f1(0x269)]})};this[_0x47d4f1(0x1c9)]={'U':_0x8683c2[_0x47d4f1(0x28d)](_0x151d11,_0x4c166d['U'][_0x47d4f1(0x1cd)]),'V':_0x8683c2[_0x47d4f1(0x28d)](_0x151d11,_0x4c166d['V'][_0x47d4f1(0x1cd)])};}},{'key':_0x35261e(0x2c6),'value':function(_0x371143,_0x1666de,_0x3f3583){var _0x3474ac=_0x35261e,_0x167fad={'context':_0x371143,'width':_0x1666de[_0x3474ac(0x293)],'height':_0x1666de[_0x3474ac(0x293)],'pixelFormat':_0x304681['PixelFormat'][_0x3474ac(0x28a)],'pixelDatatype':_0x304681[_0x3474ac(0x2c8)][_0x3474ac(0x1a9)],'flipY':!0x1,'sampler':new _0x304681[(_0x3474ac(0x235))]({'minificationFilter':_0x304681[_0x3474ac(0x1b5)][_0x3474ac(0x269)],'magnificationFilter':_0x304681['TextureMagnificationFilter'][_0x3474ac(0x269)]})},_0x1f6078=this[_0x3474ac(0x27b)](_0x1666de[_0x3474ac(0x2a5)],_0x3f3583),_0x22b0d6=new Float32Array(0x4*_0x1666de[_0x3474ac(0x2a5)])[_0x3474ac(0x19d)](0x0);this['particlesTextures']={'particlesWind':_0x8683c2[_0x3474ac(0x28d)](_0x167fad),'currentParticlesPosition':_0x8683c2['createTexture'](_0x167fad,_0x1f6078),'nextParticlesPosition':_0x8683c2[_0x3474ac(0x28d)](_0x167fad,_0x1f6078),'currentParticlesSpeed':_0x8683c2[_0x3474ac(0x28d)](_0x167fad,_0x22b0d6),'nextParticlesSpeed':_0x8683c2[_0x3474ac(0x28d)](_0x167fad,_0x22b0d6),'postProcessingPosition':_0x8683c2[_0x3474ac(0x28d)](_0x167fad,_0x1f6078),'postProcessingSpeed':_0x8683c2[_0x3474ac(0x28d)](_0x167fad,_0x22b0d6)};}},{'key':_0x35261e(0x27b),'value':function(_0x44a76a,_0xbbafda){var _0x3f1e62=_0x35261e;for(var _0x356c50=new Float32Array(0x4*_0x44a76a),_0x660658=0x0;_0x660658<_0x44a76a;_0x660658++)_0x356c50[0x4*_0x660658]=_0x304681[_0x3f1e62(0x250)][_0x3f1e62(0x2fd)](_0xbbafda['lonRange']['x'],_0xbbafda[_0x3f1e62(0x1d5)]['y']),_0x356c50[0x4*_0x660658+0x1]=_0x304681[_0x3f1e62(0x250)][_0x3f1e62(0x2fd)](_0xbbafda[_0x3f1e62(0x23d)]['x'],_0xbbafda[_0x3f1e62(0x23d)]['y']),_0x356c50[0x4*_0x660658+0x2]=_0x304681['Math'][_0x3f1e62(0x2fd)](this[_0x3f1e62(0x1ef)][_0x3f1e62(0x2a9)]['min'],this[_0x3f1e62(0x1ef)][_0x3f1e62(0x2a9)][_0x3f1e62(0x1f8)]),_0x356c50[0x4*_0x660658+0x3]=0x0;return _0x356c50;}},{'key':_0x35261e(0x1e0),'value':function(){var _0x3b87e3=_0x35261e,_0x444178=this;Object[_0x3b87e3(0x1f9)](this[_0x3b87e3(0x1fa)])[_0x3b87e3(0x2d2)](function(_0x68402c){var _0x2d86a6=_0x3b87e3;_0x444178[_0x2d86a6(0x1fa)][_0x68402c][_0x2d86a6(0x29c)]();});}},{'key':_0x35261e(0x2e6),'value':function(_0x2049e8,_0x53d857,_0x3badc5){var _0x388956=_0x35261e,_0x2bf615=new _0x304681[(_0x388956(0x1bc))](_0x2049e8[_0x388956(0x285)][_0x388956(0x29e)],_0x2049e8[_0x388956(0x285)][_0x388956(0x283)],_0x2049e8[_0x388956(0x285)]['lev']),_0x494cce=new _0x304681['Cartesian3'](_0x2049e8[_0x388956(0x29e)][_0x388956(0x246)],_0x2049e8[_0x388956(0x283)][_0x388956(0x246)],_0x2049e8[_0x388956(0x2a9)][_0x388956(0x246)]),_0x136a6b=new _0x304681[(_0x388956(0x1bc))](_0x2049e8[_0x388956(0x29e)][_0x388956(0x1f8)],_0x2049e8['lat'][_0x388956(0x1f8)],_0x2049e8[_0x388956(0x2a9)]['max']),_0x5df619=new _0x304681['Cartesian3']((_0x136a6b['x']-_0x494cce['x'])/(_0x2bf615['x']-0x1),(_0x136a6b['y']-_0x494cce['y'])/(_0x2bf615['y']-0x1),_0x2bf615['z']>0x1?(_0x136a6b['z']-_0x494cce['z'])/(_0x2bf615['z']-0x1):0x1),_0x43c096=new _0x304681['Cartesian2'](_0x2049e8['U']['min'],_0x2049e8['U']['max']),_0x926587=new _0x304681['Cartesian2'](_0x2049e8['V']['min'],_0x2049e8['V'][_0x388956(0x1f8)]),_0xfca67c=this;this[_0x388956(0x2d5)]={'getWind':new _0x111ffc({'commandType':_0x388956(0x273),'uniformMap':{'U':function(){var _0x11134d=_0x388956;return _0xfca67c[_0x11134d(0x1c9)]['U'];},'V':function(){return _0xfca67c['windTextures']['V'];},'currentParticlesPosition':function(){var _0x5608db=_0x388956;return _0xfca67c[_0x5608db(0x1fa)][_0x5608db(0x1ac)];},'dimension':function(){return _0x2bf615;},'minimum':function(){return _0x494cce;},'maximum':function(){return _0x136a6b;},'interval':function(){return _0x5df619;}},'fragmentShaderSource':new _0x304681['ShaderSource']({'sources':[_0x37b90d['a']]}),'outputTexture':this['particlesTextures']['particlesWind'],'preExecute':function(){var _0x166c81=_0x388956;_0xfca67c[_0x166c81(0x2d5)][_0x166c81(0x2c9)][_0x166c81(0x1b7)][_0x166c81(0x2d9)]=_0xfca67c['particlesTextures']['particlesWind'];}}),'updateSpeed':new _0x111ffc({'commandType':_0x388956(0x273),'uniformMap':{'currentParticlesSpeed':function(){var _0x8aa312=_0x388956;return _0xfca67c[_0x8aa312(0x1fa)][_0x8aa312(0x207)];},'particlesWind':function(){var _0x13ca6b=_0x388956;return _0xfca67c[_0x13ca6b(0x1fa)][_0x13ca6b(0x1a5)];},'uSpeedRange':function(){return _0x43c096;},'vSpeedRange':function(){return _0x926587;},'pixelSize':function(){return _0x3badc5['pixelSize'];},'speedFactor':function(){var _0x40e8ed=_0x388956;return _0x53d857[_0x40e8ed(0x25d)];}},'fragmentShaderSource':new _0x304681[(_0x388956(0x229))]({'sources':[_0x250a19['a']]}),'outputTexture':this[_0x388956(0x1fa)][_0x388956(0x2b7)],'preExecute':function(){var _0xea1f1=_0x388956,_0x52cee0;_0x52cee0=_0xfca67c[_0xea1f1(0x1fa)]['currentParticlesSpeed'],_0xfca67c['particlesTextures'][_0xea1f1(0x207)]=_0xfca67c[_0xea1f1(0x1fa)]['postProcessingSpeed'],_0xfca67c[_0xea1f1(0x1fa)][_0xea1f1(0x1d1)]=_0x52cee0,_0xfca67c[_0xea1f1(0x2d5)][_0xea1f1(0x19a)][_0xea1f1(0x1b7)][_0xea1f1(0x2d9)]=_0xfca67c['particlesTextures'][_0xea1f1(0x2b7)];}}),'updatePosition':new _0x111ffc({'commandType':_0x388956(0x273),'uniformMap':{'currentParticlesPosition':function(){var _0x596785=_0x388956;return _0xfca67c[_0x596785(0x1fa)][_0x596785(0x1ac)];},'currentParticlesSpeed':function(){var _0x5acac8=_0x388956;return _0xfca67c[_0x5acac8(0x1fa)]['currentParticlesSpeed'];}},'fragmentShaderSource':new _0x304681[(_0x388956(0x229))]({'sources':[_0x3f7a82['a']]}),'outputTexture':this[_0x388956(0x1fa)][_0x388956(0x1f4)],'preExecute':function(){var _0x44c9bb=_0x388956,_0x256fc5;_0x256fc5=_0xfca67c['particlesTextures'][_0x44c9bb(0x1ac)],_0xfca67c[_0x44c9bb(0x1fa)][_0x44c9bb(0x1ac)]=_0xfca67c[_0x44c9bb(0x1fa)]['postProcessingPosition'],_0xfca67c['particlesTextures'][_0x44c9bb(0x19c)]=_0x256fc5,_0xfca67c[_0x44c9bb(0x2d5)][_0x44c9bb(0x243)][_0x44c9bb(0x1b7)][_0x44c9bb(0x2d9)]=_0xfca67c['particlesTextures'][_0x44c9bb(0x1f4)];}}),'postProcessingPosition':new _0x111ffc({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){var _0x3ac17d=_0x388956;return _0xfca67c[_0x3ac17d(0x1fa)][_0x3ac17d(0x1f4)];},'nextParticlesSpeed':function(){var _0x4d98a1=_0x388956;return _0xfca67c[_0x4d98a1(0x1fa)][_0x4d98a1(0x2b7)];},'lonRange':function(){var _0x59d785=_0x388956;return _0x3badc5[_0x59d785(0x1d5)];},'latRange':function(){return _0x3badc5['latRange'];},'randomCoefficient':function(){var _0x4b9a4a=_0x388956,_0x438990=Math[_0x4b9a4a(0x22b)]();return _0x438990;},'dropRate':function(){var _0x417c11=_0x388956;return _0x53d857[_0x417c11(0x1a0)];},'dropRateBump':function(){return _0x53d857['dropRateBump'];}},'fragmentShaderSource':new _0x304681[(_0x388956(0x229))]({'sources':[_0xf16862['a']]}),'outputTexture':this[_0x388956(0x1fa)]['postProcessingPosition'],'preExecute':function(){var _0x5d8917=_0x388956;_0xfca67c[_0x5d8917(0x2d5)][_0x5d8917(0x19c)][_0x5d8917(0x1b7)][_0x5d8917(0x2d9)]=_0xfca67c[_0x5d8917(0x1fa)][_0x5d8917(0x19c)];}}),'postProcessingSpeed':new _0x111ffc({'commandType':_0x388956(0x273),'uniformMap':{'postProcessingPosition':function(){var _0x682e0b=_0x388956;return _0xfca67c[_0x682e0b(0x1fa)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x97f913=_0x388956;return _0xfca67c[_0x97f913(0x1fa)]['nextParticlesSpeed'];}},'fragmentShaderSource':new _0x304681[(_0x388956(0x229))]({'sources':[_0x3a8288['a']]}),'outputTexture':this[_0x388956(0x1fa)]['postProcessingSpeed'],'preExecute':function(){var _0x49b70d=_0x388956;_0xfca67c[_0x49b70d(0x2d5)][_0x49b70d(0x1d1)][_0x49b70d(0x1b7)][_0x49b70d(0x2d9)]=_0xfca67c[_0x49b70d(0x1fa)][_0x49b70d(0x1d1)];}})};}}]),_0x35cde0;}(),_0x23540b=function(){var _0x4cb5fd=_0x20ac8b;function _0x116486(_0x5c2d8c,_0x19f104,_0x410a6e,_0x2b65ae){var _0x481367=a0_0x4a13;_0x415de3()(this,_0x116486),this[_0x481367(0x22d)]=_0x5c2d8c,this[_0x481367(0x1ef)]=_0x19f104,this[_0x481367(0x2eb)]=_0x410a6e,this[_0x481367(0x1d0)]=_0x2b65ae,this[_0x481367(0x28e)]=new _0x5abb57(this[_0x481367(0x22d)],this[_0x481367(0x1ef)],this['userInput'],this[_0x481367(0x1d0)]),this[_0x481367(0x1aa)]=new _0x422bf6(this[_0x481367(0x22d)],this[_0x481367(0x1ef)],this[_0x481367(0x2eb)],this[_0x481367(0x1d0)],this[_0x481367(0x28e)]);}return _0x32a78c()(_0x116486,[{'key':_0x4cb5fd(0x280),'value':function(_0x124071){var _0x26a5ad=_0x4cb5fd,_0x1bdc7c=this;this[_0x26a5ad(0x28e)][_0x26a5ad(0x1e0)](),Object[_0x26a5ad(0x1f9)](this[_0x26a5ad(0x28e)][_0x26a5ad(0x1c9)])[_0x26a5ad(0x2d2)](function(_0x47b46f){var _0x420e53=_0x26a5ad;_0x1bdc7c['particlesComputing'][_0x420e53(0x1c9)][_0x47b46f][_0x420e53(0x29c)]();}),this[_0x26a5ad(0x1aa)][_0x26a5ad(0x1e1)][_0x26a5ad(0x2bb)][_0x26a5ad(0x29c)](),Object[_0x26a5ad(0x1f9)](this['particlesRendering'][_0x26a5ad(0x2c5)])[_0x26a5ad(0x2d2)](function(_0x1b0788){var _0xb3349f=_0x26a5ad;_0x1bdc7c['particlesRendering']['framebuffers'][_0x1b0788][_0xb3349f(0x29c)]();}),this[_0x26a5ad(0x22d)]=_0x124071,this[_0x26a5ad(0x28e)]=new _0x5abb57(this[_0x26a5ad(0x22d)],this[_0x26a5ad(0x1ef)],this[_0x26a5ad(0x2eb)],this[_0x26a5ad(0x1d0)]),this[_0x26a5ad(0x1aa)]=new _0x422bf6(this['context'],this['data'],this['userInput'],this[_0x26a5ad(0x1d0)],this[_0x26a5ad(0x28e)]);}},{'key':'clearFramebuffers','value':function(){var _0x2c4dea=_0x4cb5fd,_0x246fbe=this,_0x296492=new _0x304681[(_0x2c4dea(0x210))]({'color':new _0x304681['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x304681[_0x2c4dea(0x1b6)][_0x2c4dea(0x19b)]});Object[_0x2c4dea(0x1f9)](this[_0x2c4dea(0x1aa)][_0x2c4dea(0x2c5)])['forEach'](function(_0x710a6f){var _0xe13567=_0x2c4dea;_0x296492[_0xe13567(0x2e4)]=_0x246fbe['particlesRendering']['framebuffers'][_0x710a6f],_0x296492[_0xe13567(0x1f1)](_0x246fbe[_0xe13567(0x22d)]);});}},{'key':_0x4cb5fd(0x1f5),'value':function(_0xac3454){var _0x369a65=_0x4cb5fd;if(this[_0x369a65(0x19e)](),this[_0x369a65(0x28e)][_0x369a65(0x1e0)](),this[_0x369a65(0x28e)][_0x369a65(0x2c6)](this[_0x369a65(0x22d)],this['userInput'],this[_0x369a65(0x1d0)]),_0xac3454){var _0x3c5bbe=this[_0x369a65(0x1aa)][_0x369a65(0x236)](this[_0x369a65(0x2eb)]);this['particlesRendering'][_0x369a65(0x2d5)][_0x369a65(0x227)]['geometry']=_0x3c5bbe;var _0xda9732=_0x304681[_0x369a65(0x286)]['fromGeometry']({'context':this[_0x369a65(0x22d)],'geometry':_0x3c5bbe,'attributeLocations':this['particlesRendering'][_0x369a65(0x2d5)]['segments'][_0x369a65(0x26f)],'bufferUsage':_0x304681[_0x369a65(0x267)][_0x369a65(0x2ac)]});this[_0x369a65(0x1aa)]['primitives'][_0x369a65(0x227)]['commandToExecute'][_0x369a65(0x241)]=_0xda9732;}}},{'key':'applyUserInput','value':function(_0x4d266c){var _0x2843d8=_0x4cb5fd,_0x32e198=this,_0x278cc9=!0x1;this[_0x2843d8(0x2eb)]['maxParticles']!=_0x4d266c[_0x2843d8(0x2a5)]&&(_0x278cc9=!0x0),Object[_0x2843d8(0x1f9)](_0x4d266c)[_0x2843d8(0x2d2)](function(_0x26faeb){var _0xaf3a22=_0x2843d8;_0x32e198[_0xaf3a22(0x2eb)][_0x26faeb]=_0x4d266c[_0x26faeb];}),this[_0x2843d8(0x1f5)](_0x278cc9);}},{'key':_0x4cb5fd(0x1f0),'value':function(_0xf3c80d){var _0x5dd52c=_0x4cb5fd,_0x2557df=this;Object[_0x5dd52c(0x1f9)](_0xf3c80d)['forEach'](function(_0x4386cd){var _0x2f720f=_0x5dd52c;_0x2557df[_0x2f720f(0x1d0)][_0x4386cd]=_0xf3c80d[_0x4386cd];}),this[_0x5dd52c(0x1f5)](!0x1);}}]),_0x116486;}();function _0x2d8561(_0x21fd3f){var _0x275197=function(){var _0x411153=a0_0x4a13;if(_0x411153(0x275)==typeof Reflect||!Reflect['construct'])return!0x1;if(Reflect[_0x411153(0x1c1)][_0x411153(0x2e8)])return!0x1;if(_0x411153(0x2b8)==typeof Proxy)return!0x0;try{return Boolean[_0x411153(0x271)][_0x411153(0x1b9)]['call'](Reflect['construct'](Boolean,[],function(){})),!0x0;}catch(_0x9428){return!0x1;}}();return function(){var _0x58f202=a0_0x4a13,_0x16bff5,_0x1ede22=_0x20ccf7()(_0x21fd3f);if(_0x275197){var _0x1c7c89=_0x20ccf7()(this)[_0x58f202(0x1a8)];_0x16bff5=Reflect[_0x58f202(0x1c1)](_0x1ede22,arguments,_0x1c7c89);}else _0x16bff5=_0x1ede22[_0x58f202(0x23c)](this,arguments);return _0x1cbcc7()(this,_0x16bff5);};}var _0x5adb11=_0x4c2a34[_0x20ac8b(0x25f)][_0x20ac8b(0x265)],_0x28dc97=0x1000,_0x44ed7e=0x64,_0x47f8f3=0.996,_0x154dfc=0.003,_0x5e74f1=0.01,_0x460456=0.5,_0x5d56b9=0x2,_0x441644=function(_0x59a6da){var _0x59fbdf=_0x20ac8b;_0x423861()(_0x5c3bd5,_0x59a6da);var _0x4c8a3a=_0x2d8561(_0x5c3bd5);function _0x5c3bd5(){var _0x214ddd=a0_0x4a13,_0x1ffecb,_0x3047ed=arguments['length']>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x415de3()(this,_0x5c3bd5),(_0x1ffecb=_0x4c8a3a[_0x214ddd(0x22a)](this,_0x3047ed))[_0x214ddd(0x2a5)]=_0x28dc97,_0x1ffecb[_0x214ddd(0x2bd)]=_0x44ed7e,_0x1ffecb[_0x214ddd(0x20e)]=_0x47f8f3,_0x1ffecb['dropRate']=_0x154dfc,_0x1ffecb[_0x214ddd(0x1d2)]=_0x5e74f1,_0x1ffecb['speedFactor']=_0x460456,_0x1ffecb['lineWidth']=_0x5d56b9,_0x3047ed){for(var _0x2f6391 in _0x3047ed)_0x1ffecb[_0x2f6391]=_0x3047ed[_0x2f6391];}return _0x1ffecb;}return _0x32a78c()(_0x5c3bd5,[{'key':_0x59fbdf(0x25f),'get':function(){return this['primitives'];}},{'key':_0x59fbdf(0x1dd),'value':function(){}},{'key':_0x59fbdf(0x1bb),'value':function(){var _0x275c18=_0x59fbdf;this[_0x275c18(0x2a3)]=this[_0x275c18(0x204)][_0x275c18(0x2a3)],this[_0x275c18(0x1e8)]=this[_0x275c18(0x204)][_0x275c18(0x1e8)],this['primitives']=new _0x304681['PrimitiveCollection'](),this['_map'][_0x275c18(0x2a3)]['primitives']['add'](this[_0x275c18(0x2d5)]),this['viewerParameters']={'lonRange':new _0x304681[(_0x275c18(0x23f))](),'latRange':new _0x304681['Cartesian2'](),'pixelSize':0x0},this[_0x275c18(0x22e)]=new _0x304681['BoundingSphere'](_0x304681['Cartesian3']['ZERO'],6314355.63),this[_0x275c18(0x1a4)](),window[_0x275c18(0x249)]('resize',this[_0x275c18(0x2c1)][_0x275c18(0x251)](this),!0x1),this[_0x275c18(0x206)]=!0x1,this[_0x275c18(0x1f6)]=!0x1,this[_0x275c18(0x204)]['on'](_0x4c2a34[_0x275c18(0x2c2)]['wheel'],this[_0x275c18(0x2ab)],this),this[_0x275c18(0x204)]['on'](_0x4c2a34['EventType'][_0x275c18(0x258)],this['_onMouseDownEvent'],this),this[_0x275c18(0x204)]['on'](_0x4c2a34[_0x275c18(0x2c2)][_0x275c18(0x1d3)],this[_0x275c18(0x2a7)],this),this[_0x275c18(0x204)]['on'](_0x4c2a34[_0x275c18(0x2c2)]['mouseMove'],this['_onMouseMoveEvent'],this);}},{'key':'_removedHook','value':function(){var _0x1716e4=_0x59fbdf;window['removeEventListener'](_0x1716e4(0x2c1),this[_0x1716e4(0x2c1)]),this[_0x1716e4(0x204)]['off'](_0x4c2a34[_0x1716e4(0x2c2)]['preRender'],this[_0x1716e4(0x296)],this),this['_map'][_0x1716e4(0x1b0)](_0x4c2a34[_0x1716e4(0x2c2)]['wheel'],this[_0x1716e4(0x2ab)],this),this[_0x1716e4(0x204)][_0x1716e4(0x1b0)](_0x4c2a34[_0x1716e4(0x2c2)][_0x1716e4(0x258)],this['_onMouseDownEvent'],this),this[_0x1716e4(0x204)][_0x1716e4(0x1b0)](_0x4c2a34[_0x1716e4(0x2c2)][_0x1716e4(0x1d3)],this['_onMouseUpEvent'],this),this['_map']['off'](_0x4c2a34[_0x1716e4(0x2c2)][_0x1716e4(0x24f)],this[_0x1716e4(0x2dd)],this),this['primitives']['removeAll'](),this['_map'][_0x1716e4(0x2a3)][_0x1716e4(0x2d5)][_0x1716e4(0x1d9)](this['primitives']);}},{'key':_0x59fbdf(0x2c1),'value':function(){var _0x5c6e87=_0x59fbdf;this[_0x5c6e87(0x203)]&&this[_0x5c6e87(0x2cd)]&&(this['primitives'][_0x5c6e87(0x203)]=!0x1,this[_0x5c6e87(0x2d5)][_0x5c6e87(0x2f6)](),this[_0x5c6e87(0x204)][_0x5c6e87(0x2cf)](_0x4c2a34[_0x5c6e87(0x2c2)][_0x5c6e87(0x1ee)],this['_onMap_preRenderEvent'],this));}},{'key':_0x59fbdf(0x296),'value':function(_0xb70aee){var _0x4b6e25=_0x59fbdf;this[_0x4b6e25(0x2cd)][_0x4b6e25(0x280)](this[_0x4b6e25(0x2a3)][_0x4b6e25(0x22d)]),this[_0x4b6e25(0x291)](),this[_0x4b6e25(0x2d5)][_0x4b6e25(0x203)]=!0x0;}},{'key':_0x59fbdf(0x2ab),'value':function(_0x1d7a6d){var _0x5e773c=_0x59fbdf,_0x295833=this;clearTimeout(this[_0x5e773c(0x263)]),this[_0x5e773c(0x203)]&&this[_0x5e773c(0x2cd)]&&(this[_0x5e773c(0x2d5)]['show']=!0x1,this[_0x5e773c(0x263)]=setTimeout(function(){var _0x2b83d0=_0x5e773c;_0x295833[_0x2b83d0(0x203)]&&_0x295833['redraw']();},0xc8));}},{'key':_0x59fbdf(0x226),'value':function(_0x13704f){this['mouse_down']=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x5d8087){var _0x13e153=_0x59fbdf;this[_0x13e153(0x203)]&&this['particleSystem']&&this[_0x13e153(0x206)]&&(this[_0x13e153(0x2d5)][_0x13e153(0x203)]=!0x1,this[_0x13e153(0x1f6)]=!0x0);}},{'key':_0x59fbdf(0x2a7),'value':function(_0x3e1da4){var _0x37e2af=_0x59fbdf;this[_0x37e2af(0x203)]&&this[_0x37e2af(0x2cd)]&&(this[_0x37e2af(0x206)]&&this['mouse_move']&&this[_0x37e2af(0x1fe)](),this[_0x37e2af(0x2d5)][_0x37e2af(0x203)]=!0x0,this[_0x37e2af(0x206)]=!0x1,this[_0x37e2af(0x1f6)]=!0x1);}},{'key':_0x59fbdf(0x1fe),'value':function(){var _0x5c5fc0=_0x59fbdf;this[_0x5c5fc0(0x204)]&&this[_0x5c5fc0(0x203)]&&(this[_0x5c5fc0(0x1a4)](),this['particleSystem'][_0x5c5fc0(0x1f0)](this[_0x5c5fc0(0x1d0)]),this['primitives'][_0x5c5fc0(0x203)]=!0x0);}},{'key':'setData','value':function(_0x23787f){var _0x1ea121=_0x59fbdf;this[_0x1ea121(0x2cd)]=new _0x23540b(this[_0x1ea121(0x2a3)]['context'],_0x23787f,this['getUserInput'](),this[_0x1ea121(0x1d0)]),this[_0x1ea121(0x291)]();}},{'key':_0x59fbdf(0x1be),'value':function(_0x563579){var _0x51ff2a=_0x59fbdf;if(_0x563579){for(var _0x53e105 in _0x563579)this[_0x53e105]=_0x563579[_0x53e105];}return this[_0x51ff2a(0x2cd)]&&this[_0x51ff2a(0x2cd)][_0x51ff2a(0x2ea)](this[_0x51ff2a(0x292)]()),this;}},{'key':'getUserInput','value':function(){var _0x5156fc=_0x59fbdf,_0xf25269=Math['ceil'](Math[_0x5156fc(0x1de)](this[_0x5156fc(0x2a5)]));return this[_0x5156fc(0x2a5)]=_0xf25269*_0xf25269,{'particlesTextureSize':_0xf25269,'maxParticles':this[_0x5156fc(0x2a5)],'particleHeight':this[_0x5156fc(0x2bd)],'fadeOpacity':this['fadeOpacity'],'dropRate':this[_0x5156fc(0x1a0)],'dropRateBump':this[_0x5156fc(0x1d2)],'speedFactor':this[_0x5156fc(0x25d)],'lineWidth':this[_0x5156fc(0x1eb)],'globeLayer':this[_0x5156fc(0x1ce)],'WMS_URL':this[_0x5156fc(0x294)]};}},{'key':_0x59fbdf(0x291),'value':function(){var _0x2a2ec8=_0x59fbdf;this['primitives']['add'](this[_0x2a2ec8(0x2cd)][_0x2a2ec8(0x28e)][_0x2a2ec8(0x2d5)][_0x2a2ec8(0x2c9)]),this[_0x2a2ec8(0x2d5)]['add'](this[_0x2a2ec8(0x2cd)]['particlesComputing']['primitives'][_0x2a2ec8(0x19a)]),this[_0x2a2ec8(0x2d5)][_0x2a2ec8(0x2ef)](this['particleSystem']['particlesComputing'][_0x2a2ec8(0x2d5)]['updatePosition']),this[_0x2a2ec8(0x2d5)][_0x2a2ec8(0x2ef)](this[_0x2a2ec8(0x2cd)][_0x2a2ec8(0x28e)][_0x2a2ec8(0x2d5)][_0x2a2ec8(0x19c)]),this[_0x2a2ec8(0x2d5)][_0x2a2ec8(0x2ef)](this[_0x2a2ec8(0x2cd)]['particlesComputing']['primitives']['postProcessingSpeed']),this[_0x2a2ec8(0x2d5)][_0x2a2ec8(0x2ef)](this[_0x2a2ec8(0x2cd)][_0x2a2ec8(0x1aa)][_0x2a2ec8(0x2d5)][_0x2a2ec8(0x227)]),this['primitives'][_0x2a2ec8(0x2ef)](this[_0x2a2ec8(0x2cd)]['particlesRendering'][_0x2a2ec8(0x2d5)][_0x2a2ec8(0x1da)]),this[_0x2a2ec8(0x2d5)]['add'](this[_0x2a2ec8(0x2cd)][_0x2a2ec8(0x1aa)]['primitives'][_0x2a2ec8(0x2c0)]);}},{'key':_0x59fbdf(0x1a4),'value':function(){var _0x506abe=_0x59fbdf,_0x1a7a50=this[_0x506abe(0x1e8)][_0x506abe(0x192)](this[_0x506abe(0x2a3)][_0x506abe(0x209)]['ellipsoid']);if(!_0x1a7a50){var _0x5be83f=this['_map'][_0x506abe(0x1f7)]();_0x1a7a50=_0x304681[_0x506abe(0x221)][_0x506abe(0x24a)](_0x5be83f['xmin'],_0x5be83f[_0x506abe(0x1c5)],_0x5be83f[_0x506abe(0x1ae)],_0x5be83f[_0x506abe(0x1a3)]);}var _0x285760=_0x8683c2[_0x506abe(0x21f)](_0x1a7a50);this[_0x506abe(0x1d0)][_0x506abe(0x1d5)]['x']=_0x285760[_0x506abe(0x29e)][_0x506abe(0x246)],this[_0x506abe(0x1d0)][_0x506abe(0x1d5)]['y']=_0x285760[_0x506abe(0x29e)][_0x506abe(0x1f8)],this[_0x506abe(0x1d0)][_0x506abe(0x23d)]['x']=_0x285760[_0x506abe(0x283)][_0x506abe(0x246)],this['viewerParameters'][_0x506abe(0x23d)]['y']=_0x285760['lat'][_0x506abe(0x1f8)];var _0x377433=this[_0x506abe(0x1e8)][_0x506abe(0x208)](this[_0x506abe(0x22e)],this[_0x506abe(0x2a3)][_0x506abe(0x1e2)],this['scene']['drawingBufferHeight']);_0x377433>0x0&&(this[_0x506abe(0x1d0)][_0x506abe(0x245)]=_0x377433);}}]),_0x5c3bd5;}(_0x5adb11);_0x4c2a34[_0x20ac8b(0x218)][_0x20ac8b(0x2d4)](_0x20ac8b(0x264),_0x441644),_0x4c2a34[_0x20ac8b(0x25f)]['WindLayer']=_0x441644;var _0x1e43e6=function _0x2b3bb9(){var _0x50cfd6=_0x20ac8b;_0x415de3()(this,_0x2b3bb9),this[_0x50cfd6(0x2b9)]=null,this[_0x50cfd6(0x283)]=null,this[_0x50cfd6(0x299)]=null,this[_0x50cfd6(0x2a2)]=null,this[_0x50cfd6(0x1b1)]=null;},_0x41dc7e=function(){var _0xba1e1f=_0x20ac8b;function _0x39a4a4(_0x54e48f,_0x4a6b69){var _0x29b1ab=a0_0x4a13;_0x415de3()(this,_0x39a4a4),this[_0x29b1ab(0x2d6)]=_0x54e48f[_0x29b1ab(0x2d6)],this[_0x29b1ab(0x1dc)]=_0x54e48f[_0x29b1ab(0x1dc)],this['xmin']=_0x54e48f[_0x29b1ab(0x222)],this[_0x29b1ab(0x1ae)]=_0x54e48f[_0x29b1ab(0x1ae)],this[_0x29b1ab(0x1c5)]=_0x54e48f['ymin'],this[_0x29b1ab(0x1a3)]=_0x54e48f['ymax'],this['grid']=[];var _0x14e758=_0x54e48f[_0x29b1ab(0x2c7)],_0x646d61=_0x54e48f[_0x29b1ab(0x23a)],_0x2b6d93=!0x1;_0x14e758[_0x29b1ab(0x196)]===this[_0x29b1ab(0x2d6)]&&_0x14e758[0x0][_0x29b1ab(0x196)]===this[_0x29b1ab(0x1dc)]&&(_0x2b6d93=!0x0);for(var _0x3cb536=0x0,_0x3ea947=null,_0x2d3935=null,_0x160a08=0x0;_0x160a08<this['rows'];_0x160a08++){_0x3ea947=[];for(var _0x52ede9=0x0;_0x52ede9<this[_0x29b1ab(0x1dc)];_0x52ede9++,_0x3cb536++)_0x2d3935=_0x2b6d93?this[_0x29b1ab(0x230)](_0x14e758[_0x160a08][_0x52ede9],_0x646d61[_0x160a08][_0x52ede9]):this[_0x29b1ab(0x230)](_0x14e758[_0x3cb536],_0x646d61[_0x3cb536]),_0x3ea947[_0x29b1ab(0x28c)](_0x2d3935);this[_0x29b1ab(0x215)][_0x29b1ab(0x28c)](_0x3ea947);}_0x4a6b69&&this[_0x29b1ab(0x215)][_0x29b1ab(0x199)]();}return _0x32a78c()(_0x39a4a4,[{'key':'toGridXY','value':function(_0x3ecdc4,_0x401768){var _0x3fbb8f=a0_0x4a13;return{'x':(_0x3ecdc4-this[_0x3fbb8f(0x222)])/(this[_0x3fbb8f(0x1ae)]-this[_0x3fbb8f(0x222)])*(this['cols']-0x1),'y':(this[_0x3fbb8f(0x1a3)]-_0x401768)/(this['ymax']-this['ymin'])*(this['rows']-0x1)};}},{'key':_0xba1e1f(0x220),'value':function(_0x503c8e,_0x11c504){var _0xfaf0e1=_0xba1e1f;if(_0x503c8e<0x0||_0x503c8e>=this[_0xfaf0e1(0x1dc)]||_0x11c504>=this['rows'])return[0x0,0x0,0x0];var _0x23339d,_0x324904,_0x385af2=Math['floor'](_0x503c8e),_0x48b2da=Math[_0xfaf0e1(0x1b2)](_0x11c504);if(_0x385af2===_0x503c8e&&_0x48b2da===_0x11c504)return this[_0xfaf0e1(0x215)][_0x11c504][_0x503c8e];_0x23339d=_0x385af2+0x1,_0x324904=_0x48b2da+0x1;var _0x35ba28=this['getUVByXY'](_0x385af2,_0x48b2da),_0x50a85e=this[_0xfaf0e1(0x220)](_0x23339d,_0x48b2da),_0x415ab6=this[_0xfaf0e1(0x220)](_0x385af2,_0x324904),_0x17b788=this[_0xfaf0e1(0x220)](_0x23339d,_0x324904),_0x45fe27=null;try{_0x45fe27=this[_0xfaf0e1(0x29a)](_0x503c8e-_0x385af2,_0x11c504-_0x48b2da,_0x35ba28,_0x50a85e,_0x415ab6,_0x17b788);}catch(_0x354e90){console[_0xfaf0e1(0x228)](_0x503c8e,_0x11c504);}return _0x45fe27;}},{'key':_0xba1e1f(0x29a),'value':function(_0xbd3f03,_0x2f2a2e,_0x19a6ad,_0x1ed1ea,_0x1217c8,_0x248576){var _0xe3ffd0=0x1-_0xbd3f03,_0x128b6d=0x1-_0x2f2a2e,_0x151848=_0xe3ffd0*_0x128b6d,_0x392306=_0xbd3f03*_0x128b6d,_0x3ad69f=_0xe3ffd0*_0x2f2a2e,_0x1db06f=_0xbd3f03*_0x2f2a2e,_0xd32004=_0x19a6ad[0x0]*_0x151848+_0x1ed1ea[0x0]*_0x392306+_0x1217c8[0x0]*_0x3ad69f+_0x248576[0x0]*_0x1db06f,_0x37ac67=_0x19a6ad[0x1]*_0x151848+_0x1ed1ea[0x1]*_0x392306+_0x1217c8[0x1]*_0x3ad69f+_0x248576[0x1]*_0x1db06f;return this['_calcUV'](_0xd32004,_0x37ac67);}},{'key':_0xba1e1f(0x230),'value':function(_0x585cb9,_0xc7ff0b){var _0x56514c=_0xba1e1f;return[+_0x585cb9,+_0xc7ff0b,Math[_0x56514c(0x1de)](_0x585cb9*_0x585cb9+_0xc7ff0b*_0xc7ff0b)];}},{'key':_0xba1e1f(0x29d),'value':function(_0x422211,_0x1a7204){var _0x21e338=_0xba1e1f;if(!this[_0x21e338(0x25c)](_0x422211,_0x1a7204))return null;var _0x2f157d=this['toGridXY'](_0x422211,_0x1a7204);return this[_0x21e338(0x220)](_0x2f157d['x'],_0x2f157d['y']);}},{'key':'isInExtent','value':function(_0x26546b,_0x10c6da){var _0x5d9c98=_0xba1e1f;return _0x26546b>=this[_0x5d9c98(0x222)]&&_0x26546b<=this[_0x5d9c98(0x1ae)]&&_0x10c6da>=this[_0x5d9c98(0x1c5)]&&_0x10c6da<=this[_0x5d9c98(0x1a3)];}},{'key':_0xba1e1f(0x1ca),'value':function(){var _0x3170c7=_0xba1e1f,_0x4df9fa=_0x48e128(this[_0x3170c7(0x222)],this['xmax']);return{'lat':_0x48e128(this[_0x3170c7(0x1c5)],this[_0x3170c7(0x1a3)]),'lng':_0x4df9fa};}}]),_0x39a4a4;}();function _0x48e128(_0x2dd29a,_0x3da7a7){return _0x2dd29a+Math['random']()*(_0x3da7a7-_0x2dd29a);}function _0x3aa6de(_0x3aad60){var _0x120fcf=function(){var _0xac4796=a0_0x4a13;if('undefined'==typeof Reflect||!Reflect[_0xac4796(0x1c1)])return!0x1;if(Reflect[_0xac4796(0x1c1)][_0xac4796(0x2e8)])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0xac4796(0x271)][_0xac4796(0x1b9)][_0xac4796(0x22a)](Reflect[_0xac4796(0x1c1)](Boolean,[],function(){})),!0x0;}catch(_0x3e1c1a){return!0x1;}}();return function(){var _0x4b91e3=a0_0x4a13,_0x22b05a,_0x55fee2=_0x20ccf7()(_0x3aad60);if(_0x120fcf){var _0x5e161f=_0x20ccf7()(this)['constructor'];_0x22b05a=Reflect[_0x4b91e3(0x1c1)](_0x55fee2,arguments,_0x5e161f);}else _0x22b05a=_0x55fee2[_0x4b91e3(0x23c)](this,arguments);return _0x1cbcc7()(this,_0x22b05a);};}var _0x370c2f=function(_0x512bce){var _0x285353=_0x20ac8b;_0x423861()(_0x7a9c14,_0x512bce);var _0x307030=_0x3aa6de(_0x7a9c14);function _0x7a9c14(){var _0x11f425=a0_0x4a13,_0x146739,_0x4e021e=arguments[_0x11f425(0x196)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x415de3()(this,_0x7a9c14),(_0x146739=_0x307030['call'](this,_0x4e021e))[_0x11f425(0x20c)]=[0x0,0x0],_0x146739[_0x11f425(0x2a8)]=[],_0x146739['speedRate']=_0x4e021e['speedRate']||0x32,_0x146739['_particlesNumber']=_0x4e021e[_0x11f425(0x21a)]||0x4e20,_0x146739[_0x11f425(0x1a6)]=_0x4e021e[_0x11f425(0x20b)]||0x78,_0x146739[_0x11f425(0x1d6)]=0x3e8/(_0x4e021e['frameRate']||0xa),_0x146739[_0x11f425(0x1c7)]=_0x304681['defaultValue'](_0x146739['options'][_0x11f425(0x1e7)],!0x1),_0x146739[_0x11f425(0x290)]=_0x4e021e['color']||'#ffffff',_0x146739['lineWidth']=_0x4e021e[_0x11f425(0x1eb)]||0x1,_0x146739[_0x11f425(0x297)]=_0x304681[_0x11f425(0x262)](_0x4e021e[_0x11f425(0x297)],0x0),_0x146739[_0x11f425(0x2ad)]=_0x304681[_0x11f425(0x262)](_0x4e021e[_0x11f425(0x2ad)],!0x1),_0x146739[_0x11f425(0x2af)]=null,_0x146739;}return _0x32a78c()(_0x7a9c14,[{'key':_0x285353(0x25f),'get':function(){var _0x2958d6=_0x285353;return this[_0x2958d6(0x2af)];}},{'key':'canvasWidth','get':function(){var _0x408498=_0x285353;return this['_map'][_0x408498(0x2a3)][_0x408498(0x2af)][_0x408498(0x268)];}},{'key':_0x285353(0x298),'get':function(){var _0x50486a=_0x285353;return this[_0x50486a(0x204)][_0x50486a(0x2a3)][_0x50486a(0x2af)][_0x50486a(0x1fd)];}},{'key':_0x285353(0x1e7),'get':function(){var _0x3f921d=_0x285353;return this[_0x3f921d(0x1c7)];},'set':function(_0x4fc1ce){var _0xf4d50d=_0x285353;this[_0xf4d50d(0x1c7)]=_0x4fc1ce,this[_0xf4d50d(0x2af)]&&(this['canvas'][_0xf4d50d(0x244)][_0xf4d50d(0x193)]=_0x4fc1ce?'all':'none');}},{'key':'speedRate','get':function(){return this['_speedRate'];},'set':function(_0x46a379){var _0x45fdad=_0x285353;this['_speedRate']=0x64*(0x64-(_0x46a379>0x63?0x63:_0x46a379)),this[_0x45fdad(0x260)]();}},{'key':_0x285353(0x21a),'get':function(){var _0x1cce26=_0x285353;return this[_0x1cce26(0x1f2)];},'set':function(_0x5775d1){var _0x5aa7d3=_0x285353,_0xf99182=this;this[_0x5aa7d3(0x1f2)]=_0x5775d1,clearTimeout(this[_0x5aa7d3(0x25b)]),this[_0x5aa7d3(0x25b)]=setTimeout(function(){var _0x5c4fb6=_0x5aa7d3;_0xf99182[_0x5c4fb6(0x1fe)]();},0x1f4);}},{'key':_0x285353(0x20b),'get':function(){var _0x161f76=_0x285353;return this[_0x161f76(0x1a6)];},'set':function(_0x12c71e){var _0x1acf9e=_0x285353,_0x575c26=this;this[_0x1acf9e(0x1a6)]=_0x12c71e,clearTimeout(this[_0x1acf9e(0x25b)]),this[_0x1acf9e(0x25b)]=setTimeout(function(){var _0x2b8013=_0x1acf9e;_0x575c26[_0x2b8013(0x1fe)]();},0x1f4);}},{'key':_0x285353(0x1ef),'get':function(){return this['windData'];},'set':function(_0x5b2ce7){var _0x3ad2fd=_0x285353;this[_0x3ad2fd(0x1b4)](_0x5b2ce7);}},{'key':_0x285353(0x242),'value':function(_0x450ed5){var _0x42ca00=_0x285353;_0x450ed5?this[_0x42ca00(0x1bb)]():(this[_0x42ca00(0x25a)]&&(this[_0x42ca00(0x1a2)][_0x42ca00(0x1ef)]=this[_0x42ca00(0x25a)]),this['_removedHook']());}},{'key':'_mountedHook','value':function(){}},{'key':_0x285353(0x1bb),'value':function(){var _0x2b616e=_0x285353;this[_0x2b616e(0x2af)]=this[_0x2b616e(0x2e9)](),this[_0x2b616e(0x252)]=this['canvas'][_0x2b616e(0x198)]('2d'),this['bindEvent'](),this['options'][_0x2b616e(0x1ef)]&&this['updateDate'](this[_0x2b616e(0x1a2)][_0x2b616e(0x1ef)]);}},{'key':_0x285353(0x2f2),'value':function(){var _0x22ebd9=_0x285353;this[_0x22ebd9(0x295)](),this[_0x22ebd9(0x2d8)](),this['canvas']&&(this['_map'][_0x22ebd9(0x2b4)][_0x22ebd9(0x200)](this['canvas']),delete this[_0x22ebd9(0x2af)]);}},{'key':'_createCanvas','value':function(){var _0x2b9ae2=_0x285353,_0x30db17=document[_0x2b9ae2(0x2ba)](_0x2b9ae2(0x2af));_0x30db17[_0x2b9ae2(0x244)][_0x2b9ae2(0x2dc)]=_0x2b9ae2(0x1ab),_0x30db17[_0x2b9ae2(0x244)]['top']='0px',_0x30db17[_0x2b9ae2(0x244)][_0x2b9ae2(0x1ff)]='0px',_0x30db17['style'][_0x2b9ae2(0x26d)]=_0x2b9ae2(0x22f),_0x30db17['style']['height']=_0x2b9ae2(0x22f),_0x30db17[_0x2b9ae2(0x244)][_0x2b9ae2(0x1e7)]=this[_0x2b9ae2(0x1c7)]?_0x2b9ae2(0x225):_0x2b9ae2(0x2be),_0x30db17['style'][_0x2b9ae2(0x1d4)]=0xa,_0x30db17[_0x2b9ae2(0x259)]('id',_0x2b9ae2(0x2f0)),_0x30db17[_0x2b9ae2(0x259)]('class','canvasWindy'),this['_map'][_0x2b9ae2(0x2b4)]['appendChild'](_0x30db17);var _0x3e1be1=this[_0x2b9ae2(0x204)][_0x2b9ae2(0x2a3)];return _0x30db17[_0x2b9ae2(0x26d)]=_0x3e1be1['canvas'][_0x2b9ae2(0x268)],_0x30db17[_0x2b9ae2(0x231)]=_0x3e1be1['canvas']['clientHeight'],_0x30db17;}},{'key':_0x285353(0x2c1),'value':function(){var _0x4744bf=_0x285353;this[_0x4744bf(0x2af)]&&(this[_0x4744bf(0x2af)]['width']=this[_0x4744bf(0x261)],this[_0x4744bf(0x2af)][_0x4744bf(0x231)]=this['canvasHeight']);}},{'key':'bindEvent','value':function(){var _0x4fe0c9=_0x285353,_0x5bbd7e=this,_0x4e207e=Date[_0x4fe0c9(0x1e3)]();!function _0x529d58(){var _0x1e0cc4=_0x4fe0c9;_0x5bbd7e[_0x1e0cc4(0x217)]=window[_0x1e0cc4(0x2e2)](_0x529d58);var _0x50e0c2=Date['now'](),_0x9c2251=_0x50e0c2-_0x4e207e;_0x9c2251>_0x5bbd7e[_0x1e0cc4(0x1d6)]&&(_0x4e207e=_0x50e0c2-_0x9c2251%_0x5bbd7e['frameTime'],_0x5bbd7e[_0x1e0cc4(0x2b1)]());}(),window[_0x4fe0c9(0x249)]('resize',this[_0x4fe0c9(0x2c1)][_0x4fe0c9(0x251)](this),!0x1),this[_0x4fe0c9(0x206)]=!0x1,this[_0x4fe0c9(0x1f6)]=!0x1,this[_0x4fe0c9(0x204)]['on'](_0x4c2a34[_0x4fe0c9(0x2c2)][_0x4fe0c9(0x257)],this[_0x4fe0c9(0x2ab)],this),this[_0x4fe0c9(0x204)]['on'](_0x4c2a34[_0x4fe0c9(0x2c2)][_0x4fe0c9(0x258)],this[_0x4fe0c9(0x226)],this),this[_0x4fe0c9(0x204)]['on'](_0x4c2a34[_0x4fe0c9(0x2c2)][_0x4fe0c9(0x1d3)],this['_onMouseUpEvent'],this),this[_0x4fe0c9(0x204)]['on'](_0x4c2a34[_0x4fe0c9(0x2c2)][_0x4fe0c9(0x24f)],this['_onMouseMoveEvent'],this);}},{'key':_0x285353(0x2d8),'value':function(){var _0x4b2fee=_0x285353;window['cancelAnimationFrame'](this['animateFrame']),delete this[_0x4b2fee(0x217)],window[_0x4b2fee(0x1bf)](_0x4b2fee(0x2c1),this[_0x4b2fee(0x2c1)]),this[_0x4b2fee(0x204)]['off'](_0x4c2a34[_0x4b2fee(0x2c2)][_0x4b2fee(0x257)],this['_onMapWhellEvent'],this),this['_map'][_0x4b2fee(0x1b0)](_0x4c2a34['EventType']['mouseDown'],this[_0x4b2fee(0x226)],this),this[_0x4b2fee(0x204)][_0x4b2fee(0x1b0)](_0x4c2a34[_0x4b2fee(0x2c2)]['mouseUp'],this[_0x4b2fee(0x2a7)],this),this[_0x4b2fee(0x204)][_0x4b2fee(0x1b0)](_0x4c2a34[_0x4b2fee(0x2c2)][_0x4b2fee(0x24f)],this[_0x4b2fee(0x2dd)],this);}},{'key':_0x285353(0x2ab),'value':function(_0x37c27c){var _0x516ab5=_0x285353,_0x16b2b1=this;clearTimeout(this[_0x516ab5(0x263)]),this[_0x516ab5(0x203)]&&this[_0x516ab5(0x2af)]&&(this[_0x516ab5(0x2af)][_0x516ab5(0x244)][_0x516ab5(0x2ec)]=_0x516ab5(0x2fc),this[_0x516ab5(0x263)]=setTimeout(function(){var _0x5bae29=_0x516ab5;_0x16b2b1[_0x5bae29(0x203)]&&(_0x16b2b1[_0x5bae29(0x1fe)](),_0x16b2b1['canvas'][_0x5bae29(0x244)][_0x5bae29(0x2ec)]=_0x5bae29(0x2c3));},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x4d9d57){var _0x1b7a99=_0x285353;this[_0x1b7a99(0x206)]=!0x0;}},{'key':_0x285353(0x2dd),'value':function(_0x983ae1){var _0x3344ea=_0x285353;this['show']&&this[_0x3344ea(0x2af)]&&this[_0x3344ea(0x206)]&&(this[_0x3344ea(0x2af)]['style']['visibility']=_0x3344ea(0x2fc),this[_0x3344ea(0x1f6)]=!0x0);}},{'key':_0x285353(0x2a7),'value':function(_0x873920){var _0x267250=_0x285353;this[_0x267250(0x203)]&&this[_0x267250(0x2af)]&&(this[_0x267250(0x206)]&&this[_0x267250(0x1f6)]&&this[_0x267250(0x1fe)](),this[_0x267250(0x2af)][_0x267250(0x244)][_0x267250(0x2ec)]=_0x267250(0x2c3),this[_0x267250(0x206)]=!0x1,this['mouse_move']=!0x1);}},{'key':'redraw','value':function(){var _0x14ed35=_0x285353;this[_0x14ed35(0x203)]&&this[_0x14ed35(0x2fb)]&&(this[_0x14ed35(0x2a8)]=[],this[_0x14ed35(0x21e)]());}},{'key':_0x285353(0x1b4),'value':function(_0x1db0e2){var _0x4ddb54=_0x285353;this[_0x4ddb54(0x295)](),this[_0x4ddb54(0x25a)]=_0x1db0e2,this[_0x4ddb54(0x2fb)]=new _0x41dc7e(this[_0x4ddb54(0x25a)],this[_0x4ddb54(0x2ad)]),this[_0x4ddb54(0x21e)]();}},{'key':'drawWind','value':function(){var _0x5f114c=_0x285353;this['_calcStep']();for(var _0x356cd9=0x0;_0x356cd9<this['particlesNumber'];_0x356cd9++){var _0xf8c4c8=this[_0x5f114c(0x23b)](new _0x1e43e6());this['particles']['push'](_0xf8c4c8);}this[_0x5f114c(0x252)][_0x5f114c(0x2bc)]=_0x5f114c(0x1f3),this[_0x5f114c(0x252)][_0x5f114c(0x253)]=0.6,this[_0x5f114c(0x2b1)]();}},{'key':_0x285353(0x260),'value':function(){var _0x2bcb89=_0x285353;this['windField']&&(this[_0x2bcb89(0x20c)]=[(this['windField'][_0x2bcb89(0x1ae)]-this[_0x2bcb89(0x2fb)][_0x2bcb89(0x222)])/this[_0x2bcb89(0x27e)],(this['windField'][_0x2bcb89(0x1a3)]-this[_0x2bcb89(0x2fb)][_0x2bcb89(0x1c5)])/this[_0x2bcb89(0x27e)]]);}},{'key':_0x285353(0x2b1),'value':function(){var _0x4d43cd=_0x285353,_0x80b2ea=this;if(this[_0x4d43cd(0x203)]&&!(this['particles'][_0x4d43cd(0x196)]<=0x0)){var _0x31ef19=null,_0x4dde63=null,_0x39daab=null;this[_0x4d43cd(0x2a8)]['forEach'](function(_0x3cf799){var _0x3f5260=_0x4d43cd;if(_0x3cf799[_0x3f5260(0x1b1)]<=0x0&&_0x80b2ea[_0x3f5260(0x23b)](_0x3cf799),_0x3cf799[_0x3f5260(0x1b1)]>0x0){var _0x3e8c0f=_0x3cf799[_0x3f5260(0x299)],_0x660c4f=_0x3cf799[_0x3f5260(0x2a2)];(_0x39daab=_0x80b2ea[_0x3f5260(0x2fb)][_0x3f5260(0x29d)](_0x3e8c0f,_0x660c4f))?(_0x31ef19=_0x3e8c0f+_0x80b2ea[_0x3f5260(0x20c)][0x0]*_0x39daab[0x0],_0x4dde63=_0x660c4f+_0x80b2ea['calc_speedRate'][0x1]*_0x39daab[0x1],_0x3cf799[_0x3f5260(0x2b9)]=_0x3e8c0f,_0x3cf799[_0x3f5260(0x283)]=_0x660c4f,_0x3cf799[_0x3f5260(0x299)]=_0x31ef19,_0x3cf799[_0x3f5260(0x2a2)]=_0x4dde63,_0x3cf799['age']--):_0x3cf799[_0x3f5260(0x1b1)]=0x0;}}),this[_0x4d43cd(0x234)]();}}},{'key':_0x285353(0x2b5),'value':function(_0x134319,_0x484b0d,_0x1d5bb9){var _0x430262=_0x285353,_0x1953a9=_0x304681[_0x430262(0x1bc)][_0x430262(0x24a)](_0x134319,_0x484b0d,this['fixedHeight']),_0x3889fe=this['_map']['scene'];if(_0x3889fe[_0x430262(0x2e0)]===_0x304681[_0x430262(0x2aa)][_0x430262(0x1c4)]&&!new _0x304681[(_0x430262(0x205))](_0x3889fe[_0x430262(0x209)][_0x430262(0x26e)],_0x3889fe[_0x430262(0x1e8)]['positionWC'])[_0x430262(0x288)](_0x1953a9))return _0x1d5bb9[_0x430262(0x1b1)]=0x0,null;var _0x1568be=_0x304681[_0x430262(0x256)]['wgs84ToWindowCoordinates'](this['_map'][_0x430262(0x2a3)],_0x1953a9);return _0x1568be?[_0x1568be['x'],_0x1568be['y']]:null;}},{'key':_0x285353(0x234),'value':function(){var _0x282d04=_0x285353,_0x4ded5a=this,_0x1f0fba=this[_0x282d04(0x2a8)];this[_0x282d04(0x252)][_0x282d04(0x1eb)]=_0x4ded5a[_0x282d04(0x1eb)],this[_0x282d04(0x252)][_0x282d04(0x232)]=_0x282d04(0x211),this[_0x282d04(0x252)]['fillRect'](0x0,0x0,this[_0x282d04(0x261)],this[_0x282d04(0x298)]),this[_0x282d04(0x252)]['globalCompositeOperation']=_0x282d04(0x2a6),this[_0x282d04(0x252)]['globalAlpha']=0.9,this[_0x282d04(0x252)][_0x282d04(0x1db)](),this[_0x282d04(0x252)][_0x282d04(0x2cc)]=this[_0x282d04(0x290)];var _0x1b7155=this[_0x282d04(0x204)][_0x282d04(0x2a3)][_0x282d04(0x2e0)]!==_0x304681['SceneMode'][_0x282d04(0x1c4)];_0x1f0fba[_0x282d04(0x2d2)](function(_0x13ca96){var _0x3cc4da=_0x282d04,_0x8afe65=_0x4ded5a[_0x3cc4da(0x2b5)](_0x13ca96['lng'],_0x13ca96[_0x3cc4da(0x283)],_0x13ca96),_0x2dfe57=_0x4ded5a['_tomap'](_0x13ca96[_0x3cc4da(0x299)],_0x13ca96[_0x3cc4da(0x2a2)],_0x13ca96);if(null!=_0x8afe65&&null!=_0x2dfe57){var _0x1dc472=Math[_0x3cc4da(0x239)](_0x8afe65[0x0]-_0x2dfe57[0x0]);_0x1b7155&&_0x1dc472>=_0x4ded5a['canvasWidth']||(_0x4ded5a['canvasContext'][_0x3cc4da(0x1a1)](_0x8afe65[0x0],_0x8afe65[0x1]),_0x4ded5a[_0x3cc4da(0x252)]['lineTo'](_0x2dfe57[0x0],_0x2dfe57[0x1]));}}),this['canvasContext'][_0x282d04(0x26c)]();}},{'key':_0x285353(0x23b),'value':function(_0x4e8eb1){var _0x2e1058=_0x285353;for(var _0x1e7681,_0x341d4c,_0x26e028=0x0;_0x26e028<0x1e&&(_0x1e7681=this[_0x2e1058(0x2fb)][_0x2e1058(0x1ca)](),!((_0x341d4c=this[_0x2e1058(0x2fb)]['getUVByPoint'](_0x1e7681[_0x2e1058(0x2b9)],_0x1e7681['lat']))&&_0x341d4c[0x2]>0x0));_0x26e028++);if(!_0x341d4c)return _0x4e8eb1;var _0x1ca62e=_0x1e7681['lng']+this[_0x2e1058(0x20c)][0x0]*_0x341d4c[0x0],_0x1b3d08=_0x1e7681[_0x2e1058(0x283)]+this[_0x2e1058(0x20c)][0x1]*_0x341d4c[0x1];return _0x4e8eb1[_0x2e1058(0x2b9)]=_0x1e7681[_0x2e1058(0x2b9)],_0x4e8eb1[_0x2e1058(0x283)]=_0x1e7681['lat'],_0x4e8eb1[_0x2e1058(0x299)]=_0x1ca62e,_0x4e8eb1[_0x2e1058(0x2a2)]=_0x1b3d08,_0x4e8eb1['age']=Math['round'](Math[_0x2e1058(0x22b)]()*this[_0x2e1058(0x20b)]),_0x4e8eb1;}},{'key':_0x285353(0x295),'value':function(){var _0x11632=_0x285353;this[_0x11632(0x2a8)]=[],delete this['windField'],delete this[_0x11632(0x25a)];}}]),_0x7a9c14;}(_0x4c2a34[_0x20ac8b(0x25f)][_0x20ac8b(0x265)]);function _0x4ab0a0(_0x33b097,_0x1c5ffd){var _0x1e65a0=_0x20ac8b;return _0x33b097*Math['cos'](_0x304681[_0x1e65a0(0x250)]['toRadians'](_0x1c5ffd));}function _0x7c44a(_0x12c46b,_0x33fd72){var _0x2aa84a=_0x20ac8b;return _0x12c46b*Math[_0x2aa84a(0x26b)](_0x304681[_0x2aa84a(0x250)][_0x2aa84a(0x219)](_0x33fd72));}function _0xb5f403(_0x582200,_0x2835a4){var _0x384358=_0x20ac8b;return Math[_0x384358(0x1de)](Math[_0x384358(0x28f)](_0x582200,0x2)+Math[_0x384358(0x28f)](_0x2835a4,0x2));}function _0x303754(_0x5d5132,_0x52c20f){var _0x33215d=_0x20ac8b,_0x3966c1=_0x304681[_0x33215d(0x250)][_0x33215d(0x19f)](Math[_0x33215d(0x1af)](_0x52c20f,_0x5d5132));return _0x3966c1+=_0x3966c1<0x0?0x168:0x0;}_0x4c2a34[_0x20ac8b(0x218)][_0x20ac8b(0x2d4)](_0x20ac8b(0x2db),_0x370c2f),_0x4c2a34[_0x20ac8b(0x25f)][_0x20ac8b(0x255)]=_0x370c2f,_0x4c2a34['WindUtil']=_0x8b710b;}]));
|
|
30
|
+
function a0_0x1826(_0x2ede90,_0x2a17f1){var _0x37ae7c=a0_0x37ae();return a0_0x1826=function(_0x182644,_0x437706){_0x182644=_0x182644-0xea;var _0x573096=_0x37ae7c[_0x182644];return _0x573096;},a0_0x1826(_0x2ede90,_0x2a17f1);}var a0_0x451a91=a0_0x1826;(function(_0x35ef33,_0x2c4b1a){var _0x5b2f52=a0_0x1826,_0x5c5bf0=_0x35ef33();while(!![]){try{var _0x7b0be9=parseInt(_0x5b2f52(0x198))/0x1+-parseInt(_0x5b2f52(0x127))/0x2*(-parseInt(_0x5b2f52(0x25a))/0x3)+-parseInt(_0x5b2f52(0x1f8))/0x4+parseInt(_0x5b2f52(0x1a5))/0x5+-parseInt(_0x5b2f52(0x255))/0x6*(-parseInt(_0x5b2f52(0x1c7))/0x7)+-parseInt(_0x5b2f52(0x1cf))/0x8+parseInt(_0x5b2f52(0x251))/0x9*(parseInt(_0x5b2f52(0x12c))/0xa);if(_0x7b0be9===_0x2c4b1a)break;else _0x5c5bf0['push'](_0x5c5bf0['shift']());}catch(_0x508778){_0x5c5bf0['push'](_0x5c5bf0['shift']());}}}(a0_0x37ae,0xe64d5),window[a0_0x451a91(0x12a)]=function(_0x2e95ac){var _0x5d0bf7={};function _0x4dbf09(_0x5c1575){var _0x591d7c=a0_0x1826;if(_0x5d0bf7[_0x5c1575])return _0x5d0bf7[_0x5c1575][_0x591d7c(0xfa)];var _0x52df2c=_0x5d0bf7[_0x5c1575]={'i':_0x5c1575,'l':!0x1,'exports':{}};return _0x2e95ac[_0x5c1575]['call'](_0x52df2c[_0x591d7c(0xfa)],_0x52df2c,_0x52df2c[_0x591d7c(0xfa)],_0x4dbf09),_0x52df2c['l']=!0x0,_0x52df2c[_0x591d7c(0xfa)];}return _0x4dbf09['m']=_0x2e95ac,_0x4dbf09['c']=_0x5d0bf7,_0x4dbf09['d']=function(_0x56307d,_0x8cf086,_0x35d35a){var _0x45db84=a0_0x1826;_0x4dbf09['o'](_0x56307d,_0x8cf086)||Object[_0x45db84(0x1f0)](_0x56307d,_0x8cf086,{'enumerable':!0x0,'get':_0x35d35a});},_0x4dbf09['r']=function(_0x4f7108){var _0x3b48dc=a0_0x1826;'undefined'!=typeof Symbol&&Symbol[_0x3b48dc(0x1f9)]&&Object['defineProperty'](_0x4f7108,Symbol[_0x3b48dc(0x1f9)],{'value':_0x3b48dc(0x13e)}),Object[_0x3b48dc(0x1f0)](_0x4f7108,_0x3b48dc(0x23e),{'value':!0x0});},_0x4dbf09['t']=function(_0x136b10,_0x13b0e6){var _0x18a5ea=a0_0x1826;if(0x1&_0x13b0e6&&(_0x136b10=_0x4dbf09(_0x136b10)),0x8&_0x13b0e6)return _0x136b10;if(0x4&_0x13b0e6&&_0x18a5ea(0x1f1)==typeof _0x136b10&&_0x136b10&&_0x136b10[_0x18a5ea(0x23e)])return _0x136b10;var _0x84a91a=Object[_0x18a5ea(0x1c0)](null);if(_0x4dbf09['r'](_0x84a91a),Object[_0x18a5ea(0x1f0)](_0x84a91a,_0x18a5ea(0x181),{'enumerable':!0x0,'value':_0x136b10}),0x2&_0x13b0e6&&_0x18a5ea(0x16b)!=typeof _0x136b10){for(var _0x52de16 in _0x136b10)_0x4dbf09['d'](_0x84a91a,_0x52de16,function(_0x35b254){return _0x136b10[_0x35b254];}['bind'](null,_0x52de16));}return _0x84a91a;},_0x4dbf09['n']=function(_0x245ba0){var _0x479910=_0x245ba0&&_0x245ba0['__esModule']?function(){return _0x245ba0['default'];}:function(){return _0x245ba0;};return _0x4dbf09['d'](_0x479910,'a',_0x479910),_0x479910;},_0x4dbf09['o']=function(_0x32a543,_0x41a0d2){var _0x1faee3=a0_0x1826;return Object['prototype'][_0x1faee3(0x178)]['call'](_0x32a543,_0x41a0d2);},_0x4dbf09['p']='',_0x4dbf09(_0x4dbf09['s']=0x14);}([function(_0xd0d885,_0x270709){var _0x451b0c=a0_0x451a91;_0xd0d885['exports']=window[_0x451b0c(0x1a9)];},function(_0x406845,_0x36dfbb){var _0x40aea5=a0_0x451a91;_0x406845[_0x40aea5(0xfa)]=window['mars3d'];},function(_0x19467d,_0x5ab3d7){var _0x4e9c8a=a0_0x451a91;_0x19467d[_0x4e9c8a(0xfa)]=function(_0x410d64,_0x33e493){var _0x56d9ec=_0x4e9c8a;if(!(_0x410d64 instanceof _0x33e493))throw new TypeError(_0x56d9ec(0x18a));},_0x19467d[_0x4e9c8a(0xfa)][_0x4e9c8a(0x181)]=_0x19467d['exports'],_0x19467d['exports'][_0x4e9c8a(0x23e)]=!0x0;},function(_0x46b6a3,_0x41018c){var _0x20247e=a0_0x451a91;function _0x33935e(_0x3d9672,_0x35914d){var _0x45aece=a0_0x1826;for(var _0x5c91e5=0x0;_0x5c91e5<_0x35914d[_0x45aece(0x1b8)];_0x5c91e5++){var _0x294f42=_0x35914d[_0x5c91e5];_0x294f42['enumerable']=_0x294f42[_0x45aece(0x1c4)]||!0x1,_0x294f42[_0x45aece(0x19e)]=!0x0,_0x45aece(0x1a0)in _0x294f42&&(_0x294f42[_0x45aece(0x111)]=!0x0),Object['defineProperty'](_0x3d9672,_0x294f42[_0x45aece(0x239)],_0x294f42);}}_0x46b6a3[_0x20247e(0xfa)]=function(_0xeabdec,_0x570af1,_0x1e3917){return _0x570af1&&_0x33935e(_0xeabdec['prototype'],_0x570af1),_0x1e3917&&_0x33935e(_0xeabdec,_0x1e3917),_0xeabdec;},_0x46b6a3[_0x20247e(0xfa)][_0x20247e(0x181)]=_0x46b6a3['exports'],_0x46b6a3[_0x20247e(0xfa)]['__esModule']=!0x0;},function(_0x3c5cd0,_0x4e3241){var _0x48bd27=a0_0x451a91;function _0x29d545(_0x4be594){var _0x272488=a0_0x1826;return _0x3c5cd0[_0x272488(0xfa)]=_0x29d545=Object[_0x272488(0x25d)]?Object[_0x272488(0x199)]:function(_0x307f6a){var _0x5d28e0=_0x272488;return _0x307f6a[_0x5d28e0(0x1ae)]||Object['getPrototypeOf'](_0x307f6a);},_0x3c5cd0[_0x272488(0xfa)]['default']=_0x3c5cd0['exports'],_0x3c5cd0['exports']['__esModule']=!0x0,_0x29d545(_0x4be594);}_0x3c5cd0['exports']=_0x29d545,_0x3c5cd0[_0x48bd27(0xfa)][_0x48bd27(0x181)]=_0x3c5cd0[_0x48bd27(0xfa)],_0x3c5cd0[_0x48bd27(0xfa)][_0x48bd27(0x23e)]=!0x0;},function(_0x40bea2,_0x1eba0d,_0x181694){var _0x5823d3=a0_0x451a91,_0x3d49ac=_0x181694(0x11);_0x40bea2[_0x5823d3(0xfa)]=function(_0x114dd4,_0x12dddb){var _0x40fb31=_0x5823d3;if(_0x40fb31(0x204)!=typeof _0x12dddb&&null!==_0x12dddb)throw new TypeError(_0x40fb31(0x215));_0x114dd4[_0x40fb31(0x15f)]=Object['create'](_0x12dddb&&_0x12dddb[_0x40fb31(0x15f)],{'constructor':{'value':_0x114dd4,'writable':!0x0,'configurable':!0x0}}),_0x12dddb&&_0x3d49ac(_0x114dd4,_0x12dddb);},_0x40bea2['exports'][_0x5823d3(0x181)]=_0x40bea2[_0x5823d3(0xfa)],_0x40bea2[_0x5823d3(0xfa)][_0x5823d3(0x23e)]=!0x0;},function(_0x3c1196,_0x34e281,_0xa0541a){var _0x33e2a2=a0_0x451a91,_0x5ca02e=_0xa0541a(0x12)['default'],_0x33b79e=_0xa0541a(0x13);_0x3c1196[_0x33e2a2(0xfa)]=function(_0x1d01f5,_0x26f093){var _0x4ba69b=_0x33e2a2;if(_0x26f093&&(_0x4ba69b(0x1f1)===_0x5ca02e(_0x26f093)||_0x4ba69b(0x204)==typeof _0x26f093))return _0x26f093;if(void 0x0!==_0x26f093)throw new TypeError(_0x4ba69b(0xf8));return _0x33b79e(_0x1d01f5);},_0x3c1196['exports']['default']=_0x3c1196[_0x33e2a2(0xfa)],_0x3c1196[_0x33e2a2(0xfa)]['__esModule']=!0x0;},function(_0x404ef5,_0x216dd2){var _0xdcc07d=a0_0x451a91;_0x404ef5[_0xdcc07d(0xfa)]=_0xdcc07d(0x250);},function(_0x315b29,_0x3f1941){var _0x259ab5=a0_0x451a91;_0x315b29[_0x259ab5(0xfa)]=_0x259ab5(0x160);},function(_0x2b1fd3,_0x276c0e){var _0x39b827=a0_0x451a91;_0x2b1fd3[_0x39b827(0xfa)]=_0x39b827(0x118);},function(_0x114c15,_0x317a0b){var _0x9bacee=a0_0x451a91;_0x114c15['exports']=_0x9bacee(0x158);},function(_0x150909,_0x3a8ff8){var _0x159edc=a0_0x451a91;_0x150909['exports']=_0x159edc(0x117);},function(_0x136e2a,_0x1d8330){var _0x39502c=a0_0x451a91;_0x136e2a[_0x39502c(0xfa)]=_0x39502c(0x1e8);},function(_0x5beb2b,_0x3e804d){var _0xa7f599=a0_0x451a91;_0x5beb2b[_0xa7f599(0xfa)]='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}';},function(_0xb086a6,_0xac234a){var _0x4d68f7=a0_0x451a91;_0xb086a6[_0x4d68f7(0xfa)]=_0x4d68f7(0x138);},function(_0x24adf4,_0x29c3b5){var _0xc36360=a0_0x451a91;_0x24adf4[_0xc36360(0xfa)]=_0xc36360(0x12f);},function(_0x48116b,_0x47686c){var _0x3b6d58=a0_0x451a91;_0x48116b[_0x3b6d58(0xfa)]='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}';},function(_0x2d17aa,_0x23feec){var _0x25784e=a0_0x451a91;function _0x5c16f4(_0x44a397,_0x1b5411){var _0x1a974f=a0_0x1826;return _0x2d17aa['exports']=_0x5c16f4=Object[_0x1a974f(0x25d)]||function(_0x401917,_0x5ddf39){var _0x22c486=_0x1a974f;return _0x401917[_0x22c486(0x1ae)]=_0x5ddf39,_0x401917;},_0x2d17aa[_0x1a974f(0xfa)][_0x1a974f(0x181)]=_0x2d17aa[_0x1a974f(0xfa)],_0x2d17aa[_0x1a974f(0xfa)][_0x1a974f(0x23e)]=!0x0,_0x5c16f4(_0x44a397,_0x1b5411);}_0x2d17aa[_0x25784e(0xfa)]=_0x5c16f4,_0x2d17aa[_0x25784e(0xfa)]['default']=_0x2d17aa[_0x25784e(0xfa)],_0x2d17aa['exports']['__esModule']=!0x0;},function(_0x54082e,_0x14a22b){var _0x3a89f8=a0_0x451a91;function _0x5eff42(_0x54625b){var _0x51bf68=a0_0x1826;return'function'==typeof Symbol&&_0x51bf68(0x172)==typeof Symbol[_0x51bf68(0x185)]?(_0x54082e['exports']=_0x5eff42=function(_0x334a54){return typeof _0x334a54;},_0x54082e[_0x51bf68(0xfa)][_0x51bf68(0x181)]=_0x54082e['exports'],_0x54082e[_0x51bf68(0xfa)]['__esModule']=!0x0):(_0x54082e['exports']=_0x5eff42=function(_0x4297e9){var _0x55e089=_0x51bf68;return _0x4297e9&&_0x55e089(0x204)==typeof Symbol&&_0x4297e9[_0x55e089(0x1d5)]===Symbol&&_0x4297e9!==Symbol[_0x55e089(0x15f)]?_0x55e089(0x172):typeof _0x4297e9;},_0x54082e[_0x51bf68(0xfa)][_0x51bf68(0x181)]=_0x54082e[_0x51bf68(0xfa)],_0x54082e[_0x51bf68(0xfa)][_0x51bf68(0x23e)]=!0x0),_0x5eff42(_0x54625b);}_0x54082e[_0x3a89f8(0xfa)]=_0x5eff42,_0x54082e[_0x3a89f8(0xfa)][_0x3a89f8(0x181)]=_0x54082e[_0x3a89f8(0xfa)],_0x54082e[_0x3a89f8(0xfa)][_0x3a89f8(0x23e)]=!0x0;},function(_0x14f015,_0x1d8ece){var _0x149557=a0_0x451a91;_0x14f015[_0x149557(0xfa)]=function(_0x25c497){var _0x2fea91=_0x149557;if(void 0x0===_0x25c497)throw new ReferenceError(_0x2fea91(0x169));return _0x25c497;},_0x14f015[_0x149557(0xfa)][_0x149557(0x181)]=_0x14f015[_0x149557(0xfa)],_0x14f015[_0x149557(0xfa)][_0x149557(0x23e)]=!0x0;},function(_0x3d1f94,_0x36b9c6,_0x41d743){'use strict';var _0x57087a=a0_0x451a91;_0x41d743['r'](_0x36b9c6),_0x41d743['d'](_0x36b9c6,'WindLayer',function(){return _0x42ce4d;}),_0x41d743['d'](_0x36b9c6,'CanvasWindLayer',function(){return _0x33eddd;}),_0x41d743['d'](_0x36b9c6,_0x57087a(0x200),function(){return _0xed3438;});var _0xed3438={};_0x41d743['r'](_0xed3438),_0x41d743['d'](_0xed3438,_0x57087a(0x151),function(){return _0x4a736f;}),_0x41d743['d'](_0xed3438,_0x57087a(0x1f5),function(){return _0x11c83d;}),_0x41d743['d'](_0xed3438,_0x57087a(0x1ed),function(){return _0x8b38a9;}),_0x41d743['d'](_0xed3438,_0x57087a(0x230),function(){return _0x6bffb1;});var _0x2d2191=_0x41d743(0x1),_0xe1cd82=_0x41d743(0x2),_0x35ab5e=_0x41d743['n'](_0xe1cd82),_0x554d28=_0x41d743(0x3),_0x523d98=_0x41d743['n'](_0x554d28),_0xeb0f19=_0x41d743(0x5),_0x4db58a=_0x41d743['n'](_0xeb0f19),_0x29370d=_0x41d743(0x6),_0x44e267=_0x41d743['n'](_0x29370d),_0x3c4f7a=_0x41d743(0x4),_0x43ce30=_0x41d743['n'](_0x3c4f7a),_0x571827=_0x41d743(0x0),_0x4132d6=function(){var _0x50105d=_0x57087a;function _0x5e7bd9(_0x17464a){var _0x57dbc7=a0_0x1826;_0x35ab5e()(this,_0x5e7bd9),this['commandType']=_0x17464a[_0x57dbc7(0x235)],this[_0x57dbc7(0x121)]=_0x17464a[_0x57dbc7(0x121)],this[_0x57dbc7(0x16c)]=_0x17464a['attributeLocations'],this['primitiveType']=_0x17464a['primitiveType'],this[_0x57dbc7(0x1bc)]=_0x17464a[_0x57dbc7(0x1bc)],this[_0x57dbc7(0x132)]=_0x17464a['vertexShaderSource'],this['fragmentShaderSource']=_0x17464a[_0x57dbc7(0x1ca)],this[_0x57dbc7(0xfe)]=_0x17464a[_0x57dbc7(0xfe)],this[_0x57dbc7(0x24a)]=_0x17464a[_0x57dbc7(0x24a)],this[_0x57dbc7(0x177)]=_0x17464a[_0x57dbc7(0x177)],this['autoClear']=_0x571827['defaultValue'](_0x17464a[_0x57dbc7(0x21a)],!0x1),this['preExecute']=_0x17464a[_0x57dbc7(0x260)],this[_0x57dbc7(0x133)]=!0x0,this[_0x57dbc7(0x19b)]=void 0x0,this[_0x57dbc7(0x1eb)]=void 0x0,this[_0x57dbc7(0x21a)]&&(this[_0x57dbc7(0x1eb)]=new _0x571827['ClearCommand']({'color':new _0x571827['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x57dbc7(0x24a)],'pass':_0x571827[_0x57dbc7(0x1b2)][_0x57dbc7(0x10f)]}));}return _0x523d98()(_0x5e7bd9,[{'key':_0x50105d(0x241),'value':function(_0x4b6240){var _0x36a0fe=_0x50105d;switch(this['commandType']){case _0x36a0fe(0x18b):var _0x20f9bf=_0x571827[_0x36a0fe(0x203)][_0x36a0fe(0x124)]({'context':_0x4b6240,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':_0x571827[_0x36a0fe(0x1c9)]['STATIC_DRAW']}),_0x14bacc=_0x571827[_0x36a0fe(0x129)][_0x36a0fe(0x258)]({'context':_0x4b6240,'attributeLocations':this[_0x36a0fe(0x16c)],'vertexShaderSource':this[_0x36a0fe(0x132)],'fragmentShaderSource':this[_0x36a0fe(0x1ca)]}),_0x287cb9=_0x571827[_0x36a0fe(0x1e5)]['fromCache'](this[_0x36a0fe(0xfe)]);return new _0x571827[(_0x36a0fe(0x23a))]({'owner':this,'vertexArray':_0x20f9bf,'primitiveType':this['primitiveType'],'uniformMap':this[_0x36a0fe(0x1bc)],'modelMatrix':_0x571827['Matrix4'][_0x36a0fe(0x10e)],'shaderProgram':_0x14bacc,'framebuffer':this[_0x36a0fe(0x24a)],'renderState':_0x287cb9,'pass':_0x571827[_0x36a0fe(0x1b2)]['OPAQUE']});case _0x36a0fe(0x25b):return new _0x571827[(_0x36a0fe(0x14a))]({'owner':this,'fragmentShaderSource':this[_0x36a0fe(0x1ca)],'uniformMap':this['uniformMap'],'outputTexture':this['outputTexture'],'persists':!0x0});}}},{'key':_0x50105d(0xf0),'value':function(_0x32866c,_0x127ba0){var _0x1bbe5d=_0x50105d;this['geometry']=_0x127ba0;var _0x51295c=_0x571827[_0x1bbe5d(0x203)][_0x1bbe5d(0x124)]({'context':_0x32866c,'geometry':this[_0x1bbe5d(0x121)],'attributeLocations':this[_0x1bbe5d(0x16c)],'bufferUsage':_0x571827[_0x1bbe5d(0x1c9)]['STATIC_DRAW']});this['commandToExecute'][_0x1bbe5d(0x157)]=_0x51295c;}},{'key':_0x50105d(0x16a),'value':function(_0x213b03){var _0x1d49cd=_0x50105d;this[_0x1d49cd(0x133)]&&_0x213b03[_0x1d49cd(0x1ef)]==_0x571827[_0x1d49cd(0x1b4)][_0x1d49cd(0x1a6)]&&(_0x571827[_0x1d49cd(0x106)](this[_0x1d49cd(0x19b)])||(this[_0x1d49cd(0x19b)]=this['createCommand'](_0x213b03[_0x1d49cd(0x21d)])),_0x571827[_0x1d49cd(0x106)](this['preExecute'])&&this['preExecute'](),_0x571827[_0x1d49cd(0x106)](this[_0x1d49cd(0x1eb)])&&_0x213b03[_0x1d49cd(0x1ab)][_0x1d49cd(0x1d4)](this[_0x1d49cd(0x1eb)]),_0x213b03[_0x1d49cd(0x1ab)][_0x1d49cd(0x1d4)](this[_0x1d49cd(0x19b)]));}},{'key':_0x50105d(0x13f),'value':function(){return!0x1;}},{'key':_0x50105d(0x20a),'value':function(){var _0xc33fe5=_0x50105d;return _0x571827[_0xc33fe5(0x106)](this[_0xc33fe5(0x19b)])&&(this[_0xc33fe5(0x19b)][_0xc33fe5(0x164)]=this[_0xc33fe5(0x19b)]['shaderProgram']&&this['commandToExecute']['shaderProgram'][_0xc33fe5(0x20a)]()),_0x571827[_0xc33fe5(0x176)](this);}}]),_0x5e7bd9;}(),_0x22a896={'getFullscreenQuad':function(){var _0x5b736d=_0x57087a;return new _0x571827['Geometry']({'attributes':new _0x571827[(_0x5b736d(0x219))]({'position':new _0x571827[(_0x5b736d(0x130))]({'componentDatatype':_0x571827['ComponentDatatype'][_0x5b736d(0x1d7)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new _0x571827[(_0x5b736d(0x130))]({'componentDatatype':_0x571827[_0x5b736d(0x18d)][_0x5b736d(0x1d7)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});},'createTexture':function(_0x3c2c83,_0x1e1315){var _0x2e7d0b=_0x57087a;if(_0x571827[_0x2e7d0b(0x106)](_0x1e1315)){var _0x3925ff={};_0x3925ff[_0x2e7d0b(0x14b)]=_0x1e1315,_0x3c2c83['source']=_0x3925ff;}return new _0x571827[(_0x2e7d0b(0x1db))](_0x3c2c83);},'createFramebuffer':function(_0x24c96f,_0x47d9ec,_0x49da30){var _0x5ba391=_0x57087a;return new _0x571827[(_0x5ba391(0x25c))]({'context':_0x24c96f,'colorTextures':[_0x47d9ec],'depthTexture':_0x49da30});},'createRawRenderState':function(_0x16678d){var _0x1e7838=_0x57087a,_0x472249={'viewport':_0x16678d['viewport'],'depthTest':_0x16678d[_0x1e7838(0x1b0)],'depthMask':_0x16678d['depthMask'],'blending':_0x16678d[_0x1e7838(0x122)]};return _0x571827['Appearance'][_0x1e7838(0xfc)](!0x0,!0x1,_0x472249);},'viewRectangleToLonLatRange':function(_0x2718e3){var _0x563c1d=_0x57087a,_0x242f0c,_0x507c44,_0x4a42ed={},_0x460ad9=_0x571827[_0x563c1d(0x13a)]['mod'](_0x2718e3[_0x563c1d(0xee)],_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x1c3)]),_0x5a9da5=_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x194)](_0x2718e3[_0x563c1d(0x168)],_0x571827['Math'][_0x563c1d(0x1c3)]),_0x58216f=_0x2718e3[_0x563c1d(0x211)];_0x58216f>_0x571827['Math'][_0x563c1d(0x12b)]?(_0x242f0c=0x0,_0x507c44=_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x1c3)]):_0x5a9da5-_0x460ad9<_0x58216f?(_0x242f0c=_0x460ad9,_0x507c44=_0x460ad9+_0x58216f):(_0x242f0c=_0x460ad9,_0x507c44=_0x5a9da5),_0x4a42ed[_0x563c1d(0x1f2)]={'min':_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x102)](_0x242f0c),'max':_0x571827[_0x563c1d(0x13a)]['toDegrees'](_0x507c44)};var _0x5049c3=_0x2718e3[_0x563c1d(0x147)],_0x54558d=_0x2718e3['north'],_0x2c733d=_0x2718e3['height'],_0x4a7826=_0x2c733d>_0x571827[_0x563c1d(0x13a)]['PI']/0xc?_0x2c733d/0x2:0x0,_0xa0734=_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x221)](_0x5049c3-_0x4a7826),_0x2eea5c=_0x571827['Math'][_0x563c1d(0x221)](_0x54558d+_0x4a7826);return _0xa0734<-_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x1e2)]&&(_0xa0734=-_0x571827[_0x563c1d(0x13a)][_0x563c1d(0x1b7)]),_0x2eea5c>_0x571827['Math'][_0x563c1d(0x1e2)]&&(_0x2eea5c=_0x571827['Math'][_0x563c1d(0x1b7)]),_0x4a42ed[_0x563c1d(0x256)]={'min':_0x571827['Math'][_0x563c1d(0x102)](_0xa0734),'max':_0x571827[_0x563c1d(0x13a)]['toDegrees'](_0x2eea5c)},_0x4a42ed;}},_0x2e40a8=_0x41d743(0x8),_0x5067a4=_0x41d743['n'](_0x2e40a8),_0x3b5266=_0x41d743(0x9),_0x3338e1=_0x41d743['n'](_0x3b5266),_0x800be5=_0x41d743(0x7),_0x2a7613=_0x41d743['n'](_0x800be5),_0x1ea042=_0x41d743(0xa),_0x22ddab=_0x41d743['n'](_0x1ea042),_0x377d65=_0x41d743(0xb),_0x12563f=_0x41d743['n'](_0x377d65),_0x55d61d=function(){var _0x2470a0=_0x57087a;function _0x3b5b34(_0x490b1f,_0x552779,_0x44a34d,_0x3622f3,_0x3a9087){var _0x26c50c=a0_0x1826;_0x35ab5e()(this,_0x3b5b34),this[_0x26c50c(0x1f3)](_0x490b1f,_0x552779),this['createRenderingFramebuffers'](_0x490b1f),this[_0x26c50c(0x1b3)](_0x490b1f,_0x44a34d,_0x3622f3,_0x3a9087);}return _0x523d98()(_0x3b5b34,[{'key':_0x2470a0(0x1f3),'value':function(_0x30bc38,_0x138b6){var _0x829de6=_0x2470a0,_0x11c79a={'context':_0x30bc38,'width':_0x30bc38['drawingBufferWidth'],'height':_0x30bc38[_0x829de6(0xea)],'pixelFormat':_0x571827[_0x829de6(0x15c)][_0x829de6(0x21b)],'pixelDatatype':_0x571827[_0x829de6(0x1c8)]['UNSIGNED_BYTE']},_0x3be824={'context':_0x30bc38,'width':_0x30bc38[_0x829de6(0x248)],'height':_0x30bc38[_0x829de6(0xea)],'pixelFormat':_0x571827['PixelFormat'][_0x829de6(0x252)],'pixelDatatype':_0x571827['PixelDatatype'][_0x829de6(0x15e)]},_0x5467c4={'context':_0x30bc38,'width':_0x138b6[_0x829de6(0x218)][_0x829de6(0x1d6)],'height':0x1,'pixelFormat':_0x571827[_0x829de6(0x15c)][_0x829de6(0x1d3)],'pixelDatatype':_0x571827[_0x829de6(0x1c8)][_0x829de6(0x1d7)],'sampler':new _0x571827[(_0x829de6(0x108))]({'minificationFilter':_0x571827['TextureMinificationFilter'][_0x829de6(0x1d9)],'magnificationFilter':_0x571827[_0x829de6(0x24b)][_0x829de6(0x1d9)]})};this['textures']={'segmentsColor':_0x22a896[_0x829de6(0x136)](_0x11c79a),'segmentsDepth':_0x22a896['createTexture'](_0x3be824),'currentTrailsColor':_0x22a896[_0x829de6(0x136)](_0x11c79a),'currentTrailsDepth':_0x22a896[_0x829de6(0x136)](_0x3be824),'nextTrailsColor':_0x22a896[_0x829de6(0x136)](_0x11c79a),'nextTrailsDepth':_0x22a896[_0x829de6(0x136)](_0x3be824),'colorTable':_0x22a896[_0x829de6(0x136)](_0x5467c4,_0x138b6['colorTable'][_0x829de6(0x146)])};}},{'key':'createRenderingFramebuffers','value':function(_0x595892){var _0x3f09e6=_0x2470a0;this['framebuffers']={'segments':_0x22a896['createFramebuffer'](_0x595892,this[_0x3f09e6(0x1aa)]['segmentsColor'],this[_0x3f09e6(0x1aa)][_0x3f09e6(0x232)]),'currentTrails':_0x22a896[_0x3f09e6(0x1ac)](_0x595892,this['textures'][_0x3f09e6(0x19f)],this[_0x3f09e6(0x1aa)][_0x3f09e6(0x22d)]),'nextTrails':_0x22a896[_0x3f09e6(0x1ac)](_0x595892,this[_0x3f09e6(0x1aa)]['nextTrailsColor'],this['textures'][_0x3f09e6(0xf2)])};}},{'key':'createSegmentsGeometry','value':function(_0x51f358){var _0x121993=_0x2470a0;for(var _0x3591b2=[],_0x5978fc=0x0;_0x5978fc<_0x51f358[_0x121993(0x228)];_0x5978fc++)for(var _0x5c579d=0x0;_0x5c579d<_0x51f358[_0x121993(0x228)];_0x5c579d++)for(var _0x25e5a8=0x0;_0x25e5a8<0x4;_0x25e5a8++)_0x3591b2['push'](_0x5978fc/_0x51f358[_0x121993(0x228)]),_0x3591b2[_0x121993(0x1d4)](_0x5c579d/_0x51f358[_0x121993(0x228)]);_0x3591b2=new Float32Array(_0x3591b2);for(var _0x3f9c0e=[],_0x1cd166=[-0x1,0x1],_0x4e912b=[-0x1,0x1],_0x55926f=0x0;_0x55926f<_0x51f358['maxParticles'];_0x55926f++)for(var _0x5d38da=0x0;_0x5d38da<0x2;_0x5d38da++)for(var _0x56e1e0=0x0;_0x56e1e0<0x2;_0x56e1e0++)_0x3f9c0e[_0x121993(0x1d4)](_0x1cd166[_0x5d38da]),_0x3f9c0e[_0x121993(0x1d4)](_0x4e912b[_0x56e1e0]),_0x3f9c0e[_0x121993(0x1d4)](0x0);_0x3f9c0e=new Float32Array(_0x3f9c0e);for(var _0x1819e2=0x6*_0x51f358['maxParticles'],_0x26c3f9=new Uint32Array(_0x1819e2),_0x24cc52=0x0,_0x1408ee=0x0,_0x28f2a4=0x0;_0x24cc52<_0x51f358[_0x121993(0x24d)];_0x24cc52++)_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x0,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x1,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x2,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x2,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x1,_0x26c3f9[_0x1408ee++]=_0x28f2a4+0x3,_0x28f2a4+=0x4;return new _0x571827[(_0x121993(0x13b))]({'attributes':new _0x571827[(_0x121993(0x219))]({'st':new _0x571827[(_0x121993(0x130))]({'componentDatatype':_0x571827[_0x121993(0x18d)][_0x121993(0x1d7)],'componentsPerAttribute':0x2,'values':_0x3591b2}),'normal':new _0x571827['GeometryAttribute']({'componentDatatype':_0x571827[_0x121993(0x18d)][_0x121993(0x1d7)],'componentsPerAttribute':0x3,'values':_0x3f9c0e})}),'indices':_0x26c3f9});}},{'key':_0x2470a0(0x1b3),'value':function(_0xaf80fe,_0x16fced,_0x41adec,_0x4e970f){var _0x5054fd=_0x2470a0,_0x232399=this;this[_0x5054fd(0x114)]={'segments':new _0x4132d6({'commandType':_0x5054fd(0x18b),'attributeLocations':{'st':0x0,'normal':0x1},'geometry':this['createSegmentsGeometry'](_0x16fced),'primitiveType':_0x571827[_0x5054fd(0x131)][_0x5054fd(0xf7)],'uniformMap':{'currentParticlesPosition':function(){var _0x48458d=_0x5054fd;return _0x4e970f[_0x48458d(0x16e)]['currentParticlesPosition'];},'postProcessingPosition':function(){var _0xd094b7=_0x5054fd;return _0x4e970f[_0xd094b7(0x16e)]['postProcessingPosition'];},'postProcessingSpeed':function(){var _0x2523e1=_0x5054fd;return _0x4e970f[_0x2523e1(0x16e)]['postProcessingSpeed'];},'colorTable':function(){var _0x7c1ee6=_0x5054fd;return _0x232399['textures'][_0x7c1ee6(0x218)];},'aspect':function(){var _0x4b36fe=_0x5054fd;return _0xaf80fe[_0x4b36fe(0x248)]/_0xaf80fe[_0x4b36fe(0xea)];},'pixelSize':function(){var _0x4a25e3=_0x5054fd;return _0x41adec[_0x4a25e3(0x1b6)];},'lineWidth':function(){return _0x16fced['lineWidth'];},'particleHeight':function(){var _0x52960b=_0x5054fd;return _0x16fced[_0x52960b(0x125)];}},'vertexShaderSource':new _0x571827[(_0x5054fd(0x244))]({'sources':[_0x5067a4['a']]}),'fragmentShaderSource':new _0x571827['ShaderSource']({'sources':[_0x3338e1['a']]}),'rawRenderState':_0x22a896['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0},'depthMask':!0x0}),'framebuffer':this[_0x5054fd(0x14c)][_0x5054fd(0x23b)],'autoClear':!0x0}),'trails':new _0x4132d6({'commandType':_0x5054fd(0x18b),'attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x22a896['getFullscreenQuad'](),'primitiveType':_0x571827[_0x5054fd(0x131)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){var _0x3e16da=_0x5054fd;return _0x232399[_0x3e16da(0x1aa)][_0x3e16da(0x11f)];},'segmentsDepthTexture':function(){var _0x3030e1=_0x5054fd;return _0x232399[_0x3030e1(0x1aa)][_0x3030e1(0x232)];},'currentTrailsColor':function(){var _0x43910e=_0x5054fd;return _0x232399[_0x43910e(0x14c)][_0x43910e(0x1e1)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0x5a0e02=_0x5054fd;return _0x232399[_0x5a0e02(0x14c)][_0x5a0e02(0x1e1)][_0x5a0e02(0x162)];},'fadeOpacity':function(){var _0x5b635c=_0x5054fd;return _0x16fced[_0x5b635c(0x21f)];}},'vertexShaderSource':new _0x571827[(_0x5054fd(0x244))]({'defines':[_0x5054fd(0x159)],'sources':[_0x2a7613['a']]}),'fragmentShaderSource':new _0x571827[(_0x5054fd(0x244))]({'defines':[_0x5054fd(0x193)],'sources':[_0x22ddab['a']]}),'rawRenderState':_0x22a896['createRawRenderState']({'viewport':void 0x0,'depthTest':{'enabled':!0x0,'func':_0x571827['DepthFunction'][_0x5054fd(0x105)]},'depthMask':!0x0}),'framebuffer':this[_0x5054fd(0x14c)]['nextTrails'],'autoClear':!0x0,'preExecute':function(){var _0x5cafaa=_0x5054fd,_0x3a380b;_0x3a380b=_0x232399[_0x5cafaa(0x14c)][_0x5cafaa(0x1e1)],_0x232399[_0x5cafaa(0x14c)][_0x5cafaa(0x1e1)]=_0x232399['framebuffers'][_0x5cafaa(0x141)],_0x232399[_0x5cafaa(0x14c)]['nextTrails']=_0x3a380b,_0x232399[_0x5cafaa(0x114)][_0x5cafaa(0x1b9)][_0x5cafaa(0x19b)][_0x5cafaa(0x24a)]=_0x232399['framebuffers'][_0x5cafaa(0x141)],_0x232399[_0x5cafaa(0x114)][_0x5cafaa(0x1b9)][_0x5cafaa(0x1eb)][_0x5cafaa(0x24a)]=_0x232399[_0x5cafaa(0x14c)][_0x5cafaa(0x141)];}}),'screen':new _0x4132d6({'commandType':'Draw','attributeLocations':{'position':0x0,'st':0x1},'geometry':_0x22a896[_0x5054fd(0x1b1)](),'primitiveType':_0x571827[_0x5054fd(0x131)]['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){var _0x3503f0=_0x5054fd;return _0x232399[_0x3503f0(0x14c)]['nextTrails']['getColorTexture'](0x0);},'trailsDepthTexture':function(){var _0x10321e=_0x5054fd;return _0x232399['framebuffers'][_0x10321e(0x141)][_0x10321e(0x162)];}},'vertexShaderSource':new _0x571827[(_0x5054fd(0x244))]({'defines':[_0x5054fd(0x159)],'sources':[_0x2a7613['a']]}),'fragmentShaderSource':new _0x571827['ShaderSource']({'defines':[_0x5054fd(0x193)],'sources':[_0x12563f['a']]}),'rawRenderState':_0x22a896[_0x5054fd(0x202)]({'viewport':void 0x0,'depthTest':{'enabled':!0x1},'depthMask':!0x0,'blending':{'enabled':!0x0}}),'framebuffer':void 0x0})};}}]),_0x3b5b34;}(),_0x5e6553=_0x41d743(0xc),_0x4a820a=_0x41d743['n'](_0x5e6553),_0xff617=_0x41d743(0xd),_0x245663=_0x41d743['n'](_0xff617),_0x2adee5=_0x41d743(0xe),_0x287ee8=_0x41d743['n'](_0x2adee5),_0x2a4221=_0x41d743(0xf),_0x2d0eb9=_0x41d743['n'](_0x2a4221),_0x51ca5d=_0x41d743(0x10),_0x3002a3=_0x41d743['n'](_0x51ca5d),_0x1a69de=function(){var _0x38cd3f=_0x57087a;function _0x34ef23(_0x362ed1,_0x55796c,_0x10ecc5,_0x1dd83f){var _0x591f0a=a0_0x1826;_0x35ab5e()(this,_0x34ef23),this[_0x591f0a(0x103)]=_0x55796c,this[_0x591f0a(0x16f)](_0x362ed1,_0x55796c),this[_0x591f0a(0x223)](_0x362ed1,_0x10ecc5,_0x1dd83f),this['createComputingPrimitives'](_0x55796c,_0x10ecc5,_0x1dd83f);}return _0x523d98()(_0x34ef23,[{'key':'createWindTextures','value':function(_0x2464b9,_0x1bf057){var _0x501937=a0_0x1826,_0xea58d9={'context':_0x2464b9,'width':_0x1bf057['dimensions'][_0x501937(0x1f2)],'height':_0x1bf057[_0x501937(0xed)][_0x501937(0x256)]*_0x1bf057[_0x501937(0xed)]['lev'],'pixelFormat':_0x571827[_0x501937(0x15c)]['LUMINANCE'],'pixelDatatype':_0x571827['PixelDatatype'][_0x501937(0x1d7)],'flipY':!0x1,'sampler':new _0x571827[(_0x501937(0x108))]({'minificationFilter':_0x571827['TextureMinificationFilter'][_0x501937(0x245)],'magnificationFilter':_0x571827[_0x501937(0x24b)][_0x501937(0x245)]})};this[_0x501937(0x120)]={'U':_0x22a896['createTexture'](_0xea58d9,_0x1bf057['U']['array']),'V':_0x22a896[_0x501937(0x136)](_0xea58d9,_0x1bf057['V'][_0x501937(0x146)])};}},{'key':'createParticlesTextures','value':function(_0x41019e,_0xd989b,_0x498ebb){var _0x52128a=a0_0x1826,_0x10988f={'context':_0x41019e,'width':_0xd989b['particlesTextureSize'],'height':_0xd989b['particlesTextureSize'],'pixelFormat':_0x571827[_0x52128a(0x15c)][_0x52128a(0x21b)],'pixelDatatype':_0x571827[_0x52128a(0x1c8)][_0x52128a(0x1d7)],'flipY':!0x1,'sampler':new _0x571827['Sampler']({'minificationFilter':_0x571827[_0x52128a(0x115)][_0x52128a(0x245)],'magnificationFilter':_0x571827[_0x52128a(0x24b)][_0x52128a(0x245)]})},_0x4ce87f=this[_0x52128a(0x134)](_0xd989b[_0x52128a(0x24d)],_0x498ebb),_0x3ceda4=new Float32Array(0x4*_0xd989b[_0x52128a(0x24d)])[_0x52128a(0x22a)](0x0);this[_0x52128a(0x16e)]={'particlesWind':_0x22a896[_0x52128a(0x136)](_0x10988f),'currentParticlesPosition':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x4ce87f),'nextParticlesPosition':_0x22a896['createTexture'](_0x10988f,_0x4ce87f),'currentParticlesSpeed':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x3ceda4),'nextParticlesSpeed':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x3ceda4),'postProcessingPosition':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x4ce87f),'postProcessingSpeed':_0x22a896[_0x52128a(0x136)](_0x10988f,_0x3ceda4)};}},{'key':_0x38cd3f(0x134),'value':function(_0x58bd0f,_0x310427){var _0x58c861=_0x38cd3f;for(var _0x4a920b=new Float32Array(0x4*_0x58bd0f),_0x5cd1e9=0x0;_0x5cd1e9<_0x58bd0f;_0x5cd1e9++)_0x4a920b[0x4*_0x5cd1e9]=_0x571827[_0x58c861(0x13a)][_0x58c861(0x113)](_0x310427[_0x58c861(0x1fa)]['x'],_0x310427[_0x58c861(0x1fa)]['y']),_0x4a920b[0x4*_0x5cd1e9+0x1]=_0x571827['Math'][_0x58c861(0x113)](_0x310427[_0x58c861(0x191)]['x'],_0x310427[_0x58c861(0x191)]['y']),_0x4a920b[0x4*_0x5cd1e9+0x2]=_0x571827[_0x58c861(0x13a)][_0x58c861(0x113)](this['data'][_0x58c861(0x188)][_0x58c861(0x25f)],this[_0x58c861(0x103)][_0x58c861(0x188)][_0x58c861(0x171)]),_0x4a920b[0x4*_0x5cd1e9+0x3]=0x0;return _0x4a920b;}},{'key':'destroyParticlesTextures','value':function(){var _0x39749d=_0x38cd3f,_0x5adef8=this;Object[_0x39749d(0x1da)](this[_0x39749d(0x16e)])[_0x39749d(0x163)](function(_0x19bbc3){var _0x4a82d4=_0x39749d;_0x5adef8[_0x4a82d4(0x16e)][_0x19bbc3][_0x4a82d4(0x20a)]();});}},{'key':'createComputingPrimitives','value':function(_0x375972,_0x5becb8,_0x37781f){var _0x569355=_0x38cd3f,_0x4cfd94=new _0x571827[(_0x569355(0x139))](_0x375972[_0x569355(0xed)]['lon'],_0x375972['dimensions'][_0x569355(0x256)],_0x375972['dimensions']['lev']),_0x20e29d=new _0x571827['Cartesian3'](_0x375972[_0x569355(0x1f2)]['min'],_0x375972[_0x569355(0x256)][_0x569355(0x25f)],_0x375972['lev'][_0x569355(0x25f)]),_0x102e17=new _0x571827[(_0x569355(0x139))](_0x375972[_0x569355(0x1f2)][_0x569355(0x171)],_0x375972['lat'][_0x569355(0x171)],_0x375972[_0x569355(0x188)]['max']),_0x3bc32d=new _0x571827[(_0x569355(0x139))]((_0x102e17['x']-_0x20e29d['x'])/(_0x4cfd94['x']-0x1),(_0x102e17['y']-_0x20e29d['y'])/(_0x4cfd94['y']-0x1),_0x4cfd94['z']>0x1?(_0x102e17['z']-_0x20e29d['z'])/(_0x4cfd94['z']-0x1):0x1),_0x42600e=new _0x571827[(_0x569355(0x1af))](_0x375972['U'][_0x569355(0x25f)],_0x375972['U'][_0x569355(0x171)]),_0x49a740=new _0x571827[(_0x569355(0x1af))](_0x375972['V']['min'],_0x375972['V'][_0x569355(0x171)]),_0x4632a3=this;this[_0x569355(0x114)]={'getWind':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'U':function(){var _0x56746c=_0x569355;return _0x4632a3[_0x56746c(0x120)]['U'];},'V':function(){return _0x4632a3['windTextures']['V'];},'currentParticlesPosition':function(){var _0x51dc7a=_0x569355;return _0x4632a3[_0x51dc7a(0x16e)]['currentParticlesPosition'];},'dimension':function(){return _0x4cfd94;},'minimum':function(){return _0x20e29d;},'maximum':function(){return _0x102e17;},'interval':function(){return _0x3bc32d;}},'fragmentShaderSource':new _0x571827[(_0x569355(0x244))]({'sources':[_0x4a820a['a']]}),'outputTexture':this[_0x569355(0x16e)]['particlesWind'],'preExecute':function(){var _0x49e23=_0x569355;_0x4632a3[_0x49e23(0x114)][_0x49e23(0x1a7)][_0x49e23(0x19b)][_0x49e23(0x177)]=_0x4632a3[_0x49e23(0x16e)][_0x49e23(0x231)];}}),'updateSpeed':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'currentParticlesSpeed':function(){var _0xc0ddb4=_0x569355;return _0x4632a3[_0xc0ddb4(0x16e)]['currentParticlesSpeed'];},'particlesWind':function(){var _0x243e17=_0x569355;return _0x4632a3[_0x243e17(0x16e)][_0x243e17(0x231)];},'uSpeedRange':function(){return _0x42600e;},'vSpeedRange':function(){return _0x49a740;},'pixelSize':function(){var _0x584b57=_0x569355;return _0x37781f[_0x584b57(0x1b6)];},'speedFactor':function(){var _0x27a8eb=_0x569355;return _0x5becb8[_0x27a8eb(0x14f)];}},'fragmentShaderSource':new _0x571827[(_0x569355(0x244))]({'sources':[_0x245663['a']]}),'outputTexture':this[_0x569355(0x16e)][_0x569355(0x197)],'preExecute':function(){var _0x77e653=_0x569355,_0x13b25e;_0x13b25e=_0x4632a3[_0x77e653(0x16e)]['currentParticlesSpeed'],_0x4632a3[_0x77e653(0x16e)][_0x77e653(0xeb)]=_0x4632a3[_0x77e653(0x16e)][_0x77e653(0x11e)],_0x4632a3[_0x77e653(0x16e)]['postProcessingSpeed']=_0x13b25e,_0x4632a3[_0x77e653(0x114)][_0x77e653(0x1df)][_0x77e653(0x19b)][_0x77e653(0x177)]=_0x4632a3[_0x77e653(0x16e)]['nextParticlesSpeed'];}}),'updatePosition':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'currentParticlesPosition':function(){return _0x4632a3['particlesTextures']['currentParticlesPosition'];},'currentParticlesSpeed':function(){var _0x27ddb5=_0x569355;return _0x4632a3[_0x27ddb5(0x16e)][_0x27ddb5(0xeb)];}},'fragmentShaderSource':new _0x571827['ShaderSource']({'sources':[_0x287ee8['a']]}),'outputTexture':this[_0x569355(0x16e)][_0x569355(0x257)],'preExecute':function(){var _0x28e86d=_0x569355,_0x29a146;_0x29a146=_0x4632a3['particlesTextures'][_0x28e86d(0x13d)],_0x4632a3[_0x28e86d(0x16e)][_0x28e86d(0x13d)]=_0x4632a3[_0x28e86d(0x16e)]['postProcessingPosition'],_0x4632a3[_0x28e86d(0x16e)][_0x28e86d(0x209)]=_0x29a146,_0x4632a3[_0x28e86d(0x114)]['updatePosition'][_0x28e86d(0x19b)][_0x28e86d(0x177)]=_0x4632a3[_0x28e86d(0x16e)][_0x28e86d(0x257)];}}),'postProcessingPosition':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'nextParticlesPosition':function(){var _0x59cfe5=_0x569355;return _0x4632a3[_0x59cfe5(0x16e)][_0x59cfe5(0x257)];},'nextParticlesSpeed':function(){var _0x2e7add=_0x569355;return _0x4632a3[_0x2e7add(0x16e)][_0x2e7add(0x197)];},'lonRange':function(){var _0x3dc529=_0x569355;return _0x37781f[_0x3dc529(0x1fa)];},'latRange':function(){var _0x177457=_0x569355;return _0x37781f[_0x177457(0x191)];},'randomCoefficient':function(){var _0xa73b3a=_0x569355,_0x3ff676=Math[_0xa73b3a(0x17a)]();return _0x3ff676;},'dropRate':function(){var _0x2954aa=_0x569355;return _0x5becb8[_0x2954aa(0x1f4)];},'dropRateBump':function(){var _0x590e39=_0x569355;return _0x5becb8[_0x590e39(0x18e)];}},'fragmentShaderSource':new _0x571827['ShaderSource']({'sources':[_0x2d0eb9['a']]}),'outputTexture':this[_0x569355(0x16e)][_0x569355(0x209)],'preExecute':function(){var _0x4f99f5=_0x569355;_0x4632a3[_0x4f99f5(0x114)][_0x4f99f5(0x209)]['commandToExecute'][_0x4f99f5(0x177)]=_0x4632a3[_0x4f99f5(0x16e)][_0x4f99f5(0x209)];}}),'postProcessingSpeed':new _0x4132d6({'commandType':_0x569355(0x25b),'uniformMap':{'postProcessingPosition':function(){var _0x3f06a4=_0x569355;return _0x4632a3[_0x3f06a4(0x16e)]['postProcessingPosition'];},'nextParticlesSpeed':function(){var _0x421735=_0x569355;return _0x4632a3['particlesTextures'][_0x421735(0x197)];}},'fragmentShaderSource':new _0x571827['ShaderSource']({'sources':[_0x3002a3['a']]}),'outputTexture':this[_0x569355(0x16e)][_0x569355(0x11e)],'preExecute':function(){var _0x4a9847=_0x569355;_0x4632a3[_0x4a9847(0x114)][_0x4a9847(0x11e)]['commandToExecute'][_0x4a9847(0x177)]=_0x4632a3['particlesTextures'][_0x4a9847(0x11e)];}})};}}]),_0x34ef23;}(),_0x221f6c=function(){var _0x503f27=_0x57087a;function _0x14b43f(_0x3ee635,_0x1355a8,_0x1756bf,_0x49eb02){var _0x5591e5=a0_0x1826;_0x35ab5e()(this,_0x14b43f),this['context']=_0x3ee635,this['data']=_0x1355a8,this[_0x5591e5(0x13c)]=_0x1756bf,this[_0x5591e5(0x175)]=_0x49eb02,this[_0x5591e5(0xef)]=new _0x1a69de(this[_0x5591e5(0x21d)],this[_0x5591e5(0x103)],this[_0x5591e5(0x13c)],this[_0x5591e5(0x175)]),this[_0x5591e5(0x20c)]=new _0x55d61d(this[_0x5591e5(0x21d)],this['data'],this[_0x5591e5(0x13c)],this[_0x5591e5(0x175)],this[_0x5591e5(0xef)]);}return _0x523d98()(_0x14b43f,[{'key':_0x503f27(0x174),'value':function(_0x108ca6){var _0xd62350=_0x503f27,_0x534c9f=this;this['particlesComputing'][_0xd62350(0x236)](),Object[_0xd62350(0x1da)](this[_0xd62350(0xef)][_0xd62350(0x120)])['forEach'](function(_0x52cdd6){var _0x3cbd9a=_0xd62350;_0x534c9f[_0x3cbd9a(0xef)]['windTextures'][_0x52cdd6][_0x3cbd9a(0x20a)]();}),this[_0xd62350(0x20c)][_0xd62350(0x1aa)][_0xd62350(0x218)][_0xd62350(0x20a)](),Object[_0xd62350(0x1da)](this[_0xd62350(0x20c)]['framebuffers'])[_0xd62350(0x163)](function(_0x2315b5){var _0x19af3f=_0xd62350;_0x534c9f[_0x19af3f(0x20c)][_0x19af3f(0x14c)][_0x2315b5][_0x19af3f(0x20a)]();}),this['context']=_0x108ca6,this['particlesComputing']=new _0x1a69de(this[_0xd62350(0x21d)],this[_0xd62350(0x103)],this[_0xd62350(0x13c)],this[_0xd62350(0x175)]),this['particlesRendering']=new _0x55d61d(this['context'],this['data'],this[_0xd62350(0x13c)],this['viewerParameters'],this[_0xd62350(0xef)]);}},{'key':_0x503f27(0x10b),'value':function(){var _0x1cc003=_0x503f27,_0x1996b0=this,_0x4809d0=new _0x571827[(_0x1cc003(0x153))]({'color':new _0x571827[(_0x1cc003(0x1f7))](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':void 0x0,'pass':_0x571827[_0x1cc003(0x1b2)][_0x1cc003(0x10f)]});Object[_0x1cc003(0x1da)](this[_0x1cc003(0x20c)][_0x1cc003(0x14c)])['forEach'](function(_0x48000f){var _0x76b5b1=_0x1cc003;_0x4809d0['framebuffer']=_0x1996b0[_0x76b5b1(0x20c)][_0x76b5b1(0x14c)][_0x48000f],_0x4809d0['execute'](_0x1996b0[_0x76b5b1(0x21d)]);});}},{'key':'refreshParticles','value':function(_0x13f102){var _0x254a43=_0x503f27;if(this['clearFramebuffers'](),this[_0x254a43(0xef)][_0x254a43(0x236)](),this[_0x254a43(0xef)][_0x254a43(0x223)](this[_0x254a43(0x21d)],this[_0x254a43(0x13c)],this['viewerParameters']),_0x13f102){var _0x5f47ef=this['particlesRendering'][_0x254a43(0x11b)](this['userInput']);this[_0x254a43(0x20c)][_0x254a43(0x114)][_0x254a43(0x23b)][_0x254a43(0x121)]=_0x5f47ef;var _0x1d4dd4=_0x571827[_0x254a43(0x203)][_0x254a43(0x124)]({'context':this[_0x254a43(0x21d)],'geometry':_0x5f47ef,'attributeLocations':this[_0x254a43(0x20c)][_0x254a43(0x114)][_0x254a43(0x23b)][_0x254a43(0x16c)],'bufferUsage':_0x571827[_0x254a43(0x1c9)]['STATIC_DRAW']});this[_0x254a43(0x20c)]['primitives'][_0x254a43(0x23b)][_0x254a43(0x19b)][_0x254a43(0x157)]=_0x1d4dd4;}}},{'key':'applyUserInput','value':function(_0x18c4a2){var _0x82c92c=_0x503f27,_0x22eea3=this,_0x21d397=!0x1;this[_0x82c92c(0x13c)]['maxParticles']!=_0x18c4a2[_0x82c92c(0x24d)]&&(_0x21d397=!0x0),Object[_0x82c92c(0x1da)](_0x18c4a2)[_0x82c92c(0x163)](function(_0x5a43f1){var _0x4406bf=_0x82c92c;_0x22eea3[_0x4406bf(0x13c)][_0x5a43f1]=_0x18c4a2[_0x5a43f1];}),this[_0x82c92c(0x18c)](_0x21d397);}},{'key':'applyViewerParameters','value':function(_0x1ccdef){var _0x8e3de6=_0x503f27,_0x138f02=this;Object['keys'](_0x1ccdef)['forEach'](function(_0x237a9a){_0x138f02['viewerParameters'][_0x237a9a]=_0x1ccdef[_0x237a9a];}),this[_0x8e3de6(0x18c)](!0x1);}}]),_0x14b43f;}();function _0x182948(_0x32934a){var _0x47fc68=function(){var _0x440b47=a0_0x1826;if('undefined'==typeof Reflect||!Reflect[_0x440b47(0x217)])return!0x1;if(Reflect[_0x440b47(0x217)][_0x440b47(0x1c2)])return!0x1;if('function'==typeof Proxy)return!0x0;try{return Boolean[_0x440b47(0x15f)][_0x440b47(0x167)][_0x440b47(0x104)](Reflect[_0x440b47(0x217)](Boolean,[],function(){})),!0x0;}catch(_0x267f28){return!0x1;}}();return function(){var _0xa71430=a0_0x1826,_0x425505,_0xbcd4aa=_0x43ce30()(_0x32934a);if(_0x47fc68){var _0x4ac5aa=_0x43ce30()(this)[_0xa71430(0x1d5)];_0x425505=Reflect[_0xa71430(0x217)](_0xbcd4aa,arguments,_0x4ac5aa);}else _0x425505=_0xbcd4aa[_0xa71430(0x1e7)](this,arguments);return _0x44e267()(this,_0x425505);};}var _0x2c477f=_0x2d2191[_0x57087a(0x1bb)]['BaseLayer'],_0x5a99f1=0x1000,_0x17af70=0x64,_0x268828=0.996,_0x14136d=0.003,_0x53da32=0.01,_0x15547d=0.5,_0x218d31=0x2,_0x42ce4d=function(_0x2bcf7f){var _0x2edaf7=_0x57087a;_0x4db58a()(_0x4f718f,_0x2bcf7f);var _0x537dd4=_0x182948(_0x4f718f);function _0x4f718f(){var _0x524231=a0_0x1826,_0x552921,_0x394cf7=arguments[_0x524231(0x1b8)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};if(_0x35ab5e()(this,_0x4f718f),(_0x552921=_0x537dd4[_0x524231(0x104)](this,_0x394cf7))[_0x524231(0x24d)]=_0x5a99f1,_0x552921['particleHeight']=_0x17af70,_0x552921[_0x524231(0x21f)]=_0x268828,_0x552921[_0x524231(0x1f4)]=_0x14136d,_0x552921['dropRateBump']=_0x53da32,_0x552921['speedFactor']=_0x15547d,_0x552921['lineWidth']=_0x218d31,_0x394cf7){for(var _0x1817f7 in _0x394cf7)_0x552921[_0x1817f7]=_0x394cf7[_0x1817f7];}return _0x552921;}return _0x523d98()(_0x4f718f,[{'key':_0x2edaf7(0x1bb),'get':function(){var _0x29a983=_0x2edaf7;return this[_0x29a983(0x114)];}},{'key':'_mountedHook','value':function(){}},{'key':'_addedHook','value':function(){var _0x502a76=_0x2edaf7;this[_0x502a76(0x24f)]=this['_map']['scene'],this[_0x502a76(0x170)]=this[_0x502a76(0x1ec)][_0x502a76(0x170)],this[_0x502a76(0x114)]=new _0x571827['PrimitiveCollection'](),this['_map'][_0x502a76(0x24f)][_0x502a76(0x114)][_0x502a76(0x110)](this[_0x502a76(0x114)]),this[_0x502a76(0x175)]={'lonRange':new _0x571827[(_0x502a76(0x1af))](),'latRange':new _0x571827[(_0x502a76(0x1af))](),'pixelSize':0x0},this['globeBoundingSphere']=new _0x571827[(_0x502a76(0x186))](_0x571827[_0x502a76(0x139)][_0x502a76(0x149)],6314355.63),this[_0x502a76(0x17c)](),window[_0x502a76(0x1e4)](_0x502a76(0x15a),this[_0x502a76(0x15a)][_0x502a76(0x23c)](this),!0x1),this['mouse_down']=!0x1,this['mouse_move']=!0x1,this[_0x502a76(0x1ec)]['on'](_0x2d2191['EventType']['wheel'],this['_onMapWhellEvent'],this),this[_0x502a76(0x1ec)]['on'](_0x2d2191[_0x502a76(0x1b5)]['mouseDown'],this[_0x502a76(0x23f)],this),this['_map']['on'](_0x2d2191['EventType'][_0x502a76(0x1cd)],this[_0x502a76(0xf3)],this),this[_0x502a76(0x1ec)]['on'](_0x2d2191['EventType'][_0x502a76(0x100)],this[_0x502a76(0x1dc)],this);}},{'key':_0x2edaf7(0x240),'value':function(){var _0x25b525=_0x2edaf7;window[_0x25b525(0x10d)](_0x25b525(0x15a),this['resize']),this[_0x25b525(0x1ec)][_0x25b525(0x1fd)](_0x2d2191[_0x25b525(0x1b5)][_0x25b525(0x242)],this[_0x25b525(0x11c)],this),this[_0x25b525(0x1ec)]['off'](_0x2d2191[_0x25b525(0x1b5)][_0x25b525(0x1fc)],this[_0x25b525(0x1ce)],this),this['_map'][_0x25b525(0x1fd)](_0x2d2191[_0x25b525(0x1b5)][_0x25b525(0x246)],this[_0x25b525(0x23f)],this),this[_0x25b525(0x1ec)][_0x25b525(0x1fd)](_0x2d2191[_0x25b525(0x1b5)]['mouseUp'],this[_0x25b525(0xf3)],this),this[_0x25b525(0x1ec)][_0x25b525(0x1fd)](_0x2d2191[_0x25b525(0x1b5)][_0x25b525(0x100)],this[_0x25b525(0x1dc)],this),this[_0x25b525(0x114)][_0x25b525(0x213)](),this[_0x25b525(0x1ec)][_0x25b525(0x24f)][_0x25b525(0x114)][_0x25b525(0x24e)](this['primitives']);}},{'key':'resize','value':function(){var _0x1a7730=_0x2edaf7;this[_0x1a7730(0x133)]&&this[_0x1a7730(0x11d)]&&(this[_0x1a7730(0x114)]['show']=!0x1,this[_0x1a7730(0x114)][_0x1a7730(0x213)](),this[_0x1a7730(0x1ec)][_0x1a7730(0xf6)](_0x2d2191[_0x1a7730(0x1b5)][_0x1a7730(0x242)],this['_onMap_preRenderEvent'],this));}},{'key':'_onMap_preRenderEvent','value':function(_0x8d9e24){var _0x325be4=_0x2edaf7;this[_0x325be4(0x11d)][_0x325be4(0x174)](this[_0x325be4(0x24f)][_0x325be4(0x21d)]),this[_0x325be4(0x144)](),this[_0x325be4(0x114)][_0x325be4(0x133)]=!0x0;}},{'key':_0x2edaf7(0x1ce),'value':function(_0x25e0b6){var _0x19657c=_0x2edaf7,_0x227b28=this;clearTimeout(this[_0x19657c(0x220)]),this[_0x19657c(0x133)]&&this[_0x19657c(0x11d)]&&(this[_0x19657c(0x114)]['show']=!0x1,this['refreshTimer']=setTimeout(function(){var _0x8b02ad=_0x19657c;_0x227b28[_0x8b02ad(0x133)]&&_0x227b28['redraw']();},0xc8));}},{'key':_0x2edaf7(0x23f),'value':function(_0xc59244){var _0x441f20=_0x2edaf7;this[_0x441f20(0x21e)]=!0x0;}},{'key':_0x2edaf7(0x1dc),'value':function(_0x9fd9df){var _0x48c342=_0x2edaf7;this[_0x48c342(0x133)]&&this[_0x48c342(0x11d)]&&this['mouse_down']&&(this['primitives'][_0x48c342(0x133)]=!0x1,this['mouse_move']=!0x0);}},{'key':_0x2edaf7(0xf3),'value':function(_0x40d96b){var _0x599769=_0x2edaf7;this[_0x599769(0x133)]&&this[_0x599769(0x11d)]&&(this['mouse_down']&&this[_0x599769(0x155)]&&this[_0x599769(0xfb)](),this[_0x599769(0x114)][_0x599769(0x133)]=!0x0,this['mouse_down']=!0x1,this[_0x599769(0x155)]=!0x1);}},{'key':_0x2edaf7(0xfb),'value':function(){var _0x4ae6e7=_0x2edaf7;this[_0x4ae6e7(0x1ec)]&&this[_0x4ae6e7(0x133)]&&(this['updateViewerParameters'](),this[_0x4ae6e7(0x11d)][_0x4ae6e7(0x1cc)](this[_0x4ae6e7(0x175)]),this[_0x4ae6e7(0x114)][_0x4ae6e7(0x133)]=!0x0);}},{'key':_0x2edaf7(0x201),'value':function(_0x100aed){var _0x52d675=_0x2edaf7;this[_0x52d675(0x11d)]=new _0x221f6c(this[_0x52d675(0x24f)][_0x52d675(0x21d)],_0x100aed,this['getUserInput'](),this['viewerParameters']),this[_0x52d675(0x144)]();}},{'key':'setOptions','value':function(_0x4b8b91){var _0xf8c28e=_0x2edaf7;if(_0x4b8b91){for(var _0x4ca096 in _0x4b8b91)this[_0x4ca096]=_0x4b8b91[_0x4ca096];}return this['particleSystem']&&this['particleSystem']['applyUserInput'](this[_0xf8c28e(0x10c)]()),this;}},{'key':'getUserInput','value':function(){var _0x390a23=_0x2edaf7,_0x32bb54=Math[_0x390a23(0x182)](Math[_0x390a23(0x173)](this[_0x390a23(0x24d)]));return this[_0x390a23(0x24d)]=_0x32bb54*_0x32bb54,{'particlesTextureSize':_0x32bb54,'maxParticles':this[_0x390a23(0x24d)],'particleHeight':this[_0x390a23(0x125)],'fadeOpacity':this[_0x390a23(0x21f)],'dropRate':this[_0x390a23(0x1f4)],'dropRateBump':this['dropRateBump'],'speedFactor':this[_0x390a23(0x14f)],'lineWidth':this[_0x390a23(0x19a)],'globeLayer':this[_0x390a23(0x1bd)],'WMS_URL':this[_0x390a23(0x119)]};}},{'key':_0x2edaf7(0x144),'value':function(){var _0x3ff4cb=_0x2edaf7;this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)]['particlesComputing'][_0x3ff4cb(0x114)][_0x3ff4cb(0x1a7)]),this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)]['particlesComputing'][_0x3ff4cb(0x114)][_0x3ff4cb(0x1df)]),this[_0x3ff4cb(0x114)]['add'](this[_0x3ff4cb(0x11d)][_0x3ff4cb(0xef)][_0x3ff4cb(0x114)][_0x3ff4cb(0x1c1)]),this[_0x3ff4cb(0x114)]['add'](this[_0x3ff4cb(0x11d)][_0x3ff4cb(0xef)]['primitives'][_0x3ff4cb(0x209)]),this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)][_0x3ff4cb(0xef)][_0x3ff4cb(0x114)][_0x3ff4cb(0x11e)]),this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)][_0x3ff4cb(0x20c)][_0x3ff4cb(0x114)][_0x3ff4cb(0x23b)]),this['primitives'][_0x3ff4cb(0x110)](this['particleSystem'][_0x3ff4cb(0x20c)]['primitives']['trails']),this[_0x3ff4cb(0x114)][_0x3ff4cb(0x110)](this[_0x3ff4cb(0x11d)]['particlesRendering'][_0x3ff4cb(0x114)][_0x3ff4cb(0x19d)]);}},{'key':_0x2edaf7(0x17c),'value':function(){var _0x5ad66b=_0x2edaf7,_0x244bf6=this[_0x5ad66b(0x170)]['computeViewRectangle'](this['scene'][_0x5ad66b(0x12e)][_0x5ad66b(0x249)]);if(!_0x244bf6){var _0x391ec8=this[_0x5ad66b(0x1ec)][_0x5ad66b(0x23d)]();_0x244bf6=_0x571827[_0x5ad66b(0x227)][_0x5ad66b(0xec)](_0x391ec8['xmin'],_0x391ec8[_0x5ad66b(0x135)],_0x391ec8['xmax'],_0x391ec8['ymax']);}var _0x400ea5=_0x22a896[_0x5ad66b(0x212)](_0x244bf6);this[_0x5ad66b(0x175)][_0x5ad66b(0x1fa)]['x']=_0x400ea5[_0x5ad66b(0x1f2)][_0x5ad66b(0x25f)],this[_0x5ad66b(0x175)][_0x5ad66b(0x1fa)]['y']=_0x400ea5[_0x5ad66b(0x1f2)][_0x5ad66b(0x171)],this[_0x5ad66b(0x175)][_0x5ad66b(0x191)]['x']=_0x400ea5[_0x5ad66b(0x256)][_0x5ad66b(0x25f)],this[_0x5ad66b(0x175)]['latRange']['y']=_0x400ea5[_0x5ad66b(0x256)][_0x5ad66b(0x171)];var _0x1d8624=this[_0x5ad66b(0x170)][_0x5ad66b(0x206)](this[_0x5ad66b(0xf4)],this[_0x5ad66b(0x24f)][_0x5ad66b(0x248)],this[_0x5ad66b(0x24f)]['drawingBufferHeight']);_0x1d8624>0x0&&(this[_0x5ad66b(0x175)][_0x5ad66b(0x1b6)]=_0x1d8624);}}]),_0x4f718f;}(_0x2c477f);_0x2d2191[_0x57087a(0x1d1)][_0x57087a(0x196)](_0x57087a(0x247),_0x42ce4d),_0x2d2191['layer'][_0x57087a(0x225)]=_0x42ce4d;var _0x3701c4=function _0x484ae2(){var _0x629002=_0x57087a;_0x35ab5e()(this,_0x484ae2),this[_0x629002(0x234)]=null,this['lat']=null,this[_0x629002(0x1d0)]=null,this[_0x629002(0x1a1)]=null,this['age']=null;},_0x3cfc81=function(){var _0x7f1460=_0x57087a;function _0x22d4d8(_0x177f1b,_0x5d8163){var _0x408c62=a0_0x1826;_0x35ab5e()(this,_0x22d4d8),this[_0x408c62(0x1e9)]=_0x177f1b[_0x408c62(0x1e9)],this[_0x408c62(0x1ba)]=_0x177f1b[_0x408c62(0x1ba)],this[_0x408c62(0xf1)]=_0x177f1b[_0x408c62(0xf1)],this['xmax']=_0x177f1b[_0x408c62(0x22f)],this[_0x408c62(0x135)]=_0x177f1b[_0x408c62(0x135)],this[_0x408c62(0x20b)]=_0x177f1b['ymax'],this['grid']=[];var _0x17bbe6=_0x177f1b['udata'],_0x325a63=_0x177f1b[_0x408c62(0x224)],_0x5f2058=!0x1;_0x17bbe6[_0x408c62(0x1b8)]===this['rows']&&_0x17bbe6[0x0]['length']===this['cols']&&(_0x5f2058=!0x0);for(var _0x2321f2=0x0,_0x2315c3=null,_0x51cebc=null,_0x5e72a7=0x0;_0x5e72a7<this['rows'];_0x5e72a7++){_0x2315c3=[];for(var _0x4a7c9f=0x0;_0x4a7c9f<this[_0x408c62(0x1ba)];_0x4a7c9f++,_0x2321f2++)_0x51cebc=_0x5f2058?this['_calcUV'](_0x17bbe6[_0x5e72a7][_0x4a7c9f],_0x325a63[_0x5e72a7][_0x4a7c9f]):this[_0x408c62(0x1a3)](_0x17bbe6[_0x2321f2],_0x325a63[_0x2321f2]),_0x2315c3[_0x408c62(0x1d4)](_0x51cebc);this['grid']['push'](_0x2315c3);}_0x5d8163&&this[_0x408c62(0x184)]['reverse']();}return _0x523d98()(_0x22d4d8,[{'key':_0x7f1460(0x1e3),'value':function(_0x1960fd,_0x117a13){var _0x2a7162=_0x7f1460;return{'x':(_0x1960fd-this[_0x2a7162(0xf1)])/(this[_0x2a7162(0x22f)]-this['xmin'])*(this[_0x2a7162(0x1ba)]-0x1),'y':(this['ymax']-_0x117a13)/(this[_0x2a7162(0x20b)]-this['ymin'])*(this[_0x2a7162(0x1e9)]-0x1)};}},{'key':'getUVByXY','value':function(_0x403352,_0x25f587){var _0x4349ee=_0x7f1460;if(_0x403352<0x0||_0x403352>=this['cols']||_0x25f587>=this[_0x4349ee(0x1e9)])return[0x0,0x0,0x0];var _0x4ff7e3,_0xb9cbdc,_0x293f8a=Math[_0x4349ee(0x11a)](_0x403352),_0x3da206=Math[_0x4349ee(0x11a)](_0x25f587);if(_0x293f8a===_0x403352&&_0x3da206===_0x25f587)return this[_0x4349ee(0x184)][_0x25f587][_0x403352];_0x4ff7e3=_0x293f8a+0x1,_0xb9cbdc=_0x3da206+0x1;var _0x1e521a=this[_0x4349ee(0x19c)](_0x293f8a,_0x3da206),_0x10f0a6=this[_0x4349ee(0x19c)](_0x4ff7e3,_0x3da206),_0x28996e=this['getUVByXY'](_0x293f8a,_0xb9cbdc),_0x2483bb=this['getUVByXY'](_0x4ff7e3,_0xb9cbdc),_0x2e3d45=null;try{_0x2e3d45=this[_0x4349ee(0x1dd)](_0x403352-_0x293f8a,_0x25f587-_0x3da206,_0x1e521a,_0x10f0a6,_0x28996e,_0x2483bb);}catch(_0x4a7193){console[_0x4349ee(0x1a4)](_0x403352,_0x25f587);}return _0x2e3d45;}},{'key':_0x7f1460(0x1dd),'value':function(_0x4a30b3,_0x2106ba,_0x88a495,_0x37c3fe,_0x2abc42,_0x345167){var _0x50e353=_0x7f1460,_0xbc8c52=0x1-_0x4a30b3,_0x5a885e=0x1-_0x2106ba,_0x3e1e33=_0xbc8c52*_0x5a885e,_0x353d95=_0x4a30b3*_0x5a885e,_0x2479ac=_0xbc8c52*_0x2106ba,_0x259cdd=_0x4a30b3*_0x2106ba,_0xa6dbb9=_0x88a495[0x0]*_0x3e1e33+_0x37c3fe[0x0]*_0x353d95+_0x2abc42[0x0]*_0x2479ac+_0x345167[0x0]*_0x259cdd,_0x4c21f4=_0x88a495[0x1]*_0x3e1e33+_0x37c3fe[0x1]*_0x353d95+_0x2abc42[0x1]*_0x2479ac+_0x345167[0x1]*_0x259cdd;return this[_0x50e353(0x1a3)](_0xa6dbb9,_0x4c21f4);}},{'key':_0x7f1460(0x1a3),'value':function(_0x534bc1,_0x3df5d6){return[+_0x534bc1,+_0x3df5d6,Math['sqrt'](_0x534bc1*_0x534bc1+_0x3df5d6*_0x3df5d6)];}},{'key':_0x7f1460(0x116),'value':function(_0x443ff3,_0x6d4099){var _0x505017=_0x7f1460;if(!this[_0x505017(0xff)](_0x443ff3,_0x6d4099))return null;var _0x18c716=this[_0x505017(0x1e3)](_0x443ff3,_0x6d4099);return this[_0x505017(0x19c)](_0x18c716['x'],_0x18c716['y']);}},{'key':_0x7f1460(0xff),'value':function(_0x5b3e8e,_0x1dbd97){var _0xd4e8f8=_0x7f1460;return _0x5b3e8e>=this['xmin']&&_0x5b3e8e<=this[_0xd4e8f8(0x22f)]&&_0x1dbd97>=this[_0xd4e8f8(0x135)]&&_0x1dbd97<=this[_0xd4e8f8(0x20b)];}},{'key':_0x7f1460(0x152),'value':function(){var _0x1a935b=_0x7f1460,_0x4cf11b=_0x5ac4c6(this[_0x1a935b(0xf1)],this[_0x1a935b(0x22f)]);return{'lat':_0x5ac4c6(this['ymin'],this[_0x1a935b(0x20b)]),'lng':_0x4cf11b};}}]),_0x22d4d8;}();function _0x5ac4c6(_0x3aee71,_0x2e6025){var _0x2f61e7=_0x57087a;return _0x3aee71+Math[_0x2f61e7(0x17a)]()*(_0x2e6025-_0x3aee71);}function _0x5eaf05(_0x4ca60f){var _0x473e13=function(){var _0x556af8=a0_0x1826;if(_0x556af8(0x189)==typeof Reflect||!Reflect[_0x556af8(0x217)])return!0x1;if(Reflect['construct'][_0x556af8(0x1c2)])return!0x1;if(_0x556af8(0x204)==typeof Proxy)return!0x0;try{return Boolean[_0x556af8(0x15f)][_0x556af8(0x167)][_0x556af8(0x104)](Reflect[_0x556af8(0x217)](Boolean,[],function(){})),!0x0;}catch(_0x11e9ec){return!0x1;}}();return function(){var _0x419191=a0_0x1826,_0x4e4492,_0x53e17d=_0x43ce30()(_0x4ca60f);if(_0x473e13){var _0x303aa8=_0x43ce30()(this)[_0x419191(0x1d5)];_0x4e4492=Reflect[_0x419191(0x217)](_0x53e17d,arguments,_0x303aa8);}else _0x4e4492=_0x53e17d[_0x419191(0x1e7)](this,arguments);return _0x44e267()(this,_0x4e4492);};}var _0x33eddd=function(_0x25b4bf){var _0xa9f8d1=_0x57087a;_0x4db58a()(_0x2a0a3d,_0x25b4bf);var _0x5a7979=_0x5eaf05(_0x2a0a3d);function _0x2a0a3d(){var _0x117159=a0_0x1826,_0xf05139,_0x5075e0=arguments[_0x117159(0x1b8)]>0x0&&void 0x0!==arguments[0x0]?arguments[0x0]:{};return _0x35ab5e()(this,_0x2a0a3d),(_0xf05139=_0x5a7979[_0x117159(0x104)](this,_0x5075e0))[_0x117159(0x1d2)]=[0x0,0x0],_0xf05139[_0x117159(0x101)]=[],_0xf05139['speedRate']=_0x5075e0['speedRate']||0x32,_0xf05139[_0x117159(0x126)]=_0x5075e0[_0x117159(0x22b)]||0x4e20,_0xf05139[_0x117159(0x1ff)]=_0x5075e0[_0x117159(0x1c5)]||0x78,_0xf05139['frameTime']=0x3e8/(_0x5075e0[_0x117159(0x143)]||0xa),_0xf05139[_0x117159(0x123)]=_0x571827[_0x117159(0x1cb)](_0xf05139['options'][_0x117159(0x20f)],!0x1),_0xf05139['color']=_0x5075e0[_0x117159(0x1bf)]||'#ffffff',_0xf05139[_0x117159(0x19a)]=_0x5075e0['lineWidth']||0x1,_0xf05139[_0x117159(0x195)]=_0x571827['defaultValue'](_0x5075e0[_0x117159(0x195)],0x0),_0xf05139['reverseY']=_0x571827['defaultValue'](_0x5075e0['reverseY'],!0x1),_0xf05139[_0x117159(0x166)]=null,_0xf05139;}return _0x523d98()(_0x2a0a3d,[{'key':_0xa9f8d1(0x1bb),'get':function(){var _0x109bd1=_0xa9f8d1;return this[_0x109bd1(0x166)];}},{'key':_0xa9f8d1(0x137),'get':function(){var _0x115671=_0xa9f8d1;return this[_0x115671(0x1ec)][_0x115671(0x24f)][_0x115671(0x166)][_0x115671(0xfd)];}},{'key':_0xa9f8d1(0x156),'get':function(){var _0x4ea63f=_0xa9f8d1;return this['_map'][_0x4ea63f(0x24f)][_0x4ea63f(0x166)][_0x4ea63f(0xf5)];}},{'key':_0xa9f8d1(0x20f),'get':function(){var _0x35ca9c=_0xa9f8d1;return this[_0x35ca9c(0x123)];},'set':function(_0x1886e1){var _0xe38328=_0xa9f8d1;this['_pointerEvents']=_0x1886e1,this[_0xe38328(0x166)]&&(this[_0xe38328(0x166)][_0xe38328(0x22e)][_0xe38328(0x109)]=_0x1886e1?_0xe38328(0x216):'none');}},{'key':'speedRate','get':function(){return this['_speedRate'];},'set':function(_0x39b5ec){var _0x1fa83e=_0xa9f8d1;this['_speedRate']=0x64*(0x64-(_0x39b5ec>0x63?0x63:_0x39b5ec)),this[_0x1fa83e(0x128)]();}},{'key':'particlesNumber','get':function(){var _0x163b8c=_0xa9f8d1;return this[_0x163b8c(0x126)];},'set':function(_0x24abcf){var _0x58ced7=_0xa9f8d1,_0x5ce951=this;this['_particlesNumber']=_0x24abcf,clearTimeout(this[_0x58ced7(0x238)]),this['canrefresh']=setTimeout(function(){_0x5ce951['redraw']();},0x1f4);}},{'key':_0xa9f8d1(0x1c5),'get':function(){var _0x482aef=_0xa9f8d1;return this[_0x482aef(0x1ff)];},'set':function(_0x6b5322){var _0x97bd74=_0xa9f8d1,_0x9b1644=this;this[_0x97bd74(0x1ff)]=_0x6b5322,clearTimeout(this['canrefresh']),this[_0x97bd74(0x238)]=setTimeout(function(){_0x9b1644['redraw']();},0x1f4);}},{'key':'data','get':function(){return this['windData'];},'set':function(_0x532ad4){var _0xdbcb61=_0xa9f8d1;this[_0xdbcb61(0x253)](_0x532ad4);}},{'key':_0xa9f8d1(0x229),'value':function(_0x4b195e){var _0x17c062=_0xa9f8d1;_0x4b195e?this[_0x17c062(0x17b)]():(this[_0x17c062(0x180)]&&(this['options'][_0x17c062(0x103)]=this[_0x17c062(0x180)]),this[_0x17c062(0x240)]());}},{'key':_0xa9f8d1(0x14d),'value':function(){}},{'key':'_addedHook','value':function(){var _0x17f37a=_0xa9f8d1;this[_0x17f37a(0x166)]=this[_0x17f37a(0x154)](),this[_0x17f37a(0x207)]=this[_0x17f37a(0x166)][_0x17f37a(0x25e)]('2d'),this['bindEvent'](),this[_0x17f37a(0x1ad)]['data']&&this[_0x17f37a(0x253)](this[_0x17f37a(0x1ad)][_0x17f37a(0x103)]);}},{'key':_0xa9f8d1(0x240),'value':function(){var _0x349c10=_0xa9f8d1;this[_0x349c10(0x1c6)](),this[_0x349c10(0x12d)](),this[_0x349c10(0x166)]&&(this[_0x349c10(0x1ec)][_0x349c10(0x10a)][_0x349c10(0x1a2)](this[_0x349c10(0x166)]),delete this[_0x349c10(0x166)]);}},{'key':_0xa9f8d1(0x154),'value':function(){var _0x12e2e0=_0xa9f8d1,_0x4eadb5=document[_0x12e2e0(0x190)](_0x12e2e0(0x166));_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x150)]=_0x12e2e0(0x243),_0x4eadb5[_0x12e2e0(0x22e)]['top']='0px',_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x17f)]=_0x12e2e0(0x107),_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x211)]=_0x12e2e0(0x14e),_0x4eadb5[_0x12e2e0(0x22e)]['height']=_0x12e2e0(0x14e),_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x20f)]=this[_0x12e2e0(0x123)]?_0x12e2e0(0xf9):_0x12e2e0(0x20e),_0x4eadb5[_0x12e2e0(0x22e)][_0x12e2e0(0x21c)]=0xa,_0x4eadb5[_0x12e2e0(0x179)]('id','canvasWindy'),_0x4eadb5['setAttribute'](_0x12e2e0(0x22c),'canvasWindy'),this[_0x12e2e0(0x1ec)][_0x12e2e0(0x10a)][_0x12e2e0(0x205)](_0x4eadb5);var _0x16955e=this['_map'][_0x12e2e0(0x24f)];return _0x4eadb5[_0x12e2e0(0x211)]=_0x16955e[_0x12e2e0(0x166)][_0x12e2e0(0xfd)],_0x4eadb5[_0x12e2e0(0x1fb)]=_0x16955e[_0x12e2e0(0x166)][_0x12e2e0(0xf5)],_0x4eadb5;}},{'key':_0xa9f8d1(0x15a),'value':function(){var _0x24776c=_0xa9f8d1;this['canvas']&&(this['canvas'][_0x24776c(0x211)]=this[_0x24776c(0x137)],this[_0x24776c(0x166)][_0x24776c(0x1fb)]=this[_0x24776c(0x156)]);}},{'key':_0xa9f8d1(0x1fe),'value':function(){var _0x5332b8=_0xa9f8d1,_0x331eb2=this,_0x1710fc=Date[_0x5332b8(0x142)]();!function _0x2bdb7a(){var _0x5d548d=_0x5332b8;_0x331eb2[_0x5d548d(0x15d)]=window['requestAnimationFrame'](_0x2bdb7a);var _0x44682a=Date['now'](),_0x4117a8=_0x44682a-_0x1710fc;_0x4117a8>_0x331eb2[_0x5d548d(0x1be)]&&(_0x1710fc=_0x44682a-_0x4117a8%_0x331eb2[_0x5d548d(0x1be)],_0x331eb2[_0x5d548d(0x16a)]());}(),window[_0x5332b8(0x1e4)]('resize',this['resize'][_0x5332b8(0x23c)](this),!0x1),this[_0x5332b8(0x21e)]=!0x1,this[_0x5332b8(0x155)]=!0x1,this[_0x5332b8(0x1ec)]['on'](_0x2d2191[_0x5332b8(0x1b5)]['wheel'],this[_0x5332b8(0x1ce)],this),this[_0x5332b8(0x1ec)]['on'](_0x2d2191[_0x5332b8(0x1b5)]['mouseDown'],this[_0x5332b8(0x23f)],this),this[_0x5332b8(0x1ec)]['on'](_0x2d2191[_0x5332b8(0x1b5)]['mouseUp'],this['_onMouseUpEvent'],this),this[_0x5332b8(0x1ec)]['on'](_0x2d2191[_0x5332b8(0x1b5)][_0x5332b8(0x100)],this['_onMouseMoveEvent'],this);}},{'key':_0xa9f8d1(0x12d),'value':function(){var _0x167048=_0xa9f8d1;window[_0x167048(0x145)](this['animateFrame']),delete this['animateFrame'],window[_0x167048(0x10d)]('resize',this[_0x167048(0x15a)]),this[_0x167048(0x1ec)][_0x167048(0x1fd)](_0x2d2191[_0x167048(0x1b5)][_0x167048(0x1fc)],this['_onMapWhellEvent'],this),this['_map'][_0x167048(0x1fd)](_0x2d2191[_0x167048(0x1b5)][_0x167048(0x246)],this[_0x167048(0x23f)],this),this[_0x167048(0x1ec)][_0x167048(0x1fd)](_0x2d2191[_0x167048(0x1b5)][_0x167048(0x1cd)],this[_0x167048(0xf3)],this),this[_0x167048(0x1ec)][_0x167048(0x1fd)](_0x2d2191['EventType'][_0x167048(0x100)],this['_onMouseMoveEvent'],this);}},{'key':'_onMapWhellEvent','value':function(_0x46a1f8){var _0x7e9581=_0xa9f8d1,_0x41d8f3=this;clearTimeout(this[_0x7e9581(0x220)]),this[_0x7e9581(0x133)]&&this[_0x7e9581(0x166)]&&(this['canvas'][_0x7e9581(0x22e)][_0x7e9581(0x1d8)]=_0x7e9581(0x15b),this[_0x7e9581(0x220)]=setTimeout(function(){var _0x9bb74a=_0x7e9581;_0x41d8f3[_0x9bb74a(0x133)]&&(_0x41d8f3['redraw'](),_0x41d8f3[_0x9bb74a(0x166)]['style'][_0x9bb74a(0x1d8)]='visible');},0xc8));}},{'key':'_onMouseDownEvent','value':function(_0x1fce35){var _0xc93e3f=_0xa9f8d1;this[_0xc93e3f(0x21e)]=!0x0;}},{'key':'_onMouseMoveEvent','value':function(_0x2bf29){var _0x868a2e=_0xa9f8d1;this[_0x868a2e(0x133)]&&this[_0x868a2e(0x166)]&&this[_0x868a2e(0x21e)]&&(this['canvas'][_0x868a2e(0x22e)][_0x868a2e(0x1d8)]=_0x868a2e(0x15b),this[_0x868a2e(0x155)]=!0x0);}},{'key':_0xa9f8d1(0xf3),'value':function(_0x28c72d){var _0x351078=_0xa9f8d1;this[_0x351078(0x133)]&&this[_0x351078(0x166)]&&(this['mouse_down']&&this['mouse_move']&&this[_0x351078(0xfb)](),this[_0x351078(0x166)][_0x351078(0x22e)][_0x351078(0x1d8)]=_0x351078(0x112),this['mouse_down']=!0x1,this['mouse_move']=!0x1);}},{'key':_0xa9f8d1(0xfb),'value':function(){var _0x22cbae=_0xa9f8d1;this[_0x22cbae(0x133)]&&this[_0x22cbae(0x165)]&&(this[_0x22cbae(0x101)]=[],this[_0x22cbae(0x226)]());}},{'key':_0xa9f8d1(0x253),'value':function(_0x1d3282){var _0x5afe05=_0xa9f8d1;this[_0x5afe05(0x1c6)](),this['windData']=_0x1d3282,this['windField']=new _0x3cfc81(this[_0x5afe05(0x180)],this[_0x5afe05(0x17d)]),this['drawWind']();}},{'key':_0xa9f8d1(0x226),'value':function(){var _0x1cebb0=_0xa9f8d1;this['_calcStep']();for(var _0x1f49e9=0x0;_0x1f49e9<this[_0x1cebb0(0x22b)];_0x1f49e9++){var _0x5de9b5=this['randomParticle'](new _0x3701c4());this[_0x1cebb0(0x101)][_0x1cebb0(0x1d4)](_0x5de9b5);}this[_0x1cebb0(0x207)]['fillStyle']=_0x1cebb0(0x1ee),this[_0x1cebb0(0x207)][_0x1cebb0(0x192)]=0.6,this[_0x1cebb0(0x16a)]();}},{'key':_0xa9f8d1(0x128),'value':function(){var _0xede4b2=_0xa9f8d1;this[_0xede4b2(0x165)]&&(this['calc_speedRate']=[(this[_0xede4b2(0x165)]['xmax']-this[_0xede4b2(0x165)][_0xede4b2(0xf1)])/this['speedRate'],(this['windField']['ymax']-this[_0xede4b2(0x165)]['ymin'])/this[_0xede4b2(0x183)]]);}},{'key':_0xa9f8d1(0x16a),'value':function(){var _0x58e205=_0xa9f8d1,_0x1380fc=this;if(this['show']&&!(this['particles']['length']<=0x0)){var _0x58c9c7=null,_0x25f4cf=null,_0xacf40f=null;this[_0x58e205(0x101)][_0x58e205(0x163)](function(_0x34b1b1){var _0x2fd4a1=_0x58e205;if(_0x34b1b1['age']<=0x0&&_0x1380fc[_0x2fd4a1(0x1e6)](_0x34b1b1),_0x34b1b1['age']>0x0){var _0x28f99f=_0x34b1b1['tlng'],_0x1cfe46=_0x34b1b1['tlat'];(_0xacf40f=_0x1380fc[_0x2fd4a1(0x165)]['getUVByPoint'](_0x28f99f,_0x1cfe46))?(_0x58c9c7=_0x28f99f+_0x1380fc[_0x2fd4a1(0x1d2)][0x0]*_0xacf40f[0x0],_0x25f4cf=_0x1cfe46+_0x1380fc[_0x2fd4a1(0x1d2)][0x1]*_0xacf40f[0x1],_0x34b1b1[_0x2fd4a1(0x234)]=_0x28f99f,_0x34b1b1[_0x2fd4a1(0x256)]=_0x1cfe46,_0x34b1b1[_0x2fd4a1(0x1d0)]=_0x58c9c7,_0x34b1b1[_0x2fd4a1(0x1a1)]=_0x25f4cf,_0x34b1b1[_0x2fd4a1(0x237)]--):_0x34b1b1[_0x2fd4a1(0x237)]=0x0;}}),this['_drawLines']();}}},{'key':'_tomap','value':function(_0x18a630,_0x28670f,_0x156158){var _0x467ae4=_0xa9f8d1,_0x2af83d=_0x571827[_0x467ae4(0x139)][_0x467ae4(0xec)](_0x18a630,_0x28670f,this[_0x467ae4(0x195)]),_0x5aee76=this['_map'][_0x467ae4(0x24f)];if(_0x5aee76[_0x467ae4(0x1ef)]===_0x571827[_0x467ae4(0x1b4)][_0x467ae4(0x1a6)]&&!new _0x571827[(_0x467ae4(0x18f))](_0x5aee76[_0x467ae4(0x12e)][_0x467ae4(0x249)],_0x5aee76['camera'][_0x467ae4(0x210)])[_0x467ae4(0x140)](_0x2af83d))return _0x156158[_0x467ae4(0x237)]=0x0,null;var _0xf4dea0=_0x571827[_0x467ae4(0x1de)][_0x467ae4(0x17e)](this[_0x467ae4(0x1ec)][_0x467ae4(0x24f)],_0x2af83d);return _0xf4dea0?[_0xf4dea0['x'],_0xf4dea0['y']]:null;}},{'key':_0xa9f8d1(0x222),'value':function(){var _0x286d62=_0xa9f8d1,_0x3709fe=this,_0x5322c1=this[_0x286d62(0x101)];this['canvasContext'][_0x286d62(0x19a)]=_0x3709fe['lineWidth'],this[_0x286d62(0x207)][_0x286d62(0x1f6)]='destination-in',this[_0x286d62(0x207)][_0x286d62(0x161)](0x0,0x0,this[_0x286d62(0x137)],this[_0x286d62(0x156)]),this[_0x286d62(0x207)][_0x286d62(0x1f6)]=_0x286d62(0x1e0),this[_0x286d62(0x207)][_0x286d62(0x192)]=0.9,this[_0x286d62(0x207)][_0x286d62(0x208)](),this[_0x286d62(0x207)][_0x286d62(0x24c)]=this[_0x286d62(0x1bf)];var _0x35403d=this['_map'][_0x286d62(0x24f)][_0x286d62(0x1ef)]!==_0x571827['SceneMode'][_0x286d62(0x1a6)];_0x5322c1[_0x286d62(0x163)](function(_0xb39c41){var _0x48a490=_0x286d62,_0x2ec435=_0x3709fe[_0x48a490(0x148)](_0xb39c41['lng'],_0xb39c41[_0x48a490(0x256)],_0xb39c41),_0x530d02=_0x3709fe[_0x48a490(0x148)](_0xb39c41[_0x48a490(0x1d0)],_0xb39c41[_0x48a490(0x1a1)],_0xb39c41);if(null!=_0x2ec435&&null!=_0x530d02){var _0xd0fcd6=Math['abs'](_0x2ec435[0x0]-_0x530d02[0x0]);_0x35403d&&_0xd0fcd6>=_0x3709fe['canvasWidth']||(_0x3709fe[_0x48a490(0x207)][_0x48a490(0x1a8)](_0x2ec435[0x0],_0x2ec435[0x1]),_0x3709fe['canvasContext'][_0x48a490(0x254)](_0x530d02[0x0],_0x530d02[0x1]));}}),this[_0x286d62(0x207)][_0x286d62(0x20d)]();}},{'key':_0xa9f8d1(0x1e6),'value':function(_0x419e6d){var _0x364cd2=_0xa9f8d1;for(var _0x3def4b,_0x3fd039,_0x398e3f=0x0;_0x398e3f<0x1e&&(_0x3def4b=this[_0x364cd2(0x165)]['getRandomLatLng'](),!((_0x3fd039=this['windField'][_0x364cd2(0x116)](_0x3def4b[_0x364cd2(0x234)],_0x3def4b[_0x364cd2(0x256)]))&&_0x3fd039[0x2]>0x0));_0x398e3f++);if(!_0x3fd039)return _0x419e6d;var _0x55c93f=_0x3def4b[_0x364cd2(0x234)]+this[_0x364cd2(0x1d2)][0x0]*_0x3fd039[0x0],_0x247da7=_0x3def4b[_0x364cd2(0x256)]+this['calc_speedRate'][0x1]*_0x3fd039[0x1];return _0x419e6d[_0x364cd2(0x234)]=_0x3def4b[_0x364cd2(0x234)],_0x419e6d[_0x364cd2(0x256)]=_0x3def4b['lat'],_0x419e6d[_0x364cd2(0x1d0)]=_0x55c93f,_0x419e6d[_0x364cd2(0x1a1)]=_0x247da7,_0x419e6d[_0x364cd2(0x237)]=Math[_0x364cd2(0x233)](Math['random']()*this[_0x364cd2(0x1c5)]),_0x419e6d;}},{'key':_0xa9f8d1(0x1c6),'value':function(){var _0x5bc5d6=_0xa9f8d1;this[_0x5bc5d6(0x101)]=[],delete this['windField'],delete this[_0x5bc5d6(0x180)];}}]),_0x2a0a3d;}(_0x2d2191['layer']['BaseLayer']);function _0x4a736f(_0x2c3ce9,_0x11b02a){var _0xa23335=_0x57087a;return _0x2c3ce9*Math['cos'](_0x571827[_0xa23335(0x13a)][_0xa23335(0x259)](_0x11b02a));}function _0x11c83d(_0x29dbbd,_0x42c03a){var _0x25952e=_0x57087a;return _0x29dbbd*Math[_0x25952e(0x1ea)](_0x571827[_0x25952e(0x13a)][_0x25952e(0x259)](_0x42c03a));}function _0x8b38a9(_0x70ee3e,_0x17a06a){var _0xb0ed5e=_0x57087a;return Math[_0xb0ed5e(0x173)](Math[_0xb0ed5e(0x16d)](_0x70ee3e,0x2)+Math[_0xb0ed5e(0x16d)](_0x17a06a,0x2));}function _0x6bffb1(_0x5e4e6d,_0x28e94b){var _0x231f0b=_0x57087a,_0x24a3e2=_0x571827[_0x231f0b(0x13a)][_0x231f0b(0x102)](Math[_0x231f0b(0x187)](_0x28e94b,_0x5e4e6d));return _0x24a3e2+=_0x24a3e2<0x0?0x168:0x0;}_0x2d2191['LayerUtil']['register'](_0x57087a(0x214),_0x33eddd),_0x2d2191[_0x57087a(0x1bb)]['CanvasWindLayer']=_0x33eddd,_0x2d2191[_0x57087a(0x200)]=_0xed3438;}]));function a0_0x37ae(){var _0x2afa04=['Color','2505800sijaGT','toStringTag','lonRange','height','wheel','off','bindEvent','_maxAge','WindUtil','setData','createRawRenderState','VertexArray','function','appendChild','getPixelSize','canvasContext','beginPath','postProcessingPosition','destroy','ymax','particlesRendering','stroke','none','pointerEvents','positionWC','width','viewRectangleToLonLatRange','removeAll','canvasWind','Super\x20expression\x20must\x20either\x20be\x20null\x20or\x20a\x20function','all','construct','colorTable','GeometryAttributes','autoClear','RGBA','zIndex','context','mouse_down','fadeOpacity','refreshTimer','clampToLatitudeRange','_drawLines','createParticlesTextures','vdata','WindLayer','drawWind','Rectangle','particlesTextureSize','_showHook','fill','particlesNumber','class','currentTrailsDepth','style','xmax','getDirection','particlesWind','segmentsDepth','round','lng','commandType','destroyParticlesTextures','age','canrefresh','key','DrawCommand','segments','bind','getExtent','__esModule','_onMouseDownEvent','_removedHook','createCommand','preRender','absolute','ShaderSource','NEAREST','mouseDown','wind','drawingBufferWidth','ellipsoid','framebuffer','TextureMagnificationFilter','strokeStyle','maxParticles','remove','scene','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}','99wdSZtk','DEPTH_COMPONENT','updateDate','lineTo','270eENnDP','lat','nextParticlesPosition','fromCache','toRadians','719511VrzuiT','Compute','Framebuffer','setPrototypeOf','getContext','min','preExecute','drawingBufferHeight','currentParticlesSpeed','fromDegrees','dimensions','west','particlesComputing','setGeometry','xmin','nextTrailsDepth','_onMouseUpEvent','globeBoundingSphere','clientHeight','once','TRIANGLES','Derived\x20constructors\x20may\x20only\x20return\x20object\x20or\x20undefined','auto','exports','redraw','getDefaultRenderState','clientWidth','rawRenderState','isInExtent','mouseMove','particles','toDegrees','data','call','ALWAYS','defined','0px','Sampler','pointer-events','container','clearFramebuffers','getUserInput','removeEventListener','IDENTITY','OPAQUE','add','writable','visible','randomBetween','primitives','TextureMinificationFilter','getUVByPoint','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}','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}','WMS_URL','floor','createSegmentsGeometry','_onMap_preRenderEvent','particleSystem','postProcessingSpeed','segmentsColor','windTextures','geometry','blending','_pointerEvents','fromGeometry','particleHeight','_particlesNumber','2rFVQzK','_calcStep','ShaderProgram','mars3dWind','THREE_PI_OVER_TWO','1102450dVFwUL','unbindEvent','globe','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}','GeometryAttribute','PrimitiveType','vertexShaderSource','show','randomizeParticles','ymin','createTexture','canvasWidth','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}','Cartesian3','Math','Geometry','userInput','currentParticlesPosition','Module','isDestroyed','isPointVisible','nextTrails','now','frameRate','addPrimitives','cancelAnimationFrame','array','south','_tomap','ZERO','ComputeCommand','arrayBufferView','framebuffers','_mountedHook','100%','speedFactor','position','getU','getRandomLatLng','ClearCommand','_createCanvas','mouse_move','canvasHeight','vertexArray','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}','DISABLE_GL_POSITION_LOG_DEPTH','resize','hidden','PixelFormat','animateFrame','UNSIGNED_INT','prototype','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}','fillRect','depthTexture','forEach','shaderProgram','windField','canvas','valueOf','east','this\x20hasn\x27t\x20been\x20initialised\x20-\x20super()\x20hasn\x27t\x20been\x20called','update','string','attributeLocations','pow','particlesTextures','createWindTextures','camera','max','symbol','sqrt','canvasResize','viewerParameters','destroyObject','outputTexture','hasOwnProperty','setAttribute','random','_addedHook','updateViewerParameters','reverseY','wgs84ToWindowCoordinates','left','windData','default','ceil','speedRate','grid','iterator','BoundingSphere','atan2','lev','undefined','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','Draw','refreshParticles','ComponentDatatype','dropRateBump','EllipsoidalOccluder','createElement','latRange','globalAlpha','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','mod','fixedHeight','register','nextParticlesSpeed','45797bGPXwk','getPrototypeOf','lineWidth','commandToExecute','getUVByXY','screen','configurable','currentTrailsColor','value','tlat','removeChild','_calcUV','log','3579800HlUsal','SCENE3D','getWind','moveTo','Cesium','textures','commandList','createFramebuffer','options','__proto__','Cartesian2','depthTest','getFullscreenQuad','Pass','createRenderingPrimitives','SceneMode','EventType','pixelSize','PI_OVER_TWO','length','trails','cols','layer','uniformMap','globeLayer','frameTime','color','create','updatePosition','sham','TWO_PI','enumerable','maxAge','clear','96551RWTbnk','PixelDatatype','BufferUsage','fragmentShaderSource','defaultValue','applyViewerParameters','mouseUp','_onMapWhellEvent','10121656LzhWMs','tlng','LayerUtil','calc_speedRate','RGB','push','constructor','colorNum','FLOAT','visibility','LINEAR','keys','Texture','_onMouseMoveEvent','_bilinearInterpolation','SceneTransforms','updateSpeed','lighter','currentTrails','PI_OVER_THREE','toGridXY','addEventListener','RenderState','randomParticle','apply','//\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}','rows','sin','clearCommand','_map','getSpeed','rgba(0,\x200,\x200,\x200.97)','mode','defineProperty','object','lon','createRenderingTextures','dropRate','getV','globalCompositeOperation'];a0_0x37ae=function(){return _0x2afa04;};return a0_0x37ae();}
|
|
31
31
|
|
|
32
32
|
})(window);
|
|
33
33
|
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mars3d-wind",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.14",
|
|
4
4
|
"description": "Mars3D平台插件,支持气象 风向图 功能插件",
|
|
5
5
|
"main": "dist/mars3d-wind.js",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"mars3d": "^3.1.
|
|
8
|
-
"mars3d-cesium": "^1.
|
|
7
|
+
"mars3d": "^3.1.14",
|
|
8
|
+
"mars3d-cesium": "^1.87.0"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {},
|
|
11
11
|
"scripts": {
|